Update ReadMe.md
[qtwebkit.git] / Tools / ChangeLog-2018-01-01
blob850e22062f2f89324ee08d122c99646d144448b1
1 2017-12-28  Fujii Hironori  <Hironori.Fujii@sony.com>
3         [Win][CMake] Use add_custom_command to copy each forwarding header files
4         https://bugs.webkit.org/show_bug.cgi?id=180921
6         Reviewed by Brent Fulgham.
8         TestWTFLib needs forwarding headers of WebCore. Use
9         add_dependencies instead of invoking the DerivedSources/WebCore/preBuild.cmd.
11         * TestWebKitAPI/PlatformWin.cmake:
13 2017-12-22  Wenson Hsieh  <wenson_hsieh@apple.com>
15         Unreviewed, try to fix the Sierra build again after r226277.
17         The macOS 10.12 SDK does not know about NSControlStateValue. Apply the same tweak in r226279, but to MiniBrowser
18         this time.
20         * MiniBrowser/AppKitCompatibilityDeclarations.h:
22 2017-12-22  Wenson Hsieh  <wenson_hsieh@apple.com>
24         Fix build failures due to using deprecated AppKit symbols
25         https://bugs.webkit.org/show_bug.cgi?id=181110
26         <rdar://problem/36162865>
28         Reviewed by Dan Bernstein and Tim Horton.
30         Transition to non-deprecated AppKit constants in MiniBrowser.
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:]):
41 2017-12-21  Michael Catanzaro  <mcatanzaro@igalia.com>
43         [WPE][GTK] Deprecate and replace webkit_form_submission_request_get_text_fields
44         https://bugs.webkit.org/show_bug.cgi?id=176725
46         Reviewed by Carlos Garcia Campos.
48         Test the new function.
50         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
51         (testWebViewSubmitForm):
53 2017-12-22  Jonathan Bedard  <jbedard@apple.com>
55         webkitpy: Refactor simulator code (Part 1)
56         https://bugs.webkit.org/show_bug.cgi?id=180555
57         <rdar://problem/36131381>
59         Reviewed by Alexey Proskuryakov.
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.
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.
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):
167 2017-12-21  Ling Ho <lingcherd_ho@apple.com>
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
172         Reviewed by Alexey Proskuryakov.
175 2017-12-21  Mark Lam  <mark.lam@apple.com>
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>
181         Reviewed by Chris Dumez.
183         * TestWebKitAPI/CMakeLists.txt:
184         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
186         * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp:
187         - Removed an unneeded #include.
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):
197 2017-12-21  Jeremy Jones  <jeremyj@apple.com>
199         Update FULLSCREEN_API feature defines.
200         https://bugs.webkit.org/show_bug.cgi?id=181015
202         Reviewed by Tim Horton.
204         Change enabled iphone sdk for FULLSCREEN_API.
206         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
208 2017-12-21  Don Olmstead  <don.olmstead@sony.com>
210         [AppleWin] Auxiliary libraries should be updated within build-webkit
211         https://bugs.webkit.org/show_bug.cgi?id=181065
213         Reviewed by Alex Christensen.
215         * EWSTools/Start-Queue.ps1:
216         * Scripts/build-webkit:
217         (cMakeArgsFromFeatures): Deleted.
218         (writeCongrats): Deleted.
219         * Scripts/update-webkit:
221 2017-12-21  Jer Noble  <jer.noble@apple.com>
223         Add initial DOM support for Media Capabilities
224         https://bugs.webkit.org/show_bug.cgi?id=181064
226         Reviewed by Eric Carlson.
228         * DumpRenderTree/mac/DumpRenderTree.mm:
229         (resetWebPreferencesToConsistentValues):
230         * WebKitTestRunner/TestController.cpp:
231         (WTR::TestController::resetPreferencesToConsistentValues):
233 2017-12-21  Guillaume Emont  <guijemont@igalia.com>
235         build-jsc: allow to build out of tree
236         https://bugs.webkit.org/show_bug.cgi?id=180810
238         Reviewed by Carlos Alberto Lopez Perez.
240         * Scripts/build-jsc:
242 2017-12-20  Jonathan Bedard  <jbedard@apple.com>
244         webkitpy: simctl cannot handle partial runtime version matches
245         https://bugs.webkit.org/show_bug.cgi?id=181055
246         <rdar://problem/36163798>
248         Reviewed by Alexey Proskuryakov.
250         A request for a simulator runtime of iOS 11 should be fulfilled by
251         iOS 11.0.1.
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.
259 2017-12-20  Daniel Bates  <dabates@apple.com>
261         MarkerSubrange.SubdivideGrammarAndSelectionOverlap{Frontmost, FrontmostWithLongestEffectiveRange} are failing
262         https://bugs.webkit.org/show_bug.cgi?id=181014
264         Reviewed by Simon Fraser.
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.
270         * TestWebKitAPI/Tests/WebCore/MarkerSubrange.cpp:
271         (TestWebKitAPI::TEST):
273 2017-12-20  Daniel Bates  <dabates@apple.com>
275         Remove Alternative Presentation Button
276         https://bugs.webkit.org/show_bug.cgi?id=180500
277         <rdar://problem/35891047>
279         Reviewed by Simon Fraser.
281         We no longer need the alternative presentation button.
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.
291 2017-12-20  Ryosuke Niwa  <rniwa@webkit.org>
293         REGRESSION(r222699): Drag & drop from a web page to Gmail fails
294         https://bugs.webkit.org/show_bug.cgi?id=181019
296         Reviewed by Wenson Hsieh.
298         Added assertions for filenames.
300         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
302 2017-12-19  Daniel Bates  <dabates@apple.com>
304         MarkerSubrange.SubdivideGrammarAndSelectionOverlap{Frontmost, FrontmostWithLongestEffectiveRange} are failing
305         https://bugs.webkit.org/show_bug.cgi?id=181014
307         Temporarily disable tests while I investigate offline.
309         * TestWebKitAPI/Tests/WebCore/MarkerSubrange.cpp:
310         (TestWebKitAPI::TEST):
312 2017-12-19  Wenson Hsieh  <wenson_hsieh@apple.com>
314         Unreviewed, rebaseline an API test result for El Capitan and Sierra.
316         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
317         (TestWebKitAPI::TEST):
319 2017-12-19  Ryosuke Niwa  <rniwa@webkit.org>
321         Don't convert pasted content to use blob URL in WebKit1
322         https://bugs.webkit.org/show_bug.cgi?id=180969
324         Reviewed by Wenson Hsieh.
326         Added API tests to make sure we can access the images in the pasted content.
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):
337 2017-12-19  Daniel Bates  <dabates@apple.com>
339         Implement InlineTextBox painting using marker subranges
340         https://bugs.webkit.org/show_bug.cgi?id=180984
341         <rdar://problem/36139364>
343         Reviewed by David Hyatt.
345         Update unit tests now that we use subranges for the painting of dragged content.
347         * TestWebKitAPI/Tests/WebCore/MarkerSubrange.cpp:
348         (WebCore::operator<<):
349         (WebCore::operator==): Deleted; moved to class MarkerSubrange.
351 2017-12-19  Daniel Bates  <dabates@apple.com>
353         Add support for computing the frontmost longest effective marker subrange
354         https://bugs.webkit.org/show_bug.cgi?id=180985
356         Reviewed by Dave Hyatt.
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.
361         * TestWebKitAPI/Tests/WebCore/MarkerSubrange.cpp:
362         (TestWebKitAPI::TEST):
364 2017-12-18  Wenson Hsieh  <wenson_hsieh@apple.com>
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>
370         Reviewed by Tim Horton.
372         Tweaks some existing tests to check that temporary attachment serialization attributes don't stick around on the
373         attachment elements.
375         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
376         (-[TestWKWebView hasAttribute:forQuerySelector:]):
377         (TestWebKitAPI::TEST):
379 2017-12-18  Wenson Hsieh  <wenson_hsieh@apple.com>
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>
385         Reviewed by Tim Horton.
387         Adds a new API test to exercise pasting an attributed string with multiple attachments of different types.
389         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
390         (testZIPData):
391         (platformCopyRichTextWithMultipleAttachments):
392         (TestWebKitAPI::TEST):
394 2017-12-18  Brady Eidson  <beidson@apple.com>
396         Add ability to API test Service Workers via a custom protocol.
397         https://bugs.webkit.org/show_bug.cgi?id=180911
399         Reviewed by Chris Dumez.
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.
406         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
407         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: Added.
409 2017-12-18  Wenson Hsieh  <wenson_hsieh@apple.com>
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>
415         Reviewed by Tim Horton.
417         Adds new WKAttachment API tests and test support. See comments below for more detail.
419         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
421         Tweak the editing test page markup, such that document.body.innerHTML doesn't additionally contain the contents
422         of the script tag.
424         (webViewForTestingAttachments):
425         (testImageFileURL):
426         (testImageData):
427         (testPDFFileURL):
428         (testPDFData):
429         (platformCopyRichTextWithAttachment):
430         (platformCopyPNG):
431         (platformImageWithData):
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.
436         (TestWebKitAPI::TEST):
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.
443         * TestWebKitAPI/ios/DataInteractionSimulator.h:
444         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
445         (-[DataInteractionSimulator _resetSimulatedState]):
446         (-[DataInteractionSimulator insertedAttachments]):
447         (-[DataInteractionSimulator removedAttachments]):
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.
453         (-[DataInteractionSimulator _webView:didInsertAttachment:]):
454         (-[DataInteractionSimulator _webView:didRemoveAttachment:]):
456 2017-12-18  Fujii Hironori  <Hironori.Fujii@sony.com>
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>
462         Reviewed by Darin Adler.
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.
468         * Scripts/update-webkit-wincairo-libs.py: Specify the correct zip path to unzip.
470 2017-12-18  Alexey Proskuryakov  <ap@apple.com>
472         BitVector::OutOfLineBits is always reported as a leak
473         https://bugs.webkit.org/show_bug.cgi?id=121662
475         Adding one more signature to ignore list.
477         * Scripts/webkitpy/port/leakdetector.py:
478         (LeakDetector._callstacks_to_exclude_from_leaks):
480 2017-12-18  Carlos Garcia Campos  <cgarcia@igalia.com>
482         [GTK][WPE] Add WebKitWebView::web-process-terminated signal and deprecate web-process-crashed
483         https://bugs.webkit.org/show_bug.cgi?id=180862
485         Reviewed by Michael Catanzaro.
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.
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:
501 2017-12-17  Mark Lam  <mark.lam@apple.com>
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>
507         Reviewed by JF Bastien and Darin Adler.
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):
533 2017-12-16  Youenn Fablet  <youenn@apple.com>
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
538         Reviewed by Darin Adler.
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.
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.
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.
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.
611 2017-12-16  Dan Bernstein  <mitz@apple.com>
613         WKWebView has no equivalent of -[WebView setAlwaysShowVerticalScroller:]
614         https://bugs.webkit.org/show_bug.cgi?id=180613
615         <rdar://problem/35946124>
617         Reviewed by Geoff Garen.
619         * MiniBrowser/mac/MainMenu.xib: Added Always Show {Horizontal,Vertical} Scroller menu items
620           to the View menu.
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.
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.
634         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
635         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewAlwaysShowsScroller.mm: Added.
636         (TEST):
638 2017-12-16  Basuke Suzuki  <Basuke.Suzuki@sony.com>
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
643         Reviewed by Alex Christensen.
645         Bug fix. Specify the download destination correctly.
647         * Scripts/update-webkit-wincairo-libs.py:
649 2017-12-16  Brent Fulgham  <bfulgham@apple.com>
651         Plugin processes are repeatedly spun up to do nothing
652         https://bugs.webkit.org/show_bug.cgi?id=180885
653         <rdar://problem/36082564>
655         Reviewed by Geoffrey Garen.
657         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
658         (runTestWithWebsiteDataStore): Check that deleting website data did not
659         trigger any plugin processes to start up.
661 2017-12-16  Yusuke Suzuki  <utatane.tea@gmail.com>
663         Remove unnecessary boolean result of start() functions
664         https://bugs.webkit.org/show_bug.cgi?id=180856
666         Reviewed by Darin Adler.
668         * TestWebKitAPI/Tests/WTF/ParkingLot.cpp:
670 2017-12-15  David Quesada  <david_quesada@apple.com>
672         Unreviewed, adding myself to contributors.json
674         * Scripts/webkitpy/common/config/contributors.json:
676 2017-12-15  Ryan Haddad  <ryanhaddad@apple.com>
678         Unreviewed, rolling out r225941.
680         This change introduced LayoutTest crashes and assertion
681         failures.
683         Reverted changeset:
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
690 2017-12-15  Alex Christensen  <achristensen@webkit.org>
692         Introduce SPI _WKWebsitePolicies.websiteDataStore
693         https://bugs.webkit.org/show_bug.cgi?id=180880
694         <rdar://problem/35535328>
696         Reviewed by Andy Estes.
698         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
699         (-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
700         (-[WebsitePoliciesWebsiteDataStoreDelegate webView:startURLSchemeTask:]):
701         (-[WebsitePoliciesWebsiteDataStoreDelegate webView:stopURLSchemeTask:]):
702         (TEST):
704 2017-12-15  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>
706         [GTK] Add proxy option to Minibrowser
707         https://bugs.webkit.org/show_bug.cgi?id=180750
709         Reviewed by Michael Catanzaro.
711         Add command line option to set proxy settings in GTK minibrowser.
713         * MiniBrowser/gtk/main.c:
714         (main):
716 2017-12-14  Basuke Suzuki  <Basuke.Suzuki@sony.com>
718         [webkitpy, Windows] Remove unnecessary debug message
719         https://bugs.webkit.org/show_bug.cgi?id=180844
721         Reviewed by Ryosuke Niwa.
723         * Scripts/webkitpy/common/system/crashlogs.py:
724         (CrashLogs._find_newest_log_win): Delete debug print
726 2017-12-14  David Kilzer  <ddkilzer@apple.com>
728         check-webkit-style: Stop warning about underscores in webrtc source
729         <https://webkit.org/b/180848>
731         Reviewed by Joseph Pecoraro.
733         * Scripts/webkitpy/style/checker.py:
734         (_PATH_RULES_SPECIFIER): Suppress readability/naming/underscores
735         warnings under Source/ThirdParty/libwebrtc/Source/webrtc.
737 2017-12-14  Jonathan Bedard  <jbedard@apple.com>
739         webkitpy: Replace Version.contained_in with Version.__contains__
740         https://bugs.webkit.org/show_bug.cgi?id=180772
741         <rdar://problem/36033555>
743         Reviewed by David Kilzer.
745         Using __contains__ instead of contained_in allows for the more
746         Pythonic 'in' operator to be used.
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):
758 2017-12-14  Ryan Haddad  <ryanhaddad@apple.com>
760         Unreviewed, rolling out r225931.
762         Breaks internal builds.
764         Reverted changeset:
766         "Fix Mac CMake build"
767         https://bugs.webkit.org/show_bug.cgi?id=180835
768         https://trac.webkit.org/changeset/225931
770 2017-12-14  Devin Rousso  <webkit@devinrousso.com>
772         Web Inspector: replace HTMLCanvasElement with CanvasRenderingContext for instrumentation logic
773         https://bugs.webkit.org/show_bug.cgi?id=180770
775         Reviewed by Joseph Pecoraro.
777         * Scripts/webkitpy/common/config/watchlist:
779 2017-12-14  Alexey Proskuryakov  <ap@apple.com>
781         Improve leaks detector output
782         https://bugs.webkit.org/show_bug.cgi?id=180828
784         Reviewed by Joseph Pecoraro.
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.
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.
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.
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.
806 2017-12-14  Brady Eidson  <beidson@apple.com>
808         REGRESSION (r225789): API tests WKProcessPool.InitialWarmedProcessUsed and WebKit.WebsiteDataStoreCustomPaths are failing.
809         https://bugs.webkit.org/show_bug.cgi?id=180722
811         Reviewed by Chris Dumez.
813         * TestWebKitAPI/Tests/WebKitCocoa/InitialWarmedProcessUsed.mm:
814         (TEST):
816 2017-12-14  Alex Christensen  <achristensen@webkit.org>
818         Fix Mac CMake build
819         https://bugs.webkit.org/show_bug.cgi?id=180835
821         Reviewed by Andy Estes.
823         * DumpRenderTree/mac/DumpRenderTree.mm:
824         * MiniBrowser/mac/WK1BrowserWindowController.m:
826 2017-12-14  Jonathan Bedard  <jbedard@apple.com>
828         webkitpy: Better name-version mapping (Follow-up fix)
829         https://bugs.webkit.org/show_bug.cgi?id=179621
830         <rdar://problem/35589585>
832         Unreviewed infrastructure fix.
834         r225856 caused some undesired logging on Linux and Windows.
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.
841 2017-12-14  Carlos Garcia Campos  <cgarcia@igalia.com>
843         WebDriver: add a common way to run tests with pytest
844         https://bugs.webkit.org/show_bug.cgi?id=180800
846         Reviewed by Carlos Alberto Lopez Perez.
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.
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.
894 2017-12-13  Matt Lewis  <jlewis3@apple.com>
896         Unreviewed, rolling out r225864.
898         This caused the Layout test step to crash out on Debug testers
900         Reverted changeset:
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
908 2017-12-13  Youenn Fablet  <youenn@apple.com>
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>
914         Reviewed by Andy Estes.
916         Reenable the check for non High Sierra builds.
918         * TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
919         (-[LazilyLoadPlatformFrameworksController expectParentalControlsLoaded:networkExtensionLoaded:]):
921 2017-12-13  Brady Eidson  <beidson@apple.com>
923         REGRESSION (r225789): API tests WKProcessPool.InitialWarmedProcessUsed and WebKit.WebsiteDataStoreCustomPaths are failing.
924         https://bugs.webkit.org/show_bug.cgi?id=180722
926         Reviewed by Chris Dumez.
928         * TestWebKitAPI/Tests/WebKitCocoa/InitialWarmedProcessUsed.mm:
929         (TEST): Call a new SPI to get the count of WebProcesses hosting WebPages.
931 2017-12-13  Mark Lam  <mark.lam@apple.com>
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>
937         Reviewed by JF Bastien.
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):
947 2017-12-13  Jonathan Bedard  <jbedard@apple.com>
949         webkitpy: Better name-version mapping (Part 2)
950         https://bugs.webkit.org/show_bug.cgi?id=179621
951         <rdar://problem/35589585>
953         Reviewed by David Kilzer.
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.
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.
1067 2017-12-12  Daniel Bates  <dabates@apple.com>
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
1072         Reviewed by Alex Christensen.
1074         * TestWebKitAPI/Tests/WebKitCocoa/ClickAutoFillButton.mm:
1075         (-[ClickAutoFillButton webProcessPlugIn:didCreateBrowserContextController:]):
1077 2017-12-12  Alex Christensen  <achristensen@webkit.org>
1079         Fix possible out-of-bounds read in protocolIsInHTTPFamily
1080         https://bugs.webkit.org/show_bug.cgi?id=180688
1082         Reviewed by Daniel Bates.
1084         * TestWebKitAPI/Tests/WebCore/URL.cpp:
1085         (TestWebKitAPI::TEST_F):
1087 2017-12-12  JF Bastien  <jfbastien@apple.com>
1089         makeString: support more integral types
1090         https://bugs.webkit.org/show_bug.cgi?id=180720
1092         Reviewed by Sam Weinig.
1094         Test a few more types can be made string'd.
1096         * TestWebKitAPI/Tests/WTF/StringConcatenate.cpp:
1097         (TestWebKitAPI::TEST):
1099 2017-12-12  Alicia Boya García  <aboya@igalia.com>
1101         Flakiness dashboard: Make GTK and WPE builds inherit expectations from WK2
1102         https://bugs.webkit.org/show_bug.cgi?id=178782
1104         Reviewed by Michael Catanzaro.
1106         * TestResultServer/static-dashboards/flakiness_dashboard.js:
1108 2017-12-12  Jonathan Bedard  <jbedard@apple.com>
1110         MobileMiniBrowser using the wrong toolchain
1111         https://bugs.webkit.org/show_bug.cgi?id=180716
1112         <rdar://problem/36002951>
1114         Reviewed by Tim Horton.
1116         Move Debug/Release configurations from xcodeproj into Base.xcconfig.
1118         * MobileMiniBrowser/Configurations/Base.xcconfig:
1119         * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
1121 2017-12-12  Youenn Fablet  <youenn@apple.com>
1123         Update ContentFiltering.LazilyLoadPlatformFrameworks test to account for libwebrtc using VideoProcessing framework
1124         https://bugs.webkit.org/show_bug.cgi?id=180713
1126         Reviewed by Andy Estes.
1128         Temporarily disabling a subcheck until we make the test more robust and/or libwebrtc weak linking VideoProcessing framework.
1130         * TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
1131         (-[LazilyLoadPlatformFrameworksController expectParentalControlsLoaded:networkExtensionLoaded:]):
1133 2017-12-12  Caio Lima  <ticaiolima@gmail.com>
1135         [ESNext][BigInt] Implement BigInt literals and JSBigInt
1136         https://bugs.webkit.org/show_bug.cgi?id=179000
1138         Reviewed by Darin Adler and Yusuke Suzuki.
1140         * Scripts/run-jsc-stress-tests:
1142 2017-12-12  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1144         [GTK][WPE] Bump GStreamer version to 1.12 in jhbuild
1145         https://bugs.webkit.org/show_bug.cgi?id=171677
1147         Reviewed by Carlos Garcia Campos.
1149         Bump gstreamer related modules and rebase patches still needed and not merged
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.
1158 2017-12-12  Yusuke Suzuki  <utatane.tea@gmail.com>
1160         [WTF] Thread::create should have Thread::tryCreate
1161         https://bugs.webkit.org/show_bug.cgi?id=180333
1163         Reviewed by Darin Adler.
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):
1173 2017-12-11  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1175         [WinCairo] Enable running sharded tests
1176         https://bugs.webkit.org/show_bug.cgi?id=180660
1178         Reviewed by Alex Christensen.
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.
1185         * Scripts/webkitpy/port/win.py:
1186         (WinCairoPort):
1188 2017-12-11  Fujii Hironori  <Hironori.Fujii@sony.com>
1190         [WinCairo] DLLLauncherMain should use SetDllDirectory
1191         https://bugs.webkit.org/show_bug.cgi?id=180642
1193         Reviewed by Alex Christensen.
1195         Windows have icuuc.dll in the system directory. WebKit should find
1196         one in WebKitLibraries directory, not one in the system directory.
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.
1202 2017-12-11  David Quesada  <david_quesada@apple.com>
1204         Turn on ENABLE_APPLICATION_MANIFEST
1205         https://bugs.webkit.org/show_bug.cgi?id=180562
1206         rdar://problem/35924737
1208         Reviewed by Geoffrey Garen.
1210         * Configurations/FeatureDefines.xcconfig:
1212 2017-12-11  Zan Dobersek  <zdobersek@igalia.com>
1214         Unreviewed, rolling out r225737.
1216         Breaks Git clones of the repository, including EWSs and webkitbot.
1218         Reverted changeset:
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
1225 2017-12-11  Carlos Garcia Campos  <cgarcia@igalia.com>
1227         [GTK] WebDriver: run-webdriver-tests is leaking a DumpRenderTree directory in tmp
1228         https://bugs.webkit.org/show_bug.cgi?id=180426
1230         Reviewed by Michael Catanzaro.
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.
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.
1261 2017-12-10  Zan Dobersek  <zdobersek@igalia.com>
1263         Unreviewed webkitpy fix on Linux platforms after r225721.
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.
1274         * Scripts/webkitpy/common/version_name_map.py:
1275         (VersionNameMap.__init__):
1277 2017-12-10  Youenn Fablet  <youenn@apple.com>
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
1282         Reviewed by Darin Adler.
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.
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.
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.
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.
1355 2017-12-10  Konstantin Tokarev  <annulen@yandex.ru>
1357         [python] Modernize "except" usage for python3 compatibility
1358         https://bugs.webkit.org/show_bug.cgi?id=180612
1360         Reviewed by Michael Catanzaro.
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):
1573 2017-12-09  Yusuke Suzuki  <utatane.tea@gmail.com>
1575         Fix WTF::Hasher tuple expansion with variadic args
1576         https://bugs.webkit.org/show_bug.cgi?id=180623
1578         Reviewed by JF Bastien.
1580         * TestWebKitAPI/Tests/WTF/Hasher.cpp:
1581         (TestWebKitAPI::TEST):
1583 2017-12-09  Konstantin Tokarev  <annulen@yandex.ru>
1585         [python] Replace print >> operator with print() function for python3 compatibility
1586         https://bugs.webkit.org/show_bug.cgi?id=180611
1588         Reviewed by Michael Catanzaro.
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):
1634 2017-12-08  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1636         [Win] The way to detect Windows 10 is wrong
1637         https://bugs.webkit.org/show_bug.cgi?id=179344
1638         <rdar://problem/35562264>
1640         Reviewed by Alex Christensen.
1642         Python2.7 doesn't return correct information on Windows 10.
1643         Use platform.win32_ver() instead of sys.getwindowsversion().
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):
1658 2017-12-08  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1660         [WinCairo] Fix runtime error after r225229
1661         https://bugs.webkit.org/show_bug.cgi?id=180614
1663         Reviewed by Alex Christensen.
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.
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):
1679 2017-12-08  David Quesada  <david_quesada@apple.com>
1681         ApplicationManifestParser should strip whitespace from the raw input
1682         https://bugs.webkit.org/show_bug.cgi?id=180539
1683         rdar://problem/35915075
1685         Reviewed by Joseph Pecoraro.
1687         Added an API test for parsing manifests with surrounding whitespace.
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.
1696         * TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:
1697         (TEST_F):
1699 2017-12-08  Konstantin Tokarev  <annulen@yandex.ru>
1701         [python] Replace print operator with print() function for python3 compatibility
1702         https://bugs.webkit.org/show_bug.cgi?id=180592
1704         Reviewed by Michael Catanzaro.
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):
1831 2017-12-08  Eric Carlson  <eric.carlson@apple.com>
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
1836         Reviewed by Alex Christensen.
1838         * TestWebKitAPI/Tests/WebCore/Logging.cpp:
1839         (TestWebKitAPI::TEST_F):
1841 2017-12-08  Chris Dumez  <cdumez@apple.com>
1843         Different WebKitTestRunner instances should use different service worker registrations databases
1844         https://bugs.webkit.org/show_bug.cgi?id=180589
1846         Reviewed by Brady Eidson.
1848         * WebKitTestRunner/TestController.cpp:
1849         (WTR::TestController::generateContextConfiguration const):
1851 2017-12-08  Fujii Hironori  <Hironori.Fujii@sony.com>
1853         Tools/ImageDiff/cg/PlatformImageCG.cpp doesn't need to include <wtf/MathExtras.h>
1854         https://bugs.webkit.org/show_bug.cgi?id=180578
1856         Reviewed by Konstantin Tokarev.
1858         * ImageDiff/cg/PlatformImageCG.cpp: Removed unnecessary #include <wtf/MathExtras.h>.
1860 2017-12-08  Zan Dobersek  <zdobersek@igalia.com>
1862         Unreviewed WPE build fix after r225671.
1864         * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
1865         Include the ActivateFonts.h header to have a usable
1866         WTR::installFakeHelvetica() function declaration.
1868 2017-12-07  Zan Dobersek  <zdobersek@igalia.com>
1870         Unreviewed GTK+ and WPE build fix.
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.
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):
1890 2017-12-07  Yusuke Suzuki  <utatane.tea@gmail.com>
1892         Use StaticLock instead of NeverDestroyed<Lock>
1893         https://bugs.webkit.org/show_bug.cgi?id=180507
1895         Reviewed by Saam Barati.
1897         * DumpRenderTree/JavaScriptThreading.cpp:
1898         (javaScriptThreads):
1899         (runJavaScriptThread):
1900         (startJavaScriptThreads):
1901         (stopJavaScriptThreads):
1902         (javaScriptThreadsMutex): Deleted.
1904 2017-12-07  Alex Christensen  <achristensen@webkit.org>
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>
1910         Reviewed by Geoffrey Garen.
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.
1917 2017-12-07  Myles C. Maxfield  <mmaxfield@apple.com>
1919         [Cocoa] Add SPI to disallow user-installed fonts
1920         https://bugs.webkit.org/show_bug.cgi?id=180062
1921         <rdar://problem/35042408>
1923         Reviewed by Simon Fraser.
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.
1943 2017-12-07  David Quesada  <david_quesada@apple.com>
1945         [Web App Manifest] Support display-mode media feature
1946         https://bugs.webkit.org/show_bug.cgi?id=180376
1947         rdar://problem/35837993
1949         Reviewed by Geoffrey Garen.
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.
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.
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.
1974 2017-12-07  Eric Carlson  <eric.carlson@apple.com>
1976         Add WebRTC watchlist rule, update MediaStream rule
1977         https://bugs.webkit.org/show_bug.cgi?id=180536
1978         <rdar://problem/35914066>
1980         Reviewed by Youenn Fablet.
1982         * Scripts/webkitpy/common/config/watchlist:
1984 2017-12-06  Chris Dumez  <cdumez@apple.com>
1986         We should be able to recover after a Service Worker process crash
1987         https://bugs.webkit.org/show_bug.cgi?id=180477
1989         Reviewed by Brady Eidson and Youenn Fablet.
1991         Add testRunner API to terminate the Service Worker process.
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):
2003 2017-12-02  Darin Adler  <darin@apple.com>
2005         Modernize some aspects of text codecs, eliminate WebKit use of strcasecmp
2006         https://bugs.webkit.org/show_bug.cgi?id=180009
2008         Reviewed by Alex Christensen.
2010         * DumpRenderTree/cg/PixelDumpSupportCG.cpp: Removed include of StringExtras.h.
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.
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.
2022         * WebKitTestRunner/cg/TestInvocationCG.cpp: Ditto.
2024 2017-12-06  Alexey Proskuryakov  <ap@apple.com>
2026         Exclude another leak callstack.
2028         * Scripts/webkitpy/port/leakdetector.py: (LeakDetector._callstacks_to_exclude_from_leaks):
2030 2017-12-06  Jeff Miller  <jeffm@apple.com>
2032         -[WKWebViewConfiguration copyWithZone] doesn't copy _groupIdentifier
2033         https://bugs.webkit.org/show_bug.cgi?id=180504
2035         Reviewed by Geoffrey Garen.
2037         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm:
2038         Add a test to verify that the _groupIdentifier is copied.
2040 2017-12-06  David Quesada  <david_quesada@apple.com>
2042         [Web App Manifest] Add SPI for fetching the manifest
2043         https://bugs.webkit.org/show_bug.cgi?id=180294
2044         rdar://problem/34747968
2046         Reviewed by Geoffrey Garen.
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):
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.
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):
2071 2017-12-05  Stephan Szabo  <stephan.szabo@sony.com>
2073         Switch windows build to Visual Studio 2017
2074         https://bugs.webkit.org/show_bug.cgi?id=172412
2076         Reviewed by Per Arne Vollan.
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.
2091 2017-12-05  Alex Christensen  <achristensen@webkit.org>
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>
2097         Reviewed by Chris Dumez.
2099         * TestWebKitAPI/Tests/WebKitCocoa/LoadAlternateHTMLString.mm:
2100         (TEST):
2101         Test opening a URL that used to crash WebKit.
2103 2017-12-05  Michael Saboff  <msaboff@apple.com>
2105         Make WebKit build for ARM64_32
2106         https://bugs.webkit.org/show_bug.cgi?id=180447
2108         Reviewed by Mark Lam.
2110         Add an instance of the _TestWTFAlwaysMissing for arm64_32 architecture.
2112         * TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS-v2.tbd:
2114 2017-12-05  Aakash Jain  <aakash_jain@apple.com>
2116         [build.webkit.org] Rename mastercfg_unittest to steps_unittest
2117         https://bugs.webkit.org/show_bug.cgi?id=180432
2119         Rubber-stamped by Alexey Proskuryakov.
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.
2124 2017-12-05  Aakash Jain  <aakash_jain@apple.com>
2126         [build.webkit.org] Fix style issues in mastercfg_unittest.py
2127         https://bugs.webkit.org/show_bug.cgi?id=180439
2129         Reviewed by Alexey Proskuryakov.
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
2135 2017-12-05  Aakash Jain  <aakash_jain@apple.com>
2137         [build.webkit.org] Rename MasterCfgTest to RunWebKitTestsTest
2138         https://bugs.webkit.org/show_bug.cgi?id=180391
2140         Rubber-stamped by Alexey Proskuryakov.
2142         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
2143         (RunWebKitTestsTest): Renamed from MasterCfgTest.
2145 2017-12-01  Filip Pizlo  <fpizlo@apple.com>
2147         GC constraint solving should be parallel
2148         https://bugs.webkit.org/show_bug.cgi?id=179934
2150         Reviewed by JF Bastien.
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):
2158 2017-12-04  Nan Wang  <n_wang@apple.com>
2160         AX: AOM: Implement relation type properties
2161         https://bugs.webkit.org/show_bug.cgi?id=179500
2163         Reviewed by Ryosuke Niwa.
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):
2174 2017-12-04  Simon Fraser  <simon.fraser@apple.com>
2176         Minor DisplayRefreshMonitor-related cleanup
2177         https://bugs.webkit.org/show_bug.cgi?id=179802
2179         Reviewed by Sam Weinig.
2181         New trace point for when the CVDisplayLink fires on its own thread.
2183         * Tracing/SystemTracePoints.plist:
2185 2017-12-04  David Quesada  <david_quesada@apple.com>
2187         Add a class for parsing application manifests
2188         https://bugs.webkit.org/show_bug.cgi?id=177973
2189         rdar://problem/34747949
2191         Reviewed by Geoffrey Garen.
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.
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):
2211 2017-12-04  Aakash Jain  <aakash_jain@apple.com>
2213         Add docstring in EarlyWarningSystemTask to explain return values
2214         https://bugs.webkit.org/show_bug.cgi?id=180303
2216         Reviewed by Daniel Bates.
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.
2223 2017-12-04  JF Bastien  <jfbastien@apple.com>
2225         Update std::expected to match libc++ coding style
2226         https://bugs.webkit.org/show_bug.cgi?id=180264
2228         Reviewed by Alex Christensen.
2230         Update tests according to name changes as well as removal of
2231         now-gone APIs.
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):
2241 2017-12-04  Ross Kirsling  <ross.kirsling@sony.com>
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
2246         Reviewed by Per Arne Vollan.
2248         * Scripts/download-latest-github-release.py:
2249         (find_latest_release):
2250         Handle all URLErrors, not just HTTPErrors. Stop special-casing 404s.
2252         (main):
2253         Rearrange logic so any failure to detect a latest release falls back to an existing release. Improve logging.
2255         (Status):
2256         (download_release):
2257         (load_version_info): Renamed from existing_version info.
2258         (has_latest_release): Deleted.
2259         Cleanup.
2261 2017-12-04  Joseph Pecoraro  <pecoraro@apple.com>
2263         Exclude some more leak callstacks
2264         https://bugs.webkit.org/show_bug.cgi?id=180379
2266         Reviewed by Alexey Proskuryakov.
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):
2276 2017-12-03  Yusuke Suzuki  <utatane.tea@gmail.com>
2278         WTF shouldn't have both Thread and ThreadIdentifier
2279         https://bugs.webkit.org/show_bug.cgi?id=180308
2281         Reviewed by Darin Adler.
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):
2294 2017-12-03  Aakash Jain  <aakash_jain@apple.com>
2296         webkitpy EWS keeps retrying a failing patch
2297         https://bugs.webkit.org/show_bug.cgi?id=180302
2299         Reviewed by Alexey Proskuryakov.
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.
2307 2017-12-03  Darin Adler  <darin@apple.com>
2309         Add WTF::Hasher, an easier to use replacement for WTF::IntegerHasher
2310         https://bugs.webkit.org/show_bug.cgi?id=180318
2312         Reviewed by JF Bastien.
2314         * TestWebKitAPI/CMakeLists.txt: Added Hasher.cpp.
2315         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Ditto.
2317         * TestWebKitAPI/Tests/WTF/Hasher.cpp: Added. Contains tests of the new
2318         WTF::Hasher class.
2320         * TestWebKitAPI/Tests/WTF/StringHasher.cpp: Include StringHasher.h instead of
2321         Hasher.h.
2323 2017-12-01  Carlos Garcia Campos  <cgarcia@igalia.com>
2325         WebDriver: auto-install pytest instead of importing it from wpt tools directory
2326         https://bugs.webkit.org/show_bug.cgi?id=180243
2328         Reviewed by Brian Burg.
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.
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.
2342 2017-12-01  Dewei Zhu  <dewei_zhu@apple.com>
2344         Hardcoded python path is not compatible with virtual environment.
2345         https://bugs.webkit.org/show_bug.cgi?id=180300
2347         Reviewed by Stephanie Lewis.
2349         Hardcoding '/usr/bin/python' does not work with python virtual environment.
2350         Use 'python' instead.
2352         * Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
2353         (SimpleHTTPServerDriver.serve):
2355 2017-12-01  Aakash Jain  <aakash_jain@apple.com>
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
2360         Reviewed by Daniel Bates.
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.
2366 2017-12-01  Brian Burg  <bburg@apple.com>
2368         Web Inspector: move Inspector::Protocol::Array<T> to JSON namespace
2369         https://bugs.webkit.org/show_bug.cgi?id=173662
2371         Reviewed by Joseph Pecoraro.
2373         Add duplicate test cases for JSON::ArrayOf<T> based on JSON::Array.
2375         * TestWebKitAPI/Tests/WTF/JSONValue.cpp:
2376         (TestWebKitAPI::TEST):
2378 2017-12-01  Wenson Hsieh  <wenson_hsieh@apple.com>
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>
2384         Reviewed by Tim Horton.
2386         Adds two new API tests to exercise the attachment data update flow.
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):
2395 2017-12-01  Alicia Boya García  <aboya@igalia.com>
2397         [GTK] Add SampleMap.cpp API tests to CMake
2398         https://bugs.webkit.org/show_bug.cgi?id=180252
2400         Reviewed by Žan Doberšek.
2402         * TestWebKitAPI/PlatformGTK.cmake:
2404 2017-11-30  Carlos Garcia Campos  <cgarcia@igalia.com>
2406         WebDriver: add support for importing and running selenium tests
2407         https://bugs.webkit.org/show_bug.cgi?id=180145
2409         Reviewed by Brian Burg.
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.
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:
2465 2017-11-30  Alex Christensen  <achristensen@webkit.org>
2467         REGRESSION (r224791): cookies are shared between ephemeral sessions in the same process pool
2468         https://bugs.webkit.org/show_bug.cgi?id=180235
2470         Reviewed by Joseph Pecoraro.
2472         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2473         * TestWebKitAPI/Tests/WebKitCocoa/CookiePrivateBrowsing.mm: Added.
2474         (-[CookiePrivateBrowsingDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
2475         (TEST):
2477 2017-11-30  Stephan Szabo  <stephan.szabo@sony.com>
2479         Make LegacyCustomProtocolManager optional for network process
2480         https://bugs.webkit.org/show_bug.cgi?id=176230
2482         Reviewed by Alex Christensen.
2484         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2486 2017-11-30  Dewei Zhu  <dewei_zhu@apple.com>
2488         HTTP server driver is responsible for ensuring the dependencies of HTTP server.
2489         https://bugs.webkit.org/show_bug.cgi?id=180231
2491         Reviewed by Stephanie Lewis.
2493         Added the logic to ensure system environment meet the requirments of launching the http server.
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):
2501 2017-11-30  Basuke Suzuki  <Basuke.Suzuki@sony.com>
2503         [WinCairo] Cannot build without Internet connection
2504         https://bugs.webkit.org/show_bug.cgi?id=180068
2506         Reviewed by Alex Christensen
2508         With no Internet connection, if libraries has been downloaded
2509         before, trust that version and keep building.
2511         * Scripts/download-latest-github-release.py:
2512         (Status):
2513         (current_release):
2514         (has_latest_release):
2515         (main):
2517 2017-11-30  Alex Christensen  <achristensen@webkit.org>
2519         WKURLSchemeHandler.request should include HTTPBody
2520         https://bugs.webkit.org/show_bug.cgi?id=180220
2522         Reviewed by Brady Eidson.
2524         * TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm:
2525         (-[FormSubmissionDelegate webView:startURLSchemeTask:]):
2527 2017-11-30  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2529         Add a script for automatically running the buildbot configurations on a test environment.
2530         https://bugs.webkit.org/show_bug.cgi?id=169084
2532         Reviewed by Michael Catanzaro.
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.
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.
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):
2562 2017-11-30  Aakash Jain  <aakash_jain@apple.com>
2564         [build.webkit.org] Move python code from master.cfg in separate files
2565         https://bugs.webkit.org/show_bug.cgi?id=180180
2567         Reviewed by Alexey Proskuryakov.
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
2573 2017-11-30  Wenson Hsieh  <wenson_hsieh@apple.com>
2575         WKAttachmentTests.InPlaceImageAttachmentToggleDisplayMode times out on macOS bots
2576         https://bugs.webkit.org/show_bug.cgi?id=180200
2578         Reviewed by Alexey Proskuryakov.
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.
2584         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2585         (-[TestWKWebView attachmentElementSize]):
2586         (-[TestWKWebView waitForAttachmentElementSizeToBecome:]):
2587         (TestWebKitAPI::TEST):
2588         (platformAttachmentIconElementSize): Deleted.
2590 2017-11-30  Michael Catanzaro  <mcatanzaro@igalia.com>
2592         [WPE] Stop building Wayland in JHBuild moduleset
2593         https://bugs.webkit.org/show_bug.cgi?id=179951
2595         Reviewed by Žan Doberšek.
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).
2602         * wpe/install-dependencies: Install Wayland.
2603         * wpe/jhbuild.modules: Stop building Wayland.
2605 2017-11-30  Alexey Proskuryakov  <ap@apple.com>
2607         Silence the BitVector leak for
2608         https://bugs.webkit.org/show_bug.cgi?id=121662
2610         The out of line data pointer isn't stored directly, so the leaks tool cannot see it.
2612         * Scripts/webkitpy/port/leakdetector.py:
2613         (LeakDetector._callstacks_to_exclude_from_leaks):
2615 2017-11-29  Aakash Jain  <aakash_jain@apple.com>
2617         Fix build.webkit.org broken unit-test after r225080
2618         https://bugs.webkit.org/show_bug.cgi?id=180176
2620         Reviewed by Carlos Garcia Campos.
2622         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Updated expected_build_steps.
2624 2017-11-29  Wenson Hsieh  <wenson_hsieh@apple.com>
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>
2630         Reviewed by Tim Horton.
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.
2636         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2637         (platformAttachmentIconElementSize):
2638         (testVideoData):
2639         (testPDFData):
2640         (displayOptionsWithMode):
2641         (-[TestWKWebView waitForAttachmentElementSizeToBecome:]):
2642         (-[_WKAttachment synchronouslySetDisplayOptions:error:]):
2643         (TestWebKitAPI::TEST):
2645 2017-11-29  Simon Fraser  <simon.fraser@apple.com>
2647         API test fix after r225288.
2649         Make the test work on iOS.
2651         * TestWebKitAPI/Tests/WebKit/NoHistoryItemScrollToFragment.mm:
2652         (-[DidScrollToFragmentScrollViewDelegate scrollViewDidScroll:]):
2653         (TestWebKitAPI::TEST):
2655 2017-11-29  Simon Fraser  <simon.fraser@apple.com>
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
2661         Reviewed by Zalan Bujtas.
2663         API test that loads a page with a relative anchor, and simulates a click to scroll to it.
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.
2673 2017-11-29  Ryan Haddad  <ryanhaddad@apple.com>
2675         webkitpy EWS should be present on the dashboard.
2676         https://bugs.webkit.org/show_bug.cgi?id=179801
2678         Reviewed by Aakash Jain.
2680         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
2681         (BubbleQueueServer): Add Webkitpy EWS.
2683 2017-11-29  Simon Fraser  <simon.fraser@apple.com>
2685         Viewport unit values affected by Comand-+ zoom
2686         https://bugs.webkit.org/show_bug.cgi?id=145614
2688         Reviewed by Zalan Bujtas.
2689         
2690         Fix Command+ and Command- in MiniBrowser to do zooming, rather than being tied
2691         to editing commands.
2693         * MiniBrowser/mac/MainMenu.xib:
2695 2017-11-29  Alex Christensen  <achristensen@webkit.org>
2697         Add test for _WKVisitedLinkStore.addVisitedLinkWithString
2698         https://bugs.webkit.org/show_bug.cgi?id=180152
2700         Reviewed by Chris Dumez.
2702         * TestWebKitAPI/Tests/WebKitCocoa/VisitedLinkStore.mm:
2703         (TestWebKitAPI::TEST):
2705 2017-11-29  Jonathan Bedard  <jbedard@apple.com>
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>
2711         Reviewed by Brent Fulgham.
2713         Provide more specific information in builders.py so that machines do not try and calculate
2714         an iOS SDK version while running tests.
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).
2723 2017-11-29  Robin Morisset  <rmorisset@apple.com>
2725         The recursive tail call optimisation is wrong on closures
2726         https://bugs.webkit.org/show_bug.cgi?id=179835
2728         Reviewed by Saam Barati.
2730         This just includes merge-sort-cps.js to the list of benchmarks ran by run-jsc-benchmarks --tail-bench
2732         * Scripts/run-jsc-benchmarks:
2734 2017-11-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2736         WebDriver: add an option to dump test results to a json file
2737         https://bugs.webkit.org/show_bug.cgi?id=180082
2739         Reviewed by Brian Burg.
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.
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):
2758 2017-11-28  Alexey Proskuryakov  <ap@apple.com>
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
2763         Reviewed by Joseph Pecoraro.
2765         * Scripts/valgrind/suppressions.txt:
2766         * Scripts/webkitpy/port/leakdetector.py:
2767         (LeakDetector._callstacks_to_exclude_from_leaks):
2769 2017-11-28  Ms2ger  <Ms2ger@igalia.com>
2771         Stop modifying self.expectations in TestExpectationLine.expected_behavior.
2772         https://bugs.webkit.org/show_bug.cgi?id=180074
2774         Reviewed by Simon Fraser.
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.
2782         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
2783         (TestExpectationLine.expected_behavior): copy self.expectations before modifying it.
2785 2017-11-14  Carlos Garcia Campos  <cgarcia@igalia.com>
2787         Move JSONValues to WTF and convert uses of InspectorValues.h to JSONValues.h
2788         https://bugs.webkit.org/show_bug.cgi?id=173793
2790         Reviewed by Joseph Pecoraro.
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):
2798 2017-11-28  Ryan Haddad  <ryanhaddad@apple.com>
2800         Bugs filed from the flakiness dashboard should include a link to the dashboard
2801         https://bugs.webkit.org/show_bug.cgi?id=180090
2803         Reviewed by Aakash Jain.
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.
2810 2017-11-28  Jonathan Bedard  <jbedard@apple.com>
2812         webkitpy: Standardize Version representation
2813         https://bugs.webkit.org/show_bug.cgi?id=179677
2814         <rdar://problem/35711277>
2816         Reviewed by Alex Christensen.
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.
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:
2877 2017-11-28  Daniel Bates  <dabates@apple.com>
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>
2883         Reviewed by Brent Fulgham.
2885         Add a test that substitutes the alternative presentation button for an element in
2886         the page and clicks it.
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:]):
2897 2017-11-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2899         REGRESSION(r225166): [GTK] Skipped unit tests are considered failures after glib upgrade
2900         https://bugs.webkit.org/show_bug.cgi?id=180072
2902         Reviewed by Michael Catanzaro.
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.
2907         * gtk/jhbuild.modules:
2908         * gtk/patches/glib-gtester-do-not-consider-skipped-tests-as-failures.patch: Added.
2910 2017-11-28  Fujii Hironori  <Hironori.Fujii@sony.com>
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
2915         Reviewed by Daniel Bates.
2917         "Version 10.0.16299" was interpreted as 0.0.16299. Fix the wrong
2918         regexp for 'ver' command.
2920         * Scripts/webkitpy/common/system/platforminfo.py:
2921         (PlatformInfo._win_version_from_cmd): Replace \d with \d+.
2923 2017-11-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2925         [GTK] WebDriver: disable XSS auditor when running WebDriver tests
2926         https://bugs.webkit.org/show_bug.cgi?id=180075
2928         Reviewed by Carlos Alberto Lopez Perez.
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.
2933         * Scripts/webkitpy/webdriver_tests/webdriver_driver_gtk.py:
2934         (WebDriverGtk.capabilities): Disable XSS auditor.
2936 2017-11-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2938         WebDriver: add timeout option to run-webdriver-tests script
2939         https://bugs.webkit.org/show_bug.cgi?id=179940
2941         Reviewed by Carlos Alberto Lopez Perez.
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.
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.
2955 2017-11-27  Aakash Jain  <aakash_jain@apple.com>
2957         Do not run webkitpy tests on multiple EWSes
2958         https://bugs.webkit.org/show_bug.cgi?id=179834
2960         Reviewed by Alexey Proskuryakov.
2962         Do not run webkitpy tests in every EWS. We now have
2963         a dedicated webkitpy test EWS.
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. 
2969 2017-11-27  Jonathan Bedard  <jbedard@apple.com>
2971         webkitpy: Better name-version mapping (Part 1)
2972         https://bugs.webkit.org/show_bug.cgi?id=179621
2973         <rdar://problem/35589585>
2975         Reviewed by David Kilzer.
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.
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.
3022 2017-11-27  Don Olmstead  <don.olmstead@sony.com>
3024         [CMake][Win] Conditionally select DLL CRT or static CRT
3025         https://bugs.webkit.org/show_bug.cgi?id=170594
3027         Reviewed by Alex Christensen.
3029         * DumpRenderTree/PlatformWin.cmake:
3030         * MiniBrowser/win/CMakeLists.txt:
3032 2017-11-27  Yacine Bandou  <yacine.bandou_ext@softathome.com>
3034         [GTK][WPE] Add "enable-encrypted-media" property to WebKitWebSettings
3035         https://bugs.webkit.org/show_bug.cgi?id=18005
3037         Reviewed by Michael Catanzaro.
3039         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
3040         (testWebKitSettings):
3042 2017-11-27  Tim Horton  <timothy_horton@apple.com>
3044         One too many zeroes in macOS version number in FeatureDefines
3045         https://bugs.webkit.org/show_bug.cgi?id=180011
3047         Reviewed by Dan Bernstein.
3049         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3051 2017-11-27  Per Arne Vollan  <pvollan@apple.com>
3053         [Win] The number of webkit-patch iterations on EWS should be configurable.
3054         https://bugs.webkit.org/show_bug.cgi?id=178517
3056         Reviewed by Darin Adler.
3058         Add a new RESET_AFTER_ITERATION argument to the EWS shell script.
3060         * EWSTools/start-queue-win.sh:
3062 2017-11-27  Per Arne Vollan  <pvollan@apple.com>
3064         [Win] Switch to VS2017 on EWS bots.
3065         https://bugs.webkit.org/show_bug.cgi?id=178516
3067         Reviewed by Darin Adler.
3069         * EWSTools/start-queue-win.sh:
3071 2017-11-27  Carlos Garcia Campos  <cgarcia@igalia.com>
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
3076         Reviewed by Carlos Alberto Lopez Perez.
3078         This was caused by a GLib bug that has already been fixed. Upgrade glib to 2.54.2.
3080         * gtk/jhbuild.modules:
3081         * gtk/patches/gdate-suppress-string-format-literal-warning.patch: Removed.
3083 2017-11-24  Darin Adler  <darin@apple.com>
3085         * TestWebKitAPI/Tests/WTF/OptionSet.cpp:
3086         (TestWebKitAPI::TEST): Added a test for OptionSet operator|.
3088 2017-11-24  Mark Lam  <mark.lam@apple.com>
3090         Move unsafe jsc shell test functions to the $vm object.
3091         https://bugs.webkit.org/show_bug.cgi?id=179980
3093         Reviewed by Yusuke Suzuki.
3095         Always set --useDollarVM=true for jsc runs of benchmarks.  This is needed because
3096         some microbenchmarks relies on createBuiltin().
3098         Also set --useDollarVM=true for runExceptionFuzz and runExecutableAllocationFuzz.
3100         * Scripts/run-jsc-benchmarks:
3101         * Scripts/run-jsc-stress-tests:
3103 2017-11-23  Darin Adler  <darin@apple.com>
3105         Reduce WTF::String operations that do unnecessary Unicode operations instead of ASCII
3106         https://bugs.webkit.org/show_bug.cgi?id=179907
3108         Reviewed by Sam Weinig.
3110         * DumpRenderTree/mac/DumpRenderTree.mm:
3111         (changeWindowScaleIfNeeded): Use containsIgnoringASCIICase.
3112         * WebKitTestRunner/TestInvocation.cpp:
3113         (WTR::TestInvocation::urlContains const): Ditto.
3115 2017-11-22  Ali Juma  <ajuma@chromium.org>
3117         Implement VisualViewport API attributes
3118         https://bugs.webkit.org/show_bug.cgi?id=179385
3120         Reviewed by Frédéric Wang.
3122         Enable the VisualViewportAPI in layout tests.
3124         * DumpRenderTree/mac/DumpRenderTree.mm:
3125         (enableExperimentalFeatures):
3126         * DumpRenderTree/win/DumpRenderTree.cpp:
3127         (enableExperimentalFeatures):
3129 2017-11-22  Tim Horton <timothy_horton@apple.com> and Michael Catanzaro <mcatanzaro@igalia.com>
3131         Remove build-webkit's notion of feature flags having a default value
3132         https://bugs.webkit.org/show_bug.cgi?id=177338
3134         Reviewed by Carlos Alberto Lopez Perez.
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)
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.
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.
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.
3158         * Scripts/webkitdirs.pm:
3159         (generateBuildSystemFromCMakeProject):
3160         No longer need to suppress CMake warnings about unused arguments.
3162         * Scripts/webkitperl/FeatureList.pm:
3163         Remove the default values from the feature list.
3165 2017-11-22  Mark Lam  <mark.lam@apple.com>
3167         [Re-landing] Pass --useDollarVM=true to all JSC tests.
3168         https://bugs.webkit.org/show_bug.cgi?id=179647
3170         Reviewed by Saam Barati.
3172         * Scripts/run-jsc-stress-tests:
3174 2017-11-22  Commit Queue  <commit-queue@webkit.org>
3176         Unreviewed, rolling out r225093.
3177         https://bugs.webkit.org/show_bug.cgi?id=179938
3179         Compilation failed on WinCairo 64-bit Release (Requested by
3180         fredw on #webkit).
3182         Reverted changeset:
3184         "Implement VisualViewport API attributes"
3185         https://bugs.webkit.org/show_bug.cgi?id=179385
3186         https://trac.webkit.org/changeset/225093
3188 2017-11-21  Ali Juma  <ajuma@chromium.org>
3190         Implement VisualViewport API attributes
3191         https://bugs.webkit.org/show_bug.cgi?id=179385
3193         Reviewed by Frédéric Wang.
3195         Enable the VisualViewportAPI in layout tests.
3197         * DumpRenderTree/mac/DumpRenderTree.mm:
3198         (enableExperimentalFeatures):
3199         * DumpRenderTree/win/DumpRenderTree.cpp:
3200         (enableExperimentalFeatures):
3202 2017-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>
3204         [WPE] Run unit tests in the bots
3205         https://bugs.webkit.org/show_bug.cgi?id=179910
3207         Reviewed by Michael Catanzaro.
3209         Add a step to run unit tests in WPE test bots.
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.
3223 2017-11-21  Tomas Popela  <tpopela@redhat.com>
3225         Fix WebKitGTK+ compilation
3227         Reviewed by Carlos Garcia Campos.
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
3233         * gtk/manifest.txt.in:
3234         Add Tools/glib/common.py to the tarball.
3236 2017-11-21  Ms2ger  <Ms2ger@igalia.com>
3238         [GTK] Avoid warning in jhbuildrc.
3239         https://bugs.webkit.org/show_bug.cgi?id=179913
3241         Reviewed by Carlos Garcia Campos.
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.
3248         * gtk/jhbuildrc:
3250 2017-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>
3252         Unreviewed. Fix WPE make distcheck.
3254         * wpe/manifest.txt.in: Add generate-inspector-gresource-manifest.py to the tarball.
3256 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
3258         Unreviewed. Fix GTK+ make distcheck.
3260         * gtk/manifest.txt.in: Add generate-inspector-gresource-manifest.py to the tarball.
3262 2017-11-20  Michael Catanzaro  <mcatanzaro@igalia.com>
3264         [WPE] Disable ACCELERATED_2D_CANVAS in FeatureList.pm
3265         https://bugs.webkit.org/show_bug.cgi?id=179889
3267         Reviewed by Darin Adler.
3269         * Scripts/webkitperl/FeatureList.pm:
3271 2017-11-20  Michael Catanzaro  <mcatanzaro@igalia.com>
3273         Unreviewed, speculative attempt to fix run-gtk-tests after r225047
3274         https://bugs.webkit.org/show_bug.cgi?id=173772
3276         * jhbuild/jhbuildutils.py:
3277         (enter_jhbuild_environment_if_available):
3279 2017-11-20  Mario Sanchez Prada  <mario@endlessm.com>
3281         [GTK] New API to add, retrieve and delete cookies via WebKitCookieManager
3282         https://bugs.webkit.org/show_bug.cgi?id=177932
3284         Reviewed by Carlos Garcia Campos.
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.
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.
3297 2017-11-20  Stephan Szabo  <stephan.szabo@sony.com>
3299         [Win] Update ruby JSC test writer for gigacage changes
3300         https://bugs.webkit.org/show_bug.cgi?id=178757
3302         Reviewed by Keith Miller.
3304         * Scripts/webkitruby/jsc-stress-test-writer-ruby.rb:
3305         Add additionalEnv to ruby test writer Plan
3307 2017-11-20  Michael Catanzaro  <mcatanzaro@igalia.com>
3309         Remove ENABLE_ALLINONE_BUILD option
3310         https://bugs.webkit.org/show_bug.cgi?id=179823
3312         Reviewed by Darin Adler.
3314         * Scripts/webkitperl/FeatureList.pm:
3316 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
3318         Unreviewed. Fix WPE build after r225047.
3320         Remove changes from an old patch committed by mistake in r225047.
3322         * WebKitTestRunner/PlatformWebView.h:
3323         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
3324         (WTR::PlatformWebView::windowSnapshotImage):
3326 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
3328         [WPE] Add run-wpe-tests script to run WPE glib API tests
3329         https://bugs.webkit.org/show_bug.cgi?id=173772
3331         Reviewed by Michael Catanzaro.
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.
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:
3402 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
3404         [WPE] Build C API tests
3405         https://bugs.webkit.org/show_bug.cgi?id=179817
3407         Reviewed by Michael Catanzaro.
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):
3427 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
3429         [WPE] Add env var WPE_USE_HEADLESS_VIEW_BACKEND
3430         https://bugs.webkit.org/show_bug.cgi?id=173770
3432         Reviewed by Michael Catanzaro.
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".
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.
3462 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
3464         [WPE] webkit_web_view_new() should enable specifying wpe_view_backend object
3465         https://bugs.webkit.org/show_bug.cgi?id=178655
3467         Reviewed by Michael Catanzaro.
3469         Update unit tests to create web views using helper methods that have a different implementation for GTK and
3470         WPE. Also add a new test case to check the new API to create a WebKitWebView with a WPE backend. Use
3471         WKViewCreate in WTR and fix a memory leak in HeadlessViewBackend.
3473         * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
3474         (testAutomationSessionRequestSession):
3475         * TestWebKitAPI/Tests/WebKitGLib/TestBackForwardList.cpp:
3476         (testWebKitWebViewSessionState):
3477         (testWebKitWebViewSessionStateWithFormData):
3478         (testWebKitWebViewNavigationAfterSessionRestore):
3479         * TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp:
3480         * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
3481         (testWebResourceGetDataError):
3482         * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
3483         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
3484         (testWebViewNewWithUserContentManager):
3485         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
3486         (testWebContextEphemeral):
3487         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
3488         (testWebViewWebContext):
3489         (testWebViewWebContextLifetime):
3490         (testWebViewWebBackend):
3491         (testWebViewSettings):
3492         (beforeAll):
3493         * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
3494         (testWebsiteDataEphemeral):
3495         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
3496         (Test::createWebView):
3497         * WebKitTestRunner/wpe/HeadlessViewBackend.cpp:
3498         (HeadlessViewBackend::~HeadlessViewBackend):
3499         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
3500         (WTR::PlatformWebView::PlatformWebView):
3502 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
3504         [GTK][WPE] webkit_cookie_manager_delete_all_cookies doesn't delete the cookies if called before a web process is running
3505         https://bugs.webkit.org/show_bug.cgi?id=175265
3507         Reviewed by Michael Catanzaro.
3509         Add test case.
3511         * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
3512         (testCookieManagerPersistentStorageDeleteAll):
3513         (serverCallback):
3514         (beforeAll):
3516 2017-11-19  Tim Horton  <timothy_horton@apple.com>
3518         Remove unused TOUCH_ICON_LOADING feature flag
3519         https://bugs.webkit.org/show_bug.cgi?id=179873
3521         Reviewed by Simon Fraser.
3523         * Scripts/webkitperl/FeatureList.pm:
3524         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3526 2017-11-19  Tim Horton  <timothy_horton@apple.com>
3528         Remove unused LEGACY_VENDOR_PREFIXES feature flag
3529         https://bugs.webkit.org/show_bug.cgi?id=179872
3531         Reviewed by Darin Adler.
3533         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3535 2017-11-19  Yusuke Suzuki  <utatane.tea@gmail.com>
3537         Unreviewed, rolling out r225016.
3539         Break webkit-patch on Ubuntu and Debian Linux
3541         Reverted changeset:
3543         "webkitpy: Better name-version mapping (Part 1)"
3544         https://bugs.webkit.org/show_bug.cgi?id=179621
3545         https://trac.webkit.org/changeset/225016
3547 2017-11-18  Jonathan Bedard  <jbedard@apple.com>
3549         webkitpy: Better name-version mapping (Part 1)
3550         https://bugs.webkit.org/show_bug.cgi?id=179621
3551         <rdar://problem/35589585>
3553         Reviewed by David Kilzer.
3555         Mapping version numbers to version names should occur in a central location.
3556         This has a few advantages. First, it makes iterating through versions easier.
3557         Second, it allows for apple_additions to define an additional set of name
3558         mappings. Lastly, it will allow, in a future patch, for us to track version
3559         instead of version name, only mapping version to version name when required.
3561         * Scripts/webkitpy/common/system/platforminfo.py:
3562         (PlatformInfo.__init__):
3563         (PlatformInfo._determine_os_name): Use VersionNameMap instead of custom functions
3564         mapping version to name.
3565         (PlatformInfo._determine_linux_version): Deleted.
3566         (PlatformInfo._determine_mac_version): Deleted.
3567         (PlatformInfo._determine_win_version): Deleted.
3568         * Scripts/webkitpy/common/system/platforminfo_unittest.py:
3569         (TestPlatformInfo.test_os_name_and_wrappers):
3570         (TestPlatformInfo.test_os_version):
3571         (TestPlatformInfo.test_display_name):
3572         (TestPlatformInfo.test_total_bytes_memory):
3573         * Scripts/webkitpy/common/version.py:
3574         (Version.contained_in): Add partial version mapping.
3575         * Scripts/webkitpy/common/version_name_map.py: Added.
3576         (VersionNameMap): Holds a mapping of version name to version object.
3577         (VersionNameMap.map): Don't re-create VersionNameMap every time.
3578         (VersionNameMap.__init__): Initialize mapping, use platform to
3579         define the default system platform.
3580         (VersionNameMap._automap_to_major_version): Some operating systems, such
3581         as iOS, have a naming scheme based on their major version and os name.
3582         Automatically generate such mappings.
3583         (VersionNameMap.to_name): Given a version object, platform name and
3584         table, find the closest matching version name.
3585         (VersionNameMap.strip_name_formatting): Remove spaces and extract the major version,
3586         if a version string is included in the name.
3587         (VersionNameMap.from_name): Return an os name and version given a version name.
3588         * Scripts/webkitpy/common/version_name_map_unittest.py: Added.
3589         (VersionMapTestCase):
3590         (VersionMapTestCase.test_default_system_platform):
3591         (VersionMapTestCase.test_mac_version_by_name):
3592         (VersionMapTestCase.test_ios_version_by_name):
3593         (VersionMapTestCase.test_mac_name_by_version):
3594         (VersionMapTestCase.test_ios_name_by_version):
3595         * Scripts/webkitpy/common/version_unittest.py:
3596         (VersionTestCase.test_contained_in):
3598 2017-11-17  John Wilander  <wilander@apple.com>
3600         Storage Access API: UI process should update network process about granted access
3601         https://bugs.webkit.org/show_bug.cgi?id=176943
3602         <rdar://problem/34440612>
3604         Reviewed by Alex Christensen.
3606         This adds the TestRunner function setStatisticsHasHadNonRecentUserInteraction()
3607         which enables testing of prevalent resources with user interaction outside the
3608         24 hour window.
3610         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3611         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3612         (WTR::TestRunner::setStorageAccessAPIEnabled):
3613         (WTR::TestRunner::setStatisticsHasHadNonRecentUserInteraction):
3614         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3615         * WebKitTestRunner/TestController.cpp:
3616         (WTR::TestController::setStatisticsHasHadNonRecentUserInteraction):
3617         * WebKitTestRunner/TestController.h:
3618         * WebKitTestRunner/TestInvocation.cpp:
3619         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3620         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
3621         (WTR::initializeWebViewConfiguration):
3622         (WTR::TestController::setStatisticsHasHadNonRecentUserInteraction):
3624 2017-11-17  Ryan Haddad  <ryanhaddad@apple.com>
3626         Disable failing API tests for rdar://problem/35344202.
3628         Unreviewed test gardening.
3630         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
3632 2017-11-17  Joanmarie Diggs  <jdiggs@igalia.com>
3634         AX: [ATK] Fix WKTR's methods for testing row header and column header presence and count
3635         https://bugs.webkit.org/show_bug.cgi?id=179837
3637         Reviewed by Chris Fleizach.
3639         Add support to rowHeaders() for tables. Return an empty array in rowHeaders()
3640         and columnHeaders() upon failure. Rename getRowHeaders() and getColumnHeaders()
3641         to getTableRowHeaders() and getTableColumnHeaders() respectively.
3643         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
3644         (WTR::AccessibilityUIElement::rowHeaders const):
3645         (WTR::AccessibilityUIElement::columnHeaders const):
3646         (WTR::AccessibilityUIElement::attributesOfColumnHeaders):
3647         (WTR::AccessibilityUIElement::attributesOfRowHeaders):
3649 2017-11-16  Don Olmstead  <don.olmstead@sony.com>
3651         [WinCairo] Update WinCairoRequirements
3652         https://bugs.webkit.org/show_bug.cgi?id=179790
3654         Reviewed by Alex Christensen.
3656         * TestWebKitAPI/PlatformWin.cmake:
3658 2017-11-16  Daniel Bates  <dabates@apple.com>
3660         Add feature define for alternative presentation button element
3661         https://bugs.webkit.org/show_bug.cgi?id=179692
3662         Part of <rdar://problem/34917108>
3664         Reviewed by Andy Estes.
3666         Only enabled on Cocoa platforms by default.
3668         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3670 2017-11-16  Per Arne Vollan  <pvollan@apple.com>
3672         Win EWS bots should reboot after N webkit-patch iterations.
3673         https://bugs.webkit.org/show_bug.cgi?id=177970
3675         Reviewed by Brent Fulgham.
3677         * EWSTools/start-queue-win.sh:
3679 2017-11-15  Carlos Garcia Campos  <cgarcia@igalia.com>
3681         [WPE] Add initial support for WebDriver
3682         https://bugs.webkit.org/show_bug.cgi?id=179727
3684         Reviewed by Michael Catanzaro.
3686         Make it possible to run WebDriver tests with WPE.
3688         * Scripts/run-webdriver-tests: Add --wpe alias for --platform=wpe.
3689         * Scripts/webkitpy/port/wpe.py:
3690         (WPEPort.__init__): Initialize _display_server from options.
3691         (WPEPort._driver_class): Use WaylandDriver when wayland is passed as display server option.
3692         * Scripts/webkitpy/webdriver_tests/webdriver_driver.py:
3693         (WebDriver.browser_env): Add virtual method to get the environment that should be used.
3694         * Scripts/webkitpy/webdriver_tests/webdriver_driver_wpe.py: Copied from Tools/Scripts/webkitpy/webdriver_tests/webdriver_driver.py.
3695         (WebDriverWPE):
3696         (WebDriverWPE.__init__):
3697         (WebDriverWPE.binary_path):
3698         (WebDriverWPE.browser_name):
3699         (WebDriverWPE.capabilities):
3700         (WebDriverWPE.browser_env):
3701         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
3702         (WebDriverW3CExecutor.__init__): Update the environment with the one provided by the driver.
3703         * wpe/jhbuild.modules: Upgrade dyz to newer version that supports automation.
3705 2017-11-15  Alex Christensen  <achristensen@webkit.org>
3707         WebViews scheduled in custom run loop modes should be able to do more than 50ms of work at a time
3708         https://bugs.webkit.org/show_bug.cgi?id=179742
3709         <rdar://problem/35519421>
3711         Reviewed by Jer Noble.
3713         * TestWebKitAPI/Tests/mac/WebViewScheduleInRunLoop.mm:
3714         (-[ScheduleInRunLoopDelegate webView:didFinishLoadForFrame:]):
3715         (TestWebKitAPI::TEST):
3716         Load more than one scheduled WebView to test work that typically takes more than 50 ms.
3718 2017-11-15  Ryan Haddad  <ryanhaddad@apple.com>
3720         Unreviewed, rolling out r223781.
3722         The test is now returning false, so the FIXME is not needed
3723         anymore.
3725         Reverted changeset:
3727         "WebsiteDataStoreCustomPaths.mm is failing after r223718"
3728         https://bugs.webkit.org/show_bug.cgi?id=178596
3729         https://trac.webkit.org/changeset/223781
3731 2017-11-15  Ryan Haddad  <ryanhaddad@apple.com>
3733         Unreviewed, rolling out r224863.
3735         Introduced LayoutTest crashes on iOS Simulator.
3737         Reverted changeset:
3739         "Move JSONValues to WTF and convert uses of InspectorValues.h
3740         to JSONValues.h"
3741         https://bugs.webkit.org/show_bug.cgi?id=173793
3742         https://trac.webkit.org/changeset/224863
3744 2017-11-15  Michael Catanzaro  <mcatanzaro@igalia.com>
3746         Remove GTK web inspector images
3747         https://bugs.webkit.org/show_bug.cgi?id=179716
3749         Reviewed by Carlos Garcia Campos.
3751         * Scripts/webkitdirs.pm:
3752         (shouldRemoveCMakeCache):
3753         * glib/generate-inspector-gresource-manifest.py:
3754         (get_filenames.should_ignore_resource):
3755         * gtk/manifest.txt.in:
3756         * wpe/manifest.txt.in:
3758 2017-11-15  Jonathan Bedard  <jbedard@apple.com>
3760         REGRESSION(r221877): 'future' handled incorrectly for mac
3761         https://bugs.webkit.org/show_bug.cgi?id=179711
3762         <rdar://problem/35546604>
3764         Reviewed by Alex Christensen.
3766         * Scripts/webkitpy/port/mac.py:
3767         (MacPort.default_baseline_search_path): Use platform/mac-<version> instead of
3768         platform/<version> as the baseline search path.
3770 2017-11-14  Nan Wang  <n_wang@apple.com>
3772         AX: AOM: Implement AccessibleNode class and support label and role attributes
3773         https://bugs.webkit.org/show_bug.cgi?id=179494
3775         Reviewed by Ryosuke Niwa.
3777         * DumpRenderTree/mac/DumpRenderTree.mm:
3778         (enableExperimentalFeatures):
3779         * WebKitTestRunner/TestController.cpp:
3780         (WTR::TestController::resetPreferencesToConsistentValues):
3782 2017-11-14  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3784         [Windows] Fix error while launching subprocess on Windows Python
3785         https://bugs.webkit.org/show_bug.cgi?id=179637
3787         Reviewed by Alex Christensen.
3789         To pass environment variables to subprocess.popen on Windows Python 2,
3790         the dict values must be str not unicode.
3791         Also is_native_win() method is added to port.
3793         * Scripts/webkitpy/common/system/platforminfo.py:
3794         (PlatformInfo.is_native_win):
3795         * Scripts/webkitpy/common/system/platforminfo_mock.py:
3796         (MockPlatformInfo.is_native_win):
3797         * Scripts/webkitpy/common/system/platforminfo_unittest.py:
3798         (TestPlatformInfo.test_os_name_and_wrappers):
3799         * Scripts/webkitpy/port/server_process.py:
3800         (ServerProcess.__init__):
3802 2017-11-14  Carlos Garcia Campos  <cgarcia@igalia.com>
3804         Move JSONValues to WTF and convert uses of InspectorValues.h to JSONValues.h
3805         https://bugs.webkit.org/show_bug.cgi?id=173793
3807         Reviewed by Brian Burg.
3809         * TestWebKitAPI/CMakeLists.txt:
3810         * TestWebKitAPI/PlatformGTK.cmake:
3811         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3812         * TestWebKitAPI/Tests/WTF/JSONValue.cpp: Renamed from Tools/TestWebKitAPI/Tests/JavaScriptCore/InspectorValue.cpp.
3813         (TestWebKitAPI::TEST):
3815 2017-11-14  Jonathan Bedard  <jbedard@apple.com>
3817         webkitpy: Use more verbose version info from simctl
3818         https://bugs.webkit.org/show_bug.cgi?id=179687
3819         <rdar://problem/35539392>
3821         Reviewed by Tim Horton.
3823         * Scripts/webkitpy/xcode/simulator.py:
3824         (Simulator): Address FIXME, use more verbose version.
3825         (Simulator._parse_runtimes): 'Internal' no longer stands along, check os for this
3826         string instead.
3827         * Scripts/webkitpy/xcode/simulator_unittest.py: Mock simctl output specifies iOS
3828         8.4.1, not iOS 8.4.
3830 2017-11-14  Daniel Bates  <dabates@apple.com>
3832         Update comment in FeatureDefines.xcconfig to reflect location of Visual Studio property files
3833         for feature defines
3835         Following r195498 and r201917 the Visual Studio property files for feature defines have
3836         moved from directory WebKitLibraries/win/tools/vsprops to directory Source/cmake/tools/vsprops.
3837         Update the comment in FeatureDefines.xcconfig to reflect the new location and names of these
3838         files.
3840         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3842 2017-11-14  Jer Noble  <jer.noble@apple.com>
3844         Enable Modern EME tests in DumpRenderTree
3845         https://bugs.webkit.org/show_bug.cgi?id=179544
3847         Reviewed by Alex Christensen.
3849         * DumpRenderTree/mac/DumpRenderTree.mm:
3850         (enableExperimentalFeatures):
3852 2017-11-14  Commit Queue  <commit-queue@webkit.org>
3854         Unreviewed, rolling out r224800.
3855         https://bugs.webkit.org/show_bug.cgi?id=179684
3857         "Broke CLoop test mozilla/js1_6/Array/regress-304828.js"
3858         (Requested by mlam on #webkit).
3860         Reverted changeset:
3862         "Pass --useDollarVM=true to all JSC tests."
3863         https://bugs.webkit.org/show_bug.cgi?id=179647
3864         https://trac.webkit.org/changeset/224800
3866 2017-11-14  Antti Koivisto  <antti@apple.com>
3868         Enable display:contents by default
3869         https://bugs.webkit.org/show_bug.cgi?id=179655
3871         Reviewed by Sam Weinig.
3873         No need to enable this specifically for tests anymore.
3875         * DumpRenderTree/mac/DumpRenderTree.mm:
3876         (enableExperimentalFeatures):
3877         * WebKitTestRunner/TestController.cpp:
3878         (WTR::TestController::resetPreferencesToConsistentValues):
3880 2017-11-14  Tim Horton  <timothy_horton@apple.com>
3882         Long pressing a phone number with spaces in it results in a link sheet instead of a data detectors sheet
3883         https://bugs.webkit.org/show_bug.cgi?id=179646
3884         <rdar://problem/35337288>
3886         Reviewed by Simon Fraser.
3888         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
3889         (-[ActionSheetObserver _dataDetectionContextForWebView:]):
3890         (TestWebKitAPI::TEST):
3891         Add a test that ensures that a phone number with spaces in it
3892         invokes a data detectors sheet, not a normal link sheet.
3894 2017-11-14  Emilio Cobos Álvarez  <emilio@crisal.io>
3896         Add committer status for Emilio Cobos Álvarez.
3897         https://bugs.webkit.org/show_bug.cgi?id=179667
3899         Unreviewed.
3901         * Scripts/webkitpy/common/config/contributors.json:
3903 2017-11-13  Mark Lam  <mark.lam@apple.com>
3905         Pass --useDollarVM=true to all JSC tests.
3906         https://bugs.webkit.org/show_bug.cgi?id=179647
3908         Reviewed by Saam Barati.
3910         * Scripts/run-jsc-stress-tests:
3912 2017-11-13  Simon Fraser  <simon.fraser@apple.com>
3914         When navigating back to a page, compositing layers may not use accelerated drawing
3915         https://bugs.webkit.org/show_bug.cgi?id=178749
3916         rdar://problem/35158946
3918         Reviewed by Dean Jackson.
3920         Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
3921         and use it to set the state of the web view.
3923         * DumpRenderTree/TestOptions.h:
3924         * DumpRenderTree/TestOptions.mm:
3925         (TestOptions::TestOptions):
3926         * DumpRenderTree/mac/DumpRenderTree.mm:
3927         (setWebPreferencesForTestOptions):
3928         * WebKitTestRunner/TestController.cpp:
3929         (WTR::TestController::resetPreferencesToConsistentValues):
3930         (WTR::updateTestOptionsFromTestHeader):
3931         * WebKitTestRunner/TestOptions.h:
3932         (WTR::TestOptions::hasSameInitializationOptions const):
3934 2017-11-13  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3936         [Windows] Fix Python error for subprocess.popen with close_fds
3937         https://bugs.webkit.org/show_bug.cgi?id=179553
3939         Reviewed by Per Arne Vollan.
3941         * Scripts/webkitpy/port/server_process.py:
3942         (ServerProcess._start):
3943         (ServerProcess._should_close_fds):
3945 2017-11-13  Michael Catanzaro  <mcatanzaro@igalia.com>
3947         [GTK] Require woff2 1.0.2 and drop direct brotli dependency
3948         https://bugs.webkit.org/show_bug.cgi?id=179630
3950         Reviewed by Frédéric Wang.
3952         * gtk/jhbuild.modules:
3954 2017-11-08  Keith Miller  <keith_miller@apple.com>
3956         Async iteration should only fetch the next method once and add feature flag
3957         https://bugs.webkit.org/show_bug.cgi?id=179451
3959         Reviewed by Geoffrey Garen.
3961         Add feature flag for Async iteration.
3963         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3965 2017-11-13  Gabriel Ivascu  <givascu@igalia.com>
3967         [GTK] Automatically adjust font size when gtk-xft-dpi changes
3968         https://bugs.webkit.org/show_bug.cgi?id=142673
3970         Reviewed by Michael Catanzaro.
3972         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
3973         (testWebKitSettings):
3975 2017-11-13  Jonathan Bedard  <jbedard@apple.com>
3977         check-webkit-style cannot construct valid iOS version without an iOS SDK
3978         https://bugs.webkit.org/show_bug.cgi?id=179616
3979         <rdar://problem/35507018>
3981         Reviewed by David Kilzer.
3983         Instead of throwing an exception when we ask for an unavailable SDK on Mac,
3984         we should return None.
3986         * Scripts/webkitpy/common/system/platforminfo.py:
3987         (PlatformInfo.xcode_sdk_version): Return 'None' version if the machine does not
3988         have the requested SDK.
3990 2017-11-13  Keith Miller  <keith_miller@apple.com>
3992         Uninitialized variable in sort-Xcode-project-file
3993         https://bugs.webkit.org/show_bug.cgi?id=179581
3995         Reviewed by Simon Fraser.
3997         Previously all the unified source files were named
3998         UnifiedSource<some-number>.mm. This was changed to
3999         UnifiedSource<some-number>-mm.mm to stop Xcode from creating
4000         hashes for mm and cpp unified source files with the same
4001         number. This broke the expectations in sort-Xcode-project-file.
4003         * Scripts/sort-Xcode-project-file:
4004         (sortChildrenByFileName):
4005         (sortFilesByFileName):
4007 2017-11-13  JF Bastien  <jfbastien@apple.com>
4009         std::expected: fix and test move
4010         https://bugs.webkit.org/show_bug.cgi?id=179617
4012         Reviewed by Alex Christensen.
4014         Test that unique_ptr can be moved around properly, both has a
4015         value and an error (and in a <void, unique> specialization).
4017         * TestWebKitAPI/Tests/WTF/Expected.cpp:
4018         (TestWebKitAPI::snowflake::reset):
4019         (TestWebKitAPI::snowflake::snowflake):
4020         (TestWebKitAPI::snowflake::~snowflake):
4021         (TestWebKitAPI::TEST):
4023 2017-11-13  Basuke Suzuki  <Basuke.Suzuki@sony.com>
4025         [Windows] Make the port's normalize_test_name() method platform independent.
4026         https://bugs.webkit.org/show_bug.cgi?id=179572
4028         Reviewed by Alexey Proskuryakov.
4030         * Scripts/webkitpy/port/base.py:
4031         (Port.normalize_test_name):
4033 2017-11-13  Wenson Hsieh  <wenson_hsieh@apple.com>
4035         [Attachment Support] Implement SPI for clients to request data for a given attachment
4036         https://bugs.webkit.org/show_bug.cgi?id=179586
4037         <rdar://problem/35355720>
4039         Reviewed by Darin Adler.
4041         Augments existing API tests in WKAttachmentTests to additionally check that -requestData: yields the correct
4042         result when performing various editing operations. Also adds a new API test that cuts and pastes an attachment
4043         inserted using WKWebView attachment SPI, and expects that the data of the attachment can still be fetched using
4044         the _WKAttachment SPI, as well as another test that inserts an empty NSData and expects that requestData: also
4045         yields an empty NSData result.
4047         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
4048         (-[NSData shortDescription]):
4049         (-[_WKAttachment synchronouslyRequestData:]):
4050         (-[_WKAttachment expectRequestedDataToBe:]):
4051         (TestWebKitAPI::TEST):
4053 2017-11-12  Gabriel Ivascu  <givascu@igalia.com>
4055         [GTK] Add functionality to handle font sizes in points
4056         https://bugs.webkit.org/show_bug.cgi?id=179285
4058         Reviewed by Carlos Garcia Campos and Michael Catanzaro.
4060         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
4061         (testWebKitSettings):
4063 2017-11-10  Fujii Hironori  <Hironori.Fujii@sony.com>
4065         check-webkit-style: AttributeError: 'NoneType' object has no attribute 'major'
4066         https://bugs.webkit.org/show_bug.cgi?id=179522
4068         Reviewed by Aakash Jain.
4070         IOSSimulatorPort.ios_version should return a Version object.
4072         * Scripts/webkitpy/port/ios_simulator.py:
4073         (IOSSimulatorPort.ios_version): Return a Version object.
4075 2017-11-10  Basuke Suzuki  <Basuke.Suzuki@sony.com>
4077         [Win] The way to detect Windows 10 is wrong
4078         https://bugs.webkit.org/show_bug.cgi?id=179344
4080         Reviewed by Alex Christensen.
4082         * Scripts/webkitpy/common/system/platforminfo.py:
4083         (PlatformInfo._determine_win_version):
4085 2017-11-10  Basuke Suzuki  <Basuke.Suzuki@sony.com>
4087         [WinCairo] LayoutTests doesn't read TextExpectations files correctly
4088         https://bugs.webkit.org/show_bug.cgi?id=179219
4090         Reviewed by Alex Christensen.
4092         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
4093         (TestExpectationParser._parse_line):
4094         * Scripts/webkitpy/port/apple.py:
4095         (ApplePort.__init__):
4096         (ApplePort._allowed_port_names):
4097         (ApplePort):
4098         (ApplePort._future_port_name):
4099         (ApplePort._generate_all_test_configurations):
4100         * Scripts/webkitpy/port/win.py:
4101         (WinCairoPort.default_baseline_search_path):
4102         (WinCairoPort):
4103         (WinCairoPort._future_port_name):
4105 2017-11-10  Basuke Suzuki  <Basuke.Suzuki@sony.com>
4107         [WinCairo] Treat 'future' version correctly
4108         https://bugs.webkit.org/show_bug.cgi?id=179345
4110         Reviewed by Alex Christensen.
4112         * Scripts/webkitpy/port/win.py:
4113         (WinCairoPort.default_baseline_search_path):
4115 2017-11-10  Wenson Hsieh  <wenson_hsieh@apple.com>
4117         Finish rolling out r224544
4119         Rubber-stamped by Tim Horton.
4121         Now that https://bugs.webkit.org/show_bug.cgi?id=179431 has been fixed, we can once again allow one of the API
4122         tests added in r224512 (WKAttachmentTests.AttachmentUpdatesWhenChangingFontStyles) to test toggling underline
4123         style with a selected attachment element.
4125         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
4126         (TestWebKitAPI::TEST):
4128 2017-11-10  Alex Christensen  <achristensen@webkit.org>
4130         _WKThumbnailView initialization with WKWebView needs to call correct initWithFrame
4131         https://bugs.webkit.org/show_bug.cgi?id=179537
4132         <rdar://problem/35275219>
4134         Reviewed by Darin Adler.
4136         * TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm:
4137         (-[WKThumbnailViewDelegate webView:didFinishNavigation:]):
4138         (TestWebKitAPI::TEST):
4140 2017-11-10  Jonathan Bedard  <jbedard@apple.com>
4142         webkitpy: Remove find_system_pid from port classes
4143         https://bugs.webkit.org/show_bug.cgi?id=179514
4144         <rdar://problem/35456900>
4146         Reviewed by David Kilzer.
4148         Removing dead code.
4150         * Scripts/webkitpy/port/base.py:
4151         (Port.find_system_pid): Deleted.
4152         * Scripts/webkitpy/port/server_process.py:
4153         (ServerProcess._start):
4154         * Scripts/webkitpy/port/win.py:
4155         (WinPort.find_system_pid): Deleted.
4157 2017-11-10  Aakash Jain  <aakash_jain@apple.com>
4159         fix style failures in webkitpy: multiple statements on one line (semicolon)
4160         https://bugs.webkit.org/show_bug.cgi?id=179530
4162         Reviewed by Alex Christensen.
4164         * Scripts/webkitpy/common/net/buildbot/buildbot.py: Removed semicolon.
4165         * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: Ditto.
4166         * Scripts/webkitpy/tool/steps/runtests.py: Ditto.
4168 2017-11-10  Aakash Jain  <aakash_jain@apple.com>
4170         fix style failures in webkitpy: expected 2 blank lines found 1
4171         https://bugs.webkit.org/show_bug.cgi?id=179529
4173         Reviewed by Alex Christensen.
4175         * Scripts/webkitpy/benchmark_runner/run_benchmark.py: Added a blank line to follow style guidelines.
4176         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py: Ditto.
4177         * Scripts/webkitpy/common/system/platforminfo_mock.py: Ditto.
4178         * Scripts/webkitpy/common/version.py: Ditto.
4179         * Scripts/webkitpy/layout_tests/models/test_failures.py: Ditto.
4180         * Scripts/webkitpy/port/mac_unittest.py: Ditto.
4181         * Scripts/webkitpy/port/simulator_process.py: Ditto.
4183 2017-11-10  Alex Christensen  <achristensen@webkit.org>
4185         REGRESSION(r224267): WebViews scheduled with custom run loop modes don't load
4186         https://bugs.webkit.org/show_bug.cgi?id=179515
4188         Reviewed by Andy Estes.
4190         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4191         * TestWebKitAPI/Tests/mac/WebViewScheduleInRunLoop.mm: Added.
4192         (-[ScheduleInRunLoopDelegate webView:didFinishLoadForFrame:]):
4193         (TestWebKitAPI::TEST):
4195 2017-11-10  Fujii Hironori  <Hironori.Fujii@sony.com>
4197         [webkitpy] Fix PlatformInfo._win_version since r224657
4198         https://bugs.webkit.org/show_bug.cgi?id=179520
4200         Reviewed by Aakash Jain.
4202         There are two problems.
4204         The return value of sys.getwindowsversion() doesn't match with
4205         Version.__init__ expects. Truncate the 4th and 5th of it.
4207         _win_version_tuple_from_cmd was deleted in r224657. But, it is
4208         still needed for Cygwin Python.
4210         * Scripts/webkitpy/common/system/platforminfo.py:
4211         (PlatformInfo._win_version): Return [0:3] of getwindowsversion().
4212         Call _win_version_from_cmd for Cygwin Python.
4213         (PlatformInfo._win_version_from_cmd): Restored.
4215 2017-11-10  Guillaume Emont  <guijemont@igalia.com>
4217         build-jsc: build testmasm for all platforms using cmake
4218         https://bugs.webkit.org/show_bug.cgi?id=179512
4220         Reviewed by Michael Catanzaro.
4222         * Scripts/build-jsc:
4224 2017-11-09  Jonathan Bedard  <jbedard@apple.com>
4226         webkitpy: Unify version parsing code
4227         https://bugs.webkit.org/show_bug.cgi?id=179426
4228         <rdar://problem/35415191>
4230         Unreviewed fix to r224657.
4232         * Scripts/webkitpy/common/version.py:
4233         (Version.__init__): Check if an object is iterable.
4235 2017-11-09  Jonathan Bedard  <jbedard@apple.com>
4237         webkitpy: Unify version parsing code
4238         https://bugs.webkit.org/show_bug.cgi?id=179426
4239         <rdar://problem/35415191>
4241         Reviewed by David Kilzer.
4243         webkitpy needs to parse version strings or version lists frequently. Rather than
4244         duplicate this code each time it's needed, unify it in a Version class.
4246         * Scripts/webkitpy/common/system/platforminfo.py:
4247         (PlatformInfo.__init__): Convert mac version string to version object and
4248         use _win_version instead of _win_version_tuple.
4249         (PlatformInfo.xcode_sdk_version): Convert SDK version string to Version object
4250         before returning it.
4251         (PlatformInfo.xcode_version): Return Version object instead of version string.
4252         (PlatformInfo._determine_mac_version): Accept Version object instead of string,
4253         eliminate parsing.
4254         (PlatformInfo._determine_win_version): Accept Version object instead of tuple.
4255         (PlatformInfo._win_version): Return Version object instead of tuple, have Version
4256         object own version string parsing.
4257         (PlatformInfo._win_version_tuple): Renamed to _win_version().
4258         (PlatformInfo._win_version_tuple_from_cmd): Deleted.
4259         * Scripts/webkitpy/common/system/platforminfo_mock.py:
4260         (MockPlatformInfo.xcode_sdk_version): Return Version object instead of string.
4261         (MockPlatformInfo.xcode_version): Dittio.
4262         * Scripts/webkitpy/common/version.py: Added.
4263         (Version): Version object.
4264         (Version.__init__): Initialize the Version object with a string, integer,
4265         tuple of integers, list of integers or another Version object.
4266         (Version.__len__): Return 5 so that the Version object can be treated as
4267         a list or tuple.
4268         (Version.__getitem__): Get item in Version object by index or string.
4269         (Version.__setitem__): Set item in Version object by index or string.
4270         (Version.__str__): Convert version to printable string, omitting trailing 0's.
4271         (Version.__cmp__): Compare two version strings, major taking precedence over
4272         minor, minor taking precedence over build.
4273         * Scripts/webkitpy/common/version_unittest.py: Added.
4274         (VersionTestCase): Test behavior of Version object.
4275         * Scripts/webkitpy/port/ios.py:
4276         (IOSPort.default_baseline_search_path): ios_version now returns a Version object.
4277         (IOSPort._is_valid_ios_version): Deleted.
4278         (IOSPort.get_option): Deleted.
4279         * Scripts/webkitpy/port/ios_device.py:
4280         (IOSDevicePort.determine_full_port_name): Use Version object instead of owning parsing.
4281         (IOSDevicePort.ios_version): Return Version object instead of string.
4282         * Scripts/webkitpy/port/ios_simulator.py:
4283         (IOSSimulatorPort.simulator_runtime): Use from_version instead of from_version_string.
4284         (IOSSimulatorPort.ios_version): Return Version object instead of string.
4285         (IOSSimulatorPort.use_multiple_simulator_apps): Use Version object instead of string.
4286         * Scripts/webkitpy/xcode/simulator.py:
4287         (Runtime.from_version): Accept Version object instead of string.
4288         (Runtime.from_version_string): Replaced by from_version.
4289         (Runtime.__repr__): When printing, a runtime's version will be a Version object instead
4290         of a tuple.
4291         (Simulator._parse_runtimes): Use Version object instead of tuple.
4292         (Simulator._parse_devices): Ditto.
4293         * Scripts/webkitpy/xcode/simulator_unittest.py: Use Version object instead of tuples.
4295 2017-11-09  Basuke Suzuki  <Basuke.Suzuki@sony.com>
4297         [WinCairo] Cannot find ImageDiff executable
4298         https://bugs.webkit.org/show_bug.cgi?id=179508
4300         Reviewed by Per Arne Vollan.
4302         * Scripts/webkitpy/port/win.py:
4303         (WinPort.is_cygwin):
4304         (WinPort._path_to_image_diff):
4305         (WinPort.find_system_pid):
4307 2017-11-09  Fujii Hironori  <Hironori.Fujii@sony.com>
4309         [WinCairo EWS] svn-apply: 'cp' is not recognized as an internal or external command
4310         https://bugs.webkit.org/show_bug.cgi?id=179469
4312         Reviewed by Per Arne Vollan.
4314         WinCairo EWS bots haven't installed Cygwin.
4316         * Scripts/svn-apply:
4317         (scmCopy): Use 'copy' function instead of 'cp' command.
4319 2017-11-09  Carlos Alberto Lopez Perez  <clopez@igalia.com>
4321         [WPE] Update dyz (WPE MiniBrowser)
4322         https://bugs.webkit.org/show_bug.cgi?id=179492
4324         Reviewed by Michael Catanzaro.
4326         Update it to the last version as of today.
4327         This version not longer uses the C API.
4329         * wpe/jhbuild.modules:
4331 2017-11-09  Christopher Reid  <chris.reid@sony.com>
4333         Use enum classes within FileSystem
4334         https://bugs.webkit.org/show_bug.cgi?id=175172
4336         Reviewed by Darin Adler.
4338         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
4339         * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
4341 2017-11-09  Brent Fulgham  <bfulgham@apple.com>
4343         Test fix after r224609
4344         https://bugs.webkit.org/show_bug.cgi?id=178565
4345         <rdar://problem/11115901>
4347         Unreviewed test fix after r224609.
4349         Correct two test cases that attempt to push local file URLs in violation of our
4350         same origin policies. The fix is to grant universal file access, as we do for similar
4351         LayoutTests.
4353         * TestWebKitAPI/Tests/WebKit/EphemeralSessionPushStateNoHistoryCallback.cpp:
4354         (TestWebKitAPI::TEST):
4355         * TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp:
4356         (TestWebKitAPI::TEST):
4358 2017-11-09  Michael Catanzaro  <mcatanzaro@igalia.com>
4360         Unreviewed, remove Dan from the soup network watchlist
4362         Per his request. It's not Hotel California; we should probably let him leave.
4364         * Scripts/webkitpy/common/config/watchlist:
4366 2017-11-08  Don Olmstead  <don.olmstead@sony.com>
4368         Add Windows powershell EWS script
4369         https://bugs.webkit.org/show_bug.cgi?id=179453
4371         Reviewed by Brent Fulgham.
4373         * EWSTools/Start-Queue.ps1: Added.
4375 2017-11-08  Jeremy Jones  <jeremyj@apple.com>
4377         HTMLMediaElement should not use element fullscreen on iOS
4378         https://bugs.webkit.org/show_bug.cgi?id=179418
4379         rdar://problem/35409277
4381         Reviewed by Eric Carlson.
4383         Add ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN to determine if HTMLMediaElement should use element full screen or not.
4385         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
4387 2017-11-08  Tim Horton  <timothy_horton@apple.com>
4389         [ios-simulator] API test WebKit.BundleParameters is a flaky failure
4390         https://bugs.webkit.org/show_bug.cgi?id=178363
4391         <rdar://problem/35043144>
4393         Reviewed by Brent Fulgham.
4395         * TestWebKitAPI/Tests/WTF/RefCounter.cpp:
4396         (TestWebKitAPI::TEST):
4397         Add a test.
4399 2017-11-08  Wenson Hsieh  <wenson_hsieh@apple.com>
4401         [Attachment Support] Implement delegate hooks for attachment element insertion and removal
4402         https://bugs.webkit.org/show_bug.cgi?id=179016
4403         <rdar://problem/35250890>
4405         Reviewed by Tim Horton.
4407         See WebCore/ChangeLog for more details.
4409         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
4410         (-[AttachmentUpdateObserver init]):
4411         (-[AttachmentUpdateObserver inserted]):
4412         (-[AttachmentUpdateObserver removed]):
4413         (-[AttachmentUpdateObserver _webView:didInsertAttachment:]):
4414         (-[AttachmentUpdateObserver _webView:didRemoveAttachment:]):
4415         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::ObserveAttachmentUpdatesForScope):
4416         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::~ObserveAttachmentUpdatesForScope):
4417         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::observer const):
4418         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
4419         (-[TestWKWebView _synchronouslyExecuteEditCommand:argument:]):
4420         (-[TestWKWebView expectUpdatesAfterCommand:withArgument:expectedRemovals:expectedInsertions:]):
4421         (TestWebKitAPI::TEST):
4423 2017-11-08  Carlos Garcia Campos  <cgarcia@igalia.com>
4425         Web Inspector: use JSON::{Array,Object,Value} instead of Inspector{Array,Object,Value}
4426         https://bugs.webkit.org/show_bug.cgi?id=173619
4428         Reviewed by Brian Burg.
4430         Update InspectorValue unit tests to use JSON namespace and add more basic tests to cover all the API.
4432         * TestWebKitAPI/PlatformGTK.cmake:
4433         * TestWebKitAPI/Tests/JavaScriptCore/InspectorValue.cpp:
4434         (TestWebKitAPI::TEST):
4436 2017-11-07  Carlos Garcia Campos  <cgarcia@igalia.com>
4438         REGRESSION(r224179): [GTK] Several WebViewEditor tests are failing since r224179
4439         https://bugs.webkit.org/show_bug.cgi?id=179366
4441         Reviewed by Michael Catanzaro.
4443         Use always a toplevel window for WebViewEditor tests instead of creating and destroying one only to flush editor
4444         state.
4446         * TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
4448 2017-11-07  Carlos Garcia Campos  <cgarcia@igalia.com>
4450         [GTK][WPE] Build inspector resources using copy-user-interface-resources.pl script
4451         https://bugs.webkit.org/show_bug.cgi?id=179317
4453         Reviewed by Michael Catanzaro.
4455         Move generate-inspector-gresource-manifest.py to glib dir to be shared by GTK+ and WPE ports and update it to
4456         receive an input directory instead of a list of patterns.
4457         File::Copy::Recursive is required by copy-user-interface-resources.pl, so make sure it's installed.
4459         * glib/generate-inspector-gresource-manifest.py: Renamed from Tools/gtk/generate-inspector-gresource-manifest.py.
4460         (get_filenames):
4461         (get_filenames.should_ignore_resource):
4462         * gtk/install-dependencies:
4463         * wpe/generate-inspector-gresource-manifest.py: Removed.
4464         * wpe/install-dependencies:
4466 2017-11-07  Don Olmstead  <don.olmstead@sony.com>
4468         Fix webkitpy tests after rev 224549.
4470         Unreviewed build fix.
4472         * Scripts/webkitpy/common/config/ports.py:
4473         (WinCairoPort.run_webkit_tests_command):
4474         * Scripts/webkitpy/common/config/ports_unittest.py:
4475         (DeprecatedPortTest.test_wincairo_port):
4477 2017-11-07  Aakash Jain  <aakash_jain@apple.com>
4479         Enable webkitpy EWS bubbles
4480         https://bugs.webkit.org/show_bug.cgi?id=178539
4482         Reviewed by Alexey Proskuryakov.
4484         * QueueStatusServer/config/queues.py: Added webkitpy EWS.
4486 2017-11-07  Don Olmstead  <don.olmstead@sony.com>
4488         Add a WinCairo EWS queue
4489         https://bugs.webkit.org/show_bug.cgi?id=179390
4491         Reviewed by Lucas Forschler.
4493         * QueueStatusServer/config/queues.py:
4494         * QueueStatusServer/model/queues.py:
4495         * Scripts/webkitpy/common/config/ews.json:
4496         * Scripts/webkitpy/common/config/ports.py:
4497         * Scripts/webkitpy/common/config/ports_unittest.py:
4498         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
4500 2017-11-07  Aakash Jain  <aakash_jain@apple.com>
4502         fix check-webkit-style errors in webkitpy about not having two spaces before inline comment
4503         https://bugs.webkit.org/show_bug.cgi?id=171506
4505         Reviewed by Alexey Proskuryakov.
4507         * Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
4508         (SCMTest._shared_test_reverse_diff): Added two spaces before inline comment.
4509         (test_create_patch_is_full_patch): Ditto.
4510         * Scripts/webkitpy/common/thread/messagepump.py:
4511         (MessagePump): Ditto.
4512         * Scripts/webkitpy/layout_tests/servers/http_server.py:
4513         (Lighttpd._prepare_config): Ditto.
4514         * Scripts/webkitpy/style/checker.py: Ditto.
4515         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
4516         (OrderOfIncludesTest.test_check_preprocessor_in_include_section): Ditto.
4518 2017-11-07  Aakash Jain  <aakash_jain@apple.com>
4520         Add support for webkitpy tests EWS
4521         https://bugs.webkit.org/show_bug.cgi?id=178480
4523         Reviewed by Alexey Proskuryakov.
4525         * Scripts/webkitpy/common/config/ews.json: Added webkitpy EWS.
4526         * Scripts/webkitpy/common/net/generictestresults.py: Renamed from Scripts/webkitpy/common/net/bindingstestresults.py.
4527         * Scripts/webkitpy/common/net/generictestresults_unittest.py: Renamed from Scripts/webkitpy/common/net/bindingstestresults_unittest.py.
4528         * Scripts/webkitpy/tool/bot/patchanalysistask.py:
4529         (PatchAnalysisTask._test_patch): Do not retry webkitpy test since they are not flaky.
4530         * Scripts/webkitpy/tool/bot/bindingstestresultsreader.py: Updated import for BindingsTestResult.
4531         * Scripts/webkitpy/tool/bot/retrylogic_unittest.py: Ditto.
4532         * Scripts/webkitpy/tool/bot/webkitpytestresultsreader.py: Copied from Scripts/webkitpy/tool/bot/bindingstestresultsreader.py.
4533         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
4534         (AbstractEarlyWarningSystem.begin_work_queue): Added webkitpy test result reader.
4535         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py: Updated unit-tests.
4536         * Scripts/webkitpy/tool/steps/checkpatchrelevance.py: Run webkitpy EWS only for relevant changes.
4537         * Scripts/webkitpy/tool/steps/runtests.py:
4538         (RunTests.run): Run webkitpy tests when --group=webkitpy is passed.
4539         (RunTests._run_webkitpy_tests): Method to invoke webkitpy tests.
4540         * Scripts/webkitpy/tool/steps/steps_unittest.py:
4541         (test_runtests_webkitpy): Added unit-test.
4543 2017-11-07  Commit Queue  <commit-queue@webkit.org>
4545         Unreviewed, rolling out r224512 and r224521.
4546         https://bugs.webkit.org/show_bug.cgi?id=179388
4548         An API test added with this change is failing an assertion on
4549         the bots. (Requested by ryanhaddad on #webkit).
4551         Reverted changesets:
4553         "[Attachment Support] Implement delegate hooks for attachment
4554         element insertion and removal"
4555         https://bugs.webkit.org/show_bug.cgi?id=179016
4556         https://trac.webkit.org/changeset/224512
4558         "Remove stray logging from a newly added API test"
4559         https://trac.webkit.org/changeset/224521
4561 2017-11-06  Wenson Hsieh  <wenson_hsieh@apple.com>
4563         Remove stray logging from a newly added API test
4565         This was only for debugging purposes, and should have been removed before landing.
4567         Rubber-stamped by Tim Horton.
4569         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
4570         (TestWebKitAPI::TEST):
4572 2017-11-06  Jonathan Bedard  <jbedard@apple.com>
4574         Only build ImageDiff for mac
4575         https://bugs.webkit.org/show_bug.cgi?id=179349
4576         <rdar://problem/35376237>
4578         Reviewed by Tim Horton.
4580         * ImageDiff/Makefile:
4582 2017-11-06  Wenson Hsieh  <wenson_hsieh@apple.com>
4584         Unreviewed, fix the internal build after updating to a newer SDK
4586         There shouldn't be any need to include and implement these method stubs anymore,
4587         even when building against the shipping iOS 11 SDK.
4589         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
4590         (-[MockDropSession session]): Deleted.
4592 2017-11-06  Wenson Hsieh  <wenson_hsieh@apple.com>
4594         [Attachment Support] Implement delegate hooks for attachment element insertion and removal
4595         https://bugs.webkit.org/show_bug.cgi?id=179016
4596         <rdar://problem/35250890>
4598         Reviewed by Tim Horton.
4600         Introduces new API tests to check that various editing operations will or won't result in the new attachment
4601         insertion and removal delegate hooks being fired. Additionally refactors an existing test to verify that
4602         attachments insertion and removal is observable by the UI delegate.
4604         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
4605         (-[AttachmentUpdateObserver init]):
4606         (-[AttachmentUpdateObserver inserted]):
4607         (-[AttachmentUpdateObserver removed]):
4608         (-[AttachmentUpdateObserver _webView:didInsertAttachment:]):
4609         (-[AttachmentUpdateObserver _webView:didRemoveAttachment:]):
4610         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::ObserveAttachmentUpdatesForScope):
4611         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::~ObserveAttachmentUpdatesForScope):
4612         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
4614         Implement a testing mechanism to temporarily bind a UI delegate to a given WKWebView and listen for inserted or
4615         removed attachments over the course of a particular scope. The API tests use this mechanism to check that the UI
4616         delegate hooks added in this patch are invoked with the right attachments when performing edit commands.
4618         (-[TestWKWebView _synchronouslyExecuteEditCommand:argument:]):
4619         (-[TestWKWebView expectUpdatesAfterCommand:withArgument:expectedRemovals:expectedInsertions:]):
4620         (TestWebKitAPI::TEST):
4622 2017-11-06  Christopher Reid  <chris.reid@sony.com>
4624         Use enum classes within FileSystem
4625         https://bugs.webkit.org/show_bug.cgi?id=175172
4627         Reviewed by Myles C. Maxfield.
4629         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
4630         * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
4632 2017-11-06  Michael Catanzaro  <mcatanzaro@igalia.com>
4634         [WPE] -Wsign-compare warning in EventSenderProxyWPE.cpp
4635         https://bugs.webkit.org/show_bug.cgi?id=179039
4637         Reviewed by Žan Doberšek.
4639         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
4640         (WTR::EventSenderProxy::updateTouchPoint):
4641         (WTR::EventSenderProxy::releaseTouchPoint):
4643 2017-11-06  Robin Morisset  <rmorisset@apple.com>
4645         Add a third benchmark to TailBench
4646         https://bugs.webkit.org/show_bug.cgi?id=178815
4648         Reviewed by Saam Barati.
4650         Add a new benchmark to TailBench: a BF interpreter written in a weird kinda functional style
4652         * Scripts/run-jsc-benchmarks:
4654 2017-11-04  Michael Catanzaro  <mcatanzaro@igalia.com>
4656         [GTK] Fix gtk-doc generation with gtk-doc master
4657         https://bugs.webkit.org/show_bug.cgi?id=179252
4659         Reviewed by Carlos Garcia Campos.
4661         gtkdoc-scangobj has changed to no longer use a shell when executing its subcommands. In
4662         particular, this means we can no longer rely on shell stuff in our run command that we use
4663         to run the scanner. We currently use the RUN envvar to set LD_LIBRARY_PATH, and the end
4664         result is gtkdoc-scangobj now attempts to execute our environment variable instead of the
4665         scanner itself. We can just set LD_LIBRARY_PATH directly, instead of using RUN, in order to
4666         make documentation generation work again.
4668         * gtk/gtkdoc.py:
4669         (GTKDoc._run_gtkdoc_scangobj):
4671 2017-11-04  Aishwarya Nirmal  <anirmal@apple.com>
4673         [Touch Bar Web API] Add support for menuitem tag
4674         https://bugs.webkit.org/show_bug.cgi?id=179020
4676         Reviewed by Ryosuke Niwa.
4678         Defines flags for the menu item test so that the element is recognized
4679         only while its test is being run.
4681         * DumpRenderTree/TestOptions.h:
4682         * DumpRenderTree/TestOptions.mm:
4683         (TestOptions::TestOptions):
4684         * DumpRenderTree/mac/DumpRenderTree.mm:
4685         (setWebPreferencesForTestOptions):
4686         * WebKitTestRunner/TestController.cpp:
4687         (WTR::TestController::resetPreferencesToConsistentValues):
4688         (WTR::updateTestOptionsFromTestHeader):
4689         * WebKitTestRunner/TestOptions.h:
4690         (WTR::TestOptions::hasSameInitializationOptions const):
4692 2017-11-03  Andy Estes  <aestes@apple.com>
4694         [iOS] Append the platform name to the product directory on all embedded platforms
4695         https://bugs.webkit.org/show_bug.cgi?id=179271
4697         Reviewed by Joseph Pecoraro.
4699         * Scripts/webkitdirs.pm:
4700         (determineConfigurationProductDir):
4702 2017-11-03  Basuke Suzuki  <Basuke.Suzuki@sony.com>
4704         [WinCairo] Add --wincairo option to run-webkit-tests
4705         https://bugs.webkit.org/show_bug.cgi?id=179217
4707         Reviewed by Alex Christensen.
4709         * Scripts/webkitpy/port/factory.py:
4710         (platform_options):
4712 2017-11-03  Michael Catanzaro  <mcatanzaro@igalia.com>
4714         [WPE][GTK] Avoid duplicating code for dist and distcheck targets
4715         https://bugs.webkit.org/show_bug.cgi?id=179154
4717         Reviewed by Carlos Garcia Campos.
4719         Move the script out of Tools/gtk because it is already used by WPE. Also, drop the .py
4720         prefix because it is executable.
4722         * Scripts/make-dist: Renamed from Tools/gtk/make-dist.py.
4724 2017-11-03  Jonathan Bedard  <jbedard@apple.com>
4726         TestController platformAdjustContext should use provided WKContext for Mac
4727         https://bugs.webkit.org/show_bug.cgi?id=179124
4728         <rdar://problem/35295176>
4730         Reviewed by Darin Adler.
4732         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
4733         (WTR::initializeWebViewConfiguration): Use the provided WKContext, since that is
4734         a WebProcessPool, instead of creating a second one.
4736 2017-11-02  Christopher Reid  <chris.reid@sony.com>
4738         Add a FileSystem namespace to FileSystem.cpp
4739         https://bugs.webkit.org/show_bug.cgi?id=179063
4741         Reviewed by Darin Adler.
4743         * DumpRenderTree/win/DumpRenderTree.cpp:
4744         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
4745         * TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
4746         * TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
4747         * TestWebKitAPI/Tests/WebCore/SharedBufferTest.cpp:
4748         * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
4749         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
4751 2017-11-02  Carlos Alberto Lopez Perez  <clopez@igalia.com>
4753         [WPE][JHBuild] Update WPEBackend and WPEBackend-mesa
4754         https://bugs.webkit.org/show_bug.cgi?id=179169
4756         Reviewed by Michael Catanzaro.
4758         Update WPEBackend and WPEBackend-mesa to last master as of today.
4760         * wpe/jhbuild.modules:
4762 2017-11-02  Frederic Wang  <fwang@igalia.com>
4764         Add references to bug 179167 in FIXME comments
4765         https://bugs.webkit.org/show_bug.cgi?id=179168
4767         Reviewed by Daniel Bates.
4769         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
4771 2017-11-01  Jeremy Jones  <jeremyj@apple.com>
4773         Implement WKFullscreenWindowController for iOS.
4774         https://bugs.webkit.org/show_bug.cgi?id=178924
4775         rdar://problem/34697120
4777         Reviewed by Simon Fraser.
4779         Enable ENABLE_FULLSCREEN_API for iOS.
4781         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
4783 2017-11-01  Simon Fraser  <simon.fraser@apple.com>
4785         Misc display list and other cleanup
4786         https://bugs.webkit.org/show_bug.cgi?id=179150
4788         Reviewed by Tim Horton.
4790         Add system trace points for display list recording.
4792         * Tracing/SystemTracePoints.plist:
4794 2017-11-01  Stephan Szabo  <stephan.szabo@sony.com>
4796         [Win] Detect Visual Studio 2017 location
4797         https://bugs.webkit.org/show_bug.cgi?id=175275
4799         Reviewed by Yusuke Suzuki.
4801         * Scripts/build-jsc:
4802         * Scripts/build-webkit:
4803         * Scripts/update-vswhere.py: Added.
4804         * Scripts/webkitdirs.pm:
4805         (requireModulesForVSWhere):
4806         (pickCurrentVisualStudioInstallation):
4807         (pickLegacyVisualStudioInstallation):
4808         (visualStudioInstallDir):
4809         (visualStudioInstallDirVSWhere):
4810         (visualStudioInstallDirLegacy):
4811         (visualStudioInstallDirFallback):
4812         (msBuildInstallDir):
4813         (visualStudioVersion):
4814         (visualStudioVersionFromInstallDir):
4815         (generateBuildSystemFromCMakeProject):
4817 2017-11-01  Tim Horton  <timothy_horton@apple.com>
4819         Fix the !USE(QUICKLOOK) build
4820         https://bugs.webkit.org/show_bug.cgi?id=179128
4822         Reviewed by Wenson Hsieh.
4824         * TestWebKitAPI/Tests/WebCore/ios/PreviewLoader.cpp:
4826 2017-11-01  Frederic Wang  <fwang@igalia.com>
4828         Make iOS Find UI reveal matches in scrollable elements
4829         https://bugs.webkit.org/show_bug.cgi?id=178789
4831         Reviewed by Tim Horton.
4833         This patch exposes WKWebView's findString function in order to test the fix for bug 178789.
4835         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
4836         (WTR::UIScriptController::findString): Dummy implementation of findString.
4837         * DumpRenderTree/mac/UIScriptControllerMac.mm:
4838         (WTR::UIScriptController::findString): Ditto.
4839         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: Declare findString.
4840         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
4841         (WTR::UIScriptController::findString): Dummy implementation of findString.
4842         * TestRunnerShared/UIScriptContext/UIScriptController.h: Declare findString.
4843         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
4844         (WTR::UIScriptController::findString): Implement findString by forwarding the call to the
4845         web view.
4846         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
4847         (WTR::UIScriptController::findString): Dummy implementation of findString.
4849 2017-11-01  Alex Christensen  <achristensen@webkit.org>
4851         Add a test for _WKInputDelegate.willSubmitFormValues
4852         https://bugs.webkit.org/show_bug.cgi?id=179086
4854         Reviewed by Darin Adler.
4856         Hidden input types are not included in this submission because FormSubmission::create ignores them
4857         because input.isTextField() returns false.  This is existing behavior that wasn't shown by a test.
4858         HTTPBodies are also not sent to WKURLSchemeHandlers.  This is existing behavior that wasn't shown by a test.
4860         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4861         * TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm: Added.
4862         (-[FormSubmissionDelegate _webView:willSubmitFormValues:userObject:submissionHandler:]):
4863         (TEST):
4865 2017-10-31  Ross Kirsling  <ross.kirsling@sony.com>
4867         Web Inspector: Add Inspector menu items to Mac MiniBrowser
4868         https://bugs.webkit.org/show_bug.cgi?id=65218
4870         Reviewed by Joseph Pecoraro.
4872         Add Option-Command-I shortcut and corresponding Show/Close Web Inspector menu item to Mac MiniBrowser.
4873         Only works when browser window is focused, but at least WI can be opened without having to Inspect Element.
4875         * MiniBrowser/mac/BrowserWindowController.h:
4876         * MiniBrowser/mac/BrowserWindowController.m:
4877         (-[BrowserWindowController showHideWebInspector:]):
4878         * MiniBrowser/mac/MainMenu.xib:
4879         * MiniBrowser/mac/WK1BrowserWindowController.m:
4880         (-[WK1BrowserWindowController validateMenuItem:]):
4881         (-[WK1BrowserWindowController showHideWebInspector:]):
4882         * MiniBrowser/mac/WK2BrowserWindowController.m:
4883         (-[WK2BrowserWindowController validateMenuItem:]):
4884         (-[WK2BrowserWindowController showHideWebInspector:]):
4886 2017-10-31  Alex Christensen  <achristensen@webkit.org>
4888         Use asynchronous ResourceHandleClient calls for WebKit1
4889         https://bugs.webkit.org/show_bug.cgi?id=160677
4891         Reviewed by Brady Eidson.
4893         * TestWebKitAPI/Tests/mac/SimplifyMarkup.mm:
4894         (TestWebKitAPI::TEST):
4895         The HTML being loaded contains an iframe, so testing if the main resource has loaded doesn't necessarily mean all subresources are loaded.
4896         Wait until they are loaded before continuing the test.  This is a test of editing commands once the page has loaded, not a test of loading.
4898 2017-10-31  Commit Queue  <commit-queue@webkit.org>
4900         Unreviewed, rolling out r224143.
4901         https://bugs.webkit.org/show_bug.cgi?id=179091
4903         The patch requires non-standard perl modules in macOS and
4904         breaks AWFY (Requested by yusukesuzuki on #webkit).
4906         Reverted changeset:
4908         "[Win] Detect Visual Studio 2017 location"
4909         https://bugs.webkit.org/show_bug.cgi?id=175275
4910         https://trac.webkit.org/changeset/224143
4912 2017-10-31  Tim Horton  <timothy_horton@apple.com>
4914         Clean up some drag and drop feature flags
4915         https://bugs.webkit.org/show_bug.cgi?id=179082
4917         Reviewed by Simon Fraser.
4919         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
4920         * TestWebKitAPI/ios/UIKitSPI.h:
4922 2017-10-31  Tim Horton  <timothy_horton@apple.com>
4924         Fix up some content filtering feature flags
4925         https://bugs.webkit.org/show_bug.cgi?id=179079
4927         Reviewed by Simon Fraser.
4929         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
4930         * TestWebKitAPI/Tests/WebKitCocoa/ContentFilteringPlugIn.mm:
4931         (-[MockContentFilterEnabler initWithCoder:]):
4932         (-[MockContentFilterEnabler dealloc]):
4934 2017-10-31  Youenn Fablet  <youenn@apple.com>
4936         rwt should allow service worker to load localhost HTTPS resources with any certificate
4937         https://bugs.webkit.org/show_bug.cgi?id=179018
4939         Reviewed by Chris Dumez.
4941         * WebKitTestRunner/TestController.cpp:
4942         (WTR::TestController::resetStateToConsistentValues): allowing any SSL certificate for service workers.
4944 2017-10-31  Wenson Hsieh  <wenson_hsieh@apple.com>
4946         [Attachment Support] Implement WKWebView SPI for inserting attachment elements
4947         https://bugs.webkit.org/show_bug.cgi?id=179013
4948         <rdar://problem/35249668>
4950         Reviewed by Tim Horton.
4952         Adds a new API test suite to exercise attachment element insertion and manipulation.
4954         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4955         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: Added.
4956         (webViewForTestingAttachments):
4957         (testHTMLData):
4958         (testImageData):
4959         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:options:]):
4960         (-[TestWKWebView valueOfAttribute:forQuerySelector:]):
4961         (TestWebKitAPI::TEST):
4963 2017-10-31  Alex Christensen  <achristensen@webkit.org>
4965         Fix custom header field setting with reloads and asynchronous navigation action policy decisions
4966         https://bugs.webkit.org/show_bug.cgi?id=179064
4968         Reviewed by Tim Horton.
4970         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
4971         (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
4972         (TEST):
4974 2017-10-30  Michael Catanzaro  <mcatanzaro@igalia.com>
4976         WKBundlePageWillSendSubmitEventCallback is called with incorrect frame parameter
4977         https://bugs.webkit.org/show_bug.cgi?id=176719
4979         Reviewed by Chris Dumez.
4981         Test that WKBundlePageWillSendSubmitEventCallback is called with separate frame and
4982         sourceFrame parameters when the target frame of the form submission is not the source frame.
4984         * TestWebKitAPI/Tests/WebKit/WillSendSubmitEvent.cpp:
4985         (TestWebKitAPI::didReceiveMessageFromInjectedBundle):
4986         * TestWebKitAPI/Tests/WebKit/WillSendSubmitEvent_Bundle.cpp:
4987         (TestWebKitAPI::willSendSubmitEvent):
4988         * TestWebKitAPI/Tests/WebKit/auto-submitting-form.html:
4990 2017-10-30  Alex Christensen  <achristensen@webkit.org>
4992         ASSERTION FAILED: internalValuesConsistent(m_url) in WebCore::URLParser::URLParser
4993         https://bugs.webkit.org/show_bug.cgi?id=178861
4995         Reviewed by Tim Horton.
4997         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
4998         (TestWebKitAPI::TEST_F):
5000 2017-10-30  Commit Queue  <commit-queue@webkit.org>
5002         Unreviewed, rolling out r224078.
5003         https://bugs.webkit.org/show_bug.cgi?id=179026
5005         MotionMark regression (Requested by shallawa on #webkit).
5007         Reverted changeset:
5009         "When navigating back to a page, compositing layers may not
5010         use accelerated drawing"
5011         https://bugs.webkit.org/show_bug.cgi?id=178749
5012         https://trac.webkit.org/changeset/224078
5014 2017-10-30  Michael Catanzaro  <mcatanzaro@igalia.com>
5016         [WPE] Fix build warnings
5017         https://bugs.webkit.org/show_bug.cgi?id=178899
5019         Reviewed by Carlos Alberto Lopez Perez.
5021         * TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:
5022         (testContextMenuDownloadActions):
5023         (testBlobDownload):
5024         (beforeAll):
5025         * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
5026         * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
5027         (testWebViewJavaScriptDialogs):
5028         * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
5029         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
5030         * WebKitTestRunner/PlatformWPE.cmake:
5031         * WebKitTestRunner/wpe/HeadlessViewBackend.cpp:
5032         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
5033         (WTR::threadDefaultContext): Deleted.
5035 2017-10-30  Michael Catanzaro  <mcatanzaro@igalia.com>
5037         [WPE] Upstream or stop using cairo-egl-device-create-for-egl-surface.patch
5038         https://bugs.webkit.org/show_bug.cgi?id=178898
5040         Reviewed by Žan Doberšek.
5042         This patch seems to be unused.
5044         * wpe/jhbuild.modules:
5045         * wpe/patches/cairo-egl-device-create-for-egl-surface.patch: Removed.
5047 2017-10-30  Michael Catanzaro  <mcatanzaro@igalia.com>
5049         [WPE] Build more files under WebCore as unified sources and get rid of WebCorePlatformWPE build target
5050         https://bugs.webkit.org/show_bug.cgi?id=178964
5052         Reviewed by Carlos Alberto Lopez Perez.
5054         * TestWebKitAPI/PlatformWPE.cmake:
5056 2017-10-12  Frederic Wang  <fwang@igalia.com>
5058         Remove support for running safari on the iOS simulator with Xcode < 9.0
5059         https://bugs.webkit.org/show_bug.cgi?id=178203
5061         Reviewed by Alexey Proskuryakov.
5063         This is a follow-up of r223234. We no longer support iOS WebKit development for Xcode < 9.0
5064         and do not have any iOS simulator builders in our infrastructure. Hence we can remove the
5065         special case to calculate the iOS simulator applications path for these old versions.
5067         * Scripts/webkitdirs.pm:
5068         (iosSimulatorApplicationsPath): Remove special case for XCode < 9.0
5070 2017-10-30  Michael Catanzaro  <mcatanzaro@igalia.com>
5072         [WPE][GTK] Expose availability of certain editing commands in WebKitEditorState
5073         https://bugs.webkit.org/show_bug.cgi?id=168219
5075         Reviewed by Ryosuke Niwa.
5077         Test it.
5079         * TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
5080         (testWebViewEditorCutCopyPasteNonEditable):
5081         (testWebViewEditorCutCopyPasteEditable):
5082         (testWebViewEditorSelectAllNonEditable):
5083         (testWebViewEditorSelectAllEditable):
5084         (loadContentsAndTryToCutSelection):
5085         (testWebViewEditorNonEditable):
5086         (testWebViewEditorEditorStateTypingAttributes):
5087         (testWebViewEditorInsertImage):
5088         (testWebViewEditorCreateLink):
5090 2017-10-28  Michael Catanzaro  <mcatanzaro@igalia.com>
5092         [WPE] Build gst-plugins-base without pango support
5093         https://bugs.webkit.org/show_bug.cgi?id=178918
5095         Reviewed by Carlos Garcia Campos.
5097         We need to build gst-plugins-base without pango support for WPE. Let's use JHBuild
5098         conditions so we can make platform-specific changes in the shared GStreamer moduleset.
5100         * gstreamer/jhbuild.modules:
5101         * gtk/jhbuildrc:
5102         * wpe/jhbuildrc:
5104 2017-10-27  Stephan Szabo  <stephan.szabo@sony.com>
5106         [Win] Detect Visual Studio 2017 location
5107         https://bugs.webkit.org/show_bug.cgi?id=175275
5109         Reviewed by Per Arne Vollan.
5111         * Scripts/build-jsc:
5112         * Scripts/build-webkit:
5113         * Scripts/update-vswhere.py: Added.
5114         * Scripts/webkitdirs.pm:
5115         (pickCurrentVisualStudioInstallation):
5116         (pickLegacyVisualStudioInstallation):
5117         (visualStudioInstallDir):
5118         (visualStudioInstallDirVSWhere):
5119         (visualStudioInstallDirLegacy):
5120         (visualStudioInstallDirFallback):
5121         (msBuildInstallDir):
5122         (visualStudioVersion):
5123         (visualStudioVersionFromInstallDir):
5124         (generateBuildSystemFromCMakeProject):
5126 2017-10-27  Devin Rousso  <webkit@devinrousso.com>
5128         Create watchlist for files related WebInspector Recording
5129         https://bugs.webkit.org/show_bug.cgi?id=178965
5131         Reviewed by Joseph Pecoraro.
5133         * Scripts/webkitpy/common/config/watchlist:
5135 2017-10-27  Jonathan Bedard  <jbedard@apple.com>
5137         Windows and WebViews are retained after re-configure
5138         https://bugs.webkit.org/show_bug.cgi?id=178902
5139         <rdar://problem/35211518>
5141         Reviewed by Alexey Proskuryakov.
5143         The test runner effectively leaks windows every time a test changes configuration.
5144         We give each test it's own AutoreleasePool to fix this problem.
5146         * WebKitTestRunner/TestController.cpp:
5147         (WTR::TestController::runTest): Add an AutoRelease pool scoping a test run
5148         so that when a configuration changes, the old window and WebView are released.
5150 2017-10-27  Eric Carlson  <eric.carlson@apple.com>
5152         NowPlayingInfo should contain a unique identifier
5153         https://bugs.webkit.org/show_bug.cgi?id=178872
5154         <rdar://problem/34924012>
5156         Unreviewed, fix a flakey test.
5158         * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
5159         (-[NowPlayingTestWebView hasActiveNowPlayingSession]): Update _lastUpdatedElapsedTime.
5160         (-[NowPlayingTestWebView _handleActiveNowPlayingSessionInfoResponse:title:duration:elapsedTime:]): Deleted.
5162 2017-10-27  Fujii Hironori  <Hironori.Fujii@sony.com>
5164         autoinstall can't download from http://pypi.python.org
5165         https://bugs.webkit.org/show_bug.cgi?id=178925
5167         Reviewed by Ryosuke Niwa.
5169         The web server pypi.python.org rejects non secure http.
5171         * Scripts/webkitpy/thirdparty/__init__.py:
5172         (AutoinstallImportHook._install_mechanize): Use https instead of http.
5173         (AutoinstallImportHook._install_pep8): Ditto.
5174         (AutoinstallImportHook._install_pylint): Ditto.
5175         (AutoinstallImportHook._install_buildbot): Ditto.
5176         (AutoinstallImportHook._install_coverage): Ditto.
5178 2017-10-26  Fujii Hironori  <Hironori.Fujii@sony.com>
5180         [GTK][WPE] install-dependencies can't find libapache2-mod-php7.0 on Ubuntu 17.10
5181         https://bugs.webkit.org/show_bug.cgi?id=178854
5183         Reviewed by Michael Catanzaro.
5185         * Scripts/webkitpy/port/base.py:
5186         (Port._debian_php_version): Return "-php7.1" if libphp7.1.so found.
5187         (Port._is_debian_php_version_7): Deleted.
5188         * gtk/install-dependencies: Install libapache2-mod-php instead of libapache2-mod-php7.0.
5189         * wpe/install-dependencies: Ditto.
5191 2017-10-25  Simon Fraser  <simon.fraser@apple.com>
5193         When navigating back to a page, compositing layers may not use accelerated drawing
5194         https://bugs.webkit.org/show_bug.cgi?id=178749
5195         rdar://problem/35158946
5197         Reviewed by Dean Jackson.
5199         Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
5200         and use it to set the state of the web view.
5202         * DumpRenderTree/TestOptions.h:
5203         * DumpRenderTree/TestOptions.mm:
5204         (TestOptions::TestOptions):
5205         * DumpRenderTree/mac/DumpRenderTree.mm:
5206         (setWebPreferencesForTestOptions):
5207         * WebKitTestRunner/TestController.cpp:
5208         (WTR::TestController::resetPreferencesToConsistentValues):
5209         (WTR::updateTestOptionsFromTestHeader):
5210         * WebKitTestRunner/TestOptions.h:
5211         (WTR::TestOptions::hasSameInitializationOptions const):
5213 2017-10-26  Alex Christensen  <achristensen@webkit.org>
5215         Move WKWebViewConfiguration validation to WKWebView construction
5216         https://bugs.webkit.org/show_bug.cgi?id=178840
5218         Reviewed by Tim Horton.
5220         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
5221         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm: Added.
5222         (TEST):
5224 2017-10-26  Myles C. Maxfield  <mmaxfield@apple.com>
5226         Demonstrate a possible structure of the WebGPU API
5227         https://bugs.webkit.org/show_bug.cgi?id=178874
5229         Reviewed by Dean Jackson.
5231         Over the past few weeks, we've been putting together an example showing that a WebGPU API
5232         which has implicit barriers can work on all three low-level graphics APIs. We've implemented
5233         it on top of Vulkan first, because this is the API which has the strictest requirements and
5234         is most difficult to use.
5236         With this API, this is a valid WebGPU snippet:
5238         auto device = WebGPU::Device::create(hInstance, hWnd);
5239         auto& commandQueue = device->getCommandQueue();
5240         auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { }, { }, { }, nullptr);
5241         
5242         … later, in the draw() function …
5243         
5244         auto renderPass = commandQueue->createRenderPass(nullptr);
5245         renderPass->setRenderState(renderState);
5246         renderPass->setViewport(0, 0, width, height);
5247         renderPass->setScissorRect(0, 0, width, height);
5248         renderPass->draw(3);
5249         commandQueue->commitRenderPass(std::move(renderPass));
5250         commandQueue->present();
5252         This snippet doesn’t hook up any vertex attributes or resources, which means the vertex
5253         shader has to say something like ({vec4(…), vec4(…), vec4(…)})[gl_VertexIndex]. It also
5254         passes in “nullptr” when creating the render pass, which means “render to the screen, rather
5255         than to a frame buffer.” You can also see that it doesn’t attach any resources to the draw
5256         call.
5258         In Direct3D 12 and Vulkan, resources are bound in sets, rather than individually. For
5259         example, a set might contain two uniform buffers, a texture, and another uniform buffer. At
5260         draw time, you swap in whole sets of resources with a single call. A shader invocation can
5261         access a collection of sets. Because all shader resource accesses are indirected through
5262         these sets, the shape of these sets needs to be supplied at the time you compile the render
5263         state. Here is a snippet which bounds a single set which contains a uniform buffer and a
5264         texture:
5266         auto buffer = device->getBuffer(bufferInitialContents);
5267         auto texture = device->getTexture(buffer width, height, WebGPU::PixelFormat::RGBA8, textureInitialContents);
5268         // One resource set, which holds a single uniform buffer object and a single texture
5269         auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { }, { }, { { WebGPU::ResourceType::UniformBufferObject, WebGPU::ResourceType::Texture } }, nullptr);
5270         
5271         … later, in the draw() function …
5272         
5273         auto renderPass = commandQueue->createRenderPass(nullptr);
5274         renderPass->setRenderState(renderState);
5275         renderPass->setResources(0, { WebGPU::UniformBufferObjectReference(buffer.get()), WebGPU::TextureReference(texture.get()) });
5276         …
5277         renderPass->draw(3);
5278         commandQueue->commitRenderPass(std::move(renderPass));
5279         commandQueue->present();
5280         
5281         The first argument to the setResources() call identifies which set to populate with the supplied resources.
5283         One tenant of the low-level graphics APIs is that, if you’ve enabled double buffering (or
5284         triple buffering), the GPU is executing one frame at the same time you are recording the
5285         next frame. This often means that you need duplicate resources so the CPU and GPU don’t step
5286         on each other’s toes. However, platforms have platform-specific requirements about whether
5287         or not they can be double / triple buffered, and we don’t want to expose this to the Web for
5288         fear of badly-authored programs.
5290         To solve this, resources are reference counted, and the return type of getBuffer() is an
5291         RAII type called BufferHolder which increments and decrements the reference count
5292         automatically. The reference count is also incremented and decremented when the GPU is using
5293         the resource in a Pass. When the reference count reaches 0, the resource isn’t destroyed;
5294         instead, it’s simply moved to a “free list” which getBuffer() may pull from. Therefore,
5295         applications don’t need to know whether the frame buffer is double buffered or triple
5296         buffered; they can just getBuffer() each frame, and the correct number of buffers will be
5297         created and recycled.
5298         
5299         {
5300             auto buffer = device->getBuffer(bufferSize); // These get recycled
5301             … populate the buffer …
5302             auto renderPass = commandQueue->createRenderPass(nullptr);
5303             renderPass->setRenderState(renderState);
5304             renderPass->setResources(0, { WebGPU::UniformBufferObjectReference(buffer.get()) });
5305             …
5306             renderPass->draw(…);
5307             commandQueue->commitRenderPass(std::move(renderPass));
5308         }
5309         commandQueue->present();
5311         In Direct3D and Vulkan, vertex buffers and index buffers are not part of the resource sets
5312         mentioned above. Instead, you tell the render state about the shape of the vertex and index
5313         buffers, and you swap them out independently in the draw loop. Metal and Vulkan have almost
5314         identical API to specify this shape of the vertex buffers, so I’ve mostly copied it. In this
5315         example, we have two vertex attributes, a vec2 and a vec3, which both come from the same
5316         buffer:
5317         
5318         // { Attribute format, offset within stride, buffer to pull from }
5319         std::vector<WebGPU::RenderState::VertexAttribute> vertexAttributes = { {WebGPU::RenderState::VertexFormat::Float2, 0, 0}, {WebGPU::RenderState::VertexFormat::Float3, sizeof(float) * 2, 0} };
5320         // A single vertex buffer, with a stride of 5 floats
5321         auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { sizeof(float) * 5 }, vertexAttributes, resourceTypes, nullptr);
5322         
5323         … later, in the draw() function …
5324         
5325         auto renderPass = commandQueue->createRenderPass(nullptr);
5326         renderPass->setRenderState(renderState);
5327         renderPass->setVertexAttributeBuffers({ vertexBuffer.get() }); // The one vertex buffer which both attributes pull from
5328         renderPass->setResources(…);
5329         …
5330         renderPass->draw(…);
5331         commandQueue->commitRenderPass(std::move(renderPass));
5332         commandQueue->present();
5334         You can also tell the RenderState about how many render targets you have and their formats,
5335         and then when you create the RenderPass, you specify the specific textures you want to
5336         render into.
5338         std::vector<WebGPU::PixelFormat> colorPixelFormats = { WebGPU::PixelFormat::RGBA8, WebGPU::PixelFormat::RGBA8 }; // Two render targets, with these formats
5339         auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", vertexBufferStrides, vertexAttributes, resourceTypes, &colorPixelFormats);
5340         
5341         … later, in the draw() function …
5342         
5343         std::vector<std::reference_wrapper<WebGPU::Texture>> destinationTextures = { texture1->get(), texture2->get() };
5344         auto renderPass = commandQueue->createRenderPass(&destinationTextures);
5345         renderPass->setRenderState(renderState);
5346         …
5347         renderPass->draw(…);
5348         commandQueue->commitRenderPass(std::move(renderPass));
5349         
5350         // Now, draw one of the textures to the screen. Note that no synchronization is necessary here!
5351         auto renderPass = commandQueue->createRenderPass(nullptr);
5352         renderPass->setRenderState(renderState2);
5353         renderPass->setResources(0, { WebGPU:: TextureReference(texture1.get()) });
5354         …
5355         renderPass->draw(…);
5356         commandQueue->commitRenderPass(std::move(renderPass));
5357         commandQueue->present();
5359         Just like how in Metal has Render Encoders and Compute Encoders, WebGPU has RenderPasses
5360         and ComputePasses.
5362         auto& computeState = device->getComputeState(computeShader, "main", resourceTypes);
5363         …
5364         auto computePass = commandQueue->createComputePass();
5365         computePass->setComputeState(computeState);
5366         computePass->setResources(0, resources);
5367         computePass->dispatch(width, height, depth);
5368         commandQueue->commitComputePass(std::move(computePass));
5369         
5370         // Now, draw the resources we just computed. Note that no synchronization is necessary here!
5371         auto renderPass = commandQueue->createRenderPass(nullptr);
5372         renderPass->setRenderState(renderState);
5373         renderPass->setResources(0, resources });
5374         …
5375         renderPass->draw(…);
5376         commandQueue->commitRenderPass(std::move(renderPass));
5377         commandQueue->present();
5379         There are also two other types of passes: one that corresponds to a Metal blit encoder, and
5380         one that allows the CPU to change the contents of GPU buffers and textures. This last kind
5381         of pass is a little interesting: you can’t just change the contents of a buffer at any time
5382         you feel like it, because that resource might be in use by the GPU. Therefore, we need to do
5383         the same kind of synchronization that we already do at render pass boundaries.
5385         In addition, both Vulkan and Direct3D have a concept of a memory heap. A resource might
5386         exist inside a heap which is fast, but invisible from the CPU, or in a heap which is slow,
5387         but visible by the CPU. Certain operations are not possible from some types of images (e.g.
5388         non-tiled textures may not be able to be sampled from). The usual way to get around this
5389         problem is to have two resources: a slow staging resource which the CPU can see, and a fast
5390         resource which the CPU can’t see. Uploading data is a two-pass algorithm, where the CPU
5391         memcpy()s into the slow staging resource, and then a blit command is enqueued on the GPU to
5392         copy the contents of the staging resource to the real resource. This requires that the
5393         upload have access to the commandQueue so it can possibly enqueue a blit between the staging
5394         and real resources. Therefore, a pass is the right level of abstraction for these facilities.
5396         std::queue<boost::unique_future<std::vector<uint8_t>>> futureQueue; // Promises for data downloads from the GPU
5397         
5398         … later, in the draw() function …
5399         
5400         // See if any of the previously-enqueued downloads are finished
5401         while (!futureQueue.empty() && futureQueue.front(). has_value()) {
5402             std::vector<uint8_t>& data = futureQueue.front().get();
5403             // Use the downloaded data
5404             futureQueue.pop();
5405         }
5406         …
5407         auto hostAccessPass = commandQueue->createHostAccessPass();
5408         hostAccessPass->overwriteBuffer(buffer->get(), bufferContents); // Upload data to a resource
5409         
5410         futureQueue.emplace(hostAccessPass->getBufferContents(buffer->get()));
5411         commandQueue->commitHostAccessPass(std::move(hostAccessPass));
5412         
5413         You can also issue copy commands between resources entirely on the GPU:
5414         
5415         auto blitPass = commandQueue->createBlitPass();
5416         blitPass->copyTexture(source->get(), destination->get(), sourceX, sourceY, destinationX, destinationY, width, height);
5417         commandQueue->commitBlitPass(std::move(blitPass));
5419         * Scripts/webkitpy/style/checker.py:
5420         * WebGPUAPIStructure/Example/Example.cpp: Added.
5421         (readFile):
5422         (drawWebGPU):
5423         (wWinMain):
5424         (MyRegisterClass):
5425         (InitInstance):
5426         (WndProc):
5427         * WebGPUAPIStructure/Example/Example.h: Added.
5428         * WebGPUAPIStructure/Example/Example.ico: Added.
5429         * WebGPUAPIStructure/Example/Example.rc: Added.
5430         * WebGPUAPIStructure/Example/Example.vcxproj: Added.
5431         * WebGPUAPIStructure/Example/Example.vcxproj.filters: Added.
5432         * WebGPUAPIStructure/Example/Example.vcxproj.user: Added.
5433         * WebGPUAPIStructure/Example/resource.h: Added.
5434         * WebGPUAPIStructure/Example/small.ico: Added.
5435         * WebGPUAPIStructure/Example/stdafx.cpp: Added.
5436         * WebGPUAPIStructure/Example/stdafx.h: Added.
5437         * WebGPUAPIStructure/Example/targetver.h: Added.
5438         * WebGPUAPIStructure/WebGPU-Common/WebGPU-Common.vcxproj: Added.
5439         * WebGPUAPIStructure/WebGPU-Common/WebGPU-Common.vcxproj.filters: Added.
5440         * WebGPUAPIStructure/WebGPU-Common/WebGPU.cpp: Added.
5441         (WebGPU::BufferHolder::BufferHolder):
5442         (WebGPU::BufferHolder::~BufferHolder):
5443         (WebGPU::TextureHolder::TextureHolder):
5444         (WebGPU::TextureHolder::~TextureHolder):
5445         (WebGPU::SamplerHolder::SamplerHolder):
5446         (WebGPU::SamplerHolder::~SamplerHolder):
5447         * WebGPUAPIStructure/WebGPU-Common/WebGPU.h: Added.
5448         (WebGPU::Queue::~Queue):
5449         (WebGPU::RenderState::~RenderState):
5450         (WebGPU::ComputeState::~ComputeState):
5451         (WebGPU::Buffer::~Buffer):
5452         (WebGPU::Texture::~Texture):
5453         (WebGPU::Sampler::~Sampler):
5454         (WebGPU::TextureReference::TextureReference):
5455         (WebGPU::TextureReference::get const):
5456         (WebGPU::SamplerReference::SamplerReference):
5457         (WebGPU::SamplerReference::get const):
5458         (WebGPU::UniformBufferObjectReference::UniformBufferObjectReference):
5459         (WebGPU::UniformBufferObjectReference::get const):
5460         (WebGPU::ShaderStorageBufferObjectReference::ShaderStorageBufferObjectReference):
5461         (WebGPU::ShaderStorageBufferObjectReference::get const):
5462         (WebGPU::RenderPass::~RenderPass):
5463         (WebGPU::ComputePass::~ComputePass):
5464         (WebGPU::BlitPass::~BlitPass):
5465         (WebGPU::HostAccessPass::~HostAccessPass):
5466         (WebGPU::BufferHolder::get):
5467         (WebGPU::TextureHolder::get):
5468         (WebGPU::SamplerHolder::get):
5469         (WebGPU::Device::~Device):
5470         * WebGPUAPIStructure/WebGPU-Vulkan/BlitPassImpl.cpp: Added.
5471         (WebGPU::BlitPassImpl::BlitPassImpl):
5472         (WebGPU::BlitPassImpl::copyTexture):
5473         * WebGPUAPIStructure/WebGPU-Vulkan/BlitPassImpl.h: Added.
5474         * WebGPUAPIStructure/WebGPU-Vulkan/BufferImpl.cpp: Added.
5475         (WebGPU::BufferImpl::BufferImpl):
5476         (WebGPU::BufferImpl::decrementReferenceCount):
5477         * WebGPUAPIStructure/WebGPU-Vulkan/BufferImpl.h: Added.
5478         (WebGPU::BufferImpl::getBuffer const):
5479         (WebGPU::BufferImpl::getDeviceMemory const):
5480         (WebGPU::BufferImpl::incrementReferenceCount):
5481         (WebGPU::BufferImpl::getLength const):
5482         * WebGPUAPIStructure/WebGPU-Vulkan/ComputePassImpl.cpp: Added.
5483         (WebGPU::ComputePassImpl::ComputePassImpl):
5484         (WebGPU::ComputePassImpl::setComputeState):
5485         (WebGPU::ComputePassImpl::setResources):
5486         (WebGPU::ComputePassImpl::dispatch):
5487         * WebGPUAPIStructure/WebGPU-Vulkan/ComputePassImpl.h: Added.
5488         * WebGPUAPIStructure/WebGPU-Vulkan/ComputeStateImpl.cpp: Added.
5489         (WebGPU::ComputeStateImpl::ComputeStateImpl):
5490         * WebGPUAPIStructure/WebGPU-Vulkan/ComputeStateImpl.h: Added.
5491         (WebGPU::ComputeStateImpl::getPipeline const):
5492         (WebGPU::ComputeStateImpl::getPipelineLayout const):
5493         (WebGPU::ComputeStateImpl::getDescriptorSetLayouts const):
5494         * WebGPUAPIStructure/WebGPU-Vulkan/DeviceImpl.cpp: Added.
5495         (WebGPU::Device::create):
5496         (WebGPU::convertPixelFormat):
5497         (WebGPU::convertFormat):
5498         (WebGPU::debugReport):
5499         (WebGPU::DeviceImpl::DeviceImpl):
5500         (WebGPU::DeviceImpl::getCommandQueue):
5501         (WebGPU::DeviceImpl::prepareShader):
5502         (WebGPU::DeviceImpl::createPipelineLayout):
5503         (WebGPU::DeviceImpl::createCompatibleRenderPass):
5504         (WebGPU::convertVertexFormat):
5505         (WebGPU::DeviceImpl::getRenderState):
5506         (WebGPU::DeviceImpl::getComputeState):
5507         (WebGPU::DeviceImpl::getBuffer):
5508         (WebGPU::DeviceImpl::returnBuffer):
5509         (WebGPU::DeviceImpl::getTexture):
5510         (WebGPU::DeviceImpl::returnTexture):
5511         (WebGPU::DeviceImpl::getSampler):
5512         (WebGPU::DeviceImpl::returnSampler):
5513         (WebGPU::DeviceImpl::~DeviceImpl):
5514         * WebGPUAPIStructure/WebGPU-Vulkan/DeviceImpl.h: Added.
5515         (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::UniqueDebugReportCallbackEXT):
5516         (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::operator=):
5517         (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::~UniqueDebugReportCallbackEXT):
5518         (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::destroy):
5519         (WebGPU::DeviceImpl::TextureParameters::operator== const):
5520         (WebGPU::DeviceImpl::TextureParametersHash::operator() const):
5521         * WebGPUAPIStructure/WebGPU-Vulkan/HostAccessPassImpl.cpp: Added.
5522         (WebGPU::HostAccessPassImpl::HostAccessPassImpl):
5523         (WebGPU::HostAccessPassImpl::overwriteBuffer):
5524         (WebGPU::HostAccessPassImpl::getBufferContents):
5525         (WebGPU::HostAccessPassImpl::execute):
5526         * WebGPUAPIStructure/WebGPU-Vulkan/HostAccessPassImpl.h: Added.
5527         (WebGPU::HostAccessPassImpl::getFinishedEvent const):
5528         * WebGPUAPIStructure/WebGPU-Vulkan/PassImpl.cpp: Added.
5529         (WebGPU::PassImpl::PassImpl):
5530         (WebGPU::ResourceVisitor::operator()):
5531         (WebGPU::ResourceVisitor::getBindings const):
5532         (WebGPU::ResourceVisitor::releaseWriteDescriptorSets):
5533         (WebGPU::ResourceVisitor::getDescriptorImageInfos const):
5534         (WebGPU::ResourceVisitor::getDescriptorBufferInfos const):
5535         (WebGPU::ResourceVisitor::getBuffers const):
5536         (WebGPU::ResourceVisitor::getTextures const):
5537         (WebGPU::ResourceVisitor::getSamplers const):
5538         (WebGPU::ResourceVisitor::getImageCount const):
5539         (WebGPU::ResourceVisitor::getSamplerCount const):
5540         (WebGPU::ResourceVisitor::getUniformBufferCount const):
5541         (WebGPU::ResourceVisitor::getStorageBufferCount const):
5542         (WebGPU::PassImpl::setResources):
5543         (WebGPU::PassImpl::insertBuffer):
5544         (WebGPU::PassImpl::insertTexture):
5545         (WebGPU::PassImpl::insertSampler):
5546         * WebGPUAPIStructure/WebGPU-Vulkan/PassImpl.h: Added.
5547         (WebGPU::PassImpl::getCommandBuffer const):
5548         (WebGPU::PassImpl::iterateBuffers):
5549         (WebGPU::PassImpl::iterateTextures):
5550         (WebGPU::PassImpl::ResourceReference::ResourceReference):
5551         (WebGPU::PassImpl::ResourceReference::~ResourceReference):
5552         (WebGPU::PassImpl::ResourceReference::operator=):
5553         (WebGPU::PassImpl::ResourceReference::operator== const):
5554         (WebGPU::PassImpl::ResourceReference::get const):
5555         (WebGPU::PassImpl::ResourceReference::release):
5556         (WebGPU::PassImpl::ResourceReferenceHash::operator() const):
5557         * WebGPUAPIStructure/WebGPU-Vulkan/QueueImpl.cpp: Added.
5558         (WebGPU::QueueImpl::QueueImpl):
5559         (WebGPU::QueueImpl::prepareCurrentFrame):
5560         (WebGPU::QueueImpl::createSpecificRenderPass):
5561         (WebGPU::QueueImpl::createFramebuffer):
5562         (WebGPU::QueueImpl::createRenderPass):
5563         (WebGPU::QueueImpl::commitRenderPass):
5564         (WebGPU::QueueImpl::createComputePass):
5565         (WebGPU::QueueImpl::commitComputePass):
5566         (WebGPU::QueueImpl::createBlitPass):
5567         (WebGPU::QueueImpl::commitBlitPass):
5568         (WebGPU::QueueImpl::createHostAccessPass):
5569         (WebGPU::QueueImpl::commitHostAccessPass):
5570         (WebGPU::QueueImpl::present):
5571         (WebGPU::QueueImpl::commitPass):
5572         (WebGPU::QueueImpl::synchronizeResources):
5573         (WebGPU::QueueImpl::~QueueImpl):
5574         * WebGPUAPIStructure/WebGPU-Vulkan/QueueImpl.h: Added.
5575         * WebGPUAPIStructure/WebGPU-Vulkan/RenderPassImpl.cpp: Added.
5576         (WebGPU::RenderPassImpl::RenderPassImpl):
5577         (WebGPU::RenderPassImpl::setRenderState):
5578         (WebGPU::RenderPassImpl::setVertexAttributeBuffers):
5579         (WebGPU::RenderPassImpl::setResources):
5580         (WebGPU::RenderPassImpl::setViewport):
5581         (WebGPU::RenderPassImpl::setScissorRect):
5582         (WebGPU::RenderPassImpl::draw):
5583         * WebGPUAPIStructure/WebGPU-Vulkan/RenderPassImpl.h: Added.
5584         * WebGPUAPIStructure/WebGPU-Vulkan/RenderStateImpl.cpp: Added.
5585         (WebGPU::RenderStateImpl::RenderStateImpl):
5586         * WebGPUAPIStructure/WebGPU-Vulkan/RenderStateImpl.h: Added.
5587         (WebGPU::RenderStateImpl::getPipeline const):
5588         (WebGPU::RenderStateImpl::getPipelineLayout const):
5589         (WebGPU::RenderStateImpl::getDescriptorSetLayouts const):
5590         * WebGPUAPIStructure/WebGPU-Vulkan/SamplerImpl.cpp: Added.
5591         (WebGPU::SamplerImpl::SamplerImpl):
5592         (WebGPU::SamplerImpl::decrementReferenceCount):
5593         * WebGPUAPIStructure/WebGPU-Vulkan/SamplerImpl.h: Added.
5594         (WebGPU::SamplerImpl::getSampler):
5595         (WebGPU::SamplerImpl::incrementReferenceCount):
5596         (WebGPU::SamplerImpl::getFilter):
5597         (WebGPU::SamplerImpl::getMipmapMode):
5598         (WebGPU::SamplerImpl::getAddressMode):
5599         * WebGPUAPIStructure/WebGPU-Vulkan/TextureImpl.cpp: Added.
5600         (WebGPU::TextureImpl::TextureImpl):
5601         (WebGPU::TextureImpl::decrementReferenceCount):
5602         * WebGPUAPIStructure/WebGPU-Vulkan/TextureImpl.h: Added.
5603         (WebGPU::TextureImpl::getImage const):
5604         (WebGPU::TextureImpl::getImageView const):
5605         (WebGPU::TextureImpl::getFormat const):
5606         (WebGPU::TextureImpl::incrementReferenceCount):
5607         (WebGPU::TextureImpl::getWidth const):
5608         (WebGPU::TextureImpl::getHeight const):
5609         (WebGPU::TextureImpl::getTransferredToGPU const):
5610         (WebGPU::TextureImpl::setTransferredToGPU):
5611         * WebGPUAPIStructure/WebGPU-Vulkan/WebGPU-Vulkan.vcxproj: Added.
5612         * WebGPUAPIStructure/WebGPU-Vulkan/WebGPU-Vulkan.vcxproj.filters: Added.
5613         * WebGPUAPIStructure/WebGPU.sln: Added.
5615 2017-10-26  Eric Carlson  <eric.carlson@apple.com>
5617         NowPlayingInfo should contain a unique identifier
5618         https://bugs.webkit.org/show_bug.cgi?id=178872
5620         Reviewed by Jer Noble.
5622         * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
5623         (-[NowPlayingTestWebView hasActiveNowPlayingSession]): Use completion handler.
5624         (TestWebKitAPI::TEST): Cleanup tests. Use new API.
5625         (-[NowPlayingTestWebView waitForNowPlayingInfoToChange]): Deleted.
5627 2017-10-26  Eric Carlson  <eric.carlson@apple.com>
5629         [MediaStream] Clear cached gUM prompt state
5630         https://bugs.webkit.org/show_bug.cgi?id=178754
5631         <rdar://problem/32742356>
5633         Unreviewed, fix a flakey test.
5635         * TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm:
5636         (-[GetUserMediaRepromptTestView haveStream:]): New, check several times for expected state.
5637         (TestWebKitAPI::TEST): Don't assume stream state changes in the page immediately.
5639 2017-10-26  Andy Estes  <aestes@apple.com>
5641         [Payment Request] Enable Payment Request whenever Apple Pay is enabled
5642         https://bugs.webkit.org/show_bug.cgi?id=178880
5644         Reviewed by Tim Horton.
5646         * WebKitTestRunner/TestController.cpp:
5647         (WTR::TestController::resetPreferencesToConsistentValues):
5649 2017-10-26  Joseph Pecoraro  <pecoraro@apple.com>
5651         Add and update some watchlists
5652         https://bugs.webkit.org/show_bug.cgi?id=178304
5654         Reviewed by Simon Fraser.
5656         * Scripts/webkitpy/common/config/watchlist:
5658 2017-10-26  Ryan Haddad  <ryanhaddad@apple.com>
5660         Unreviewed, rolling out r223984.
5662         Caused LayoutTest assertion failures.
5664         Reverted changeset:
5666         "When navigating back to a page, compositing layers may not
5667         use accelerated drawing"
5668         https://bugs.webkit.org/show_bug.cgi?id=178749
5669         https://trac.webkit.org/changeset/223984
5671 2017-10-26  Christopher Reid  <chris.reid@sony.com>
5673         Remove scopeguard from platform
5674         https://bugs.webkit.org/show_bug.cgi?id=178681
5676         Reviewed by Brady Eidson.
5678         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
5680 2017-09-21  Carlos Garcia Campos  <cgarcia@igalia.com>
5682         WebDriver: Add support to import and run W3C tests
5683         https://bugs.webkit.org/show_bug.cgi?id=177304
5685         Reviewed by Brian Burg.
5687         WPT has now several WebDriver tests, and new ones are going to be added to cover the whole spec. This patch
5688         adds the initial support for running W3C tests. The script import-w3c-webdriver-tests reuses parts of the W3C
5689         test downloader to download the tests and required tools from WPT repository into WebDriverTests
5690         directory. Tests can be run with run-webdriver-tests, a new script that works similar to other test runner
5691         scripts. For now it shows a summary at the end of the execution, there aren't expectations yet, since we are not
5692         ready to run those tests in the bots. Once we are ready to properly run the tests, we can add the expectations
5693         support and run the tests in the bots.
5695         * Scripts/import-w3c-webdriver-tests: Added.
5696         * Scripts/run-webdriver-tests: Added.
5697         * Scripts/webkitpy/style/checker.py: Skip WebDriverTests directory since it only contains third-party python
5698         code.
5699         * Scripts/webkitpy/thirdparty/__init__.py: Add support to autodownload mozlog and mozprocess since they are
5700         required by the WebDriver tests.
5701         * Scripts/webkitpy/webdriver_tests/__init__.py: Added.
5702         * Scripts/webkitpy/webdriver_tests/webdriver_driver.py: Added.
5703         * Scripts/webkitpy/webdriver_tests/webdriver_driver_gtk.py: Added.
5704         * Scripts/webkitpy/webdriver_tests/webdriver_test_result.py: Added.
5705         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py: Added.
5706         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py: Added.
5707         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py: Added.
5708         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py: Added.
5710 2017-10-25  Eric Carlson  <eric.carlson@apple.com>
5712         [MediaStream] Clear cached gUM prompt state
5713         https://bugs.webkit.org/show_bug.cgi?id=178754
5714         <rdar://problem/32742356>
5716         Reviewed by Youenn Fablet.
5718         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new test
5720         * TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm: Added.
5721         (-[GetUserMediaRepromptUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
5722         (-[GetUserMediaRepromptUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
5723         (TestWebKitAPI::TEST):
5725         * TestWebKitAPI/Tests/WebKit/getUserMedia.html:
5727 2017-10-25  Ross Kirsling  <ross.kirsling@sony.com>
5729         Add committer status for Ross Kirsling
5730         https://bugs.webkit.org/show_bug.cgi?id=178832
5732         Unreviewed.
5734         * Scripts/webkitpy/common/config/contributors.json:
5736 2017-10-25  Simon Fraser  <simon.fraser@apple.com>
5738         When navigating back to a page, compositing layers may not use accelerated drawing
5739         https://bugs.webkit.org/show_bug.cgi?id=178749
5740         rdar://problem/35158946
5742         Reviewed by Dean Jackson.
5744         Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
5745         and use it to set the state of the web view.
5747         * DumpRenderTree/TestOptions.h:
5748         * DumpRenderTree/TestOptions.mm:
5749         (TestOptions::TestOptions):
5750         * DumpRenderTree/mac/DumpRenderTree.mm:
5751         (setWebPreferencesForTestOptions):
5752         * WebKitTestRunner/TestController.cpp:
5753         (WTR::TestController::resetPreferencesToConsistentValues):
5754         (WTR::updateTestOptionsFromTestHeader):
5755         * WebKitTestRunner/TestOptions.h:
5756         (WTR::TestOptions::hasSameInitializationOptions const):
5758 2017-10-25  Robin Morisset  <rmorisset@apple.com>
5760         Support the TailBench9000 benchmark in run-jsc-benchmarks
5761         https://bugs.webkit.org/show_bug.cgi?id=178451
5763         Reviewed by Saam Barati.
5765         * Scripts/run-jsc-benchmarks:
5767 2017-10-25  Adrian Perez de Castro  <aperez@igalia.com>
5769         [WPE] Remove GLib API functions which use Cairo
5770         https://bugs.webkit.org/show_bug.cgi?id=178205
5772         Reviewed by Michael Catanzaro.
5774         Add PLATFORM(GTK) guards for the API tests (or parts of them) which use cairo_surface_t (web
5775         page snapshots and favicons) which are not available in the WPE version of the GLib API.
5777         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
5778         (testNotInitialized):
5779         (testPrivateBrowsing):
5780         (testFaviconDatabase):
5781         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFindController.cpp:
5782         (testFindControllerHide):
5783         (beforeAll):
5784         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
5785         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
5787 2017-10-25  Zan Dobersek  <zdobersek@igalia.com>
5789         Make SERVICE_WORKER feature buildable on GTK, WPE
5790         https://bugs.webkit.org/show_bug.cgi?id=178574
5792         Reviewed by Carlos Garcia Campos.
5794         * Scripts/webkitperl/FeatureList.pm: Add the --service-worker option
5795         that enables the SERVICE_WORKER feature flag. For now it's enabled
5796         on Apple's Cocoa ports (even when build-webkit isn't used for those
5797         builds, the flag is enabled here for consistency).
5799 2017-10-24  Michael Catanzaro  <mcatanzaro@igalia.com>
5801         Unreviewed, fix name of Perl LibXML package on Fedora
5802         https://bugs.webkit.org/show_bug.cgi?id=178206
5803         <rdar://problem/35028586>
5805         * gtk/install-dependencies:
5806         * wpe/install-dependencies:
5808 2017-10-24  Alex Christensen  <achristensen@webkit.org>
5810         Selecting and right-clicking URL-like strings with IDNA-disallowed characters in host or authority causes rendering engine crash
5811         https://bugs.webkit.org/show_bug.cgi?id=174267
5813         Reviewed by Tim Horton.
5815         * TestWebKitAPI/Tests/WebKit/CanHandleRequest_Bundle.cpp:
5816         (TestWebKitAPI::runTest):
5818 2017-10-24  Eric Carlson  <eric.carlson@apple.com>
5820         Web Inspector: Enable WebKit logging configuration and display
5821         https://bugs.webkit.org/show_bug.cgi?id=177027
5822         <rdar://problem/33964767>
5824         Reviewed by Joseph Pecoraro.
5826         Allow new 'dumpJSConsoleLogInStdErr' test header to redirect log console output to stderr.
5828         * DumpRenderTree/TestOptions.h:
5829         * DumpRenderTree/TestOptions.mm:
5830         (TestOptions::TestOptions):
5831         * DumpRenderTree/mac/DumpRenderTree.mm:
5832         (runTest):
5833         * WebKitTestRunner/TestController.cpp:
5834         (WTR::updateTestOptionsFromTestHeader):
5835         (WTR::TestController::runTest):
5836         * WebKitTestRunner/TestOptions.h:
5837         (WTR::TestOptions::hasSameInitializationOptions const):
5839 2017-10-24  Alex Christensen  <achristensen@webkit.org>
5841         Apply custom header fields from WebsitePolicies to same-domain requests
5842         https://bugs.webkit.org/show_bug.cgi?id=178356
5844         Reviewed by Brady Eidson.
5846         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
5847         (expectHeaders):
5849 2017-10-24  Stephan Szabo  <stephan.szabo@sony.com>
5851         [Win][JSCOnly] Make jsconly build testapi and dlls and copy dlls when running tests
5852         https://bugs.webkit.org/show_bug.cgi?id=177279
5854         Reviewed by Yusuke Suzuki.
5856         * Scripts/build-jsc:
5857         * Scripts/run-jsc-stress-tests:
5859 2017-10-23  Lucas Forschler  <lforschler@apple.com>
5861         <rdar://problem/35045445>
5862         Update README to reference WebKit build archives, instead of 'nightly'
5864         Reviewed by Aakash Jain.
5866         * WebKitArchiveSupport/README:
5868 2017-10-21  Tim Horton  <timothy_horton@apple.com>
5870         Turn on ccache for Mac cmake builds by default
5871         https://bugs.webkit.org/show_bug.cgi?id=177059
5873         Reviewed by Sam Weinig.
5875         * ccache/ccache-clang:
5876         * ccache/ccache-wrapper: Added.
5877         Add a pass-through ccache wrapper to be used with CMake, in addition
5878         to the existing faux-clang wrappers.
5880         * Scripts/build-webkit:
5881         Add --use-ccache and --no-use-ccache option, which will define
5882         WK_USE_CCACHE to YES or NO, respectively, which the underlying
5883         build systems respect. We do not define WK_USE_CCACHE if the option
5884         is not specified, because the underlying build systems have different
5885         default values.
5887 2017-10-20  Aakash Jain  <aakash_jain@apple.com>
5889         Do not run binding tests on multiple EWSes
5890         https://bugs.webkit.org/show_bug.cgi?id=178599
5892         Reviewed by Alexey Proskuryakov. 
5894         Remove old code which runs bindings tests and ignore it's result. We now have
5895         a dedicated bindings test EWS.
5897         * Scripts/webkitpy/tool/steps/runtests.py:
5898         (RunTests.run): Removed bindings tests code.
5899         * Scripts/webkitpy/tool/steps/runtests_unittest.py: Updated unit-tests.
5900         (RunTestsTest.test_webkit_run_unit_tests): Ditto.
5901         * Scripts/webkitpy/tool/steps/steps_unittest.py: Ditto.
5902         * Scripts/webkitpy/tool/commands/download_unittest.py: Ditto.
5904 2017-10-20  Youenn Fablet  <youenn@apple.com>
5906         WebsiteDataStoreCustomPaths.mm is failing after r223718
5907         https://bugs.webkit.org/show_bug.cgi?id=178596
5909         Unreviewed.
5911         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
5912         (TEST): Making default web site data store creation expected at the end of the test.
5913         We should probably not need need to create it.
5914         This should be fixed as a follow-up.
5916 2017-10-20  Antoine Quint  <graouts@apple.com>
5918         [Web Animations] Provide basic timeline and animation interfaces
5919         https://bugs.webkit.org/show_bug.cgi?id=178526
5921         Reviewed by Dean Jackson.
5923         Remove the WEB_ANIMATIONS compile-time flag.
5925         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
5927 2017-10-20  Tomas Popela  <tpopela@redhat.com>
5929         Missing some perl packages in install-dependencies
5930         https://bugs.webkit.org/show_bug.cgi?id=178571
5932         Reviewed by Žan Doberšek.
5934         Install per-version and perl-Time-HiRes so we can use build-webkit
5935         script. Also add missing backlashes.
5937         * wpe/install-dependencies:
5939 2017-10-20  Commit Queue  <commit-queue@webkit.org>
5941         Unreviewed, rolling out r222709 and r223572.
5942         https://bugs.webkit.org/show_bug.cgi?id=178587
5944         Still getting mac-wk2 EWS bots stuck (Requested by ap on
5945         #webkit).
5947         Reverted changesets:
5949         "Log stack-trace for run-webkit-tests when interrupted"
5950         https://bugs.webkit.org/show_bug.cgi?id=176393
5951         https://trac.webkit.org/changeset/222709
5953         "webkitpy: Hang when workers write to the same stack trace
5954         file"
5955         https://bugs.webkit.org/show_bug.cgi?id=178402
5956         https://trac.webkit.org/changeset/223572
5958 2017-10-19  Nan Wang  <n_wang@apple.com>
5960         AX: Provide a way for Accessibility to cache the selection while retrieving rects for speak selection
5961         https://bugs.webkit.org/show_bug.cgi?id=176247
5962         <rdar://problem/34217143>
5964         Reviewed by Ryosuke Niwa.
5966         * TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
5967         (TestWebKitAPI::TEST):
5969 2017-10-19  Sam Weinig  <sam@webkit.org>
5971         [Settings] Move global settings into their own file
5972         https://bugs.webkit.org/show_bug.cgi?id=178512
5974         Reviewed by Darin Adler.
5976         * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
5977         (TestWebKitAPI::TEST):
5979 2017-10-19  Andy Estes  <aestes@apple.com>
5981         [iOS] Conditionally rename DatabaseProcess to StorageProcess when building for iOS devices
5982         https://bugs.webkit.org/show_bug.cgi?id=178181
5983         <rdar://problem/33660282>
5985         Reviewed by Dan Bernstein.
5987         * WebKitTestRunner/TestController.cpp:
5988         (WTR::TestController::databaseProcessName):
5990 2017-10-19  Saam Barati  <sbarati@apple.com>
5992         Turn poly proto back on by default and remove the option
5993         https://bugs.webkit.org/show_bug.cgi?id=178525
5995         Reviewed by Mark Lam.
5997         * Scripts/run-jsc-stress-tests:
5999 2017-10-18  Ryosuke Niwa  <rniwa@webkit.org>
6001         Don't expose raw HTML in pasteboard to the web content
6002         https://bugs.webkit.org/show_bug.cgi?id=178422
6004         Reviewed by Wenson Hsieh.
6006         Added a test case for sanitizing web archive in the system pasteboard to strip privacy sensitive information
6007         such as local file paths and potentially harmful scripts like event handlers serialized by WebKit prior to r223462.
6009         * TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm:
6010         (PasteWebArchive.SanitizesHTML):
6012 2017-10-18  Youenn Fablet  <youenn@apple.com>
6014         TestController should clear all fetch caches when resetting its state
6015         https://bugs.webkit.org/show_bug.cgi?id=178486
6017         Reviewed by Chris Dumez.
6019         Adding clearDOMCaches test runner method.
6020         Using that method when resetting state.
6022         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
6023         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
6024         (WTR::TestRunner::clearDOMCaches):
6025         * WebKitTestRunner/InjectedBundle/TestRunner.h:
6026         * WebKitTestRunner/TestInvocation.cpp:
6027         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
6029 2017-10-18  Chelsea Pugh  <cpugh@apple.com>
6031         [iOS] Use new class name from UIKit when checking UITextSuggestion type
6032         https://bugs.webkit.org/show_bug.cgi?id=178416
6034         Reviewed by Tim Horton.
6036         This updates our test using/mocking out UITextAutofillSuggestion instead of UIKeyboardLoginCredentialsSuggestion.
6038         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
6039         (-[UITextAutofillSuggestion initWithUsername:password:]): Copied from UIKit's implementation. This will serve as
6040         a mock of this method for builds not containingit.
6041         (+[UITextAutofillSuggestion autofillSuggestionWithUsername:password:]): Ditto.
6042         (TestWebKitAPI::TEST): Use +[UITextAutofillSuggestion autofillSuggestionWithUsername:password:] inline instead of
6043         helper function for creating a new suggestion.
6044         (newUIKeyboardLoginCredentialsSuggestion): Deleted.
6046         * TestWebKitAPI/ios/UIKitSPI.h:
6048 2017-10-18  Fujii Hironori  <Hironori.Fujii@sony.com>
6050         update-webkit-auxiliary-libs can't download WebKitAuxiliaryLibrary.zip due to 403 Forbidden
6051         https://bugs.webkit.org/show_bug.cgi?id=178381
6053         Reviewed by Alexey Proskuryakov.
6055         The web server developer.apple.com seems to reject HTTP requests
6056         without Accept header field.
6058         * Scripts/update-webkit-dependency: Add 'Accept' header field to requests.
6060 2017-10-18  Aakash Jain  <aakash_jain@apple.com>
6062         webkitpy tests should have --json-output option
6063         https://bugs.webkit.org/show_bug.cgi?id=178481
6065         Reviewed by Alexey Proskuryakov.
6067         * Scripts/webkitpy/test/main.py:
6068         (Tester._parse_args): Added json-output argument.
6069         (Tester._run_tests): Write output to json file.
6071 2017-10-18  Wenson Hsieh  <wenson_hsieh@apple.com>
6073         Unreviewed, rolling out r223291.
6075         See WebCore ChangeLog for more detail.
6077         Reverted changeset:
6079         "Remove Editor::simplifyMarkup"
6080         https://bugs.webkit.org/show_bug.cgi?id=178271
6081         https://trac.webkit.org/changeset/223291
6083 2017-10-18  Chris Dumez  <cdumez@apple.com>
6085         Add an efficient data structure for WebCore to query if there is a Service Worker registered for a given origin
6086         https://bugs.webkit.org/show_bug.cgi?id=177876
6087         <rdar://problem/34813129>
6089         Reviewed by Ryosuke Niwa.
6091         Clear service worker registrations between test runs to avoid flakiness.
6093         * WebKitTestRunner/TestController.cpp:
6094         (WTR::TestController::resetStateToConsistentValues):
6096 2017-10-18  Zan Dobersek  <zdobersek@igalia.com>
6098         Remove remnants of OpenWebRTC
6099         https://bugs.webkit.org/show_bug.cgi?id=178437
6101         Reviewed by Alejandro G. Castro.
6103         Drop OpenWebRTC packages from the GTK's Jhbuild modules file. Relevant
6104         patches are also removed.
6106         * gtk/jhbuild.modules:
6107         * gtk/patches/libnice-0001-TURN-allow-REALM-to-be-empty.patch: Removed.
6108         * gtk/patches/libnice-0001-nicesrc-spin-the-agent-mainloop-in-a-separate-thread.patch: Removed.
6109         * gtk/patches/rtspsrc-timeout-on-udpsrc-is-in-nanoseconds.patch: Removed.
6110         * gtk/patches/udpsrc-improve-timeouts.patch: Removed.
6112 2017-10-17  Jonathan Bedard  <jbedard@apple.com>
6114         webkitpy: Hang when workers write to the same stack trace file
6115         https://bugs.webkit.org/show_bug.cgi?id=178402
6116         <rdar://problem/35033432>
6118         Reviewed by Aakash Jain.
6120         Workers can hang if they all write to the same stack trace file when receiving
6121         a SIGTERM. Attach the pid to the stack trace file name so that each worker
6122         writes to a different file.
6124         * Scripts/webkitpy/common/interupt_debugging.py:
6125         (log_stack_trace_on_term.handler): Name stack trace file path/<pid>-filename.
6126         (log_stack_trace_on_cntrl_c.handler): Ditto.
6128 2017-10-17  John Wilander  <wilander@apple.com>
6130         Add and remove cookie partition accordingly in intermediary redirect requests
6131         https://bugs.webkit.org/show_bug.cgi?id=178369
6132         <rdar://problem/34467603>
6134         Reviewed by Brent Fulgham.
6136         Adds the function statisticsNotifyObserver().
6138         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
6139         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
6140         (WTR::InjectedBundle::statisticsNotifyObserver):
6141         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
6142         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
6143         (WTR::TestRunner::statisticsNotifyObserver):
6144         * WebKitTestRunner/InjectedBundle/TestRunner.h:
6146 2017-10-17  Youenn Fablet  <youenn@apple.com>
6148         Cache API implementation should be able to compute storage size for WebKit client applications.
6149         https://bugs.webkit.org/show_bug.cgi?id=178350
6151         Reviewed by Chris Dumez.
6153         Adding support for a domCacheSize getter.
6155         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
6156         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
6157         (WTR::TestRunner::domCacheSize):
6158         * WebKitTestRunner/InjectedBundle/TestRunner.h:
6159         * WebKitTestRunner/TestController.cpp:
6160         (WTR::FetchCacheSizeForOriginCallbackContext::FetchCacheSizeForOriginCallbackContext):
6161         (WTR::fetchCacheSizeForOriginCallback):
6162         (WTR::TestController::domCacheSize):
6163         * WebKitTestRunner/TestController.h:
6164         * WebKitTestRunner/TestInvocation.cpp:
6165         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
6167 2017-10-17  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>
6169         [GStreamer][GTK][WPE] update-webkit-libs-jhbuild fails to detect changes in included moduleset files
6170         https://bugs.webkit.org/show_bug.cgi?id=178206
6172         Reviewed by Michael Catanzaro.
6174         The update-webkit-libs-jhbuild scripts computes MD5 sum of GTK/WPE jhbuild configuration files to check if it
6175         needs to rebuild the dependencies libraries. This patch fixes a bug when main GTK/WPE jhbuild modules
6176         configuration file includes additional files (for example GStreamer module). It parses jhbuild.modules file to
6177         check if additional files are included. If any, it computes MD5 sum for each of these included files.
6179         * Scripts/update-webkit-libs-jhbuild:
6180         (getJhbuildIncludedFilePaths): New function that returns included files in jhbuild.modules
6181         (jhbuildConfigurationCheckFile): New function to check if MD5 sum file changes.
6182         (jhbuildConfigurationChanged): Add MD5 sum check for included files.
6183         (saveMd5File): New function to save MD5 sum of a file.
6184         (saveJhbuildMd5): Add saving included files MD5 sum.
6185         (deleteJhbuildMd5): Delete included files MD5 sum
6186         * gtk/install-dependencies: Add perl-libXML lib that is used to parse jhbuild file.
6187         * wpe/install-dependencies: Ditto.
6189 2017-10-17  Tomas Popela  <tpopela@redhat.com>
6191         Undefined WK_API_ENABLED warning when compiling COCOA content on WebKitGTK+
6192         https://bugs.webkit.org/show_bug.cgi?id=178208
6194         Check whether we are on COCOA platform before checking for
6195         WK_API_ENABLED.
6197         Reviewed by Ryosuke Niwa.
6199         * WebKitTestRunner/TestController.cpp:
6200         (WTR::TestController::clearDOMCache):
6202 2017-10-17  Keith Miller  <keith_miller@apple.com>
6204         Change WebCore sources to work with unified source builds
6205         https://bugs.webkit.org/show_bug.cgi?id=178229
6207         Rubber stamped by Tim Horton.
6209         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
6211 2017-10-16  Christopher Reid  <chris.reid@sony.com>
6213         [Win] Webkit should still be able to build when unable to check if libraries are up to date
6214         https://bugs.webkit.org/show_bug.cgi?id=178367
6216         Adding a option to skip the check to see if windows libraries are up to date.
6217         This option is useful when testing modified libraries. This option also allows
6218         building webkit when GitHub blocks requests to verify the latest library version.
6221         Reviewed by Per Arne Vollan.
6223         * Scripts/build-webkit:
6225 2017-10-12  Matt Rajca  <mrajca@apple.com>
6227         Add API support for quirk that lets an arbitrary click allow auto-play.
6228         https://bugs.webkit.org/show_bug.cgi?id=178227
6230         Reviewed by Alex Christensen.
6232         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
6233         (TEST): Added API test.
6235 2017-10-16  Maureen Daum  <mdaum@apple.com>
6237         If an origin doesn't have databases in the Databases table we should still remove its information from disk in DatabaseTracker::deleteOrigin()
6238         https://bugs.webkit.org/show_bug.cgi?id=178281
6239         <rdar://problem/34576132>
6241         Reviewed by Brent Fulgham.
6243         Verify that if there is an entry in the Origins table but no entries in the Databases
6244         table that we still remove the directory for the origin, and that we remove the
6245         entry from the Origins table.
6247         * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
6248         (TestWebKitAPI::TEST):
6250 2017-10-15  Ryosuke Niwa  <rniwa@webkit.org>
6252         Cannot access images included in the content pasted from Microsoft Word
6253         https://bugs.webkit.org/show_bug.cgi?id=124391
6254         <rdar://problem/26862741>
6256         Reviewed by Antti Koivisto.
6258         Added tests for sanitizing HTML contents for copy & paste and drag & drop.
6260         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
6261         * TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm: Added.
6262         (readHTMLFromPasteboard): Added.
6263         (createWebViewWithCustomPasteboardDataEnabled): Added.
6264         (CopyHTML.Sanitizes): Added.
6266         * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
6267         (createWebViewWithCustomPasteboardDataEnabled): Added to enable more tests on bots.
6269         * TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
6270         (writeRTFToPasteboard): Added.
6271         (createWebViewWithCustomPasteboardDataEnabled): Added.
6272         (createHelloWorldString): Added.
6273         (PasteRTF.ExposesHTMLTypeInDataTransfer): Added.
6274         (PasteRTFD.ExposesHTMLTypeInDataTransfer): Added.
6275         (PasteRTFD.ImageElementUsesBlobURLInHTML): Added.
6277         * TestWebKitAPI/Tests/WebKitCocoa/copy-html.html: Added.
6278         * TestWebKitAPI/Tests/WebKitCocoa/paste-rtfd.html: Store the clipboardData contents for
6279         PasteRTF.ExposesHTMLTypeInDataTransfer and PasteRTFD.ExposesHTMLTypeInDataTransfer.
6281         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
6282         (DataInteractionTests.DataTransferSanitizeHTML):
6284 2017-10-16  Youenn Fablet  <youenn@apple.com>
6286         Activate Cache API by default
6287         https://bugs.webkit.org/show_bug.cgi?id=178186
6289         Reviewed by Chris Dumez.
6291         Removing explicit activation of cache api.
6293         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
6294         (WTR::InjectedBundle::beginTesting):
6295         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
6296         (WTR::TestRunner::setCacheAPIEnabled): Deleted.
6297         * WebKitTestRunner/InjectedBundle/TestRunner.h:
6299 2017-10-16  Ross Kirsling  <ross.kirsling@sony.com>
6301         run-webkit-tests help text should mention arguments too
6302         https://bugs.webkit.org/show_bug.cgi?id=178352
6304         Reviewed by Tim Horton.
6306         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
6307         (parse_args):
6309 2017-10-16  Maureen Daum  <mdaum@apple.com>
6311         If we fail to delete any database file, don't remove its information from the tracker database
6312         <rdar://problem/34576132> and https://bugs.webkit.org/show_bug.cgi?id=178251
6314         Reviewed by Brady Eidson.
6316         Add tests that verify we correctly delete databases and remove their information from
6317         the tracker database, even if the database doesn't exist. Verify that if we fail to
6318         delete a database, we don't remove its information from the tracker database.
6320         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
6321         Move DatabaseTrackerTest.cpp to DatabaseTrackerTest.mm so that we can use the cocoa
6322         method for creating a temporary directory in the tests.
6323         * TestWebKitAPI/Tests/WebCore/DatabaseTrackerTest.cpp: Removed.
6324         The existing test was copied to DatabaseTrackerTest.mm.
6325         * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm: Added.
6326         (TestWebKitAPI::TEST):
6327         (TestWebKitAPI::addToDatabasesTable):
6328         (TestWebKitAPI::removeDirectoryAndAllContents):
6329         (TestWebKitAPI::createFileAtPath):
6331 2017-10-16  Ryan Haddad  <ryanhaddad@apple.com>
6333         Unreviewed, rolling out r223422.
6335         These tests are for a change that was rolled out in r223420
6337         Reverted changeset:
6339         "If we fail to delete any database file, don't remove its
6340         information from the tracker database"
6341         https://bugs.webkit.org/show_bug.cgi?id=178251
6342         https://trac.webkit.org/changeset/223422
6344 2017-10-16  Maureen Daum  <mdaum@apple.com>
6346         If we fail to delete any database file, don't remove its information from the tracker database
6347         <rdar://problem/34576132> and https://bugs.webkit.org/show_bug.cgi?id=178251
6349         Reviewed by Brady Eidson.
6351         Add tests that verify we correctly delete databases and remove their information from
6352         the tracker database, even if the database doesn't exist. Verify that if we fail to
6353         delete a database, we don't remove its information from the tracker database.
6355         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
6356         Move DatabaseTrackerTest.cpp to DatabaseTrackerTest.mm so that we can use the cocoa
6357         method for creating a temporary directory in the tests.
6358         * TestWebKitAPI/Tests/WebCore/DatabaseTrackerTest.cpp: Removed.
6359         The existing test was copied to DatabaseTrackerTest.mm.
6360         * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm: Added.
6361         (TestWebKitAPI::TEST):
6362         (TestWebKitAPI::addToDatabasesTable):
6363         (TestWebKitAPI::removeDirectoryAndAllContents):
6364         (TestWebKitAPI::createFileAtPath):
6366 2017-10-16  David Kilzer  <ddkilzer@apple.com>
6368         Add RELEASE_ASSERT_WITH_SECURITY_IMPLICATION() macro
6369         <https://webkit.org/b/178269>
6371         Reviewed by Alex Christensen.
6373         * Scripts/webkitpy/style/checkers/cpp.py:
6374         (check_language): Add checker to warn about using
6375         ASSERT_WITH_SECURITY_IMPLICATION().
6376         (CppChecker.categories): Add 'security/assertion' to list of
6377         enabled checkers.
6378         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
6379         (CppStyleTest.test_debug_security_assertion): Add tests for
6380         new checker.
6382 2017-10-16  Chris Dumez  <cdumez@apple.com>
6384         Clicks on Link with download attribute causes all (other) links to trigger download when clicked
6385         https://bugs.webkit.org/show_bug.cgi?id=178267
6386         <rdar://problem/34985016>
6388         Reviewed by Darin Adler.
6390         Use PassThrough policy in WKTR's InjectedBundle's decidePolicyForNewWindowAction so that the
6391         request is sent to the UIProcess. This gets WKTR's closer to Safari behavior and helps
6392         reproduce the bug. Without this change, I would not be able to write a regression test for
6393         this bug that is very easily reproducible in Safari.
6395         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
6396         (WTR::InjectedBundlePage::decidePolicyForNewWindowAction):
6398 2017-10-16  Emilio Cobos Álvarez  <emilio@crisal.io>
6400         Add Emilio Cobos Álvarez to the contributors list.
6401         https://bugs.webkit.org/show_bug.cgi?id=178334
6403         Reviewed by Antti Koivisto.
6405         * Scripts/webkitpy/common/config/contributors.json:
6407 2017-10-07  Maciej Stachowiak  <mjs@apple.com>
6409         Improve --help documentation and add --list-plans to show available benchmarks.
6410         https://bugs.webkit.org/show_bug.cgi?id=178059
6412         Reviewed by Ryosuke Niwa.
6414         * Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
6415         (BenchmarkRunner.available_plans): New function that returns the list of available plans.
6416         (BenchmarkRunner.plan_directory): New method to centralize knowledge of where the plan files live.
6417         (BenchmarkRunner._find_plan_file): Updated to use BenchmarkRunner.plan_directory
6419         * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
6420         
6421         (parse_args): Help cleanup: Reordered options to put more common
6422         ones at the top. Fixed wording. Added help for each
6423         option. Explained default for each option that has one.
6425         New option: --list-plans which tells you the available benchmarks.
6426         
6427         Code cleanup: Removed use of dest where redundant, made variable
6428         names conforming to Python coding style.
6429         
6430         (run_benchmark_plan): Adapted for new variable names.
6431         (list_benchmark_plans): New helper for --list-plans option.
6432         (start): Account for --list-plans. Also use
6433         BechmarkRunner.available_plans and use
6434         BenchmarkRunner.plan_directory instead of duplicating
6435         code/knowledge here.
6437 2017-10-16  Wenson Hsieh  <wenson_hsieh@apple.com>
6439         On ToT, event.dataTransfer.getData("text/uri-list") returns an empty string when dragging an image
6440         https://bugs.webkit.org/show_bug.cgi?id=178301
6441         <rdar://problem/34990050>
6443         Reviewed by Darin Adler.
6445         Fixes issues in DumpRenderTree's LocalPasteboard to ensure that drag-drop-href-as-url.html exposes files, and
6446         also adds a new iOS drag and drop API test.
6448         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
6449         (-[LocalPasteboard addTypes:owner:]):
6450         (-[LocalPasteboard setData:forType:]):
6452         Fixes LocalPasteboard's implementation of changeCount to incremement when the pasteboard owner changes, rather
6453         than every time data is changed. This is consistent with NSPasteboard behavior.
6455         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
6456         (TestWebKitAPI::TEST):
6458         Adds a new API test to verify that an image and HTTP URL written by the platform is correctly web exposed.
6460 2017-10-15  Darin Adler  <darin@apple.com>
6462         UTF-8 decoding produces one replacement character per byte; Encoding standard requires one replacement character per illegal sequence instead
6463         https://bugs.webkit.org/show_bug.cgi?id=178207
6465         Reviewed by Sam Weinig.
6467         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added test.
6468         * TestWebKitAPI/Tests/WebCore/TextCodec.cpp: Added.
6469         (TestWebKitAPI::decodeHexTestBytes): Decodes a string so we can write readable tests.
6470         (TestWebKitAPI::escapeNonPrintableASCIICharacters): Encodes a string so we can write readable tests.
6471         (TestWebKitAPI::TEST): Added some UTF-8 tests and UTF-8 invalid sequences tests.
6472         Would be smart to add more tests for other cases, exercising the fast ASCII loop for example, and
6473         other encodings.
6475 2017-10-14  Adrian Perez de Castro  <aperez@igalia.com>
6477         [WPE] JHBuild build directory DependenciesWPE/Build is not removed by update-webkit-libs-jhbuild
6478         https://bugs.webkit.org/show_bug.cgi?id=178212
6480         Reviewed by Michael Catanzaro.
6482         * Scripts/update-webkit-libs-jhbuild:
6483         (cleanJhbuild): The WPE JHBuild also uses a separate "Build" subdirectory, so do not skip
6484         cleaning it when "--wpe" is passed to the script.
6486 2017-10-13  Adrian Perez de Castro  <aperez@igalia.com>
6488         [WPE] Fontconfig fails build in JHBuild with “error: conflicting types for ‘FcObjectTypeHash’”
6489         https://bugs.webkit.org/show_bug.cgi?id=178283
6491         Reviewed by Žan Doberšek.
6493         * wpe/jhbuild.modules: Flag Fontconfig to be built inside the source directory, otherwise
6494         compilation fails. While at it, pass "--disable-docs" to cut a bit on build time.
6496 2017-10-13  Youenn Fablet  <youenn@apple.com>
6498         Implement listing origins for which CacheStorage is storing data
6499         https://bugs.webkit.org/show_bug.cgi?id=178236
6501         Reviewed by Chris Dumez.
6503         Adding hasDOMCache API for checking whether origin is storing data through Cache API.
6505         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
6506         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
6507         (WTR::TestRunner::hasDOMCache):
6508         * WebKitTestRunner/InjectedBundle/TestRunner.h:
6509         * WebKitTestRunner/TestController.cpp:
6510         (WTR::FetchCacheOriginsCallbackContext::FetchCacheOriginsCallbackContext):
6511         (WTR::fetchCacheOriginsCallback):
6512         (WTR::TestController::hasDOMCache):
6513         * WebKitTestRunner/TestController.h:
6514         * WebKitTestRunner/TestInvocation.cpp:
6515         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
6517 2017-10-13  Alex Christensen  <achristensen@webkit.org>
6519         Remove Editor::simplifyMarkup
6520         https://bugs.webkit.org/show_bug.cgi?id=178271
6522         Reviewed by Wenson Hsieh.
6524         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
6525         * TestWebKitAPI/Tests/mac/SimplifyMarkup.mm: Removed.
6527 2017-10-11  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
6529         [GLib] WebKitNavigationAction should tell whether it is a redirect
6530         https://bugs.webkit.org/show_bug.cgi?id=178178
6532         Test that WebKitNavigationAction properly reports being a redirect.
6534         Reviewed by Carlos Garcia Campos.
6536         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp:
6537         (testNavigationPolicy): test that loading /redirect leads to a redirect WebKitNavigationAction.
6538         (serverCallback): add a /redirect path to the server, which causes a redirect.
6540 2017-10-13  Chris Dumez  <cdumez@apple.com>
6542         Unreviewed, fix webkitpy failure after r223273
6544         * Scripts/webkitpy/w3c/test_importer_unittest.py:
6545         (TestImporterTest.test_harnesslinks_conversion):
6547 2017-10-12  Chris Dumez  <cdumez@apple.com>
6549         import-w3c-tests modifies test sources and sometimes causes them to fail
6550         https://bugs.webkit.org/show_bug.cgi?id=178234
6552         Reviewed by Ryosuke Niwa.
6554         Update import-w3c-tests to stop rewriting tests as this is causing some tests
6555         to fail unexpectedly.
6557         * Scripts/webkitpy/w3c/test_importer.py:
6558         (TestImporter.import_tests):
6560 2017-10-12  Youenn Fablet  <youenn@apple.com>
6562         Layout Test http/tests/cache-storage/cache-clearing.https.html is failing
6563         https://bugs.webkit.org/show_bug.cgi?id=178200
6565         Reviewed by Chris Dumez.
6567         Making clearDOMCache wait for removal completion to exit.
6568         This removes the risk to interact with the cache while deleting it which will end up be racy in tests.
6570         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
6571         (WTR::TestRunner::clearDOMCache):
6572         * WebKitTestRunner/TestController.cpp:
6573         (WTR::ClearDOMCacheCallbackContext::ClearDOMCacheCallbackContext):
6574         (WTR::clearDOMCacheCallback):
6575         (WTR::TestController::clearDOMCache):
6576         * WebKitTestRunner/TestInvocation.cpp:
6577         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
6578         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
6580 2017-10-12  John Wilander  <wilander@apple.com>
6582         ResourceLoadObserver::logFrameNavigation() should use redirectResponse.url()
6583         https://bugs.webkit.org/show_bug.cgi?id=175257
6584         <rdar://problem/33359866>
6586         Reviewed by Brent Fulgham.
6588         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
6589         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
6590         (WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder):
6591         (WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo):
6592         * WebKitTestRunner/InjectedBundle/TestRunner.h:
6593         * WebKitTestRunner/TestController.cpp:
6594         (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
6595             Not implemented.
6596         (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
6597             Not implemented.
6598         * WebKitTestRunner/TestController.h:
6599         * WebKitTestRunner/TestInvocation.cpp:
6600         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
6601         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
6602         (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
6603             Implemented platform-specific.
6604         (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
6605             Implemented platform-specific.
6607 2017-10-12  Andy Estes  <aestes@apple.com>
6609         [iOS] Conditionally rename DatabaseProcess to StorageProcess when building for iOS devices
6610         https://bugs.webkit.org/show_bug.cgi?id=178181
6611         <rdar://problem/33660282>
6613         Reviewed by Dan Bernstein.
6615         * WebKitTestRunner/TestController.cpp:
6616         (WTR::TestController::databaseProcessName):
6618 2017-10-12  Myles C. Maxfield  <mmaxfield@apple.com>
6620         Emit SPIR-V from WSL compiler (Part 1)
6621         https://bugs.webkit.org/show_bug.cgi?id=177998
6623         Reviewed by Filip Pizlo.
6625         This patch implements the first half of a SPIR-V codegen phase for WSL.
6626         This includes all the operations which aren't actually emitting the contents
6627         of functions themselves. For example, this includes things like representing
6628         WSL types with SPIR-V types, and declaring shaders' inputs and outputs. A
6629         future patch will actually emit the contents of functions.
6631         There are two helper visitors here: SPIRVTypeAnalyzer which generates SPIR-V
6632         types from WSL types, and SPIRVPrimitiveVariableAnalyzer which identifies
6633         input and output variables from a shader (and assigns location values to
6634         each one).
6636         This patch is currently pursuing the "logical mode" detailed in
6637         https://bugs.webkit.org/show_bug.cgi?id=176967. In this mode, each pointer and
6638         array reference operation can be statically traced to the variable or array it
6639         is operating on.
6641         This has the interesting property where accessing a pointer inside an array is
6642         forbidden, because the array index may be computed at runtime, so the compiler
6643         can't know at compile time which variable the pointer operation will be
6644         accessing. However, this isn't true for structs; the program must statically
6645         state which struct member it is accessing. Therefore, pointers or array
6646         references must not transitively appear within an array, but they may appear
6647         within a struct. The same logic applies to array references; those get lowered
6648         to just two indexes in SPIR-V (a lower bound and an upper bound).
6650         So, outside of an array, SPIR-V types don't need to include any pointers because
6651         any operation with the pointer doesn't need access to the runtime value of the
6652         pointer. Inside of an array, pointers are forbidden. Therefore, SPIR-V types
6653         will never include any pointers.
6655         This means that, for example, WSL can represent a linked list in logical mode.
6656         However, a WSL program cannot iterate across the list, because that would require
6657         assigning to a pointer. So instead, a program using a linked list could only say
6658         something like "list.ptr->ptr->ptr->value".
6660         * WebGPUShadingLanguageRI/LateChecker.js:
6661         (LateChecker.prototype._checkShaderType):
6662         * WebGPUShadingLanguageRI/SPIR-V.js:
6663         (SPIRV.OperandChecker.prototype._isStar):
6664         (SPIRV.OperandChecker.prototype.nextComparisonType):
6665         (SPIRV.OperandChecker.prototype.finalize):
6666         (SPIRV.OperandChecker):
6667         * WebGPUShadingLanguageRI/SPIRV.html:
6668         * WebGPUShadingLanguageRI/SPIRVCodegen.js: Added.
6669         (findEntryPoints):
6670         (emitTypes.doEmitTypes):
6671         (emitTypes):
6672         (ConstantFinder.prototype.visitGenericLiteralType):
6673         (ConstantFinder):
6674         (generateSPIRV):
6675         * WebGPUShadingLanguageRI/SPIRVTypeAnalyzer.js: Added.
6676         (SPIRVTypeAnalyzer):
6677         (SPIRVTypeAnalyzer.prototype.get program):
6678         (SPIRVTypeAnalyzer.prototype.get typeMap):
6679         (SPIRVTypeAnalyzer.prototype.get currentId):
6680         (SPIRVTypeAnalyzer.prototype.get stack):
6681         (SPIRVTypeAnalyzer.prototype.visitTypeRef):
6682         (SPIRVTypeAnalyzer.prototype._encounterType):
6683         (SPIRVTypeAnalyzer.prototype.visitNullType):
6684         (SPIRVTypeAnalyzer.prototype.visitGenericLiteralType):
6685         (SPIRVTypeAnalyzer.prototype.visitNativeType):
6686         (SPIRVTypeAnalyzer.prototype.visitEnumType):
6687         (SPIRVTypeAnalyzer.prototype.visitPtrType):
6688         (SPIRVTypeAnalyzer.prototype.visitArrayRefType):
6689         (SPIRVTypeAnalyzer.prototype.visitArrayType):
6690         (SPIRVTypeAnalyzer.prototype.visitStructType):
6691         * WebGPUShadingLanguageRI/SPIRVVariableAnalyzer.js: Added.
6692         (SPIRVPrimitiveVariableAnalyzer):
6693         (SPIRVPrimitiveVariableAnalyzer.prototype.get program):
6694         (SPIRVPrimitiveVariableAnalyzer.prototype.get typeMap):
6695         (SPIRVPrimitiveVariableAnalyzer.prototype.get currentId):
6696         (SPIRVPrimitiveVariableAnalyzer.prototype.get currentLocation):
6697         (SPIRVPrimitiveVariableAnalyzer.prototype.get nameComponents):
6698         (SPIRVPrimitiveVariableAnalyzer.prototype.get result):
6699         (SPIRVPrimitiveVariableAnalyzer.prototype.visitTypeRef):
6700         (SPIRVPrimitiveVariableAnalyzer.prototype.visitNullType):
6701         (SPIRVPrimitiveVariableAnalyzer.prototype.visitGenericLiteralType):
6702         (SPIRVPrimitiveVariableAnalyzer.prototype.visitNativeType):
6703         (SPIRVPrimitiveVariableAnalyzer.prototype.visitEnumType):
6704         (SPIRVPrimitiveVariableAnalyzer.prototype.visitPtrType):
6705         (SPIRVPrimitiveVariableAnalyzer.prototype.visitArrayRefType):
6706         (SPIRVPrimitiveVariableAnalyzer.prototype.visitArrayType):
6707         (SPIRVPrimitiveVariableAnalyzer.prototype.visitStructType):
6708         * WebGPUShadingLanguageRI/WSL.md:
6709         * WebGPUShadingLanguageRI/index.html:
6711 2017-09-29  Filip Pizlo  <fpizlo@apple.com>
6713         Enable gigacage on iOS
6714         https://bugs.webkit.org/show_bug.cgi?id=177586
6716         Reviewed by JF Bastien.
6717         
6718         Add a mode to test disabling Gigacage.
6720         * Scripts/run-jsc-stress-tests:
6721         * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
6723 2017-10-11  Sam Weinig  <sam@webkit.org>
6725         Remove out-parameter variants of copyToVector
6726         https://bugs.webkit.org/show_bug.cgi?id=178155
6728         Reviewed by Tim Horton.
6730         * DumpRenderTree/JavaScriptThreading.cpp:
6731         (stopJavaScriptThreads):
6733 2017-10-12  Sam Weinig  <sam@webkit.org>
6735         It should be possible to iterate just the values (and not the counts) of a HashCountedSet
6736         https://bugs.webkit.org/show_bug.cgi?id=178169
6738         Reviewed by Daniel Bates.
6740         * TestWebKitAPI/Tests/WTF/HashCountedSet.cpp:
6741         (TestWebKitAPI::TEST):
6742         Add test for HashCountedSet's new values() range.
6744 2017-10-11  Frederic Wang  <fwang@igalia.com>
6746         run-safari --ios-simulator is no longer working with Xcode 9
6747         https://bugs.webkit.org/show_bug.cgi?id=177595
6749         Reviewed by Daniel Bates.
6751         In Xcode 9, the path of the simulator application is now in a new CoreSimulator subdirectory
6752         of the iphoneOS SDK platform. This patch updates webkitdirs.pm to use the new path in
6753         Xcode 9 or higher so that it is possible to run Safari on the iOS simulator again. It also
6754         does some minor code refactoring to improve code reuse.
6756         * Scripts/configure-xcode-for-ios-development: Move sdkDirectory() and sdkPlatformDirectory()
6757         into webkitdirs.
6758         (sdkDirectory): Deleted.
6759         (sdkPlatformDirectory): Deleted.
6760         * Scripts/webkitdirs.pm: Expose new sdkDirectory() and sdkPlatformDirectory().
6761         (sdkDirectory): Moved from configure-xcode-for-ios-development.
6762         (sdkPlatformDirectory): Ditto.
6763         (XcodeSDKPath): Rely on sdkDirectory() to implement this function.
6764         (iosSimulatorApplicationsPath): In Xcode 9 or higher use the new path. It is calculated
6765         by relying on sdkPlatformDirectory().
6767 2017-10-11  Dewei Zhu  <dewei_zhu@apple.com>
6769         run-benchmark script should set '__XPC_DYLD_FRAMEWORK_PATH' while launching local-built Safari on Mac.
6770         https://bugs.webkit.org/show_bug.cgi?id=178199
6772         Reviewed by Saam Barati.
6774         '__XPC_DYLD_FRAMEWORK_PATH' should be set while launching Safari on run-benchmark script.
6775         'force_remove' function should support both file and directory.
6777         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
6778         (OSXSafariDriver.launch_url):
6779         * Scripts/webkitpy/benchmark_runner/utils.py:
6780         (force_remove):
6782 2017-10-11  Saam Barati  <sbarati@apple.com>
6784         Runtime disable poly proto because it may be a 3-4% Speedometer regression
6785         https://bugs.webkit.org/show_bug.cgi?id=178192
6787         Reviewed by JF Bastien.
6789         * Scripts/run-jsc-stress-tests:
6791 2017-10-11  Youenn Fablet  <youenn@apple.com>
6793         Add API to clean CacheStorage data
6794         https://bugs.webkit.org/show_bug.cgi?id=178034
6796         Reviewed by Chris Dumez.
6798         Adding internals API to trigger deleting all or origin-persistent cache storage persistent data. 
6800         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
6801         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
6802         (WTR::TestRunner::clearDOMCache):
6803         * WebKitTestRunner/InjectedBundle/TestRunner.h:
6804         * WebKitTestRunner/TestController.cpp:
6805         (WTR::TestController::clearDOMCache):
6806         * WebKitTestRunner/TestController.h:
6807         * WebKitTestRunner/TestInvocation.cpp:
6808         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
6810 2017-10-11  Chris Dumez  <cdumez@apple.com>
6812         [Geolocation] Expose Coordinates.floorLevel
6813         https://bugs.webkit.org/show_bug.cgi?id=178173
6814         <rdar://problem/34918936>
6816         Reviewed by Ryosuke Niwa.
6818         Add test infrastructure for testing Coordinates.floorLevel.
6820         * DumpRenderTree/TestRunner.cpp:
6821         (setMockGeolocationPositionCallback):
6822         * DumpRenderTree/TestRunner.h:
6823         * DumpRenderTree/mac/TestRunnerMac.mm:
6824         (TestRunner::setMockGeolocationPosition):
6825         * DumpRenderTree/win/TestRunnerWin.cpp:
6826         (TestRunner::setMockGeolocationPosition):
6827         * WebKitTestRunner/GeolocationProviderMock.cpp:
6828         (WTR::GeolocationProviderMock::setPosition):
6829         * WebKitTestRunner/GeolocationProviderMock.h:
6830         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
6831         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
6832         (WTR::InjectedBundle::setMockGeolocationPosition):
6833         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
6834         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
6835         (WTR::TestRunner::setMockGeolocationPosition):
6836         * WebKitTestRunner/InjectedBundle/TestRunner.h:
6837         * WebKitTestRunner/TestController.cpp:
6838         (WTR::TestController::setMockGeolocationPosition):
6839         * WebKitTestRunner/TestController.h:
6840         * WebKitTestRunner/TestInvocation.cpp:
6841         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
6843 2017-10-11  Youenn Fablet  <youenn@apple.com>
6845         Bump default cache storage quota to 20MB
6846         https://bugs.webkit.org/show_bug.cgi?id=178132
6848         Reviewed by Alex Christensen.
6850         * WebKitTestRunner/TestController.cpp:
6851         (WTR::TestController::generateContextConfiguration const):
6852         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
6853         (WTR::initializeWebViewConfiguration): Setting quota to 400kb
6855 2017-10-11  Commit Queue  <commit-queue@webkit.org>
6857         Unreviewed, rolling out r223113 and r223121.
6858         https://bugs.webkit.org/show_bug.cgi?id=178182
6860         Reintroduced 20% regression on Kraken (Requested by rniwa on
6861         #webkit).
6863         Reverted changesets:
6865         "Enable gigacage on iOS"
6866         https://bugs.webkit.org/show_bug.cgi?id=177586
6867         https://trac.webkit.org/changeset/223113
6869         "Use one virtual allocation for all gigacages and their
6870         runways"
6871         https://bugs.webkit.org/show_bug.cgi?id=178050
6872         https://trac.webkit.org/changeset/223121
6874 2017-10-11  Ryosuke Niwa  <rniwa@webkit.org>
6876         Sanitize URL in pasteboard for other applications and cross origin content
6877         https://bugs.webkit.org/show_bug.cgi?id=178060
6878         <rdar://problem/34874518>
6880         Reviewed by Wenson Hsieh.
6882         Added API tests for sanitizing URLs copied from web content, and that the original URL is exposed to the web content.
6884         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
6885         * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm: Added.
6886         (readURLFromPasteboard): A helper function.
6887         * TestWebKitAPI/Tests/WebKitCocoa/copy-url.html: Added.
6888         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
6889         (DataInteractionTests.DataTransferGetDataWhenDroppingCustomData): Rebaselined. https://www.apple.com is no longer
6890         normalized to https://www.apple.com/ by NSURL / UIPasteboard as expected.
6891         (DataInteractionTests.DataTransferSetDataValidURL): Added.
6892         (DataInteractionTests.DataTransferSetDataUnescapedURL): Added.
6893         (DataInteractionTests.qDataTransferSetDataInvalidURL): Added.
6895 2017-10-11  Chris Dumez  <cdumez@apple.com>
6897         Modernize Geolocation code
6898         https://bugs.webkit.org/show_bug.cgi?id=178148
6900         Reviewed by Ryosuke Niwa.
6902         * DumpRenderTree/mac/TestRunnerMac.mm:
6903         (TestRunner::setMockGeolocationPosition):
6905 2017-10-11  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>
6907         [GStreamer] Many media source tests crashing with GStreamer-CRITICAL **: _gst_util_uint64_scale: assertion 'denom != 0' failed in gst_qtdemux_configure_stream()
6908         https://bugs.webkit.org/show_bug.cgi?id=176804
6910         Reviewed by Michael Catanzaro.
6912         Add patch to fix assert in qtdemux.
6914         * gstreamer/jhbuild.modules:
6915         * gstreamer/patches/gst-plugins-good-0009-qtdemux-fix-assert-when-moof-contains-one-sample.patch: Added.
6917 2017-10-11  Tomas Popela  <tpopela@redhat.com>
6919         Use https for trac changeset and browser links
6920         https://bugs.webkit.org/show_bug.cgi?id=178167
6922         Reviewed by Alexey Proskuryakov.
6924         Switch the http://trac.webkit.org/changeset and
6925         http://trac.webkit.org/browser links that are printed by webkitpy to
6926         https. Also update the test expectations.
6928         * Scripts/webkitpy/common/checkout/checkout_unittest.py:
6929         * Scripts/webkitpy/common/config/committervalidator_unittest.py:
6930         (CommitterValidatorTest.test_flag_permission_rejection_message):
6931         * Scripts/webkitpy/common/config/urls.py:
6932         (view_source_url):
6933         (view_revision_url):
6934         * Scripts/webkitpy/common/net/bugzilla/bug_unittest.py:
6935         (BugTest.test_commit_revision):
6936         * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
6937         * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:
6938         * Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
6939         (MainTest):
6940         (MainTest.test_run_with_upload_json_should_generate_perf_webkit_json):
6941         * Scripts/webkitpy/style/checkers/changelog_unittest.py:
6942         (ChangeLogCheckerTest.test_missing_bug_number):
6943         * Scripts/webkitpy/tool/bot/feeders_unittest.py:
6944         * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
6945         * Scripts/webkitpy/tool/bot/ircbot_unittest.py:
6946         (IRCBotTest.test_rollout):
6947         (IRCBotTest.test_revert):
6948         (IRCBotTest.test_multi_rollout):
6949         (IRCBotTest.test_rollout_with_r_in_svn_revision):
6950         (IRCBotTest.test_multi_rollout_with_r_in_svn_revision):
6951         (IRCBotTest.test_rollout_invalidate_reason):
6952         (test_multi_rollout_invalidate_reason):
6953         * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
6954         * Scripts/webkitpy/tool/commands/download_unittest.py:
6955         * Scripts/webkitpy/tool/commands/newcommitbot_unittest.py:
6956         * Scripts/webkitpy/tool/commands/queues_unittest.py:
6957         * Scripts/webkitpy/tool/commands/suggestnominations.py:
6958         (SuggestNominations._count_commit):
6959         * Scripts/webkitpy/tool/commands/upload_unittest.py:
6960         * Scripts/webkitpy/tool/servers/data/rebaselineserver/util.js:
6961         (getTracUrl):
6962         (getSortedKeys):
6963         * Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
6964         (CloseBugForLandDiffTest.test_empty_state):
6965         * Scripts/webkitpy/tool/steps/commit_unittest.py:
6966         (CommitTest._test_check_test_expectations):
6967         * Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py:
6968         (UpdateChangeLogsForRevertTest):
6970 2017-10-10  Ryosuke Niwa  <rniwa@webkit.org>
6972         Enable custom pasteboard data in DumpRenderTree and WebKitTestRunner
6973         https://bugs.webkit.org/show_bug.cgi?id=178154
6975         Reviewed by Wenson Hsieh.
6977         Fixed the bug that LocalPasteboard would fail to load the promise type if data is set after declaring types
6978         by delaying the call to provideDataForType until when dataForType is called.
6980         Without this fix, fast/events/dropzone-002.html would start failing after enabling custom pasteboard data.
6981         With this fix, fast/events/dropzone-005.html also starts passing.
6983         * DumpRenderTree/mac/DumpRenderTree.mm:
6984         (resetWebPreferencesToConsistentValues):
6985         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
6986         (-[LocalPasteboard addTypes:owner:]):
6987         (-[LocalPasteboard dataForType:]):
6988         * WebKitTestRunner/TestController.cpp:
6989         (WTR::TestController::resetPreferencesToConsistentValues):
6991 2017-10-10  Joanmarie Diggs  <jdiggs@igalia.com>
6993         AX: [ATK] ARIA form role should be mapped to ATK_ROLE_LANDMARK; not ATK_ROLE_FORM
6994         https://bugs.webkit.org/show_bug.cgi?id=178137
6996         Reviewed by Chris Fleizach.
6998         Add handling for ATK_ROLE_LANDMARK resulting from the ARIA form role.
7000         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
7002 2017-10-10  Jonathan Bedard  <jbedard@apple.com>
7004         run-webkit-tests: upload test results to multiple servers
7005         https://bugs.webkit.org/show_bug.cgi?id=178012
7006         <rdar://problem/34856501>
7008         Reviewed by Lucas Forschler.
7010         Allowing uploading of results to multiple servers makes developing new results
7011         databases much easier, and does not complicate uploading logic.
7013         * Scripts/webkitpy/layout_tests/controllers/manager.py:
7014         (Manager.upload_results): Iterate through the list of results server hosts and
7015         send results to each one.
7016         * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
7017         (JSONLayoutResultsGenerator.__init__): Accept a list of test results servers.
7018         * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
7019         (JSONResultsGenerator.__init__): Accept a list of test results servers.
7020         (JSONResultsGenerator.get_json): Pick which server to download from by index.
7021         (JSONResultsGenerator.upload_json_files): Upload the JSON to each results server.
7022         (JSONResultsGenerator._get_archived_json_results): Pick which server to download from.
7023         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
7024         (parse_args): Allow multiple test-results-servers and results-server-hosts to be
7025         passed to run-webkit-tests. 
7027 2017-10-09  Youenn Fablet  <youenn@apple.com>
7029         Vector should be able to easily create from a list of movable only items
7030         https://bugs.webkit.org/show_bug.cgi?id=176432
7032         Reviewed by Darin Adler.
7034         * TestWebKitAPI/Tests/WTF/Vector.cpp:
7035         (TestWebKitAPI::TEST):
7037 2017-09-29  Filip Pizlo  <fpizlo@apple.com>
7039         Enable gigacage on iOS
7040         https://bugs.webkit.org/show_bug.cgi?id=177586
7042         Reviewed by JF Bastien.
7043         
7044         Add a mode to test disabling Gigacage.
7046         * Scripts/run-jsc-stress-tests:
7047         * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
7049 2017-10-09  Commit Queue  <commit-queue@webkit.org>
7051         Unreviewed, rolling out r223015 and r223025.
7052         https://bugs.webkit.org/show_bug.cgi?id=178093
7054         Regressed Kraken on iOS by 20% (Requested by keith_mi_ on
7055         #webkit).
7057         Reverted changesets:
7059         "Enable gigacage on iOS"
7060         https://bugs.webkit.org/show_bug.cgi?id=177586
7061         http://trac.webkit.org/changeset/223015
7063         "Unreviewed, disable Gigacage on ARM64 Linux"
7064         https://bugs.webkit.org/show_bug.cgi?id=177586
7065         http://trac.webkit.org/changeset/223025
7067 2017-10-09  Sam Weinig  <sam@webkit.org>
7069         Make HashMap::keys() and HashMap::values() work with WTF::map/WTF::copyToVector
7070         https://bugs.webkit.org/show_bug.cgi?id=178072
7072         Reviewed by Darin Adler.
7074         * TestWebKitAPI/Tests/WTF/Vector.cpp:
7075         (TestWebKitAPI::TEST):
7076         
7077             Add tests for HashMap::keys() and HashMap::values() working with copyToVector.
7079 2017-10-05  Frederic Wang  <fwang@igalia.com>
7081         Remove WOFF2 from Source/ThirdParty.
7082         https://bugs.webkit.org/show_bug.cgi?id=177862
7084         Reviewed by Michael Catanzaro.
7086         * Scripts/webkitpy/style/checker.py: Remove woff2.
7087         * gtk/jhbuild.modules: Add new jhbuild module for woff2.
7089 2017-10-08  Sam Weinig  <sam@webkit.org>
7091         It should be possible to create a ListHashSet with a std::initializer_list.
7092         https://bugs.webkit.org/show_bug.cgi?id=178070
7094         Reviewed by Darin Adler.
7096         * TestWebKitAPI/Tests/WTF/ListHashSet.cpp:
7097         (TestWebKitAPI::TEST):
7098         Add a test for using std::initializer_list with ListHashSet.
7100 2017-10-08  Sam Weinig  <sam@webkit.org>
7102         There should be a version of copyToVector that returns a Vector, rather than using an out parameter
7103         https://bugs.webkit.org/show_bug.cgi?id=177732
7105         Reviewed by Saam Barati.
7107         * TestWebKitAPI/Tests/WTF/Vector.cpp:
7108         (TestWebKitAPI::TEST):
7109         Add tests for the new copyToVector and copyToVectorOf functions.
7111 2017-10-08  Darin Adler  <darin@apple.com>
7113         Fix bugs related to setting reflected floating point DOM attributes
7114         https://bugs.webkit.org/show_bug.cgi?id=178061
7116         Reviewed by Sam Weinig.
7118         * TestWebKitAPI/Tests/WTF/AtomicString.cpp: Added a test of the
7119         AtomicString::number function, based on the test cases we already
7120         had for String::numberToStringECMAScript, and with some additional
7121         cases with powers of 10 that check handling of trailng zeroes.
7123         * TestWebKitAPI/Tests/WTF/WTFString.cpp: Added test cases to the
7124         existing tests of the String::numberToStringECMAScript function
7125         as above. Also added tests for String::number and for
7126         String::numberToStringFixedWidth. Also changed the tests to all use
7127         EXPECT instead of ASSERT macros since these are all non-fatal.
7129         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
7130         (WTR::dumpFrameScrollPosition): Use StringBuilder::appendECMAScriptNumber
7131         instead of String::number.
7133 2017-10-08  Dean Jackson  <dino@apple.com>
7135         Make sort-Xcode-project file handle UnifiedSources
7136         https://bugs.webkit.org/show_bug.cgi?id=178042
7138         Reviewed by Sam Weinig.
7140         Sort the UnifiedSource(\d+) files by number rather
7141         than alphabetically.
7143         * Scripts/sort-Xcode-project-file:
7144         (sortChildrenByFileName):
7145         (sortFilesByFileName):
7147 2017-09-29  Filip Pizlo  <fpizlo@apple.com>
7149         Enable gigacage on iOS
7150         https://bugs.webkit.org/show_bug.cgi?id=177586
7152         Reviewed by JF Bastien.
7153         
7154         Add a mode to test disabling Gigacage.
7156         * Scripts/run-jsc-stress-tests:
7157         * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
7159 2017-10-06  Aishwarya Nirmal  <anirmal@apple.com>
7161         [iOS] Respect the "caret-color" CSS property when editing
7162         https://bugs.webkit.org/show_bug.cgi?id=177489
7163         <rdar://problem/34600419>
7165         Reviewed by Tim Horton.
7167         Adds test for iOS caret color support.
7169         * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
7170         (TestWebKitAPI::TEST):
7171         * TestWebKitAPI/ios/UIKitSPI.h:
7173 2017-10-06  Alex Christensen  <achristensen@webkit.org>
7175         Add more infrastructure to apply custom header fields to same-origin requests
7176         https://bugs.webkit.org/show_bug.cgi?id=177629
7178         Reviewed by Ryosuke Niwa.
7180         * TestWebKitAPI/Tests/WebCore/HTTPHeaderField.cpp:
7181         (canonicalizeHTTPHeader):
7182         (shouldRemainUnchanged):
7183         (shouldBeInvalid):
7184         (shouldBecome):
7185         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
7186         (TEST):
7187         (expectHeaders):
7188         (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
7189         (-[CustomHeaderFieldsDelegate webView:startURLSchemeTask:]):
7190         (-[CustomHeaderFieldsDelegate webView:stopURLSchemeTask:]):
7192         Test main resource requests, subresource requests, and cross-origin requests.
7194 2017-10-06  Wenson Hsieh  <wenson_hsieh@apple.com>
7196         [iOS] Tweak support for classifying form controls (followup to r222487)
7197         https://bugs.webkit.org/show_bug.cgi?id=177917
7198         <rdar://problem/34820122>
7200         Reviewed by Dean Jackson.
7202         Minor cleanup around autofill API tests added in r222487. Additionally, augments some of these API tests to
7203         verify that after blurring the focused element, the content view no longer accepts autofill credentials (see
7204         WebKit ChangeLog for more details). Also augments tests to verify that the URL in the autofill context matches
7205         the document URL.
7207         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
7209         Remove the USE(APPLE_INTERNAL_SDK) guard for these API tests.
7211         (newUIKeyboardLoginCredentialsSuggestion):
7213         Add a stub implementation of UIKeyboardLoginCredentialsSuggestion. This allows
7214         [UIKeyboardLoginCredentialsSuggestion new] to return a nonnull object, which allows these API tests to verify
7215         that the credential filling codepath works as intended without any additional UIKit changes. Currently, tests
7216         for the value of username and password fields are passing even though the fields are not being populated because
7217         the expected string values are null, and the observed value is an empty string. We instead check the literal
7218         string values here instead of credentialSuggestion's properties, so that tests verifying the behavior of
7219         -insertTextSuggestion: will require username and password inputs to be populated.
7221         (-[TestInputDelegate _webView:focusShouldStartInputSession:]):
7222         (-[AutofillTestView initWithFrame:]):
7223         (-[AutofillTestView _autofillInputView]):
7224         (-[AutofillTestView textInputHasAutofillContext]):
7225         (TestWebKitAPI::TEST):
7227         Add an additional API test to verify that programmatic focus without user interaction (and also without testing
7228         overrides) does not activate autofill.
7230         (createUIKeyboardLoginCredentialsSuggestion): Deleted.
7231         (-[WKWebView _privateTextInput]): Deleted.
7232         * TestWebKitAPI/ios/UIKitSPI.h:
7234         Minor gardening to remove iOS version >= 11 guards that are now unnecessary. Additionally, add some more private
7235         header imports (with corresponding interface definitions for building and running with the public SDK).
7237 2017-10-06  Antti Koivisto  <antti@apple.com>
7239         Minor WeakPtr improvements
7240         https://bugs.webkit.org/show_bug.cgi?id=177958
7242         Reviewed by Sam Weinig.
7244         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
7245         (TestWebKitAPI::TEST):
7246         (TestWebKitAPI::Base::createWeakPtr): Deleted.
7248 2017-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>
7250         Unreviewed. Fix parsing of GTK unit tests output in bot configuration.
7252         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
7253         (RunGtkAPITests.commandComplete): Remove trailing ':' from the regular expression.
7255 2017-10-06  Charles Turner  <cturner@igalia.com>
7257         Disable bmalloc when running Valgrind
7258         https://bugs.webkit.org/show_bug.cgi?id=177923
7260         Reviewed by Carlos Alberto Lopez Perez.
7262         * Scripts/webkitpy/port/gtk.py:
7263         (GtkPort.setup_environ_for_server):
7265 2017-10-06  Zan Dobersek  <zdobersek@igalia.com>
7267         Implement TestController::platformContext() for WPE, returning the
7268         m_context pointer as the GTK+ port does. This fixes the crashes on
7269         the WPE testers.
7271         Rubber-stamped by Carlos Garcia Campos.
7273         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
7274         (WTR::TestController::platformContext):
7276 2017-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
7278         [GTK][WPE] Add API to configure and enable resource load statistics
7279         https://bugs.webkit.org/show_bug.cgi?id=177943
7281         Reviewed by Michael Catanzaro.
7283         Add a command line option to enable intelligent tracking prevention to MiniBrowser and tests cases to check the
7284         new API.
7286         * MiniBrowser/gtk/main.c:
7287         (main):
7288         * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
7289         (serverCallback):
7290         (testWebsiteDataConfiguration):
7291         (testWebsiteDataEphemeral):
7292         (testWebsiteDataResourceLoadStats):
7293         (beforeAll):
7294         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
7295         (Test::Test):
7296         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
7297         (directoryChangedCallback):
7298         (WebViewTest::waitUntilFileExists):
7299         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
7301 2017-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
7303         [GTK][WPE] All resource load statistics tests added in r212183 crash in GTK bots, timeout in GTK and WPE bots since r219049
7304         https://bugs.webkit.org/show_bug.cgi?id=168171
7306         Reviewed by Chris Dumez.
7308         Implement all resource load statistics functions in TestController using the C API. Also enable the FileMonitor
7309         unit test. This test requires a platform implementation of Util::run(), so I've added UtilitiesGLib.cpp with an
7310         iplementation common to glib based ports using WTF RunLoop abstraction.
7312         * TestWebKitAPI/PlatformGTK.cmake:
7313         * TestWebKitAPI/PlatformWPE.cmake:
7314         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
7315         * TestWebKitAPI/glib/UtilitiesGLib.cpp: Copied from Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h.
7316         (TestWebKitAPI::Util::run):
7317         (TestWebKitAPI::Util::spinRunLoop):
7318         (TestWebKitAPI::Util::sleep):
7319         * TestWebKitAPI/gtk/PlatformUtilitiesGtk.cpp:
7320         * TestWebKitAPI/wpe/PlatformUtilitiesWPE.cpp:
7321         * WebKitTestRunner/TestController.cpp:
7322         (WTR::TestController::platformAdjustContext):
7323         (WTR::TestController::setStatisticsLastSeen):
7324         (WTR::TestController::setStatisticsPrevalentResource):
7325         (WTR::ResourceStatisticsCallbackContext::ResourceStatisticsCallbackContext):
7326         (WTR::resourceStatisticsCallback):
7327         (WTR::TestController::isStatisticsPrevalentResource):
7328         (WTR::TestController::setStatisticsHasHadUserInteraction):
7329         (WTR::TestController::isStatisticsHasHadUserInteraction):
7330         (WTR::TestController::setStatisticsGrandfathered):
7331         (WTR::TestController::isStatisticsGrandfathered):
7332         (WTR::TestController::setStatisticsSubframeUnderTopFrameOrigin):
7333         (WTR::TestController::setStatisticsSubresourceUnderTopFrameOrigin):
7334         (WTR::TestController::setStatisticsSubresourceUniqueRedirectTo):
7335         (WTR::TestController::setStatisticsTimeToLiveUserInteraction):
7336         (WTR::TestController::setStatisticsTimeToLiveCookiePartitionFree):
7337         (WTR::TestController::statisticsProcessStatisticsAndDataRecords):
7338         (WTR::TestController::statisticsUpdateCookiePartitioning):
7339         (WTR::TestController::statisticsSetShouldPartitionCookiesForHost):
7340         (WTR::TestController::statisticsSubmitTelemetry):
7341         (WTR::TestController::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
7342         (WTR::TestController::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval):
7343         (WTR::TestController::setStatisticsNotifyPagesWhenTelemetryWasCaptured):
7344         (WTR::TestController::setStatisticsMinimumTimeBetweenDataRecordsRemoval):
7345         (WTR::TestController::setStatisticsGrandfatheringTime):
7346         (WTR::TestController::setStatisticsMaxStatisticsEntries):
7347         (WTR::TestController::setStatisticsPruneEntriesDownTo):
7348         (WTR::TestController::statisticsClearInMemoryAndPersistentStore):
7349         (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
7350         (WTR::TestController::statisticsClearThroughWebsiteDataRemovalCallback):
7351         (WTR::TestController::statisticsClearThroughWebsiteDataRemoval):
7352         (WTR::TestController::statisticsResetToConsistentState):
7353         * WebKitTestRunner/TestController.h:
7355 2017-10-05  Jer Noble  <jer.noble@apple.com>
7357         [Cocoa] Enable ENABLE_ENCRYPTED_MEDIA build-time setting
7358         https://bugs.webkit.org/show_bug.cgi?id=177261
7360         Reviewed by Eric Carlson.
7362         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
7364 2017-10-05  Alex Christensen  <achristensen@webkit.org>
7366         Add ObjC equivalent of WKPageNavigationClient.didChangeBackForwardList
7367         https://bugs.webkit.org/show_bug.cgi?id=177966
7368         <rdar://problem/22387135>
7370         Reviewed by Tim Horton.
7372         * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
7373         (-[ListItemDelegate _webView:backForwardListItemAdded:removed:]):
7374         (-[ListItemDelegate webView:didFinishNavigation:]):
7375         (TEST):
7377 2017-10-04  Megan Gardner  <megan_gardner@apple.com>
7379         check-webkit-style erroneously requires a space between the carrot and brace in obj-c blocks.
7380         https://bugs.webkit.org/show_bug.cgi?id=177897
7382         Reviewed by Dan Bernstein and Jonathan Bedard.
7384         Remove the check for a space between ^ and {, 
7385         as this is valid and expected Obj-C. Now check to make sure there is
7386         no space at all between ^ and {, and also that there is a space between
7387         the end of an argument list and the {.
7389         * Scripts/webkitpy/style/checkers/cpp.py:
7390         (regex_for_lambdas_and_blocks):
7392 2017-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
7394         Unreviewed. Run WebKit2 C API tests in GTK+ bots again after the last WebKit2 -> WebKit rename.
7396         * Scripts/run-gtk-tests:
7397         (TestRunner):
7398         (TestRunner._run_test):
7400 2017-10-05  Darin Adler  <darin@apple.com>
7402         Remove additional WebKitSystemInterface remnants
7403         https://bugs.webkit.org/show_bug.cgi?id=177948
7405         Reviewed by Andy Estes.
7407         * DumpRenderTree/PlatformMac.cmake: Removed code to link the
7408         WebKitSystemInterface library. Left in code that points to
7409         the WebKitLibraries directory, but maybe that can be removed by
7410         someone who is more certain it's no longer needed.
7412         * Scripts/copy-webkitlibraries-to-product-directory: Removed code
7413         to copy and delete WebKitSystemInterface libraries and headers.
7415         * WebKitTestRunner/PlatformMac.cmake: Removed code to link the
7416         WebKitSystemInterface library. Left in code that points to
7417         the WebKitLibraries directory, but maybe that can be removed by
7418         someone who is more certain it's no longer needed.
7420 2017-10-05  Saam Barati  <sbarati@apple.com>
7422         Unreviewed. Try to make debug type profiler tests stop timing out.
7424         * Scripts/run-jsc-stress-tests:
7426 2017-10-03  Frederic Wang  <fwang@igalia.com>
7428         Remove Brotli from Source/ThirdParty
7429         https://bugs.webkit.org/show_bug.cgi?id=177804
7431         Reviewed by Michael Catanzaro.
7433         * gtk/jhbuild.modules: Build brotli 1.0.1 from the official github repository.
7434         * Scripts/webkitpy/style/checker.py: Remove brotli.
7436 2017-10-04  Alex Christensen  <achristensen@webkit.org>
7438         Stop linking with WebKitSystemInterface
7439         https://bugs.webkit.org/show_bug.cgi?id=177915
7441         Reviewed by Antti Koivisto.
7443         * DumpRenderTree/mac/Configurations/Base.xcconfig:
7444         * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
7445         * DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
7446         * DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig:
7447         * WebKitTestRunner/Configurations/Base.xcconfig:
7448         * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
7449         * WebKitTestRunner/Configurations/InjectedBundle.xcconfig:
7450         * WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
7451         * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
7453 2017-10-04  Alex Christensen  <achristensen@webkit.org>
7455         Remove unnecessary includes of WebKitSystemInterface on Cocoa platforms
7456         https://bugs.webkit.org/show_bug.cgi?id=177912
7458         Reviewed by Saam Barati.
7460         * DumpRenderTree/mac/DumpRenderTree.mm:
7462 2017-10-04  Megan Gardner  <megan_gardner@apple.com>
7464         Break out new touch debugging code into seperate file
7465         https://bugs.webkit.org/show_bug.cgi?id=177796
7467         Reviewed by Simon Fraser.
7469         Encapsulate the new debug touch code into it's own file.
7470         This allows for cleaner code and a better way to show the touches
7471         in a completely separate window, which should also be in screen
7472         coordinates, and not subject to any transforms that get put on the
7473         WebViews.
7475         * TestRunnerShared/spi/UIKitTestSPI.h:
7476         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
7477         * WebKitTestRunner/ios/HIDDebugTouchWindow.h: Added.
7478         * WebKitTestRunner/ios/HIDDebugTouchWindow.mm: Added.
7479         (+[HIDDebugTouchWindow sharedHIDDebugTouchWindow]):
7480         (-[HIDDebugTouchWindow init]):
7481         (-[HIDDebugTouchWindow dealloc]):
7482         (-[HIDDebugTouchWindow updateDebugIndicatorForTouch:withPointInWindowCoordinates:isTouching:]):
7483         (-[HIDDebugTouchWindow initDebugViewsIfNeeded]):
7484         * WebKitTestRunner/ios/HIDEventGenerator.h:
7485         * WebKitTestRunner/ios/HIDEventGenerator.mm:
7486         (-[HIDEventGenerator init]):
7487         (-[HIDEventGenerator _createIOHIDEventWithInfo:]):
7488         (-[HIDEventGenerator _createIOHIDEventType:]):
7489         (-[HIDEventGenerator _updateTouchPoints:count:]):
7490         (-[HIDEventGenerator touchDownAtPoints:touchCount:]):
7491         (-[HIDEventGenerator touchDown:touchCount:]):
7492         (-[HIDEventGenerator liftUpAtPoints:touchCount:]):
7493         (-[HIDEventGenerator liftUp:touchCount:]):
7494         (-[HIDEventGenerator moveToPoints:touchCount:duration:]):
7495         (-[HIDEventGenerator initDebugViewsIfNeeded]): Deleted.
7496         (-[HIDEventGenerator updateDebugIndicatorForTouch:withPoint:isTouching:]): Deleted.
7497         * WebKitTestRunner/ios/TestControllerIOS.mm:
7498         (WTR::TestController::updatePlatformSpecificTestOptionsForTest const):
7500 2017-10-04  JF Bastien  <jfbastien@apple.com>
7502         WTF: Update std::expected to match current proposal
7503         https://bugs.webkit.org/show_bug.cgi?id=177881
7505         Reviewed by Mark Lam.
7507         The proposal is likely to be in C++20 and I've been asked to help co-champion
7508         it. I'm therefore updating our implementation to more closely match the current
7509         proposal, and to make sure it'll work for us if standardized.
7511          - Rename UnexpectedType to Unexpected to match the proposal.
7512          - Remove relational operators, only equality / inequality remains.
7513          - Fix minor type signatures.
7514          - Add UnexpectedType typedef.
7515          - Uncomment rebind implementation.
7516          - Add in-place construction tag, as well as explicit error construction tag.
7517          - Add template unexpected constructor.
7518          - Note that make_unexpected isn't in the proposal anymore, but we keep it because we don't have C++17 deduction guides.
7519          - Remove hashing, which isn't in the proposal anymore.
7521         * TestWebKitAPI/Tests/WTF/Expected.cpp:
7522         (WTF::operator<<):
7523         (TestWebKitAPI::TEST):
7525 2017-10-04  Lucas Forschler  <lforschler@apple.com>
7527         https://bugs.webkit.org/show_bug.cgi?id=177888
7528         WebKitArchiveSupport - add API Gateway to source control
7529         This is a swagger configuration export via AWS API Gateway console.
7531         Rubber-stamped by Alexey Proskuryakov.
7533         * WebKitArchiveSupport/AWS-APIGateway: Added.
7534         * WebKitArchiveSupport/AWS-APIGateway/stage-v2.json: Added.
7536 2017-10-04  Mark Lam  <mark.lam@apple.com>
7538         Add support for using Probe DFG OSR Exit behind a runtime flag.
7539         https://bugs.webkit.org/show_bug.cgi?id=177844
7540         <rdar://problem/34801425>
7542         Reviewed by Saam Barati.
7544         Enable --useProbeOSrExit=true for dfg-eager and ftl-no-cjit-validate-sampling-profiler
7545         test configurations.
7547         * Scripts/run-jsc-stress-tests:
7549 2017-10-04  Jonathan Bedard  <jbedard@apple.com>
7551         webkitpy.tool.steps.steps_unittest.StepsTest.test_runtests_api is flakey
7552         https://bugs.webkit.org/show_bug.cgi?id=177751
7553         <rdar://problem/34769470>
7555         Reviewed by Daniel Bates.
7557         Port._build_path() calls Tools/Scripts/webkit-build-directory and caches this
7558         result. When capturing output from the MockExecutive, the first invocation of
7559         Port._build_path() will log the running of Tools/Scripts/webkit-build-directory
7560         but subsequent invocations will not.
7562         * Scripts/webkitpy/tool/steps/steps_unittest.py:
7563         (StepsTest):
7564         (StepsTest.setUp): Cache the build path before running tests.
7566 2017-10-04  Carlos Alberto Lopez Perez  <clopez@igalia.com>
7568         [JHBuild][GTK][WKE] Circular dependency between harfbuzz and freetype6
7569         https://bugs.webkit.org/show_bug.cgi?id=177865
7571         Reviewed by Michael Catanzaro.
7573         Build freetype6 without harfbuzz support.
7574         This seems to be what distros like Fedora, Debian or OpenEmbedded do.
7575         Also explicitly enable support for freetype and fontconfig on harfbuzz.
7577         * gtk/jhbuild.modules: Enable also support for icu.
7578         * wpe/jhbuild.modules:
7580 2017-10-04  Yusuke Suzuki  <utatane.tea@gmail.com>
7582         [Test262] Update Test262 to Oct 4 version
7583         https://bugs.webkit.org/show_bug.cgi?id=177859
7585         Reviewed by Sam Weinig.
7587         * Scripts/import-test262-tests:
7589 2017-10-04  Ryosuke Niwa  <rniwa@webkit.org>
7591         Use blob URL when pasting RTFD instead of overriding DocumentLoader
7592         https://bugs.webkit.org/show_bug.cgi?id=177801
7593         <rdar://problem/34542270>
7595         Reviewed by Wenson Hsieh.
7597         Added a regression test for an assertion failure when pasting an empty RTFD as well as a test for pasting
7598         RTFD with an image, which should result in an image element with a blob URL.
7600         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
7601         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
7602         * TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
7603         * TestWebKitAPI/Tests/WebKitCocoa/paste-rtfd.html:
7605 2017-10-03  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
7607         [GLib] Let WebCore know of low power situations
7608         https://bugs.webkit.org/show_bug.cgi?id=177810
7610         Reviewed by Carlos Garcia Campos.
7612         * gtk/install-dependencies: add upower-glib dev packages for Debian, Arch and Fedora.
7614 2017-10-03  Saam Barati  <sbarati@apple.com>
7616         Implement polymorphic prototypes
7617         https://bugs.webkit.org/show_bug.cgi?id=176391
7619         Reviewed by Filip Pizlo.
7621         * Scripts/run-jsc-stress-tests:
7623 2017-10-03  Myles C. Maxfield  <mmaxfield@apple.com> 
7625         Create a SPIR-V assembler 
7626         https://bugs.webkit.org/show_bug.cgi?id=177726 
7628         Reviewed by Filip Pizlo. 
7630         Khronos has released a json file containing every SPIR-V opcode and operand at 
7631         https://github.com/KhronosGroup/SPIRV-Headers/blob/master/include/spirv/1.2/spirv.core.grammar.json 
7632         This patch creates a function which loads this file (via the fetch API), parses it, and creates
7633         an object which holds two things: 
7634         - For each opcode, a class which accepts the appropriate operands 
7635         - For each enum type, an object which holds each enum value 
7636         The constructor for each opcode is smart enough to do some basic type-checking of the argument, 
7637         according to the types listed in Khronos's json file. 
7639         This patch also includes an example .html file which outputs a dummy SPIR-V program, 
7640         which happens to be compatible with the SPIR-V demo at 
7641         https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/blob/master/demos/cube.cpp 
7642         If you modify this demo to use the generated SPIR-V program, you can see the result in 
7643         action.
7645         This patch also commits a copy of Khronos's json file mentioned above. This isn't the first 
7646         Khronos file we've committed into our repository with this license, so there shouldn't be any 
7647         problems there. 
7649         * WebGPUShadingLanguageRI/SPIR-V.js: Added. 
7650         (SPIRV.): 
7651         (SPIRVAssembler): 
7652         (SPIRVAssembler.prototype.append): 
7653         (SPIRVAssembler.prototype.get size): 
7654         (SPIRVAssembler.prototype.get storage): 
7655         (SPIRVAssembler.prototype.get result): 
7656         * WebGPUShadingLanguageRI/SPIRV.html: Added. 
7657         * WebGPUShadingLanguageRI/spirv.core.grammar.json: Added. 
7659 2017-10-03  Chris Dumez  <cdumez@apple.com>
7661         SharedStringHashStore should support removing hashes
7662         https://bugs.webkit.org/show_bug.cgi?id=177770
7664         Reviewed by Alex Christensen.
7666         Add API test coverage.
7668         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
7669         * TestWebKitAPI/Tests/WebKitCocoa/VisitedLinkStore.mm: Added.
7670         (TestWebKitAPI::TEST):
7672 2017-10-03  Dewei Zhu  <dewei_zhu@apple.com>
7674         Fix missing import for BenchmarkRunner.
7675         https://bugs.webkit.org/show_bug.cgi?id=177842
7677         Reviewed by Ryosuke Niwa.
7679         'show_results' requires BenchmarkRunner.
7681         * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
7683 2017-10-03  Olivier Blin  <olivier.blin@softathome.com>
7685         [WPE] Bump deps to add support for xdg-shell-unstable-v6 protocol
7686         https://bugs.webkit.org/show_bug.cgi?id=177820
7688         Reviewed by Žan Doberšek.
7690         gnome-shell does not advertize the xdg-shell protocol anymore, but xdg-shell-unstable-v6 instead.
7691         Support has been added in WPEBackend-mesa, we need to update the requirements.
7692         wayland-1.10 is needed for wl_proxy_get_version(), used in the generated headers.
7694         * wpe/jhbuild.modules:
7696 2017-10-03  Alex Christensen  <achristensen@webkit.org>
7698         Add ObjC SPI equivalent to WKPageLoaderClient.willGoToBackForwardListItem
7699         https://bugs.webkit.org/show_bug.cgi?id=177825
7700         <rdar://problem/22387505>
7702         Reviewed by Tim Horton.
7704         * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
7705         (-[BackForwardDelegate _webView:willGoToBackForwardListItem:inPageCache:]):
7706         (-[BackForwardDelegate webView:didFinishNavigation:]):
7707         (TEST):
7709 2017-10-03  Antti Koivisto  <antti@apple.com>
7711         Allow assigning WeakPtr<Derived> to WeakPtr<Base>
7712         https://bugs.webkit.org/show_bug.cgi?id=177817
7714         Reviewed by Geoff Garen.
7716         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
7717         (TestWebKitAPI::Base::weakPtrFactory):
7718         (TestWebKitAPI::TEST):
7720 2017-10-03  Youenn Fablet  <youenn@apple.com>
7722         Remove no longer needed WebRTC build infrastructure
7723         https://bugs.webkit.org/show_bug.cgi?id=177756
7725         Reviewed by Alejandro G. Castro.
7727         * Scripts/generate-libwebrtc-cmake: Removed.
7728         * Scripts/webkitpy/libwebrtc/__init__.py: Removed.
7729         * Scripts/webkitpy/libwebrtc/generate_cmake.py: Removed.
7731 2017-10-03  Joanmarie Diggs  <jdiggs@igalia.com>
7733         AX: [ATK] ARIA drag-and-drop attribute values should be exposed via AtkObject attributes
7734         https://bugs.webkit.org/show_bug.cgi?id=177763
7736         Reviewed by Chris Fleizach.
7738         Implement ariaIsGrabbed() and ariaDropEffects() for ATK.
7740         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
7741         (WTR::AccessibilityUIElement::ariaIsGrabbed const):
7742         (WTR::AccessibilityUIElement::ariaDropEffects const):
7744 2017-10-02  Myles C. Maxfield  <mmaxfield@apple.com>
7746         Make WSL demo compatible with Microsoft Edge
7747         https://bugs.webkit.org/show_bug.cgi?id=177643
7749         Reviewed by Saam Barati.
7751         This patch does two things. The first is it migrates a loop over ParentNode.children to a legacy style loop
7752         because Microsoft Edge throws an exception when trying to use a for...of loop with it. This patch also hides
7753         the compilation behind a setTimeout(0) so there is some indication that something is happening during a
7754         compile.
7757         * Tools/WebGPUShadingLanguageRI/index.html:
7759 2017-10-02  Joanmarie Diggs  <jdiggs@igalia.com>
7761         AX: [ATK] The value of aria-level is not exposed on non-heading roles
7762         https://bugs.webkit.org/show_bug.cgi?id=177775
7764         Reviewed by Chris Fleizach.
7766         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
7767         (WTR::AccessibilityUIElement::hierarchicalLevel const):
7769 2017-10-02  Geoffrey Garen  <ggaren@apple.com>
7771         WeakPtr should have a move constructor
7772         https://bugs.webkit.org/show_bug.cgi?id=177789
7774         Reviewed by Chris Dumez.
7776         Chris made me write an API test. It wasn't that painful.
7778         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
7779         (TestWebKitAPI::TEST):
7781 2017-10-02  Filip Pizlo  <fpizlo@apple.com>
7783         WSL ^ should be *
7784         https://bugs.webkit.org/show_bug.cgi?id=177705
7786         Rubber stamped by Keith Miller.
7787         
7788         When I first wrote the prototype, I thought it would be cool to use ^ for pointers. Nobody agrees. I've
7789         gotten so much feedback to use *. This changes pointers to use *.
7791         * WebGPUShadingLanguageRI/DereferenceExpression.js:
7792         (DereferenceExpression.prototype.toString):
7793         (DereferenceExpression):
7794         * WebGPUShadingLanguageRI/Intrinsics.js:
7795         (Intrinsics):
7796         * WebGPUShadingLanguageRI/Parse.js:
7797         (parseType):
7798         (parsePossiblePrefix):
7799         * WebGPUShadingLanguageRI/PtrType.js:
7800         (PtrType.prototype.toString):
7801         (PtrType):
7802         * WebGPUShadingLanguageRI/StandardLibrary.js:
7803         * WebGPUShadingLanguageRI/Test.js:
7804         (tests.simpleDereference):
7805         (tests.dereferenceStore):
7806         (tests.simpleMakePtr):
7807         (tests.loadNull):
7808         (tests.storeNull):
7809         (tests.returnNull):
7810         (tests.dereferenceDefaultNull):
7811         (tests.defaultInitializedNull):
7812         (tests.passNullToPtrMonomorphic):
7813         (tests.passNullToPtrPolymorphic):
7814         (tests.passNullAndNotNull):
7815         (tests.passNullAndNotNullFullPoly):
7816         (tests.passNullAndNotNullFullPolyReverse):
7817         (tests.chainGeneric):
7818         (tests.chainStruct):
7819         (tests.chainStructNewlyValid):
7820         (tests.chainStructDevice):
7821         (tests.paramChainStructDevice):
7822         (tests.simpleProtocolExtends):
7823         (tests.protocolExtendsTwo):
7824         (tests.overrideSubscriptStruct):
7825         (tests.overrideSubscriptStructAndDoStores):
7826         (tests.overrideSubscriptStructAndUsePointers):
7827         (tests.overrideSubscriptStructAndUsePointersIncorrectly):
7828         (tests.makeArrayRefFromPointer):
7829         (tests.nonArrayRefArrayLengthFail):
7830         (tests.constexprIsNotLValuePtr):
7831         (tests.genericAccessors):
7832         (tests.nestedSubscriptLValueEmulationSimple):
7833         (tests.nestedSubscriptLValueEmulationGeneric):
7834         (tests.shaderTypes):
7835         (tests.enumPtrBase):
7836         (tests.mutuallyRecursiveStructWithPointersBroken):
7837         (tests.mutuallyRecursiveStructWithPointers):
7838         (tests.linkedList):
7839         (tests.pointerToPointer):
7840         (tests.pointerGetter):
7841         (tests.operatorCastWithTypeVariableInferredFromReturnType):
7842         (tests.loneSetterPointer):
7843         (tests.anderWithNothingWrong):
7844         (tests.anderWithWrongNumberOfArguments):
7845         (tests.anderDoesntReturnPointer):
7846         (tests.anderDoesntTakeReference):
7847         (tests.anderWithArrayRef):
7848         (tests.pointerIndexGetter):
7849         (tests.loneIndexSetterPointer):
7850         (tests.indexAnderWithNothingWrong):
7851         (tests.indexAnderWithWrongNumberOfArguments):
7852         (tests.indexAnderDoesntReturnPointer):
7853         (tests.indexAnderDoesntTakeReference):
7854         (tests.indexAnderWithArrayRef):
7855         (tests.devicePtrPtr):
7856         (tests.threadgroupPtrPtr):
7857         (tests.constantPtrPtr):
7858         (tests.pointerIndexGetterInProtocol):
7859         (tests.loneIndexSetterPointerInProtocol):
7860         (tests.indexAnderWithNothingWrongInProtocol):
7861         (tests.indexAnderWithWrongNumberOfArgumentsInProtocol):
7862         (tests.indexAnderDoesntReturnPointerInProtocol):
7863         (tests.indexAnderDoesntTakeReferenceInProtocol):
7864         (tests.indexAnderWithArrayRefInProtocol):
7865         (tests.andReturnedArrayRef):
7867 2017-10-02  Filip Pizlo  <fpizlo@apple.com>
7869         WSL should be fine with &foo()[i] if foo() returns a []
7870         https://bugs.webkit.org/show_bug.cgi?id=177704
7872         Reviewed by Saam Barati.
7873         
7874         Previously, we'd determine if a property access expression (base.field or base[index]) was an lvalue by
7875         asking if its base was an lvalue. This is right in all cases except if the base is of type []. Then, the
7876         property access expression is an lvalue so long as there is a setter or ander.
7877         
7878         This fixes the issue and adds a test.
7879         
7880         Also, this makes error messages in the case that something is not an lvalue a lot better. If something
7881         is not an lvalue because we could not find anders or setters, then we will tell you why we could not
7882         find them.
7884         * WebGPUShadingLanguageRI/Checker.js:
7885         (Checker.prototype.visitAssignment):
7886         (Checker.prototype.visitReadModifyWriteExpression):
7887         (Checker.prototype.visitMakePtrExpression):
7888         (Checker.prototype._finishVisitingPropertyAccess):
7889         * WebGPUShadingLanguageRI/DotExpression.js:
7890         (DotExpression.prototype.get fieldName):
7891         (DotExpression.prototype.get isLValue): Deleted.
7892         (DotExpression.prototype.get addressSpace): Deleted.
7893         * WebGPUShadingLanguageRI/IndexExpression.js:
7894         (IndexExpression.prototype.get index):
7895         (IndexExpression.prototype.get isLValue): Deleted.
7896         (IndexExpression.prototype.get addressSpace): Deleted.
7897         * WebGPUShadingLanguageRI/PropertyAccessExpression.js:
7898         (PropertyAccessExpression):
7899         (PropertyAccessExpression.prototype.get isLValue):
7900         (PropertyAccessExpression.prototype.set isLValue):
7901         * WebGPUShadingLanguageRI/PropertyResolver.js:
7902         (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder.prototype.visitMakeArrayRefExpression):
7903         (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder):
7904         (PropertyResolver.prototype._visitRValuesWithinLValue):
7905         * WebGPUShadingLanguageRI/Test.js:
7906         (tests.storeNullArrayRef):
7907         (tests.andReturnedArrayRef):
7909 2017-10-02  Wenson Hsieh  <wenson_hsieh@apple.com>
7911         Guard iOS webkitGetAsEntry API tests on older iOS versions
7913         Unreviewed test gardening. After r222688, these tests require custom pasteboard data to be enabled by default,
7914         so don't run them against shipping iOS.
7916         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
7918 2017-10-02  Carlos Garcia Campos  <cgarcia@igalia.com>
7920         [WPE][GTK] Crash in webkit_web_resource_get_data_finish()
7921         https://bugs.webkit.org/show_bug.cgi?id=177107
7923         Reviewed by Michael Catanzaro.
7925         Add a test case to check we handle errors when webkit_web_resource_get_data() fails.
7927         * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
7928         (webViewloadChanged):
7929         (testWebResourceGetDataError):
7930         (beforeAll):
7932 2017-10-02  Alex Christensen  <achristensen@webkit.org>
7934         Fix build after r222715
7935         https://bugs.webkit.org/show_bug.cgi?id=177697
7937         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
7938         (TEST):
7939         Use the public API instead of the removed SPI.
7941 2017-10-02  Alex Christensen  <achristensen@webkit.org>
7943         REGRESSION(r214201): WebProcess hangs during policy decisions
7944         https://bugs.webkit.org/show_bug.cgi?id=177590
7945         <rdar://problem/33362929>
7947         Reviewed by Andy Estes.
7949         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
7950         * TestWebKitAPI/Tests/WebKitCocoa/JavaScriptDuringNavigation.mm: Added.
7951         (-[JSNavigationDelegate webView:didFinishNavigation:]):
7952         (-[JSNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
7953         (-[JSNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
7954         (-[JSNavigationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
7955         (TEST):
7957 2017-10-02  Jonathan Bedard  <jbedard@apple.com>
7959         Log stack-trace for run-webkit-tests when interrupted
7960         https://bugs.webkit.org/show_bug.cgi?id=176393
7961         <rdar://problem/34262310>
7963         Reviewed by Darin Adler.
7965         When run-webkit-tests is stuck, it is difficult to immediately tell
7966         why. Saving a stack-trace when run-webkit-tests is terminated
7967         or stopped with CNTRL-C will make such issues easier to debug.
7969         * Scripts/webkitpy/common/interupt_debugging.py: Added.
7970         (log_stack_trace): Given a Python frame object, log a stack trace to
7971         the provided file.
7972         (log_stack_trace_on_term): Attach a listener to SIGTERM so that a
7973         stack-trace can be logged when a program is terminated.
7974         (log_stack_trace_on_cntrl_c): Attach a listener to SIGINT so that a
7975         stack-trace can be logged when a program is CNTRL-Ced. 
7976         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
7977         (main): Set handlers to log stack trace on interruption.
7979 2017-10-02  Michael Catanzaro  <mcatanzaro@igalia.com>
7981         Remove ENABLE_CSS_REGIONS
7982         https://bugs.webkit.org/show_bug.cgi?id=177689
7984         Reviewed by Darin Adler.
7986         * Scripts/webkitperl/FeatureList.pm:
7988 2017-09-30  Carlos Garcia Campos  <cgarcia@igalia.com>
7990         Unreviewed. Upgrade webkitgtk-test-fonts to version 0.0.7.
7992         This version upgrades liberation fonts to version 2, that has a wider glyph coverage.
7994         * gtk/jhbuild.modules:
7996 2017-09-29  Alex Christensen  <achristensen@webkit.org>
7998         Expose WebPreferences::webGLEnabled through WKPreferences
7999         https://bugs.webkit.org/show_bug.cgi?id=177692
8000         <rdar://problem/24110556>
8002         Reviewed by Andy Estes.
8004         * TestWebKitAPI/Tests/WebKitCocoa/Preferences.mm:
8005         (-[AlertSaver alert]):
8006         (-[AlertSaver webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
8007         (TEST):
8009 2017-09-29  Alex Christensen  <achristensen@webkit.org>
8011         Fix WKWebViewConfigurationPrivate after r222663
8012         https://bugs.webkit.org/show_bug.cgi?id=177644
8014         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
8015         * TestWebKitAPI/Tests/WebKitCocoa/Configuration.mm: Added.
8016         (TEST):
8018 2017-09-28  Ryosuke Niwa  <rniwa@webkit.org>
8020         Image pasting is not working on tineye.com / gmail.com / GitHub.com due to lack of support for DataTransfer.items
8021         https://bugs.webkit.org/show_bug.cgi?id=170449
8022         <rdar://problem/31432525>
8024         Reviewed by Wenson Hsieh.
8026         Added an API test to paste an image from pasteboard. The test is shared between iOS and macOS.
8028         The tests to paste image files are only enabled on macOS since putting files into pasteboard isn't a thing on iOS.
8030         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
8031         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm: Added.
8032         (writeImageDataToPasteboard):
8033         (writeBundleFileToPasteboard):
8034         * TestWebKitAPI/Tests/WebKitCocoa/paste-image.html: Added.
8035         * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-100px.tiff: Added.
8036         * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-200px.png: Added.
8037         * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-400px.gif: Added.
8038         * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-600px.jpg: Added.
8039         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: Rebaselined the test now that types contain "Files".
8041 2017-09-29  Wenson Hsieh  <wenson_hsieh@apple.com>
8043         [iOS WK2] Implement -[WKContentView hasText] for compatibility with the UITextInput protocol
8044         https://bugs.webkit.org/show_bug.cgi?id=177662
8045         <rdar://problem/33410373>
8047         Reviewed by Tim Horton.
8049         Add EditorState API tests to check that the value of -[WKContentView hasText] is correct when editing both plain
8050         and rich text areas.
8052         * TestWebKitAPI/EditingTestHarness.h:
8053         * TestWebKitAPI/EditingTestHarness.mm:
8054         (-[EditingTestHarness insertParagraph]):
8055         (-[EditingTestHarness insertText:]):
8056         (-[EditingTestHarness insertHTML:]):
8057         (-[EditingTestHarness selectAll]):
8058         (-[EditingTestHarness deleteBackwards]):
8059         * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
8061         Add versions of EditingTestHarness helpers that don't require us to expect any editor state after executing the
8062         edit command.
8064         (TestWebKitAPI::checkContentViewHasTextWithFailureDescription):
8065         (TestWebKitAPI::TEST):
8066         * TestWebKitAPI/cocoa/TestWKWebView.h:
8067         * TestWebKitAPI/cocoa/TestWKWebView.mm:
8068         (-[TestWKWebView textInputContentView]):
8070 2017-09-29  Charles Turner  <cturner@igalia.com>
8072         Update my status.
8074         Unreviewed.
8076         * Scripts/webkitpy/common/config/contributors.json:
8078 2017-09-28  Commit Queue  <commit-queue@webkit.org>
8080         Unreviewed, rolling out r222639.
8081         https://bugs.webkit.org/show_bug.cgi?id=177630
8083         Breaks AppleWin build (Requested by dolmstead on #webkit).
8085         Reverted changeset:
8087         "[WinCairo][MiniBrowser] Add ca-bundle to display secure
8088         pages."
8089         https://bugs.webkit.org/show_bug.cgi?id=168486
8090         http://trac.webkit.org/changeset/222639
8092 2017-09-28  Joanmarie Diggs  <jdiggs@igalia.com>
8094         AX: [ATK] object:state-changed notifications missing for multiple ARIA attributes
8095         https://bugs.webkit.org/show_bug.cgi?id=177542
8097         Add platform support for the notifications. Also add support for getting the
8098         boolean argument indicating whether the state has been set or unset.
8100         Reviewed by Chris Fleizach.
8102         * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
8104 2017-09-28  Basuke Suzuki  <Basuke.Suzuki@sony.com>
8106         [WinCairo][MiniBrowser] Add ca-bundle to display secure pages.
8107         Copy cacert.pem file into bundle directory.
8108         https://bugs.webkit.org/show_bug.cgi?id=168486
8110         Reviewed by Brent Fulgham.
8112         * MiniBrowser/win/CMakeLists.txt:
8114 2017-09-28  Lucas Forschler  <lforschler@apple.com>
8116         check in AWS Lambda code used for WebKitArchiveSupport
8117         https://bugs.webkit.org/show_bug.cgi?id=177614
8118         
8119         Rubber-stamped by Alexey Proskuryakov.
8121         * WebKitArchiveSupport/lambda: Added.
8122         * WebKitArchiveSupport/lambda/delete-minified-s3-archive-from-dynamodb.py: Added.
8123         (lambda_handler):
8124         * WebKitArchiveSupport/lambda/delete-s3-archive-from-dynamodb.py: Added.
8125         (lambda_handler):
8126         * WebKitArchiveSupport/lambda/register-archive-in-dynamodb.py: Added.
8127         (lambda_handler):
8128         * WebKitArchiveSupport/lambda/register-minified-s3-archive-in-dynamodb.py: Added.
8129         (lambda_handler):
8131 2017-09-28  Jiewen Tan  <jiewen_tan@apple.com>
8133         WeakPtrFactory should allow downcasting
8134         https://bugs.webkit.org/show_bug.cgi?id=177389
8135         <rdar://problem/34604174>
8137         Reviewed by Geoffrey Garen.
8139         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
8140         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
8141         (TestWebKitAPI::Base::foo):
8142         (TestWebKitAPI::Base::createWeakPtr):
8143         (TestWebKitAPI::Derived::foo):
8144         (TestWebKitAPI::TEST):
8146 2017-09-28  Megan Gardner  <megan_gardner@apple.com>
8148         Add debug flag to WebKitTestRunner to show where touches are being generated
8149         https://bugs.webkit.org/show_bug.cgi?id=177583
8151         Reviewed by Tim Horton and Wenson Hsieh.
8153         Add a flag, and the ability to paint a dot where the HIDEventGenerator is creating fake touches to
8154         send through UIKit. This will help in debugging touch tests, because it will be easier to see if
8155         one is actually sending the touches at the locations that they expect. This will help differentiate between
8156         problems in the locations of the touches, and other problems that can come up when writing tests.
8158         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
8159         (parse_args):
8160         * Scripts/webkitpy/port/driver.py:
8161         (Driver.cmd_line):
8162         * WebKitTestRunner/Options.cpp:
8163         (WTR::Options::Options):
8164         (WTR::handleOptionShowTouches):
8165         (WTR::OptionsHandler::OptionsHandler):
8166         * WebKitTestRunner/Options.h:
8167         * WebKitTestRunner/TestController.cpp:
8168         (WTR::TestController::initialize):
8169         * WebKitTestRunner/TestController.h:
8170         (WTR::TestController::shouldShowTouches const):
8171         * WebKitTestRunner/TestOptions.h:
8172         * WebKitTestRunner/ios/HIDEventGenerator.h:
8173         * WebKitTestRunner/ios/HIDEventGenerator.mm:
8174         (-[DebugTouchView pointInside:withEvent:]):
8175         (-[HIDEventGenerator setShouldShowTouches:]):
8176         (-[HIDEventGenerator initDebugViews]):
8177         (-[HIDEventGenerator updateDebugUI:withPoint:isTouching:]):
8178         (-[HIDEventGenerator _createIOHIDEventWithInfo:]):
8179         (-[HIDEventGenerator _createIOHIDEventType:]):
8180         (-[HIDEventGenerator _updateTouchPoints:count:]):
8181         (-[HIDEventGenerator touchDownAtPoints:touchCount:]):
8182         (-[HIDEventGenerator liftUpAtPoints:touchCount:]):
8183         (-[HIDEventGenerator moveToPoints:touchCount:duration:]):
8184         (-[HIDEventGenerator markerEventReceived:]):
8185         * WebKitTestRunner/ios/TestControllerIOS.mm:
8186         (WTR::TestController::updatePlatformSpecificTestOptionsForTest const):
8187         * WebKitTestRunner/ios/mainIOS.mm:
8188         (-[WebKitTestRunnerApp _runTestController]):
8190 2017-09-28  Mark Lam  <mark.lam@apple.com>
8192         [Re-landing] Turn on exception scope verification for JSC tests.
8193         https://bugs.webkit.org/show_bug.cgi?id=162351
8194         <rdar://problem/29563911>
8196         Reviewed by Saam Barati.
8198         Update: I'm re-landing this patch now that test262 exception check validation
8199         failures have been fixed in r222617.  testapi still has some validation failures,
8200         but this patch does not affect testapi.
8202         Added the option to --validateExceptionChecks=true option to BASE_OPTIONS in
8203         run-jsc-stress-tests.  This turns on exception scope verification on JSC test
8204         runs (which currently does not include testapi).
8206         Some stats on time to run JSC stress and mozilla tests:
8207         1. Release build w/o --validateExceptionChecks=true: real 16m22.544s, user 156m24.080s, sys 123m3.649s
8208         2. Debug build w/o --validateExceptionChecks=true: real 78m34.206s, user 1661m57.008s, sys 73m21.177s
8209         3. Debug build w/ --validateExceptionChecks=true: real 77m41.106s, user 1656m13.924s, sys 73m42.309s
8210         4. Debug build w/ --validateExceptionChecks=true --dumpSimulatedThrows=true: real 92m56.918s, user 2012m56.441s, sys 75m14.174s
8212         The stats shows that (2) and (3) has effectively no time difference.  Hence, the
8213         cost of enabling --validateExceptionChecks=true is not significant.
8215         It would be nice to enable --dumpSimulatedThrows=true as well, but (4) is about
8216         21% slower than (3).  To avoid making debug test runs a lot slower, we'll leave
8217         --dumpSimulatedThrows=true off.  We can manually add that when we see a regression
8218         and need to debug the issue.  Otherwise, we wont pay the price for it.
8220         * Scripts/run-jsc-stress-tests:
8222 2017-09-27  Alex Christensen  <achristensen@webkit.org>
8224         Add WKContentRuleList notify action type
8225         https://bugs.webkit.org/show_bug.cgi?id=177013
8226         <rdar://problem/31073936>
8228         Reviewed by Darin Adler.
8230         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
8231         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
8232         (WebCore::ContentExtensions::operator<<):
8233         (TestWebKitAPI::InMemoryCompiledContentExtension::create):
8234         (TestWebKitAPI::InMemoryCompiledContentExtension::data):
8235         (TestWebKitAPI::InMemoryCompiledContentExtension::InMemoryCompiledContentExtension):
8236         (TestWebKitAPI::makeBackend):
8237         (TestWebKitAPI::TEST_F):
8238         (TestWebKitAPI::actionsEqual):
8239         (TestWebKitAPI::sequenceInstances):
8240         (TestWebKitAPI::InMemoryCompiledContentExtension::createFromFilter): Deleted.
8241         (TestWebKitAPI::InMemoryCompiledContentExtension::~InMemoryCompiledContentExtension): Deleted.
8242         * TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm: Added.
8243         (-[ContentRuleListNotificationDelegate _webView:URL:contentRuleListIdentifiers:notifications:]):
8244         (-[ContentRuleListNotificationDelegate webView:startURLSchemeTask:]):
8245         (-[ContentRuleListNotificationDelegate webView:stopURLSchemeTask:]):
8246         (-[ContentRuleListNotificationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
8247         (makeWarnContentRuleList):
8248         (TEST):
8250 2017-09-27  Wenson Hsieh  <wenson_hsieh@apple.com>
8252         Drag event DataTransfer has unexpected types "dyn.ah62d4..."
8253         https://bugs.webkit.org/show_bug.cgi?id=172526
8254         <rdar://problem/32396081>
8256         Reviewed by Ryosuke Niwa.
8258         Adds new API tests on iOS to cover various cases of using DataTransfer.setData, DataTransfer.getData, and
8259         DataTransfer.types, as well as their interaction with platform objects (source NSItemProviders in the case of
8260         drag and drop, and the general UIPasteboard for copy and paste).
8262         * TestWebKitAPI/PlatformUtilities.h:
8263         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
8264         * TestWebKitAPI/Tests/WebKitCocoa/dump-datatransfer-types.html: Added.
8266         Introduce a new API test harness that both drag-and-drop and copy-and-paste tests use to dump DataTransfer's
8267         web-exposed types and values.
8269         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
8270         (checkFirstTypeIsPresentAndSecondTypeIsMissing):
8271         (checkJSONWithLogging):
8272         (TestWebKitAPI::TEST):
8273         (checkTypeIdentifierAndIsNotOtherTypeIdentifier): Deleted.
8274         * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
8275         (TestWebKitAPI::checkJSONWithLogging):
8276         (TestWebKitAPI::setUpWebViewForPasteboardTests):
8277         (TestWebKitAPI::TEST):
8278         * TestWebKitAPI/cocoa/PlatformUtilitiesCocoa.mm:
8279         (TestWebKitAPI::Util::jsonMatchesExpectedValues):
8281 2017-09-27  Lucas Forschler  <lforschler@apple.com>
8283         Add macOS High Sierra and iOS Simulator 11 support to bisect-builds.
8284         https://bugs.webkit.org/show_bug.cgi?id=177578
8286         Reviewed by Alexey Proskuryakov.
8288         * Scripts/bisect-builds:
8289         (minified_platforms):
8290         (unminified_platforms):
8292 2017-09-27  Ryan Haddad  <ryanhaddad@apple.com>
8294         Update TestResultsServer for High Sierra queues.
8295         https://bugs.webkit.org/show_bug.cgi?id=177500
8297         Reviewed by Alexey Proskuryakov.
8299         * TestResultServer/static-dashboards/builders.jsonp:
8301 2017-09-27  Lucas Forschler  <lforschler@apple.com>
8303         bisect-builds:add a README to the archive.
8304         https://bugs.webkit.org/show_bug.cgi?id=177376
8306         Reviewed by Alexey Proskuryakov & Jon Davis.
8308         * BuildSlaveSupport/built-product-archive:
8309         (addFilesToArchive): refactor function (was previously addLauncherToArchive)
8310         (createZip): Teach function to add the README
8311         (addLauncherToArchive): Deleted. (refactored to addFilesToArchive)
8312         * BuildSlaveSupport/run-webkit-archive: Deleted. (Moved to WebKitArchiveSupport)
8313         * WebKitArchiveSupport: Added.
8314         * WebKitArchiveSupport/README: Added. README which will be packaged up with the archive.
8315         * WebKitArchiveSupport/run-webkit-archive: Added. (Moved from BuildSlaveSupport)
8317 2017-09-26  Tim Horton  <timothy_horton@apple.com>
8319         Mac CMake bot should provide verbose build output
8320         https://bugs.webkit.org/show_bug.cgi?id=177512
8322         Reviewed by Alexey Proskuryakov.
8324         * BuildSlaveSupport/build.webkit.org-config/config.json:
8325         It's hard to diagnose weird bot-only build problems without the
8326         full verbose build output, so turn that on. The Xcode builders
8327         do it too, so why not CMake!
8329 2017-09-26  Tim Horton  <timothy_horton@apple.com>
8331         Make it possible to easily get verbose ninja output from build-webkit
8332         https://bugs.webkit.org/show_bug.cgi?id=177511
8334         Reviewed by Sam Weinig.
8336         * Scripts/build-webkit:
8337         Add a -v/--verbose argument to build-webkit, which sets the environment
8338         variable VERBOSE=1, which buildCMakeGeneratedProject already checks.
8340         * Scripts/webkitdirs.pm:
8341         (buildCMakeGeneratedProject):
8342         Add ninja verbosity arguments to @makeArgs, which are appended
8343         after the -- and thus handed to ninja; the previous implementation
8344         (appending to @args) would only work if @makeArgs was non-empty and thus
8345         the -- was included.
8347 2017-09-26  Said Abou-Hallawa  <sabouhallawa@apple.com>
8349         Followup (r222427): SynchronizedFixedQueue should not have a public constructor
8350         https://bugs.webkit.org/show_bug.cgi?id=177458
8352         Reviewed by Tim Horton.
8354         Fix the definition and the creation of SynchronizedFixedQueue.
8356         * TestWebKitAPI/Tests/WTF/SynchronizedFixedQueue.cpp:
8357         (TestWebKitAPI::ToUpperConverter::ToUpperConverter):
8358         (TestWebKitAPI::ToUpperConverter::startProducing):
8359         (TestWebKitAPI::ToUpperConverter::startConsuming):
8360         (TestWebKitAPI::ToUpperConverter::stopProducing):
8361         (TestWebKitAPI::ToUpperConverter::stopConsuming):
8362         (TestWebKitAPI::ToUpperConverter::enqueueLower):
8364 2017-09-26  Wenson Hsieh  <wenson_hsieh@apple.com>
8366         [ios-simulator] API test DataInteractionTests.ExternalSourceDataTransferItemGetFolderAsEntry is failing
8367         https://bugs.webkit.org/show_bug.cgi?id=177271
8369         Reviewed by Tim Horton and Megan Gardner.
8371         Rebaseline a failing API test.
8373         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
8374         (TestWebKitAPI::TEST):
8376 2017-09-26  Per Arne Vollan  <pvollan@apple.com>
8378         Set LF eol-style on Windows shell script, because the script failed on one of the EWS
8379         bots, when it had the 'native' style.
8381         Unreviewed Windows EWS fix. 
8383         * EWSTools/start-queue-win.sh: Modified property svn:eol-style.
8385 2017-09-26  Jonathan Bedard  <jbedard@apple.com>
8387         webkitpy: Notify parent process when a worker is spawned
8388         https://bugs.webkit.org/show_bug.cgi?id=177467
8389         <rdar://problem/34660194>
8391         Reviewed by Daniel Bates.
8393         When we fork the parent process, there may be resources in that process
8394         which workers will take ownership of. Notify ports when a new worker is created
8395         so that these resources can be correctly managed.
8397         * Scripts/webkitpy/common/message_pool.py:
8398         (_MessagePool._start_workers): After all workers are started, notify the caller
8399         that a worker has been created, unless we are running inline, in which case the
8400         parent process is still the worker.
8401         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
8402         (LayoutTestRunner._handle_did_spawn_worker): Notify the port that a worker process
8403         has been created.
8404         * Scripts/webkitpy/port/base.py:
8405         (Port.did_spawn_worker): Add function so that ports may manage any
8406         resources created on the parent process but managed by the provided worker.
8407         * Scripts/webkitpy/port/device.py:
8408         (Device.release_worker_resources): Call release_worker_resources on the
8409         platform_device if such a function is defined.
8410         * Scripts/webkitpy/port/ios.py:
8411         (IOSPort.did_spawn_worker): Release any worker resources on the iOS
8412         device object associated with the spawned worker.
8413         * Scripts/webkitpy/test/runner.py:
8414         (Runner.handle): Ignore the did_spawn_worker message during testing.
8416 2017-09-26  Jer Noble  <jer.noble@apple.com>
8418         Thrown ObjC exception when right clicking on <img> containing mp4 link
8419         https://bugs.webkit.org/show_bug.cgi?id=177370
8421         Reviewed by Darin Adler.
8423         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
8424         * TestWebKitAPI/Tests/WebKit/mac/ContextMenuImgWithVideo.html: Added.
8425         * TestWebKitAPI/Tests/WebKit/mac/ContextMenuImgWithVideo.mm: Added.
8426         (-[ContextMenuImgWithVideoDelegate _webView:contextMenu:forElement:]):
8427         (TestWebKitAPI::TEST):
8429 2017-09-26  Per Arne Vollan  <pvollan@apple.com>
8431         [Win] 'webkit-patch clean' is failing on bot.
8432         https://bugs.webkit.org/show_bug.cgi?id=177488
8434         Reviewed by Brent Fulgham.
8436         If 'os.remove' throws an exception, catch it.
8438         * Scripts/webkitpy/common/checkout/scm/svn.py:
8439         (SVN.discard_working_directory_changes):
8441 2017-09-25  Frederik Riedel  <riedel@apple.com>
8443         Expose way to set values of classified form controls as {Legacy WebKit, WebKit} SPI
8444         https://bugs.webkit.org/show_bug.cgi?id=174394
8445         <rdar://problem/33183504>
8447         Reviewed by Ryosuke Niwa.
8449         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
8450         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm: Added.
8451         (-[WKWebView _privateTextInput]): Testing helpers.
8452         (TestWebKitAPI::TEST): Added test cases to test AutoFill for web views.
8453         * TestWebKitAPI/ios/UIKitSPI.h:
8455 2017-09-25  Frederic Wang  <fwang@igalia.com>
8457         Change my status to reviewer and reformat with validate-committer-lists
8459         Unreviewed.
8461         * Scripts/webkitpy/common/config/contributors.json:
8463 2017-09-25  Ryan Haddad  <ryanhaddad@apple.com>
8465         Add High Sierra bots to buildbot and dashboard.
8466         https://bugs.webkit.org/show_bug.cgi?id=177437
8468         Reviewed by Alexey Proskuryakov.
8470         * BuildSlaveSupport/build.webkit.org-config/config.json: Add High Sierra queues, move Leaks and JSC queues over from Sierra.
8471         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Update expected results.
8472         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js: Add High Sierra.
8473         (WebKitBuildbot):
8475 2017-09-25  Chris Dumez  <cdumez@apple.com>
8477         [WK2] Add API to query if a download was user-initiated
8478         https://bugs.webkit.org/show_bug.cgi?id=177435
8479         <rdar://problem/34498422>
8481         Reviewed by Alex Christensen.
8483         Add API test coverage.
8485         * TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm:
8486         (TestWebKitAPI::decideDestinationWithSuggestedFilename):
8487         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
8488         (-[DownloadDelegate _downloadDidStart:]):
8489         (-[DownloadDelegate _downloadDidFinish:]):
8490         (runTest):
8491         (TEST):
8492         (-[BlobDownloadDelegate _downloadDidStart:]):
8493         (-[BlobDownloadDelegate _downloadDidFinish:]):
8494         (-[RedirectedDownloadDelegate _downloadDidStart:]):
8495         (-[RedirectedDownloadDelegate _downloadDidFinish:]):
8497 2017-09-25  Commit Queue  <commit-queue@webkit.org>
8499         Unreviewed, rolling out r222455.
8500         https://bugs.webkit.org/show_bug.cgi?id=177460
8502         broke iOS build (Requested by alexchristensen on #webkit).
8504         Reverted changeset:
8506         "Add WKContentRuleList notify action type"
8507         https://bugs.webkit.org/show_bug.cgi?id=177013
8508         http://trac.webkit.org/changeset/222455
8510 2017-09-25  Per Arne Vollan  <pvollan@apple.com>
8512         [Win] run-api-tests is failing.
8513         https://bugs.webkit.org/show_bug.cgi?id=177454
8515         Reviewed by Brent Fulgham.
8517         TestWebKit.exe has changed name to TestWebKitLegacy.exe.
8519         * Scripts/run-api-tests:
8520         (testToolPaths):
8522 2017-09-25  Per Arne Vollan  <pvollan@apple.com>
8524         [Win] Cygwin 64-bit EWS process cannot find Visual Studio installation.
8525         https://bugs.webkit.org/show_bug.cgi?id=177244
8527         Reviewed by Alex Christensen.
8529         The 64-bit EWS shell process should try to find Visual Studio in the 32-bit program files folder.
8531         * EWSTools/start-queue-win.sh:
8533 2017-09-25  Alex Christensen  <achristensen@webkit.org>
8535         Add WKContentRuleList notify action type
8536         https://bugs.webkit.org/show_bug.cgi?id=177013
8537         <rdar://problem/31073936>
8539         Reviewed by Darin Adler.
8541         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
8542         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
8543         (WebCore::ContentExtensions::operator<<):
8544         (TestWebKitAPI::InMemoryCompiledContentExtension::create):
8545         (TestWebKitAPI::InMemoryCompiledContentExtension::data):
8546         (TestWebKitAPI::InMemoryCompiledContentExtension::InMemoryCompiledContentExtension):
8547         (TestWebKitAPI::makeBackend):
8548         (TestWebKitAPI::TEST_F):
8549         (TestWebKitAPI::actionsEqual):
8550         (TestWebKitAPI::sequenceInstances):
8551         (TestWebKitAPI::InMemoryCompiledContentExtension::createFromFilter): Deleted.
8552         (TestWebKitAPI::InMemoryCompiledContentExtension::~InMemoryCompiledContentExtension): Deleted.
8553         * TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm: Added.
8554         (-[ContentRuleListNotificationDelegate _webView:URL:contentRuleListIdentifiers:notifications:]):
8555         (-[ContentRuleListNotificationDelegate webView:startURLSchemeTask:]):
8556         (-[ContentRuleListNotificationDelegate webView:stopURLSchemeTask:]):
8557         (-[ContentRuleListNotificationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
8558         (makeWarnContentRuleList):
8559         (TEST):
8561 2017-09-25  Carlos Alberto Lopez Perez  <clopez@igalia.com>
8563         REGRESSION(r222160) [GTK] [Debug] Internal compiler error on the buildbot (huge memory usage by GCC)
8564         https://bugs.webkit.org/show_bug.cgi?id=177223
8566         Reviewed by Carlos Garcia Campos.
8568         When the user environment sets the variable NUMBER_OF_PROCESSORS
8569         this should be passed down to the build system (ninja or make) always.
8571         Playing with the number of this variable is needed when using icecc
8572         (as you usually want to launch more parallel build process than your
8573         number of cores), or when you want to limit the number of parallel
8574         build process for hardware capacity reasons.
8576         * Scripts/build-webkit:
8578 2017-09-24  Fujii Hironori  <Hironori.Fujii@sony.com>
8580         [GTK] Incremental builds fail every time Web Inspector icons are removed
8581         https://bugs.webkit.org/show_bug.cgi?id=177349
8583         Reviewed by Carlos Garcia Campos.
8585         Removing GTK WebInspector image files always breaks the GTK and
8586         WPE ports incremental builds.
8588         * Scripts/webkitdirs.pm:
8589         (shouldRemoveCMakeCache): Check the timestamp of
8590         Source/WebInspectorUI/UserInterface/Images/gtk directory if
8591         isGtk() or isWPE().
8593 2017-09-24  Joanmarie Diggs  <jdiggs@igalia.com>
8595         [ATK] Object attributes are missing for ARIA live region roles
8596         https://bugs.webkit.org/show_bug.cgi?id=171174
8598         Reviewed by Chris Fleizach.
8600         Add support for testing property values for AXARIALive, AXARIAAtomic, and
8601         AXARIARelevant. Also add handling for testing whether AXElementBusy is
8602         "supported" (in ATK, busy is a state and is supported on all elements
8603         regardless of whether the state is present or absent from the state set).
8605         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
8606         (WTR::AccessibilityUIElement::boolAttributeValue):
8607         (WTR::AccessibilityUIElement::isAttributeSupported):
8609 2017-09-23  Michael Catanzaro  <mcatanzaro@igalia.com>
8611         Unreviewed Mac CMake build fixup after r222194
8613         * DumpRenderTree/PlatformMac.cmake:
8615 2017-09-22  Zalan Bujtas  <zalan@apple.com>
8617         WeakPtrFactory should populate m_ref lazily.
8618         https://bugs.webkit.org/show_bug.cgi?id=177375
8620         Reviewed by Geoffrey Garen.
8622         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
8623         (TestWebKitAPI::TEST):
8625 2017-09-22  Filip Pizlo  <fpizlo@apple.com>
8627         WSL should report an error if you try to create an operator overload that will never be called
8628         https://bugs.webkit.org/show_bug.cgi?id=177092
8630         Reviewed by JF Bastien.
8631         
8632         This adds all kinds of checks to ensure that your operator overloads make sense. This adds all
8633         kinds of tests for those checks.
8634         
8635         In the process of writing those tests, I hit an awesome bug: function instantiation was
8636         instantiating all types, which meant that if that instantiated function needed to resolve calls
8637         to protocol functions, we'd fail because we would have cloned top-level struct types. We need
8638         to preserve the uninstantiated argument types, type arguments, and return type (for casts) in
8639         order to be able to resolve protocol calls. But we also need the instantiated version of the
8640         type arguments for execution. So, this adds some more stuff to the CallExpression class.
8641         
8642         * WebGPUShadingLanguageRI/All.js:
8643         * WebGPUShadingLanguageRI/ArrayRefType.js:
8644         (ArrayRefType.prototype.unifyImpl):
8645         * WebGPUShadingLanguageRI/ArrayType.js:
8646         (ArrayType.prototype.get isArray):
8647         * WebGPUShadingLanguageRI/CallExpression.js:
8648         (CallExpression.resolve):
8649         (CallExpression.prototype.resolve):
8650         (CallExpression.prototype.resolveToOverload):
8651         * WebGPUShadingLanguageRI/Checker.js:
8652         (Checker.prototype._checkOperatorOverload):
8653         (Checker.prototype.visitFuncDef):
8654         (Checker.prototype.visitProtocolDecl):
8655         (Checker.prototype.visitMakeArrayRefExpression):
8656         * WebGPUShadingLanguageRI/EBufferBuilder.js:
8657         (EBufferBuilder.prototype._createEPtr):
8658         * WebGPUShadingLanguageRI/EPtr.js:
8659         (EPtr):
8660         * WebGPUShadingLanguageRI/Evaluator.js:
8661         (Evaluator.prototype._snapshot):
8662         (Evaluator.prototype._runBody):
8663         (Evaluator.prototype.visitFunctionLikeBlock):
8664         (Evaluator.prototype.visitCallExpression):
8665         (Evaluator):
8666         (Evaluator.prototype.runFunc): Deleted.
8667         * WebGPUShadingLanguageRI/ExternalOrigin.js: Added.
8668         * WebGPUShadingLanguageRI/Func.js:
8669         (Func.prototype.toDeclString):
8670         * WebGPUShadingLanguageRI/FuncInstantiator.js:
8671         (FuncInstantiator.prototype.getUnique.InstantiationSubstitution.prototype.visitCallExpression):
8672         (FuncInstantiator.prototype.getUnique.InstantiationSubstitution):
8673         (FuncInstantiator.prototype.getUnique.InstantiationInstantiateImmediates.prototype.visitCallExpression):
8674         (FuncInstantiator.prototype.getUnique.InstantiationInstantiateImmediates):
8675         (FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitFuncDef):
8676         * WebGPUShadingLanguageRI/Intrinsics.js:
8677         (Intrinsics):
8678         * WebGPUShadingLanguageRI/LateChecker.js:
8679         (LateChecker.prototype.visitReferenceType):
8680         (LateChecker.prototype._checkShaderType):
8681         * WebGPUShadingLanguageRI/Lexer.js:
8682         (Lexer._textIsIdentifierImpl):
8683         (Lexer.textIsIdentifier):
8684         (Lexer.prototype.next):
8685         (Lexer):
8686         * WebGPUShadingLanguageRI/NameResolver.js:
8687         (NameResolver.prototype.visitProtocolDecl):
8688         * WebGPUShadingLanguageRI/Parse.js:
8689         (parseType.getAddressSpace):
8690         (parseType):
8691         * WebGPUShadingLanguageRI/Prepare.js:
8692         (let.prepare):
8693         * WebGPUShadingLanguageRI/PtrType.js:
8694         (PtrType.prototype.unifyImpl):
8695         * WebGPUShadingLanguageRI/ReferenceType.js:
8696         (ReferenceType):
8697         * WebGPUShadingLanguageRI/Rewriter.js:
8698         (Rewriter.prototype.visitReferenceType):
8699         (Rewriter.prototype.processDerivedCallData):
8700         * WebGPUShadingLanguageRI/StandardLibrary.js:
8701         (intToString):
8702         * WebGPUShadingLanguageRI/StatementCloner.js:
8703         (StatementCloner.prototype.visitFuncDef):
8704         * WebGPUShadingLanguageRI/StructLayoutBuilder.js:
8705         (StructLayoutBuilder.prototype.visitCallExpression):
8706         (StructLayoutBuilder):
8707         * WebGPUShadingLanguageRI/Substitution.js:
8708         (Substitution.prototype.visitTypeRef):
8709         * WebGPUShadingLanguageRI/Test.html:
8710         * WebGPUShadingLanguageRI/Test.js:
8711         (checkNumber):
8712         (set target):
8713         (tests.literalBool):
8714         (tests.identityBool):
8715         (tests.intSimpleMath):
8716         (tests.uintSimpleMath):
8717         (tests.uint8SimpleMath):
8718         (tests.equality):
8719         (tests.logicalNegation):
8720         (tests.notEquality):
8721         (tests.equalityTypeFailure):
8722         (tests.generalNegation):
8723         (tests.add1):
8724         (tests.simpleGeneric):
8725         (tests.nameResolutionFailure):
8726         (tests.simpleVariable):
8727         (tests.simpleAssignment):
8728         (tests.simpleDefault):
8729         (tests.simpleDereference):
8730         (tests.dereferenceStore):
8731         (tests.simpleMakePtr):
8732         (tests.threadArrayLoad):
8733         (tests.threadArrayLoadIntLiteral):
8734         (tests.deviceArrayLoad):
8735         (tests.threadArrayStore):
8736         (tests.deviceArrayStore):
8737         (tests.deviceArrayStoreIntLiteral):
8738         (tests.simpleProtocol):
8739         (tests.typeMismatchReturn):
8740         (tests.typeMismatchVariableDecl):
8741         (tests.typeMismatchAssignment):
8742         (tests.typeMismatchReturnParam):
8743         (tests.badAdd):
8744         (tests.lexerKeyword):
8745         (tests.simpleNoReturn):
8746         (tests.simpleUnreachableCode):
8747         (tests.simpleStruct):
8748         (tests.genericStructInstance):
8749         (tests.doubleGenericCallsDoubleGeneric):
8750         (tests.doubleGenericCallsSingleGeneric):
8751         (tests.loadNull):
8752         (tests.storeNull):
8753         (tests.returnNull):
8754         (tests.dereferenceDefaultNull):
8755         (tests.defaultInitializedNull):
8756         (tests.passNullToPtrMonomorphic):
8757         (tests.passNullToPtrPolymorphic):
8758         (tests.passNullToPolymorphic):
8759         (tests.loadNullArrayRef):
8760         (tests.storeNullArrayRef):
8761         (tests.returnNullArrayRef):
8762         (tests.dereferenceDefaultNullArrayRef):
8763         (tests.defaultInitializedNullArrayRef):
8764         (tests.defaultInitializedNullArrayRefIntLiteral):
8765         (tests.passNullToPtrMonomorphicArrayRef):
8766         (tests.passNullToPtrPolymorphicArrayRef):
8767         (tests.returnIntLiteralUint):
8768         (tests.returnIntLiteralDouble):
8769         (tests.badIntLiteralForInt):
8770         (tests.badIntLiteralForUint):
8771         (tests.badIntLiteralForDouble):
8772         (tests.passNullAndNotNull):
8773         (tests.passNullAndNotNullFullPoly):
8774         (tests.passNullAndNotNullFullPolyReverse):
8775         (tests.nullTypeVariableUnify):
8776         (tests.doubleNot):
8777         (tests.simpleRecursion):
8778         (tests.protocolMonoSigPolyDef):
8779         (tests.protocolPolySigPolyDef):
8780         (tests.protocolDoublePolySigDoublePolyDef):
8781         (tests.protocolDoublePolySigDoublePolyDefExplicit):
8782         (tests.variableShadowing):
8783         (tests.ifStatement):
8784         (tests.ifElseStatement):
8785         (tests.ifElseIfStatement):
8786         (tests.ifElseIfElseStatement):
8787         (tests.returnIf):
8788         (tests.simpleWhile):
8789         (tests.protocolMonoPolySigDoublePolyDefExplicit):
8790         (tests.ambiguousOverloadSimple):
8791         (tests.ambiguousOverloadOverlapping):
8792         (tests.ambiguousOverloadTieBreak):
8793         (tests.intOverloadResolution):
8794         (tests.intOverloadResolutionReverseOrder):
8795         (tests.intOverloadResolutionGeneric):
8796         (tests.intLiteralGeneric):
8797         (tests.intLiteralGenericWithProtocols):
8798         (tests.uintLiteralGeneric):
8799         (tests.uintLiteralGenericWithProtocols):
8800         (tests.intLiteralGenericSpecific):
8801         (tests.simpleConstexpr):
8802         (tests.break):
8803         (tests.continue):
8804         (tests.doWhile):
8805         (tests.forLoop):
8806         (tests.chainConstexpr):
8807         (tests.chainGeneric):
8808         (tests.chainStruct):
8809         (tests.chainStructNewlyValid):
8810         (tests.chainStructDevice):
8811         (tests.paramChainStructDevice):
8812         (tests.simpleProtocolExtends):
8813         (tests.protocolExtendsTwo):
8814         (tests.prefixPlusPlus):
8815         (tests.prefixPlusPlusResult):
8816         (tests.postfixPlusPlus):
8817         (tests.postfixPlusPlusResult):
8818         (tests.prefixMinusMinus):
8819         (tests.prefixMinusMinusResult):
8820         (tests.postfixMinusMinus):
8821         (tests.postfixMinusMinusResult):
8822         (tests.plusEquals):
8823         (tests.plusEqualsResult):
8824         (tests.minusEquals):
8825         (tests.minusEqualsResult):
8826         (tests.timesEquals):
8827         (tests.timesEqualsResult):
8828         (tests.divideEquals):
8829         (tests.divideEqualsResult):
8830         (tests.twoIntLiterals):
8831         (tests.unifyDifferentLiterals):
8832         (tests.unifyDifferentLiteralsBackwards):
8833         (tests.unifyVeryDifferentLiterals):
8834         (tests.unifyVeryDifferentLiteralsBackwards):
8835         (tests.assignUintToInt):
8836         (tests.buildArrayThenSumIt):
8837         (tests.buildArrayThenSumItUsingArrayReference):
8838         (tests.overrideSubscriptStruct):
8839         (tests.overrideSubscriptStructAndDoStores):
8840         (tests.overrideSubscriptStructAndUsePointers):
8841         (tests.overrideSubscriptStructAndUsePointersIncorrectly):
8842         (tests.makeArrayRefFromLocal):
8843         (tests.makeArrayRefFromPointer):
8844         (tests.makeArrayRefFromArrayRef):
8845         (tests.simpleLength):
8846         (tests.nonArrayRefArrayLengthSucceed):
8847         (tests.nonArrayRefArrayLengthFail):
8848         (tests.constexprIsNotLValuePtr):
8849         (tests.constexprIsNotLValueAssign):
8850         (tests.constexprIsNotLValueRMW):
8851         (tests.assignLength):
8852         (tests.assignLengthHelper):
8853         (tests.simpleGetter):
8854         (tests.simpleSetter):
8855         (tests.genericAccessors):
8856         (tests.bitSubscriptAccessor):
8857         (tests.nestedSubscriptLValueEmulationSimple):
8858         (tests.nestedSubscriptLValueEmulationGeneric):
8859         (tests.boolBitAnd):
8860         (tests.boolBitOr):
8861         (tests.boolBitXor):
8862         (tests.boolBitNot):
8863         (tests.intBitAnd):
8864         (tests.intBitOr):
8865         (tests.intBitXor):
8866         (tests.intBitNot):
8867         (tests.intLShift):
8868         (tests.intRShift):
8869         (tests.uintBitAnd):
8870         (tests.uintBitOr):
8871         (tests.uintBitXor):
8872         (tests.uintBitNot):
8873         (tests.uintLShift):
8874         (tests.uintRShift):
8875         (tests.uint8BitAnd):
8876         (tests.uint8BitOr):
8877         (tests.uint8BitXor):
8878         (tests.uint8BitNot):
8879         (tests.uint8LShift):
8880         (tests.uint8RShift):
8881         (tests.floatMath):
8882         (tests.genericCastInfer):
8883         (tests.booleanMath):
8884         (tests.typedefArray):
8885         (tests.shaderTypes):
8886         (tests.builtinVectors):
8887         (tests.instantiateStructInStruct):
8888         (tests.instantiateStructInStructWithInt2):
8889         (tests.simpleEnum):
8890         (tests.enumWithManualValues):
8891         (tests.enumWithoutZero):
8892         (tests.enumDuplicates):
8893         (tests.enumWithSomeManualValues):
8894         (tests.enumConstexprGenericFunction):
8895         (tests.enumConstexprGenericStruct):
8896         (tests.trap):
8897         (tests.swizzle):
8898         (tests.enumWithExplicitIntBase):
8899         (tests.enumWithUintBase):
8900         (tests.enumFloatBase):
8901         (tests.enumPtrBase):
8902         (tests.enumArrayRefBase):
8903         (tests.emptyStruct):
8904         (tests.enumStructBase):
8905         (tests.enumNoMembers):
8906         (tests.simpleSwitch):
8907         (tests.exhaustiveUint8Switch):
8908         (tests.notQuiteExhaustiveUint8Switch):
8909         (tests.notQuiteExhaustiveUint8SwitchWithDefault):
8910         (tests.switchFallThrough):
8911         (tests.switchBreak):
8912         (tests.enumSwitchBreakExhaustive):
8913         (tests.enumSwitchBreakNotQuiteExhaustive):
8914         (tests.enumSwitchBreakNotQuiteExhaustiveWithDefault):
8915         (tests.simpleRecursiveStruct):
8916         (tests.mutuallyRecursiveStruct):
8917         (tests.mutuallyRecursiveStructWithPointersBroken):
8918         (tests.mutuallyRecursiveStructWithPointers):
8919         (tests.linkedList):
8920         (tests.pointerToPointer):
8921         (tests.arrayRefToArrayRef):
8922         (tests.pointerGetter):
8923         (tests.loneSetter):
8924         (tests.setterWithMismatchedType):
8925         (tests.setterWithMatchedType):
8926         (tests.operatorWithUninferrableTypeVariable):
8927         (tests.operatorWithoutUninferrableTypeVariable):
8928         (tests.operatorCastWithUninferrableTypeVariable):
8929         (tests.operatorCastWithTypeVariableInferredFromReturnType):
8930         (tests.incWrongArgumentLength):
8931         (tests.decWrongArgumentLength):
8932         (tests.incWrongTypes):
8933         (tests.decWrongTypes):
8934         (tests.plusWrongArgumentLength):
8935         (tests.minusWrongArgumentLength):
8936         (tests.timesWrongArgumentLength):
8937         (tests.divideWrongArgumentLength):
8938         (tests.moduloWrongArgumentLength):
8939         (tests.bitAndWrongArgumentLength):
8940         (tests.bitOrWrongArgumentLength):
8941         (tests.bitXorWrongArgumentLength):
8942         (tests.lShiftWrongArgumentLength):
8943         (tests.rShiftWrongArgumentLength):
8944         (tests.bitNotWrongArgumentLength):
8945         (tests.equalsWrongArgumentLength):
8946         (tests.lessThanWrongArgumentLength):
8947         (tests.lessEqualWrongArgumentLength):
8948         (tests.greaterWrongArgumentLength):
8949         (tests.greaterEqualWrongArgumentLength):
8950         (tests.equalsWrongReturnType):
8951         (tests.notEqualsOverload):
8952         (tests.lessThanWrongReturnType):
8953         (tests.lessEqualWrongReturnType):
8954         (tests.greaterThanWrongReturnType):
8955         (tests.greaterEqualWrongReturnType):
8956         (tests.dotOperatorWrongArgumentLength):
8957         (tests.dotOperatorSetterWrongArgumentLength):
8958         (tests.loneSetterPointer):
8959         (tests.setterWithNoGetterOverload):
8960         (tests.setterWithNoGetterOverloadFixed):
8961         (tests.anderWithNothingWrong):
8962         (tests.anderWithWrongNumberOfArguments):
8963         (tests.anderDoesntReturnPointer):
8964         (tests.anderDoesntTakeReference):
8965         (tests.anderWithArrayRef):
8966         (tests.pointerIndexGetter):
8967         (tests.loneIndexSetter):
8968         (tests.notLoneIndexSetter):
8969         (tests.indexSetterWithMismatchedType):
8970         (tests.indexOperatorWrongArgumentLength):
8971         (tests.indexOperatorSetterWrongArgumentLength):
8972         (tests.loneIndexSetterPointer):
8973         (tests.indexSetterWithNoGetterOverload):
8974         (tests.indexSetterWithNoGetterOverloadFixed):
8975         (tests.indexAnderWithNothingWrong):
8976         (tests.indexAnderWithWrongNumberOfArguments):
8977         (tests.indexAnderDoesntReturnPointer):
8978         (tests.indexAnderDoesntTakeReference):
8979         (tests.indexAnderWithArrayRef):
8980         (tests.devicePtrPtr):
8981         (tests.threadgroupPtrPtr):
8982         (tests.constantPtrPtr):
8983         (tests.pointerIndexGetterInProtocol):
8984         (tests.loneIndexSetterInProtocol):
8985         (tests.notLoneIndexSetterInProtocol):
8986         (tests.indexSetterWithMismatchedTypeInProtocol):
8987         (tests.indexOperatorWrongArgumentLengthInProtocol):
8988         (tests.indexOperatorSetterWrongArgumentLengthInProtocol):
8989         (tests.loneIndexSetterPointerInProtocol):
8990         (tests.indexSetterWithNoGetterOverloadInProtocol):
8991         (tests.indexSetterWithNoGetterOverloadFixedInProtocol):
8992         (tests.indexAnderWithNothingWrongInProtocol):
8993         (tests.indexAnderWithWrongNumberOfArgumentsInProtocol):
8994         (tests.indexAnderDoesntReturnPointerInProtocol):
8995         (tests.indexAnderDoesntTakeReferenceInProtocol):
8996         (tests.indexAnderWithArrayRefInProtocol):
8997         (doTest):
8998         (this.window.let._.of.doTest):
8999         (TEST_literalBool): Deleted.
9000         (TEST_identityBool): Deleted.
9001         (TEST_intSimpleMath): Deleted.
9002         (TEST_uintSimpleMath): Deleted.
9003         (TEST_uint8SimpleMath): Deleted.
9004         (TEST_equality): Deleted.
9005         (TEST_logicalNegation): Deleted.
9006         (TEST_notEquality): Deleted.
9007         (TEST_equalityTypeFailure): Deleted.
9008         (): Deleted.
9009         (TEST_add1): Deleted.
9010         (TEST_simpleGeneric): Deleted.
9011         (TEST_nameResolutionFailure): Deleted.
9012         (TEST_simpleAssignment): Deleted.
9013         (TEST_simpleDefault): Deleted.
9014         (TEST_simpleDereference): Deleted.
9015         (TEST_dereferenceStore): Deleted.
9016         (TEST_simpleMakePtr): Deleted.
9017         (TEST_threadArrayLoad): Deleted.
9018         (TEST_threadArrayLoadIntLiteral): Deleted.
9019         (TEST_deviceArrayLoad): Deleted.
9020         (TEST_threadArrayStore): Deleted.
9021         (TEST_deviceArrayStore): Deleted.
9022         (TEST_deviceArrayStoreIntLiteral): Deleted.
9023         (TEST_simpleProtocol): Deleted.
9024         (TEST_typeMismatchReturn): Deleted.
9025         (TEST_simpleNoReturn): Deleted.
9026         (TEST_genericStructInstance): Deleted.
9027         (TEST_doubleGenericCallsDoubleGeneric): Deleted.
9028         (TEST_doubleGenericCallsSingleGeneric): Deleted.
9029         (TEST_dereferenceDefaultNull): Deleted.
9030         (TEST_dereferenceDefaultNullArrayRef): Deleted.
9031         (TEST_returnIntLiteralDouble): Deleted.
9032         (TEST_badIntLiteralForInt): Deleted.
9033         (TEST_passNullAndNotNullFullPoly): Deleted.
9034         (TEST_passNullAndNotNullFullPolyReverse): Deleted.
9035         (TEST_nullTypeVariableUnify.recurse): Deleted.
9036         (TEST_nullTypeVariableUnify.everyOrder): Deleted.
9037         (TEST_nullTypeVariableUnify.everyPair): Deleted.
9038         (TEST_nullTypeVariableUnify): Deleted.
9039         (TEST_simpleRecursion): Deleted.
9040         (TEST_protocolPolySigPolyDef): Deleted.
9041         (TEST_protocolDoublePolySigDoublePolyDef): Deleted.
9042         (TEST_protocolDoublePolySigDoublePolyDefExplicit): Deleted.
9043         (TEST_variableShadowing): Deleted.
9044         (TEST_ifStatement): Deleted.
9045         (TEST_ifElseStatement): Deleted.
9046         (TEST_ifElseIfStatement): Deleted.
9047         (TEST_ifElseIfElseStatement): Deleted.
9048         (TEST_returnIf): Deleted.
9049         (TEST_simpleWhile): Deleted.
9050         (TEST_protocolMonoPolySigDoublePolyDefExplicit): Deleted.
9051         (TEST_intOverloadResolution): Deleted.
9052         (TEST_intOverloadResolutionReverseOrder): Deleted.
9053         (TEST_intOverloadResolutionGeneric): Deleted.
9054         (TEST_intLiteralGeneric): Deleted.
9055         (TEST_intLiteralGenericWithProtocols): Deleted.
9056         (TEST_uintLiteralGeneric): Deleted.
9057         (TEST_uintLiteralGenericWithProtocols): Deleted.
9058         (TEST_intLiteralGenericSpecific): Deleted.
9059         (TEST_simpleConstexpr): Deleted.
9060         (TEST_break): Deleted.
9061         (TEST_forLoop): Deleted.
9062         (TEST_chainConstexpr): Deleted.
9063         (TEST_chainGeneric): Deleted.
9064         (TEST_chainStruct): Deleted.
9065         (TEST_chainStructNewlyValid): Deleted.
9066         (TEST_chainStructDevice): Deleted.
9067         (TEST_paramChainStructDevice): Deleted.
9068         (TEST_simpleProtocolExtends): Deleted.
9069         (TEST_protocolExtendsTwo): Deleted.
9070         (TEST_prefixPlusPlus): Deleted.
9071         (TEST_prefixPlusPlusResult): Deleted.
9072         (TEST_postfixPlusPlus): Deleted.
9073         (TEST_postfixPlusPlusResult): Deleted.
9074         (TEST_prefixMinusMinus): Deleted.
9075         (TEST_prefixMinusMinusResult): Deleted.
9076         (TEST_postfixMinusMinus): Deleted.
9077         (TEST_postfixMinusMinusResult): Deleted.
9078         (TEST_plusEquals): Deleted.
9079         (TEST_plusEqualsResult): Deleted.
9080         (TEST_minusEquals): Deleted.
9081         (TEST_minusEqualsResult): Deleted.
9082         (TEST_timesEquals): Deleted.
9083         (TEST_timesEqualsResult): Deleted.
9084         (TEST_divideEquals): Deleted.
9085         (TEST_divideEqualsResult): Deleted.
9086         (TEST_twoIntLiterals): Deleted.
9087         (TEST_unifyDifferentLiterals): Deleted.
9088         (TEST_buildArrayThenSumItUsingArrayReference): Deleted.
9089         (TEST_overrideSubscriptStruct): Deleted.
9090         (TEST_overrideSubscriptStructAndDoStores): Deleted.
9091         (TEST_overrideSubscriptStructAndUsePointers): Deleted.
9092         (TEST_overrideSubscriptStructAndUsePointersIncorrectly): Deleted.
9093         (TEST_makeArrayRefFromPointer): Deleted.
9094         (TEST_makeArrayRefFromArrayRef): Deleted.
9095         (TEST_nonArrayRefArrayLengthSucceed): Deleted.
9096         (TEST_nonArrayRefArrayLengthFail): Deleted.
9097         (TEST_simpleSetter): Deleted.
9098         (TEST_genericAccessors): Deleted.
9099         (TEST_bitSubscriptAccessor): Deleted.
9100         (TEST_nestedSubscriptLValueEmulationSimple): Deleted.
9101         (TEST_nestedSubscriptLValueEmulationGeneric): Deleted.
9102         (TEST_boolBitAnd): Deleted.
9103         (TEST_boolBitOr): Deleted.
9104         (TEST_boolBitXor): Deleted.
9105         (TEST_boolBitNot): Deleted.
9106         (TEST_intBitAnd): Deleted.
9107         (TEST_intBitOr): Deleted.
9108         (TEST_intBitXor): Deleted.
9109         (TEST_intBitNot): Deleted.
9110         (TEST_intLShift): Deleted.
9111         (TEST_intRShift): Deleted.
9112         (TEST_uintBitAnd): Deleted.
9113         (TEST_uintBitOr): Deleted.
9114         (TEST_uintBitXor): Deleted.
9115         (TEST_uintBitNot): Deleted.
9116         (TEST_uintLShift): Deleted.
9117         (TEST_uintRShift): Deleted.
9118         (TEST_uint8BitAnd): Deleted.
9119         (TEST_uint8BitOr): Deleted.
9120         (TEST_uint8BitXor): Deleted.
9121         (TEST_uint8BitNot): Deleted.
9122         (TEST_uint8LShift): Deleted.
9123         (TEST_uint8RShift): Deleted.
9124         (TEST_floatMath): Deleted.
9125         (TEST_booleanMath): Deleted.
9126         (TEST_typedefArray): Deleted.
9127         (TEST_shaderTypes): Deleted.
9128         (TEST_instantiateStructInStruct): Deleted.
9129         (TEST_instantiateStructInStructWithInt2): Deleted.
9130         (TEST_simpleEnum): Deleted.
9131         (TEST_enumWithManualValues): Deleted.
9132         (TEST_enumWithoutZero): Deleted.
9133         (TEST_enumConstexprGenericFunction): Deleted.
9134         (TEST_enumConstexprGenericStruct): Deleted.
9135         (TEST_trap): Deleted.
9136         (TEST_enumWithExplicitIntBase): Deleted.
9137         (TEST_enumWithUintBase): Deleted.
9138         (TEST_enumFloatBase): Deleted.
9139         (TEST_enumStructBase): Deleted.
9140         (TEST_simpleSwitch): Deleted.
9141         (TEST_exhaustiveUint8Switch): Deleted.
9142         (TEST_notQuiteExhaustiveUint8Switch): Deleted.
9143         (TEST_switchFallThrough): Deleted.
9144         (TEST_switchBreak): Deleted.
9145         (TEST_enumSwitchBreakExhaustive): Deleted.
9146         (TEST_enumSwitchBreakNotQuiteExhaustive): Deleted.
9147         (TEST_simpleRecursiveStruct): Deleted.
9148         (TEST_linkedList): Deleted.
9149         * WebGPUShadingLanguageRI/Type.js:
9150         (Type.prototype.get isArray):
9151         * WebGPUShadingLanguageRI/TypeRef.js:
9152         (TypeRef.wrap):
9153         * WebGPUShadingLanguageRI/TypeVariableTracker.js:
9154         (TypeVariableTracker.prototype.set get return):
9155         (TypeVariableTracker.prototype.visitVariableRef):
9156         (TypeVariableTracker):
9157         * WebGPUShadingLanguageRI/Visitor.js:
9158         (Visitor.prototype.visitProtocolDecl):
9159         * WebGPUShadingLanguageRI/index.html:
9161 2017-09-22  Matt Lewis  <jlewis3@apple.com>
9163         Unreviewed, rolling out r222394.
9165         This broke the Windows Debug Build.
9167         Reverted changeset:
9169         "Remove build-webkit's notion of feature flags having a
9170         default value"
9171         https://bugs.webkit.org/show_bug.cgi?id=177338
9172         http://trac.webkit.org/changeset/222394
9174 2017-09-22  Tim Horton <timothy_horton@apple.com> and Michael Catanzaro <mcatanzaro@igalia.com>
9176         Remove build-webkit's notion of feature flags having a default value
9177         https://bugs.webkit.org/show_bug.cgi?id=177338
9179         Reviewed by Alex Christensen.
9181         Delegate feature flag default values to the build system.
9182         (FeatureDefines.xcconfig for Xcode, WebKitFeatures.cmake and Options*.cmake for CMake, and FeatureDefines.h for everyone)
9184         * BuildSlaveSupport/build.webkit.org-config/config.json:
9185         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
9186         (Factory.__init__):
9187         Update GTK and WPE buildbot configuration to use --no-experimental-features on old stable
9188         bots instead of --default-cmake-features.
9190         * Scripts/build-webkit:
9191         (cMakeArgsFromFeatures):
9192         Default feature values to 'undef'.
9193         Remove the --default-cmake-features argument; it is now the default.
9194         Add --no-experimental-features to replace it.
9195         Stop printing the default feature flag value in the help.
9196         Avoid propagating undefined values to the build system;
9197         only mention flags that are overridden on the command line.
9199         This has the nice side effect of using the default CMake features
9200         for CMake builds, but still allowing toggling of them using the
9201         prettier --FEATURE and --no-FEATURE arguments.
9203         * Scripts/webkitdirs.pm:
9204         (generateBuildSystemFromCMakeProject):
9205         No longer need to suppress CMake warnings about unused arguments.
9207         * Scripts/webkitperl/FeatureList.pm:
9208         Remove the default values from the feature list.
9210 2017-09-21  Joseph Pecoraro  <pecoraro@apple.com>
9212         Unreviewed, add the ability to skip a test262 test.
9214         * Scripts/run-jsc-stress-tests:
9215         Other handlers have :skip but a few didn't.
9217 2017-09-21  Ryan Haddad  <ryanhaddad@apple.com>
9219         Change architecture for ios-ews queue to arm64.
9220         https://bugs.webkit.org/show_bug.cgi?id=177332
9222         Reviewed by Alexey Proskuryakov.
9224         * Scripts/webkitpy/common/config/ews.json:
9226 2017-09-21  Tim Horton  <timothy_horton@apple.com>
9228         Use 'ninja' from the SDK if it exists
9229         https://bugs.webkit.org/show_bug.cgi?id=177330
9231         Reviewed by Alex Christensen.
9233         * Scripts/webkitdirs.pm:
9234         (canUseNinja):
9235         Check for ninja with xcrun in addition to commandExists() for Cocoa platforms.
9237         (generateBuildSystemFromCMakeProject):
9238         (canUseNinjaGenerator): Deleted.
9239         Remove canUseNinjaGenerator; as noted in bug 177057, the Ninja generator
9240         is available in all versions of CMake supported by WebKit.
9242 2017-09-21  Chris Dumez  <cdumez@apple.com>
9244         Regression(r222308): new API tests are failing for !NETWORK_SESSION
9245         https://bugs.webkit.org/show_bug.cgi?id=177321
9247         Reviewed by Alex Christensen.
9249         Unskip API tests now that they pass everywhere.
9251         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
9252         (TEST):
9254 2017-09-21  Filip Pizlo  <fpizlo@apple.com>
9256         Unreviewed, fix ability to run tests in browser.
9258         * WebGPUShadingLanguageRI/Test.html:
9259         * WebGPUShadingLanguageRI/index.html:
9261 2017-09-21  Jonathan Bedard  <jbedard@apple.com>
9263         webkitpy: Ignore failure to get updated selenium version
9264         https://bugs.webkit.org/show_bug.cgi?id=177205
9265         <rdar://problem/34531669>
9267         Reviewed by Lucas Forschler.
9269         Sometime asking PyPI for the latest version of Selenium fails. We should try and
9270         fallback to, at a minimum, version 3.5.0 or a newer installed version.
9272         * Scripts/webkitpy/thirdparty/__init__.py:
9273         (AutoinstallImportHook.greater_than_equal_to_version): Return true if the second
9274         version string is greater than or equal to the first version string.
9275         (AutoinstallImportHook._install_selenium): If we can't get the latest PyPI url,
9276         fallback to version 3.5.0 or a newer installed version.
9278 2017-09-21  Filip Pizlo  <fpizlo@apple.com>
9280         WSL should have some post-instantiation type checking
9281         https://bugs.webkit.org/show_bug.cgi?id=177303
9283         Reviewed by Keith Miller.
9284         
9285         This patch removes the Primitive protocol! Yay!
9286         
9287         The Primitive protocol was an attempt to handle the fact that Metal wouldn't allow us to point a
9288         non-thread pointer at data structures that have pointers. This type checking rule interacts badly with
9289         generics. I was able to get it to mostly work by making Primitive into a dynamic protocol - a type
9290         belongs to it if it happens to be isPrimitive.
9291         
9292         But that was a mistake, since it makes it hard to create pointers that are generic over address space.
9293         Also, it's not an appropriate rule for targeting SPIR-V logical mode. That rule will be different, and
9294         possibly more complicated.
9295         
9296         All of these kinds of rules are easier to implement of we run them after instantiation, since then they
9297         don't get in the way of generics. That's what this patch does.
9298         
9299         This means that we get all of the same type checking power as before, and we still can catch the errors
9300         that Metal requires us to check for. It's easier to do those checks now.
9301         
9302         Finally, this removes the shader type checker's incomplete reimplementation of isPrimitive (which was
9303         called NonNumericSearcher). The shader type checker calls isPrimitive now.
9305         * WebGPUShadingLanguageRI/AddressSpace.js:
9306         (needsPrimitiveProtocol): Deleted.
9307         (protocolSuffix): Deleted.
9308         * WebGPUShadingLanguageRI/All.js:
9309         * WebGPUShadingLanguageRI/Checker.js:
9310         (Checker.prototype._checkShaderType):
9311         (Checker.prototype._checkShaderType.NonNumericSearcher): Deleted.
9312         (Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitArrayRefType): Deleted.
9313         (Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitPtrType): Deleted.
9314         (Checker.prototype.visitReferenceType): Deleted.
9315         * WebGPUShadingLanguageRI/FuncInstantiator.js:
9316         (FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitFuncDef):
9317         * WebGPUShadingLanguageRI/Inline.js:
9318         (_inlineFunction):
9319         * WebGPUShadingLanguageRI/Intrinsics.js:
9320         (Intrinsics):
9321         * WebGPUShadingLanguageRI/LateChecker.js: Added.
9322         (LateChecker):
9323         (LateChecker.prototype.visitReferenceType):
9324         (LateChecker.prototype._checkShaderType):
9325         (LateChecker.prototype.visitFuncDef):
9326         * WebGPUShadingLanguageRI/LexerToken.js:
9327         (LexerToken.prototype.get isInternal): Deleted.
9328         * WebGPUShadingLanguageRI/NativeType.js:
9329         (NativeType):
9330         (NativeType.prototype.get name):
9331         (NativeType.prototype.get isPrimitive):
9332         (NativeType.prototype.set isPrimitive):
9333         (NativeType.prototype.toString):
9334         * WebGPUShadingLanguageRI/Parse.js:
9335         (parseNative):
9336         * WebGPUShadingLanguageRI/ProgramWithUnnecessaryThingsRemoved.js:
9337         (programWithUnnecessaryThingsRemoved):
9338         * WebGPUShadingLanguageRI/ProtocolDecl.js:
9339         * WebGPUShadingLanguageRI/ReferenceType.js:
9340         (ReferenceType.prototype.get elementType):
9341         (ReferenceType.prototype.get isPrimitive): Deleted.
9342         * WebGPUShadingLanguageRI/StandardLibrary.js:
9343         * WebGPUShadingLanguageRI/StatementCloner.js:
9344         (StatementCloner.prototype.visitNativeType):
9345         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:
9346         (synthesizeStructAccessors):
9347         * WebGPUShadingLanguageRI/Test.js:
9348         (TEST_passNullAndNotNullFullPoly):
9349         (TEST_passNullAndNotNullFullPolyReverse):
9350         (TEST_nullTypeVariableUnify):
9351         (TEST_chainStructNewlyValid):
9352         (TEST_chainStructDevice):
9353         (TEST_chainStructInvalid): Deleted.
9354         * WebGPUShadingLanguageRI/Type.js:
9355         (Type.prototype.get isPrimitive):
9357 2017-09-21  Chris Dumez  <cdumez@apple.com>
9359         Unreviewed, temporarily disable new API tests introduced in r222308 until they pass on El Capitan
9361         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
9362         (TEST):
9364 2017-09-21  Commit Queue  <commit-queue@webkit.org>
9366         Unreviewed, rolling out r222272.
9367         https://bugs.webkit.org/show_bug.cgi?id=177316
9369         This patch broke builds on some Win EWS bots. (Requested by
9370         perarne on #webkit).
9372         Reverted changeset:
9374         "[Win] Cygwin 64-bit EWS process cannot find Visual Studio
9375         installation."
9376         https://bugs.webkit.org/show_bug.cgi?id=177244
9377         http://trac.webkit.org/changeset/222272
9379 2017-09-21  Filip Pizlo  <fpizlo@apple.com>
9381         Unreviewed, fix a bug in the interactive app that was introduced by bad merging.
9383         * WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
9384         (FlattenedStructOffsetGatherer.prototype.visitTypeRef):
9385         (FlattenedStructOffsetGatherer):
9386         * WebGPUShadingLanguageRI/index.html:
9388 2017-09-20  Filip Pizlo  <fpizlo@apple.com>
9390         WSL should support switch
9391         https://bugs.webkit.org/show_bug.cgi?id=176978
9393         Reviewed by Keith Miller.
9394         
9395         This adds fairly complete support for switch statements. This includes things like verifying
9396         whether or not a default statement is needed. This even works when the programmer lists all of
9397         the values of an integer type.
9398         
9399         To test that last part, this patch adds uint8 support. It's easy add it, but of course it
9400         meant adding a lot of tests.
9401         
9402         This also fixes enum bugs, since switch does things to enums that we previously didn't test.
9404         * WebGPUShadingLanguageRI/All.js:
9405         * WebGPUShadingLanguageRI/Checker.js:
9406         (Checker.prototype.visitSwitchStatement):
9407         * WebGPUShadingLanguageRI/EnumLiteral.js:
9408         (EnumLiteral.prototype.get valueForSelectedType):
9409         * WebGPUShadingLanguageRI/EnumType.js:
9410         (EnumType.prototype.allValues):
9411         (EnumType.prototype.valuesEqual):
9412         * WebGPUShadingLanguageRI/Evaluator.js:
9413         (Evaluator.prototype.visitSwitchStatement):
9414         * WebGPUShadingLanguageRI/Inliner.js:
9415         (Inliner.prototype.visitCallExpression):
9416         (Inliner):
9417         (Inliner.prototype.visitCastExpression): Deleted.
9418         * WebGPUShadingLanguageRI/Intrinsics.js:
9419         (Intrinsics.):
9420         (Intrinsics):
9421         * WebGPUShadingLanguageRI/LoopChecker.js:
9422         (LoopChecker):
9423         (LoopChecker.prototype.visitFuncDef):
9424         (LoopChecker.prototype.visitWhileLoop):
9425         (LoopChecker.prototype.visitDoWhileLoop):
9426         (LoopChecker.prototype.visitForLoop):
9427         (LoopChecker.prototype.visitSwitchStatement):
9428         (LoopChecker.prototype.visitBreak):
9429         (LoopChecker.prototype.visitContinue):
9430         * WebGPUShadingLanguageRI/Node.js:
9431         (Node.prototype.commit):
9432         * WebGPUShadingLanguageRI/Parse.js:
9433         (parseSwitchCase):
9434         (parseSwitchStatement):
9435         (parseStatement):
9436         (parseBlockBody):
9437         (parseBlock):
9438         * WebGPUShadingLanguageRI/Prepare.js:
9439         (let.prepare):
9440         * WebGPUShadingLanguageRI/ReturnChecker.js:
9441         (ReturnChecker.prototype._mergeReturnStyle):
9442         (ReturnChecker.prototype.visitIfStatement):
9443         (ReturnChecker.prototype.visitWhileLoop):
9444         (ReturnChecker.prototype.visitDoWhileLoop):
9445         (ReturnChecker.prototype.visitForLoop):
9446         (ReturnChecker.prototype.visitSwitchStatement):
9447         (ReturnChecker.prototype.visitContinue):
9448         (ReturnChecker):
9449         * WebGPUShadingLanguageRI/Rewriter.js:
9450         (Rewriter.prototype.visitSwitchStatement):
9451         (Rewriter.prototype.visitSwitchCase):
9452         * WebGPUShadingLanguageRI/StandardLibrary.js:
9453         (uint8.operator):
9454         (bool.operator):
9455         (_generateSwizzle):
9456         * WebGPUShadingLanguageRI/SwitchCase.js: Added.
9457         (SwitchCase):
9458         (SwitchCase.prototype.get origin):
9459         (SwitchCase.prototype.get isDefault):
9460         (SwitchCase.prototype.get value):
9461         (SwitchCase.prototype.get body):
9462         (SwitchCase.prototype.toString):
9463         * WebGPUShadingLanguageRI/SwitchStatement.js: Added.
9464         (SwitchStatement):
9465         (SwitchStatement.prototype.get origin):
9466         (SwitchStatement.prototype.get value):
9467         (SwitchStatement.prototype.add):
9468         (SwitchStatement.prototype.get switchCases):
9469         (SwitchStatement.prototype.toString):
9470         * WebGPUShadingLanguageRI/Test.html:
9471         * WebGPUShadingLanguageRI/Test.js:
9472         (makeUint8):
9473         (makeEnum):
9474         (checkUint8):
9475         (TEST_uint8SimpleMath):
9476         (TEST_equality):
9477         (TEST_notEquality):
9478         (TEST_uint8BitAnd):
9479         (TEST_uint8BitOr):
9480         (TEST_uint8BitXor):
9481         (TEST_uint8BitNot):
9482         (TEST_uint8LShift):
9483         (TEST_uint8RShift):
9484         (TEST_enumWithExplicitIntBase):
9485         (TEST_enumWithUintBase):
9486         (TEST_enumFloatBase):
9487         (TEST_enumStructBase):
9488         (TEST_simpleSwitch):
9489         (TEST_exhaustiveUint8Switch):
9490         (TEST_notQuiteExhaustiveUint8Switch):
9491         (TEST_switchFallThrough):
9492         (TEST_switchBreak):
9493         (TEST_enumSwitchBreakExhaustive):
9494         (TEST_enumSwitchBreakNotQuiteExhaustive):
9495         (doTest):
9496         * WebGPUShadingLanguageRI/UnificationContext.js:
9497         (UnificationContext):
9498         (UnificationContext.prototype.addExtraNode):
9499         (UnificationContext.prototype.get nodes):
9500         * WebGPUShadingLanguageRI/Visitor.js:
9501         (Visitor.prototype.visitProtocolDecl):
9502         * WebGPUShadingLanguageRI/index.html:
9504 2017-09-20  Filip Pizlo  <fpizlo@apple.com>
9506         WSL needs a way to verify that structs are not cyclic
9507         https://bugs.webkit.org/show_bug.cgi?id=177044
9509         Reviewed by Myles Maxfield.
9510         
9511         This adds a recursive type checking phase. Even before adding this phase, the compiler would
9512         successfully detect recursive types - but at the cost of also rejecting programs that had
9513         recursive types indirectly through pointers. To make both things work, I had to change Visitor
9514         to no longer visit TypeRef.type by default. This resulted in some other changes in a few other
9515         parts of the code that previously relied on that behavior.
9517         * WebGPUShadingLanguageRI/All.js:
9518         * WebGPUShadingLanguageRI/CheckRecursiveTypes.js: Added.
9519         (checkRecursiveTypes):
9520         * WebGPUShadingLanguageRI/Checker.js:
9521         (Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitArrayRefType):
9522         (Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitPtrType):
9523         (Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitTypeRef):
9524         (Checker.prototype._checkShaderType.NonNumericSearcher):
9525         (Checker.prototype._checkShaderType):
9526         (Checker.prototype.visitTypeRef):
9527         * WebGPUShadingLanguageRI/NameResolver.js:
9528         (NameResolver.prototype.visitProtocolDecl):
9529         * WebGPUShadingLanguageRI/Prepare.js:
9530         (let.prepare):
9531         * WebGPUShadingLanguageRI/RecursiveTypeChecker.js: Added.
9532         (RecursiveTypeChecker):
9533         (RecursiveTypeChecker.prototype.visitFuncDef):
9534         (RecursiveTypeChecker.prototype.visitNativeFunc):
9535         (RecursiveTypeChecker.prototype.visitStructType):
9536         (RecursiveTypeChecker.prototype.visitReferenceType):
9537         (RecursiveTypeChecker.prototype.visitTypeRef):
9538         * WebGPUShadingLanguageRI/StructLayoutBuilder.js:
9539         (StructLayoutBuilder.prototype.visitTypeRef):
9540         (StructLayoutBuilder):
9541         * WebGPUShadingLanguageRI/Test.html:
9542         * WebGPUShadingLanguageRI/Test.js:
9543         (TEST_simpleRecursiveStruct):
9544         * WebGPUShadingLanguageRI/TypeDefResolver.js:
9545         (TypeDefResolver.prototype.visitTypeRef):
9546         (TypeDefResolver):
9547         * WebGPUShadingLanguageRI/Visitor.js:
9548         (Visitor.prototype.visitProtocolDecl):
9549         * WebGPUShadingLanguageRI/index.html:
9551 2017-09-21  Ryan Haddad  <ryanhaddad@apple.com>
9553         Update TestResultsServer for iOS 11 queues.
9554         https://bugs.webkit.org/show_bug.cgi?id=177285
9556         Reviewed by Alexey Proskuryakov.
9558         * TestResultServer/static-dashboards/builders.jsonp:
9560 2017-09-21  Alex Christensen  <achristensen@webkit.org>
9562         REGRESSION(r221465) WKWebViews without WebGL delegate callbacks crash when WebGL contexts are created
9563         https://bugs.webkit.org/show_bug.cgi?id=177306
9564         <rdar://problem/34351988>
9566         Reviewed by Chris Dumez.
9568         * TestWebKitAPI/Tests/WebKitCocoa/WebGLPolicy.mm:
9569         (-[WebGLTestDelegate webView:startURLSchemeTask:]):
9570         (-[DelegateWithoutWebGL webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
9571         (TEST):
9573 2017-09-20  Joseph Pecoraro  <pecoraro@apple.com>
9575         Update test262 tests
9576         https://bugs.webkit.org/show_bug.cgi?id=177220
9578         Reviewed by Saam Barati and Yusuke Suzuki.
9580         * Scripts/import-test262-tests:
9581         - better detect upstream git repository url from import location
9582         - update JSTest test262 resources when importing from repository
9583         - take seconds instead of 20+ minutes to write yaml with --failures
9584         - update "negative" command to only include just the exception type
9586 2017-09-20  Chris Dumez  <cdumez@apple.com>
9588         [WK2] Add API to get the redirect chain of a WKDownload
9589         https://bugs.webkit.org/show_bug.cgi?id=176628
9590         <rdar://problem/34338279>
9592         Reviewed by Alex Christensen.
9594         Add API test coverage for the 2 cases:
9595         1. Download started as a download and is redirected while
9596            downloading.
9597         2. Download started as a load and was redirected during the
9598            initial load.
9600         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
9601         (-[RedirectedDownloadDelegate _download:didReceiveServerRedirectToURL:]):
9602         (-[RedirectedDownloadDelegate _downloadDidFinish:]):
9603         (TEST):
9605 2017-09-20  Alex Christensen  <achristensen@webkit.org>
9607         Add infrastructure for adding custom headers to requests per website
9608         https://bugs.webkit.org/show_bug.cgi?id=177255
9610         Reviewed by Geoffrey Garen.
9612         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
9613         * TestWebKitAPI/Tests/WebCore/HTTPHeaderField.cpp: Added.
9614         (shouldRemainUnchanged):
9615         (shouldBeInvalid):
9616         (shouldBecome):
9617         (TEST):
9618         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
9619         (TEST):
9621 2017-09-20  Daniel Bates  <dabates@apple.com>
9623         Spelling and grammar dots should not overlap
9624         https://bugs.webkit.org/show_bug.cgi?id=177265
9625         <rdar://problem/34556424>
9627         Reviewed by David Hyatt.
9629         Add unit tests for the subdivision algorithm.
9631         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
9632         * TestWebKitAPI/Tests/WebCore/MarkerSubrange.cpp: Added.
9633         (WebCore::operator<<):
9634         (WebCore::operator==):
9635         (TestWebKitAPI::TEST):
9637 2017-09-20  Filip Pizlo  <fpizlo@apple.com>
9639         WSL should not type-check functions in the standard library that it does not use
9640         https://bugs.webkit.org/show_bug.cgi?id=177269
9642         Reviewed by JS Bastien.
9643         
9644         Once we added all of the swizzling operators, the size of the standard library ballooned to the point
9645         where it's just not practical to compile anything anymore. If you want to compile
9646         "int foo(int x) { return x}" then it will take some ridiculous amount of time (many seconds) because WSL
9647         will have to type check all of those swizzling operators.
9648         
9649         This change makes it so that after parsing the whole program, we remove the things that we aren't using.
9650         We can make a really good estimate of what we need even before doing any name resolution. In practice,
9651         this change removes almost all of the things from Program before we get to the hard work of type
9652         checking. That's true because the standard library contains _many_ things and you'd have to try very
9653         hard to use all of them.
9654         
9655         This is a 13x speed-up for Test.js. It went from 155 seconds to 12 seconds on my machine.
9657         * WebGPUShadingLanguageRI/All.js:
9658         * WebGPUShadingLanguageRI/ConstexprTypeParameter.js:
9659         (ConstexprTypeParameter.prototype.get origin):
9660         * WebGPUShadingLanguageRI/Intrinsics.js:
9661         * WebGPUShadingLanguageRI/Lexer.js:
9662         (Lexer):
9663         (Lexer.prototype.get originKind):
9664         * WebGPUShadingLanguageRI/LexerToken.js:
9665         (LexerToken.prototype.get lexer):
9666         (LexerToken.prototype.get origin):
9667         (LexerToken.prototype.get originKind):
9668         (LexerToken.prototype.get isInternal):
9669         * WebGPUShadingLanguageRI/NameContext.js:
9670         (isWildcardKind):
9671         (NameContext.prototype.add):
9672         (NameContext.prototype.get let):
9673         (NameContext.prototype.mapFor): Deleted.
9674         * WebGPUShadingLanguageRI/NameFinder.js: Added.
9675         (NameFinder):
9676         (NameFinder.get worklist):
9677         * WebGPUShadingLanguageRI/NameResolver.js:
9678         (NameResolver.prototype.visitProtocolDecl):
9679         * WebGPUShadingLanguageRI/OriginKind.js: Added.
9680         (isOriginKind):
9681         * WebGPUShadingLanguageRI/Prepare.js:
9682         (let.prepare):
9683         * WebGPUShadingLanguageRI/ProgramWithUnnecessaryThingsRemoved.js: Added.
9684         (programWithUnnecessaryThingsRemoved):
9685         * WebGPUShadingLanguageRI/Test.html:
9686         * WebGPUShadingLanguageRI/Test.js:
9687         (doTest):
9688         * WebGPUShadingLanguageRI/index.html:
9690 2017-09-20  Alex Christensen  <achristensen@webkit.org>
9692         Remove ActionType::CSSDisplayNoneStyleSheet
9693         https://bugs.webkit.org/show_bug.cgi?id=177275
9695         Reviewed by Andy Estes.
9697         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
9698         (WebCore::ContentExtensions::operator<<):
9699         (TestWebKitAPI::testRequest):
9700         (TestWebKitAPI::TEST_F):
9702 2017-09-20  Jonathan Bedard  <jbedard@apple.com>
9704         Device iOS 11 builds fail with FileProvider linker errors
9705         https://bugs.webkit.org/show_bug.cgi?id=177272
9706         <rdar://problem/34557680>
9708         Reviewed by David Kilzer.
9710         For iOS device and simulator, the SYSTEM_LIBRARY_DIR should never
9711         be on the framework search path as neither platform should ever link
9712         with Mac frameworks.
9714         * DumpRenderTree/mac/Configurations/Base.xcconfig:
9715         * WebKitTestRunner/Configurations/Base.xcconfig:
9717 2017-09-20  Alex Christensen  <achristensen@webkit.org>
9719         Remove ActionType::InvalidAction
9720         https://bugs.webkit.org/show_bug.cgi?id=177262
9722         Reviewed by Tim Horton.
9724         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
9725         (WebCore::ContentExtensions::operator<<):
9727 2017-09-20  Myles C. Maxfield  <mmaxfield@apple.com>
9729         Make a playground where people can try WSL
9730         https://bugs.webkit.org/show_bug.cgi?id=177125
9732         Reviewed by Filip Pizlo.
9734         This patch creates a webpage, index.html, which lets users type in a WSL program and
9735         run it, and see the results.
9737         * WebGPUShadingLanguageRI/All.js:
9738         * WebGPUShadingLanguageRI/CallFunction.js:
9739         (callFunction):
9740         * WebGPUShadingLanguageRI/Checker.js:
9741         (Checker):
9742         (Checker.prototype._checkShaderType.NonNumericSearcher):
9743         (Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitArrayRefType):
9744         (Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitPtrType):
9745         (Checker.prototype._checkShaderType):
9746         (Checker.prototype.visitFuncDef):
9747         (Checker.prototype._requireBool):
9748         * WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js: Copied from Tools/WebGPUShadingLanguageRI/CallFunction.js.
9749         (FlattenedStructOffsetGatherer):
9750         (FlattenedStructOffsetGatherer.prototype.get result):
9751         (FlattenedStructOffsetGatherer.prototype.visitReferenceType):
9752         (FlattenedStructOffsetGatherer.prototype.visitField):
9753         (FlattenedStructOffsetGatherer.prototype.visitNativeType):
9754         * WebGPUShadingLanguageRI/Func.js:
9755         (Func.prototype.toDeclString):
9756         * WebGPUShadingLanguageRI/Inline.js:
9757         (resolveInlinedFunction):
9758         * WebGPUShadingLanguageRI/NameContext.js:
9759         (NameContext.prototype.get let):
9760         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
9761         (resolveOverloadImpl):
9762         * WebGPUShadingLanguageRI/StandardLibrary.js:
9763         * WebGPUShadingLanguageRI/Test.html:
9764         * WebGPUShadingLanguageRI/Test.js:
9765         (TEST_shaderTypes):
9766         * WebGPUShadingLanguageRI/index.html: Added.
9768 2017-09-20  Myles C. Maxfield  <mmaxfield@apple.com>
9770         [WSL] Restrict vertex and fragment entry points according to WSL.md
9771         https://bugs.webkit.org/show_bug.cgi?id=177253
9773         Reviewed by Filip Pizlo.
9775         Entry points can't have template arguments, and their argument/return types need to be restricted.
9777         * WebGPUShadingLanguageRI/Checker.js:
9778         (Checker):
9779         (Checker.prototype._checkShaderType.NonNumericSearcher):
9780         (Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitArrayRefType):
9781         (Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitPtrType):
9782         (Checker.prototype._checkShaderType):
9783         (Checker.prototype.visitFuncDef):
9784         (Checker.prototype._requireBool):
9785         * WebGPUShadingLanguageRI/Func.js:
9786         (Func.prototype.toDeclString):
9787         * WebGPUShadingLanguageRI/Test.js:
9788         (TEST_shaderTypes):
9790 2017-09-20  Per Arne Vollan  <pvollan@apple.com>
9792         [Win] Cygwin 64-bit EWS process cannot find Visual Studio installation.
9793         https://bugs.webkit.org/show_bug.cgi?id=177244
9795         Reviewed by Alex Christensen.
9797         The 64-bit EWS shell process should try to find Visual Studio in the 32-bit program files folder.
9799         * EWSTools/start-queue-win.sh:
9801 2017-09-20  Myles C. Maxfield  <mmaxfield@apple.com>
9803         Create vector swizzle operators in WSL's standard library
9804         https://bugs.webkit.org/show_bug.cgi?id=177116
9806         Reviewed by Filip Pizlo.
9808         Because there are 481 possible swizzling operators, StandardLibrary.js generates them
9809         instead of including them by hand.
9811         Adding so many functions slows down the compiler quite a bit.
9813         * WebGPUShadingLanguageRI/Prepare.js:
9814         (prepare):
9815         * WebGPUShadingLanguageRI/StandardLibrary.js:
9816         (intToString):
9817         (_generateSwizzle):
9819 2017-09-20  Ms2ger  <Ms2ger@igalia.com>
9821         [WPE] Update fontconfig to 2.12.4.
9822         https://bugs.webkit.org/show_bug.cgi?id=177228
9824         Reviewed by Carlos Garcia Campos.
9826         * wpe/jhbuild.modules:
9827         * wpe/patches/fontconfig-avoid-conflicts-with-integer-width-macros-from-TS-18.patch: Removed.
9829 2017-09-19  Myles C. Maxfield  <mmaxfield@apple.com>
9831         WSL should be able to trap when something fatal happens
9832         https://bugs.webkit.org/show_bug.cgi?id=177110
9834         Reviewed by Filip Pizlo.
9836         WSL programs can include a statement "trap;" which causes the entry
9837         point to immediately return the default value of its return type.
9838         This is implemented by throw/catch and populateDefaultValue().
9840         * WebGPUShadingLanguageRI/All.js:
9841         * WebGPUShadingLanguageRI/EvaluationCommon.js:
9842         * WebGPUShadingLanguageRI/Evaluator.js:
9843         (Evaluator.prototype.visitTrapStatement):
9844         * WebGPUShadingLanguageRI/Parse.js:
9845         (parseStatement):
9846         * WebGPUShadingLanguageRI/ReturnChecker.js:
9847         (ReturnChecker.prototype.visitTrapStatement):
9848         * WebGPUShadingLanguageRI/Rewriter.js:
9849         (Rewriter.prototype.visitTrapStatement):
9850         * WebGPUShadingLanguageRI/StandardLibrary.js:
9851         * WebGPUShadingLanguageRI/Test.html:
9852         * WebGPUShadingLanguageRI/Test.js:
9853         * WebGPUShadingLanguageRI/TrapStatement.js: Copied from Tools/WebGPUShadingLanguageRI/EvaluationCommon.js.
9854         (TrapStatement):
9855         (TrapStatement.prototype.get origin):
9856         (TrapStatement.prototype.toString):
9857         * WebGPUShadingLanguageRI/Visitor.js:
9858         (Visitor.prototype.visitProtocolDecl):
9860 2017-09-19  Ryan Haddad  <ryanhaddad@apple.com>
9862         Unreviewed follow-up to r222229, remove invalid triggers.
9864         * BuildSlaveSupport/build.webkit.org-config/config.json:
9866 2017-09-19  Simon Fraser  <simon.fraser@apple.com>
9868         tiled-drawing/tiled-backing-in-window.html fails on Retina displays
9869         https://bugs.webkit.org/show_bug.cgi?id=177113
9871         Reviewed by Tim Horton.
9873         This test removes the view from the window, and then dumps the layer tree, at which point
9874         some layers would report a contentsScale of 2 on Retina displays.
9876         This occurs because WebKitTestRunner overrides the default device scale factor on NSWindow,
9877         but windowless views fall back to [NSScreen mainScreen].backingScaleFactor (in WebViewImpl::intrinsicDeviceScaleFactor()).
9879         Fix by having PlatformWebView::changeWindowScaleIfNeeded() call -_setOverrideDeviceScaleFactor: on the view.
9881         * WebKitTestRunner/mac/PlatformWebViewMac.mm:
9882         (WTR::PlatformWebView::changeWindowScaleIfNeeded):
9884 2017-09-19  Wenson Hsieh  <wenson_hsieh@apple.com>
9886         REGRESSION (r215613): Incorrect corners clipping with border-radius
9887         https://bugs.webkit.org/show_bug.cgi?id=176498
9888         <rdar://problem/34112607>
9890         Reviewed by Tim Horton.
9892         Add WebCore API tests for RoundedRect::contains().
9894         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
9895         * TestWebKitAPI/Tests/WebCore/RoundedRectTests.cpp: Added.
9896         (TestWebKitAPI::layoutRect):
9897         (TestWebKitAPI::TEST):
9899 2017-09-19  Youenn Fablet  <youenn@apple.com>
9901         Allow WTF::map to use any class that is iterable and has a size getter
9902         https://bugs.webkit.org/show_bug.cgi?id=177026
9904         Reviewed by Darin Adler.
9906         * TestWebKitAPI/Tests/WTF/Vector.cpp:
9907         (TestWebKitAPI::TEST):
9909 2017-09-19  Ryan Haddad  <ryanhaddad@apple.com>
9911         Update bot configuration for iOS 11.
9912         https://bugs.webkit.org/show_bug.cgi?id=177165
9914         Reviewed by Alexey Proskuryakov.
9916         * BuildSlaveSupport/build.webkit.org-config/config.json:
9917         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
9918         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
9919         (BubbleQueueServer):
9920         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
9921         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
9922         (WebKitBuildbot):
9923         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
9924         (table.queue-grid tr.platform.ios-simulator-10 img.logo): Deleted.
9925         (table.queue-grid tr.platform.ios-10 img.logo): Deleted.
9926         * BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
9927         (_should_file_trigger_build):
9928         * BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
9929         (ShouldBuildTest):
9930         (ShouldBuildTest.test_should_build):
9932 2017-09-19  Filip Pizlo  <fpizlo@apple.com>
9934         Primitive protocol should have capital name
9935         https://bugs.webkit.org/show_bug.cgi?id=177097
9937         Reviewed by JF Bastien.
9938         
9939         As soon as I started programming in WSL, I found that I preferred to capitalize protocol names. So, my
9940         early decision to call the primitive protocol "primitive" instead of "Primitive" seems absurd now. This
9941         change reverses that decision.
9942         
9943         Aesthetically, this is a slight improvement. For example:
9944         
9945             struct Bar<T:Primitive> {
9946                 Foo<device T^> f;
9947             }
9949         This makes more sense since all of the non-keyword type identifiers are capital.
9950         
9951         The one place where this is an aesthetic regression is native primitive typedefs, which now look like:
9952         
9953             native Primitive typedef bool;
9954         
9955         I'm happy with that tradeoff, since native typedefs are only in the standard library. Users don't see
9956         this.
9958         * WebGPUShadingLanguageRI/AddressSpace.js:
9959         (protocolSuffix):
9960         * WebGPUShadingLanguageRI/Intrinsics.js:
9961         (Intrinsics):
9962         * WebGPUShadingLanguageRI/NativeType.js:
9963         (NativeType.prototype.toString):
9964         (NativeType):
9965         * WebGPUShadingLanguageRI/Parse.js:
9966         (parseNative):
9967         * WebGPUShadingLanguageRI/StandardLibrary.js:
9968         * WebGPUShadingLanguageRI/Test.js:
9969         (TEST_passNullAndNotNullFullPoly):
9970         (TEST_passNullAndNotNullFullPolyReverse):
9972 2017-09-18  Filip Pizlo  <fpizlo@apple.com>
9974         Cannot put typedefs of templated structs inside structs
9975         https://bugs.webkit.org/show_bug.cgi?id=177123
9977         Reviewed by Michael Saboff.
9978         
9979         Ever since I wrote the generic type instantiation code in WSL, it had a bizarre stink to it. I
9980         did not know what it was, until I met this test case:
9981         
9982             struct Foo { int2 x; }
9983         
9984         The problem was that Type has a getter called instantiatedType, which invoked
9985         InstantiateImmediates. That's great. Where we went wrong was that TypeRef overrode
9986         instantiatedType, and then InstantiateImmediates called TypeRef.instantiatedType from its
9987         visitTypeRef. What a mess. None of that was necessary for anything, and it was just wrong. This
9988         patch fixes it so that:
9989         
9990         - Type has an instantiatedType getter, which does InstantiateImmediates. I didn't change this.
9991           This was the only part of the status quo that really made sense.
9992         
9993         - TypeRef no longer overrides instantiatedType.
9994         
9995         - InstantianteImmediates.prototype.visitTypeRef now does what TypeRef's instantiatedType would
9996           have done.
9997         
9998         And voila! This test case passes and so do all of the other test cases.
9999         
10000         The reason why that specific test case did not work was that the use of a TypeDef (int2) for
10001         a generic type instantiation (vec2<int>) caused there to be two TypeRef's in a row, sorta like
10002         this, if we could use wrap() to denote a TypeRef that just wrapped another type:
10003         
10004             wrap(vec2<int>)
10005         
10006         We would call instantiatedType on this monstrosity. Since TypeRef overrode instantiatedType,
10007         we would stop there because that TypeRef has no type arguments - it's just a wrapper. Well,
10008         actually, we'd do something a bit stranger than stopping there - there's more to the story -
10009         but the effect was the same. Now we do InstantiateImmediates, which recursively builds a new
10010         type. This chews through the wrapper and then instantiates the wrapped type, as we want it to.
10011         Also, this approach no longer has the stink. instantiatedType isn't overriden by anyone
10012         anymore!
10014         * WebGPUShadingLanguageRI/Checker.js:
10015         * WebGPUShadingLanguageRI/InstantiateImmediates.js:
10016         (InstantiateImmediates.prototype.visitTypeRef):
10017         (InstantiateImmediates.prototype.visitReferenceType): Deleted.
10018         * WebGPUShadingLanguageRI/Test.js:
10019         (TEST_instantiateStructInStructWithInt2):
10020         * WebGPUShadingLanguageRI/TypeRef.js:
10021         (TypeRef.wrap):
10022         (TypeRef.prototype.setTypeAndArguments):
10023         (TypeRef.prototype.toString):
10024         (TypeRef):
10025         (TypeRef.prototype.get instantiatedType): Deleted.
10027 2017-09-19  Per Arne Vollan  <pvollan@apple.com>
10029         [Win] WebKit fails to build with 64-bit Perl.
10030         https://bugs.webkit.org/show_bug.cgi?id=177106
10032         Reviewed by Brent Fulgham.
10034         Visual Studio is installed in the 32-bit program files folder.
10036         * Scripts/webkitdirs.pm:
10037         (programFilesPathX86):
10038         (visualStudioInstallDir):
10039         (msBuildInstallDir):
10041 2017-09-18  Filip Pizlo  <fpizlo@apple.com>
10043         [WSL] Cannot put templated structs inside structs
10044         https://bugs.webkit.org/show_bug.cgi?id=177120
10046         Reviewed by Myles Maxfield.
10047         
10048         It turns out that we still need to instantiate structs even if not passing type arguments,
10049         since its fields may need to be instantiated.
10050         
10051         This makes Myles's test case pass. When writing the test case, I encountered parser bugs, and
10052         I fixed them.
10054         * WebGPUShadingLanguageRI/CallFunction.js:
10055         (callFunction):
10056         * WebGPUShadingLanguageRI/Checker.js:
10057         (Checker.prototype.visitReferenceType):
10058         * WebGPUShadingLanguageRI/FuncInstantiator.js:
10059         (FuncInstantiator.prototype.getUnique):
10060         (FuncInstantiator):
10061         * WebGPUShadingLanguageRI/Parse.js:
10062         (parseSuffixOperator):
10063         (parsePossibleSuffix):
10064         (parsePostIncrement):
10065         * WebGPUShadingLanguageRI/StructType.js:
10066         (StructType.prototype.instantiate):
10067         * WebGPUShadingLanguageRI/Test.js:
10068         (checkNumber):
10069         (checkEnum):
10070         (TEST_instantiateStructInStruct):
10071         * WebGPUShadingLanguageRI/TypeRef.js:
10072         (TypeRef.prototype.get instantiatedType):
10073         (TypeRef.prototype.get isPrimitive):
10075 2017-09-18  Filip Pizlo  <fpizlo@apple.com>
10077         WSL should support enum
10078         https://bugs.webkit.org/show_bug.cgi?id=176977
10080         Reviewed by Myles Maxfield.
10081         
10082         This implements enum. Enums members are referenced Java-style. For example, if we have an enum like:
10083         
10084             enum Bank {
10085                 GP,
10086                 FP
10087             }
10088         
10089         Then you refer to the members by saying Bank.GP and Bank.FP.
10090         
10091         Also adds a hack that makes operator- on a literal fold the literal. This fixes two issues:
10092         
10093         - Lets you use negative literals in constexprs.
10094         - Means that negative literals also get literal type unification.
10095         
10096         WSL's constexpr support is really thin, but I think it's all we really need for now.
10097         
10098         * WebGPUShadingLanguageRI/All.js:
10099         * WebGPUShadingLanguageRI/Checker.js:
10100         (Checker.prototype.visitEnumType):
10101         (Checker.prototype.visitEnumLiteral):
10102         * WebGPUShadingLanguageRI/ConstexprFolder.js: Added.
10103         (ConstexprFolder.prototype.visitCallExpression):
10104         (ConstexprFolder.prototype.visitTypeOrVariableRef):
10105         (ConstexprFolder):
10106         * WebGPUShadingLanguageRI/CreateLiteral.js:
10107         (createLiteral.GenericLiteral.prototype.get valueForSelectedType):
10108         (createLiteral.GenericLiteral.prototype.get negConstexpr):
10109         * WebGPUShadingLanguageRI/DoubleLiteral.js:
10110         (let.DoubleLiteral.createLiteral.negConstexpr):
10111         * WebGPUShadingLanguageRI/EBufferBuilder.js:
10112         (EBufferBuilder.prototype.visitEnumLiteral):
10113         * WebGPUShadingLanguageRI/EnumLiteral.js: Added.
10114         (EnumLiteral):
10115         (EnumLiteral.prototype.get member):
10116         (EnumLiteral.prototype.get type):
10117         (EnumLiteral.prototype.get isConstexpr):
10118         (EnumLiteral.prototype.unifyImpl):
10119         (EnumLiteral.prototype.toString):
10120         * WebGPUShadingLanguageRI/EnumMember.js: Added.
10121         (EnumMember):
10122         (EnumMember.prototype.get origin):
10123         (EnumMember.prototype.get name):
10124         (EnumMember.prototype.toString):
10125         * WebGPUShadingLanguageRI/EnumType.js: Added.
10126         (EnumType):
10127         (EnumType.prototype.add):
10128         (EnumType.prototype.get origin):
10129         (EnumType.prototype.get name):
10130         (EnumType.prototype.get baseType):
10131         (EnumType.prototype.get memberNames):
10132         (EnumType.prototype.memberByName):
10133         (EnumType.prototype.get members):
10134         (EnumType.prototype.get memberMap):
10135         (EnumType.prototype.get isPrimitive):
10136         (EnumType.prototype.populateDefaultValue):
10137         (EnumType.prototype.get size):
10138         (EnumType.prototype.toString):
10139         * WebGPUShadingLanguageRI/Evaluator.js:
10140         (Evaluator.prototype.visitGenericLiteral):
10141         (Evaluator.prototype.visitEnumLiteral):
10142         * WebGPUShadingLanguageRI/FloatLiteral.js:
10143         (let.FloatLiteral.createLiteral.negConstexpr):
10144         * WebGPUShadingLanguageRI/FoldConstexprs.js: Added.
10145         (foldConstexprs):
10146         * WebGPUShadingLanguageRI/IntLiteral.js:
10147         (let.IntLiteral.createLiteral.negConstexpr):
10148         * WebGPUShadingLanguageRI/Intrinsics.js:
10149         (Intrinsics):
10150         * WebGPUShadingLanguageRI/NameResolver.js:
10151         (NameResolver.prototype.visitProtocolDecl):
10152         * WebGPUShadingLanguageRI/Parse.js:
10153         (parseConstexpr):
10154         (parsePossibleSuffix):
10155         (parseEnumMember):
10156         (parseEnumType):
10157         (parse):
10158         * WebGPUShadingLanguageRI/Prepare.js:
10159         (prepare):
10160         * WebGPUShadingLanguageRI/Rewriter.js:
10161         (Rewriter.prototype.visitEnumType):
10162         (Rewriter.prototype.visitEnumMember):
10163         (Rewriter.prototype.visitEnumLiteral):
10164         * WebGPUShadingLanguageRI/StructType.js:
10165         (StructType.prototype.get origin):
10166         (StructType.prototype.instantiate):
10167         * WebGPUShadingLanguageRI/SynthesizeEnumFunctions.js: Added.
10168         (synthesizeEnumFunctions):
10169         * WebGPUShadingLanguageRI/Test.html:
10170         * WebGPUShadingLanguageRI/Test.js:
10171         (checkEnum):
10172         (TEST_simpleEnum):
10173         (TEST_enumWithManualValues):
10174         (TEST_enumWithoutZero):
10175         (TEST_enumConstexprGenericFunction):
10176         (TEST_enumConstexprGenericStruct):
10177         * WebGPUShadingLanguageRI/UintLiteral.js:
10178         (let.UintLiteral.createLiteral.negConstexpr):
10179         * WebGPUShadingLanguageRI/Visitor.js:
10180         (Visitor.prototype.visitProtocolDecl):
10182 2017-09-18  Filip Pizlo  <fpizlo@apple.com>
10184         WSL prepare() should cache the parsed standard library
10185         https://bugs.webkit.org/show_bug.cgi?id=177118
10187         Reviewed by Myles Maxfield.
10188         
10189         The execution time of Test.js is too damn high!
10190         
10191         So I made it 2x faster by caching the parsed standard library.
10193         * WebGPUShadingLanguageRI/All.js:
10194         * WebGPUShadingLanguageRI/CloneProgram.js: Added.
10195         (cloneProgram):
10196         * WebGPUShadingLanguageRI/Prepare.js:
10197         (let.prepare):
10198         (prepare): Deleted.
10199         * WebGPUShadingLanguageRI/StatementCloner.js: Added.
10200         (StatementCloner.prototype.visitFuncDef):
10201         (StatementCloner.prototype.visitNativeFunc):
10202         (StatementCloner.prototype.visitNativeType):
10203         (StatementCloner.prototype.visitTypeDef):
10204         (StatementCloner.prototype.visitStructType):
10205         (StatementCloner.prototype.visitConstexprTypeParameter):
10206         (StatementCloner.prototype.visitProtocolDecl):
10207         * WebGPUShadingLanguageRI/Test.html:
10208         * WebGPUShadingLanguageRI/Test.js:
10209         (doTest):
10211 2017-09-18  Michael Catanzaro  <mcatanzaro@igalia.com>
10213         [CMake] Rename WebKit target to WebKitLegacy and rename WebKit2 target to WebKit
10214         https://bugs.webkit.org/show_bug.cgi?id=174558
10216         Reviewed by Alex Christensen.
10218         With help from Stephan Szabo, thanks!
10220         * DumpRenderTree/PlatformMac.cmake:
10221         * DumpRenderTree/PlatformWin.cmake:
10222         * DumpRenderTree/win/AccessibilityControllerWin.cpp:
10223         * DumpRenderTree/win/DRTDesktopNotificationPresenter.h:
10224         * DumpRenderTree/win/DumpRenderTree.cpp:
10225         * DumpRenderTree/win/EditingDelegate.h:
10226         * DumpRenderTree/win/EventSender.cpp:
10227         * DumpRenderTree/win/FrameLoadDelegate.cpp:
10228         * DumpRenderTree/win/FrameLoadDelegate.h:
10229         * DumpRenderTree/win/GCControllerWin.cpp:
10230         * DumpRenderTree/win/HistoryDelegate.cpp:
10231         * DumpRenderTree/win/HistoryDelegate.h:
10232         * DumpRenderTree/win/PolicyDelegate.h:
10233         * DumpRenderTree/win/ResourceLoadDelegate.cpp:
10234         * DumpRenderTree/win/ResourceLoadDelegate.h:
10235         * DumpRenderTree/win/TestRunnerWin.cpp:
10236         * DumpRenderTree/win/TextInputControllerWin.cpp:
10237         * DumpRenderTree/win/UIDelegate.cpp:
10238         * DumpRenderTree/win/UIDelegate.h:
10239         * DumpRenderTree/win/WorkQueueItemWin.cpp:
10240         * MiniBrowser/gtk/CMakeLists.txt:
10241         * MiniBrowser/mac/CMakeLists.txt:
10242         * MiniBrowser/win/AccessibilityDelegate.cpp:
10243         * MiniBrowser/win/AccessibilityDelegate.h:
10244         * MiniBrowser/win/CMakeLists.txt:
10245         * MiniBrowser/win/Common.cpp:
10246         * MiniBrowser/win/DOMDefaultImpl.h:
10247         * MiniBrowser/win/MiniBrowser.cpp:
10248         * MiniBrowser/win/MiniBrowser.h:
10249         * MiniBrowser/win/MiniBrowserWebHost.cpp:
10250         * MiniBrowser/win/MiniBrowserWebHost.h:
10251         * MiniBrowser/win/PageLoadTestClient.h:
10252         * MiniBrowser/win/PrintWebUIDelegate.cpp:
10253         * MiniBrowser/win/PrintWebUIDelegate.h:
10254         * MiniBrowser/win/ResourceLoadDelegate.cpp:
10255         * MiniBrowser/win/ResourceLoadDelegate.h:
10256         * MiniBrowser/win/WebDownloadDelegate.h:
10257         * TestWebKitAPI/CMakeLists.txt:
10258         * TestWebKitAPI/PlatformGTK.cmake:
10259         * TestWebKitAPI/PlatformWPE.cmake:
10260         * TestWebKitAPI/PlatformWin.cmake:
10261         * TestWebKitAPI/Tests/WebKitLegacy/win/ScaleWebView.cpp:
10262         * TestWebKitAPI/Tests/WebKitLegacy/win/WebViewDestruction.cpp:
10263         * TestWebKitAPI/glib/CMakeLists.txt:
10264         * WebKitTestRunner/CMakeLists.txt:
10265         * WebKitTestRunner/PlatformGTK.cmake:
10266         * WebKitTestRunner/PlatformWPE.cmake:
10268 2017-09-18  Myles C. Maxfield  <mmaxfield@apple.com>
10270         Fill out vector types in WSL's standard library
10271         https://bugs.webkit.org/show_bug.cgi?id=177063
10273         Reviewed by Filip Pizlo.
10275         Now that we have struct types, operator&[], and operator==, fill out a few of the builtin vector types in the
10276         standard library. This patch creates three new types: vec2, vec3, and vec4, each of which takes a type
10277         argument, so you can say vec4<float>. This patch also adds typedefs of int4, uint4, float4, and double4 (along
10278         with their 2- and 3- length siblings).
10280         This patch does not include the swizzling operators, so you can't say float4.yzw.
10282         * WebGPUShadingLanguageRI/StandardLibrary.js:
10283         (operator.T.vec2.T):
10284         (bool.operator.T.Equatable):
10285         (thread.T.operator.T):
10286         (operator.T.vec3.T):
10287         (operator.T.vec4.T):
10288         * WebGPUShadingLanguageRI/Test.js:
10289         (TEST_builtinVectors):
10291 2017-09-18  Myles C. Maxfield  <mmaxfield@apple.com>
10293         WSL needs to annotate vertex shaders and fragment shaders
10294         https://bugs.webkit.org/show_bug.cgi?id=177066
10296         Reviewed by Filip Pizlo.
10298         Metal Shading Language requires annotating vertex and fragment shaders, so this information needs to be in
10299         the source WSL file.
10301         * WebGPUShadingLanguageRI/Func.js:
10302         (Func):
10303         (Func.prototype.get shaderType):
10304         * WebGPUShadingLanguageRI/FuncDef.js:
10305         (FuncDef):
10306         * WebGPUShadingLanguageRI/NativeFunc.js:
10307         (NativeFunc):
10308         * WebGPUShadingLanguageRI/Parse.js:
10309         (parseFuncDecl):
10310         (parseProtocolFuncDecl):
10311         (parseFuncDef):
10312         (parseNativeFunc):
10313         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
10314         (resolveOverloadImpl):
10315         * WebGPUShadingLanguageRI/Test.js:
10317 2017-09-18  Filip Pizlo  <fpizlo@apple.com>
10319         WSL should know that constexpr parameters are not lvalues
10320         https://bugs.webkit.org/show_bug.cgi?id=177104
10322         Reviewed by Saam Barati.
10323         
10324         This should be an error:
10325         
10326             void foo<int x>()
10327             {
10328                 x = 42;
10329             }
10330         
10331         Previously, it wasn't, because VariableRef always thought that it was an LValue. This patch
10332         teaches the type checker that not all VariableRefs are LValues.
10334         * WebGPUShadingLanguageRI/ConstexprTypeParameter.js:
10335         (ConstexprTypeParameter.prototype.get varIsLValue):
10336         * WebGPUShadingLanguageRI/FuncParameter.js:
10337         (FuncParameter.prototype.get varIsLValue):
10338         * WebGPUShadingLanguageRI/Test.js:
10339         (TEST_nonArrayRefArrayLengthSucceed):
10340         (TEST_nonArrayRefArrayLengthFail):
10341         (TEST_nonArrayRefArrayLength): Deleted.
10342         (TEST_assignLength): Deleted.
10343         * WebGPUShadingLanguageRI/VariableDecl.js:
10344         (VariableDecl.prototype.get varIsLValue):
10345         * WebGPUShadingLanguageRI/VariableRef.js:
10346         (VariableRef.prototype.get isLValue):
10348 2017-09-18  Ryan Haddad  <ryanhaddad@apple.com>
10350         Unreviewed, rolling out r222170.
10352         The API test added with this change is failing.
10354         Reverted changeset:
10356         "Allow WTF::map to use any class that is iterable and has a
10357         size getter"
10358         https://bugs.webkit.org/show_bug.cgi?id=177026
10359         http://trac.webkit.org/changeset/222170
10361 2017-09-18  Myles C. Maxfield  <mmaxfield@apple.com>
10363         Add a section in WSL's documentation about how API objects and WSL interact
10364         https://bugs.webkit.org/show_bug.cgi?id=177089
10366         Reviewed by Filip Pizlo.
10368         No global variables; entry points accept arguments. Buffers are array references ([]),
10369         and texture and sampler opaque types exist. Data is passed between stages in return
10370         values.
10372         * WebGPUShadingLanguageRI/WSL.md:
10374 2017-09-18  Filip Pizlo  <fpizlo@apple.com>
10376         Unreviewed, fix typo.
10378         * WebGPUShadingLanguageRI/WSL.md:
10380 2017-09-18  Filip Pizlo  <fpizlo@apple.com>
10382         WSL cannot use typedefs of arrays
10383         https://bugs.webkit.org/show_bug.cgi?id=177061
10385         Reviewed by Saam Barati.
10386         
10387         This test case didn't work before because of a missing visit call in Checker.
10389         * WebGPUShadingLanguageRI/Checker.js:
10390         (Checker.prototype.visitTypeRef):
10391         * WebGPUShadingLanguageRI/Test.js:
10392         (TEST_typedefArray):
10394 2017-09-18  Youenn Fablet  <youenn@apple.com>
10396         Allow WTF::map to use any class that is iterable and has a size getter
10397         https://bugs.webkit.org/show_bug.cgi?id=177026
10399         Reviewed by Darin Adler.
10401         * TestWebKitAPI/Tests/WTF/Vector.cpp:
10402         (TestWebKitAPI::TEST):
10404 2017-09-16  Filip Pizlo  <fpizlo@apple.com>
10406         Figure out how WSL will support field overloads like float4.xz and friends
10407         https://bugs.webkit.org/show_bug.cgi?id=177031
10409         Reviewed by JF Bastien.
10410         
10411         WSL needs to support getters and setters, so that we can do things like:
10412         
10413             float4 vec;
10414             vec.zx = float2(1, 2);
10415             // z = 1, x = 2
10416         
10417         There's no way to express this float4.zx returning a pointer to something, since it's doing swizzling.
10418         It could return a crazy smart pointer, but that sounds like a lot of work. So, I decided to go for
10419         lvalue emulation instead.
10420         
10421         The idea of lvalue emulation is that when we try to make an lvalue work for an assignment or RMW
10422         operation (like += and friends), we consider the possibility that we have to first load the value using
10423         a getter and then store it with a setter. This patch makes this work recursively, so that this will
10424         work:
10425         
10426             float4 vec;
10427             vec.zwx.y = 42;
10428             // now w is 42
10429         
10430         This works because we decompose it automatically:
10431         
10432             float4 vec;
10433             float3 tmp = vec.zwx;
10434             tmp.y = 42;
10435             vec.zwx = tmp;
10436         
10437         This'll work to any depth.
10438         
10439         To check if this works, this patch adds two substantial new tests called TEST_genericAccessors() and
10440         TEST_bitSubscriptAccessor(). This tests that this stuff works with a lot of generic types, and that it's
10441         possible to turn integers into bitvectors using subscript overloading. This patch also adds smaller unit
10442         tests also.
10443         
10444         Oh, and it's now possible to get an array's length.
10446         * WebGPUShadingLanguageRI/AddressSpace.js:
10447         (needsPrimitiveProtocol):
10448         (protocolSuffix):
10449         * WebGPUShadingLanguageRI/All.js:
10450         * WebGPUShadingLanguageRI/AnonymousVariable.js: Added.
10451         (AnonymousVariable):
10452         (AnonymousVariable.prototype.get origin):
10453         (AnonymousVariable.prototype.get name):
10454         (AnonymousVariable.prototype.toString):
10455         * WebGPUShadingLanguageRI/ArrayRefType.js:
10456         (ArrayRefType.prototype.argumentForAndOverload):
10457         (ArrayRefType.prototype.argumentTypeForAndOverload):
10458         * WebGPUShadingLanguageRI/ArrayType.js:
10459         (ArrayType.prototype.argumentForAndOverload):
10460         (ArrayType.prototype.argumentTypeForAndOverload):
10461         (ArrayType):
10462         * WebGPUShadingLanguageRI/Assignment.js:
10463         (Assignment):
10464         * WebGPUShadingLanguageRI/CallAssignment.js: Removed.
10465         * WebGPUShadingLanguageRI/CallExpression.js:
10466         (CallExpression.resolve):
10467         (CallExpression.prototype.resolve):
10468         (CallExpression.prototype.resolveToOverload):
10469         * WebGPUShadingLanguageRI/Checker.js:
10470         (Checker.prototype.visitProgram):
10471         (Checker.prototype.visitFuncDef):
10472         (Checker.prototype.visitNativeFunc):
10473         (Checker.prototype.visitProtocolDecl):
10474         (Checker.prototype.visitIdentityExpression):
10475         (Checker.prototype.visitReadModifyWriteExpression):
10476         (Checker.prototype.visitAnonymousVariable):
10477         (Checker.prototype.visitMakeArrayRefExpression):
10478         (Checker.prototype._finishVisitingPropertyAccess):
10479         (Checker.prototype.visitDotExpression):
10480         (Checker.prototype.visitIndexExpression):
10481         (Checker.prototype.visitCallExpression):
10482         (Checker):
10483         (Checker.prototype.visitProtocolDecl.NoticeTypeVariable.prototype.visitTypeRef): Deleted.
10484         (Checker.prototype.visitProtocolDecl.NoticeTypeVariable.prototype.visitVariableRef): Deleted.
10485         (Checker.prototype.visitProtocolDecl.NoticeTypeVariable): Deleted.
10486         (Checker.prototype.visitProtocolDecl.set throw): Deleted.
10487         * WebGPUShadingLanguageRI/CommaExpression.js:
10488         * WebGPUShadingLanguageRI/DotExpression.js:
10489         (DotExpression):
10490         (DotExpression.prototype.get struct):
10491         (DotExpression.prototype.get getFuncName):
10492         (DotExpression.prototype.get andFuncName):
10493         (DotExpression.prototype.get setFuncName):
10494         * WebGPUShadingLanguageRI/EBuffer.js:
10495         * WebGPUShadingLanguageRI/EBufferBuilder.js:
10496         (EBufferBuilder.prototype.visitAnonymousVariable):
10497         (EBufferBuilder.prototype.visitLetExpression): Deleted.
10498         * WebGPUShadingLanguageRI/Evaluator.js:
10499         (Evaluator.prototype.visitIdentityExpression):
10500         (Evaluator.prototype.visitMakePtrExpression):
10501         (Evaluator.prototype.visitAnonymousVariable):
10502         (Evaluator.prototype.visitDotExpression): Deleted.
10503         (Evaluator.prototype.visitLetExpression): Deleted.
10504         * WebGPUShadingLanguageRI/ExpressionFinder.js:
10505         (ExpressionFinder.prototype.visitReadModifyWriteExpression):
10506         (ExpressionFinder.prototype.visitIdentityExpression):
10507         * WebGPUShadingLanguageRI/ForLoop.js:
10508         (ForLoop.prototype.toString):
10509         (ForLoop):
10510         * WebGPUShadingLanguageRI/Func.js:
10511         (Func):
10512         * WebGPUShadingLanguageRI/FuncInstantiator.js:
10513         (FuncInstantiator.prototype.getUnique.InstantiationSubstitution.prototype.visitCallExpression):
10514         (FuncInstantiator.prototype.getUnique.InstantiationSubstitution):
10515         (FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitFuncDef):
10516         (FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitNativeFunc):
10517         (FuncInstantiator.prototype.getUnique.Instantiate):
10518         (FuncInstantiator.prototype.getUnique):
10519         (FuncInstantiator):
10520         * WebGPUShadingLanguageRI/IdentityExpression.js: Added.
10521         (IdentityExpression):
10522         (IdentityExpression.prototype.get target):
10523         (IdentityExpression.prototype.get unifyNode):
10524         (IdentityExpression.prototype.get isConstexpr):
10525         (IdentityExpression.prototype.get isLValue):
10526         (IdentityExpression.prototype.get addressSpace):
10527         (IdentityExpression.prototype.toString):
10528         * WebGPUShadingLanguageRI/IndexExpression.js: Added.
10529         (IndexExpression):
10530         (IndexExpression.prototype.get array):
10531         (IndexExpression.prototype.get index):
10532         (IndexExpression.prototype.get isLValue):
10533         (IndexExpression.prototype.get addressSpace):
10534         (IndexExpression.prototype.get getFuncName):
10535         (IndexExpression.prototype.get andFuncName):
10536         (IndexExpression.prototype.get setFuncName):
10537         (IndexExpression.prototype.toString):
10538         * WebGPUShadingLanguageRI/InferTypesForCall.js:
10539         (inferTypesForCall):
10540         * WebGPUShadingLanguageRI/Inline.js:
10541         (_inlineFunction):
10542         * WebGPUShadingLanguageRI/Inliner.js:
10543         (Inliner.prototype.visitCallExpression):
10544         (Inliner.prototype.visitDotExpression): Deleted.
10545         * WebGPUShadingLanguageRI/Intrinsics.js:
10546         (Intrinsics):
10547         * WebGPUShadingLanguageRI/LetExpression.js: Removed.
10548         * WebGPUShadingLanguageRI/MakeArrayRefExpression.js:
10549         (MakeArrayRefExpression.prototype.becomeConvertPtrToArrayRefExpression): Deleted.
10550         * WebGPUShadingLanguageRI/NameContext.js:
10551         (NameContext):
10552         (NameContext.prototype.add):
10553         (NameContext.prototype.doStatement):
10554         (NameContext.prototype.handleDefining): Deleted.
10555         (NameContext.prototype.isDefined): Deleted.
10556         (NameContext.prototype.define): Deleted.
10557         (NameContext.prototype.defineAll): Deleted.
10558         * WebGPUShadingLanguageRI/NameResolver.js:
10559         (NameResolver.prototype.doStatement):
10560         (NameResolver.prototype.visitProtocolDecl):
10561         (NameResolver.prototype.visitProgram): Deleted.
10562         * WebGPUShadingLanguageRI/NativeFunc.js:
10563         (NativeFunc):
10564         * WebGPUShadingLanguageRI/NativeFuncInstance.js:
10565         (NativeFuncInstance):
10566         (NativeFuncInstance.prototype.get implementationData):
10567         * WebGPUShadingLanguageRI/Node.js:
10568         (Node.prototype.visit):
10569         (Node.visit):
10570         (Node.unify): Deleted.
10571         * WebGPUShadingLanguageRI/NormalUsePropertyResolver.js: Added.
10572         (NormalUsePropertyResolver.prototype.visitDotExpression):
10573         (NormalUsePropertyResolver.prototype.visitIndexExpression):
10574         (NormalUsePropertyResolver):
10575         * WebGPUShadingLanguageRI/Parse.js:
10576         (finishParsingPostIncrement):
10577         (parsePossibleSuffix):
10578         (finishParsingPreIncrement):
10579         (genericParseCommaExpression):
10580         (parseFuncName):
10581         * WebGPUShadingLanguageRI/Prepare.js:
10582         (prepare):
10583         * WebGPUShadingLanguageRI/Program.js:
10584         (Program):
10585         (Program.prototype.get globalNameContext):
10586         (Program.prototype.add):
10587         * WebGPUShadingLanguageRI/PropertyAccessExpression.js: Added.
10588         (PropertyAccessExpression):
10589         (PropertyAccessExpression.prototype.get resultType):
10590         (PropertyAccessExpression.prototype.rewriteAfterCloning):
10591         (PropertyAccessExpression.prototype.updateCallsAfterChangingBase):
10592         (PropertyAccessExpression.prototype.emitGet):
10593         (PropertyAccessExpression.prototype.emitSet):
10594         * WebGPUShadingLanguageRI/PropertyResolver.js: Added.
10595         (PropertyResolver.prototype._visitPropertyAccess):
10596         (PropertyResolver.prototype.visitDotExpression):
10597         (PropertyResolver.prototype.visitIndexExpression):
10598         (PropertyResolver.prototype._handleReadModifyWrite):
10599         (PropertyResolver.prototype.visitReadModifyWriteExpression):
10600         (PropertyResolver.prototype.visitAssignment):
10601         (PropertyResolver.visitMakePtrExpression):
10602         (PropertyResolver.prototype.visitMakeArrayRefExpression):
10603         (PropertyResolver):
10604         * WebGPUShadingLanguageRI/PtrType.js:
10605         (PtrType.prototype.argumentForAndOverload):
10606         (PtrType.prototype.argumentTypeForAndOverload):
10607         (PtrType.prototype.returnTypeFromAndOverload):
10608         * WebGPUShadingLanguageRI/ReadModifyWriteExpression.js: Added.
10609         (ReadModifyWriteExpression):
10610         (ReadModifyWriteExpression.prototype.get lValue):
10611         (ReadModifyWriteExpression.prototype.oldValueRef):
10612         (ReadModifyWriteExpression.prototype.newValueRef):
10613         (ReadModifyWriteExpression.prototype.toString):
10614         * WebGPUShadingLanguageRI/ResolveNames.js:
10615         (createNameResolver):
10616         (resolveNamesInTypes):
10617         (resolveNamesInProtocols):
10618         (resolveNamesInFunctions):
10619         (resolveNames): Deleted.
10620         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
10621         (resolveOverloadImpl):
10622         * WebGPUShadingLanguageRI/ResolveProperties.js: Added.
10623         (resolveProperties):
10624         * WebGPUShadingLanguageRI/ResolveTypeDefs.js:
10625         (resolveTypeDefsInTypes):
10626         (resolveTypeDefsInProtocols):
10627         (resolveTypeDefsInFunctions):
10628         (resolveTypeDefs): Deleted.
10629         * WebGPUShadingLanguageRI/ReturnChecker.js:
10630         (ReturnChecker.prototype._isBoolCastFromLiteralTrue):
10631         * WebGPUShadingLanguageRI/Rewriter.js:
10632         (Rewriter):
10633         (Rewriter.prototype.visitVariableDecl):
10634         (Rewriter.prototype.visitTypeRef):
10635         (Rewriter.prototype.visitAssignment):
10636         (Rewriter.prototype.visitReadModifyWriteExpression):
10637         (Rewriter.prototype.visitDereferenceExpression):
10638         (Rewriter.prototype._handlePropertyAccessExpression):
10639         (Rewriter.prototype.visitDotExpression):
10640         (Rewriter.prototype.visitIndexExpression):
10641         (Rewriter.prototype.visitReturn):
10642         (Rewriter.prototype.visitGenericLiteralType):
10643         (Rewriter.prototype.visitNullType):
10644         (Rewriter.prototype.processDerivedCallData):
10645         (Rewriter.prototype.visitCallExpression):
10646         (Rewriter.prototype.visitFunctionLikeBlock):
10647         (Rewriter.prototype.visitIfStatement):
10648         (Rewriter.prototype.visitForLoop):
10649         (Rewriter.prototype.visitAnonymousVariable):
10650         (Rewriter.prototype.visitIdentityExpression):
10651         (Rewriter.prototype.visitLetExpression): Deleted.
10652         * WebGPUShadingLanguageRI/StandardLibrary.js:
10653         * WebGPUShadingLanguageRI/StructLayoutBuilder.js:
10654         (StructLayoutBuilder.prototype.visitNativeFuncInstance):
10655         (StructLayoutBuilder):
10656         * WebGPUShadingLanguageRI/StructType.js:
10657         (StructType.prototype.instantiate):
10658         * WebGPUShadingLanguageRI/Substitution.js:
10659         (Substitution.prototype.get map):
10660         * WebGPUShadingLanguageRI/SuffixCallAssignment.js: Removed.
10661         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: Added.
10662         (synthesizeStructAccessors.createTypeParameters):
10663         (synthesizeStructAccessors.):
10664         (synthesizeStructAccessors.createFieldType):
10665         (synthesizeStructAccessors.createTypeRef):
10666         (synthesizeStructAccessors.setupAnder):
10667         (synthesizeStructAccessors):
10668         * WebGPUShadingLanguageRI/Test.html:
10669         * WebGPUShadingLanguageRI/Test.js:
10670         (checkNumber):
10671         (TEST_simpleProtocol):
10672         (TEST_assignLength):
10673         (TEST_simpleSetter):
10674         (TEST_genericAccessors):
10675         * WebGPUShadingLanguageRI/Type.js:
10676         (Type.prototype.get isRef):
10677         (Type.prototype.argumentForAndOverload):
10678         (Type.prototype.argumentTypeForAndOverload):
10679         (Type.prototype.returnTypeFromAndOverload):
10680         (Type):
10681         * WebGPUShadingLanguageRI/TypeParameterRewriter.js: Added.
10682         (TypeParameterRewriter.prototype.visitConstexprTypeParameter):
10683         (TypeParameterRewriter.prototype.visitTypeVariable):
10684         (TypeParameterRewriter):
10685         * WebGPUShadingLanguageRI/TypeVariableTracker.js: Added.
10686         (TypeVariableTracker):
10687         * WebGPUShadingLanguageRI/Value.js:
10688         (Value.prototype.become):
10689         (Value):
10690         * WebGPUShadingLanguageRI/VariableRef.js:
10691         (VariableRef.prototype.get unifyNode):
10692         (VariableRef.prototype.get addressSpace):
10693         * WebGPUShadingLanguageRI/Visitor.js:
10694         (Visitor.prototype.visitNativeFuncInstance):
10695         (Visitor.prototype.visitProtocolDecl):
10696         (Visitor): Deleted.
10697         * WebGPUShadingLanguageRI/VisitorBase.js: Removed.
10699 2017-09-18  Andy Estes  <aestes@apple.com>
10701         [Cocoa] Upstream WKSetCrashReportApplicationSpecificInformation() from WebKitSystemInterface
10702         https://bugs.webkit.org/show_bug.cgi?id=177048
10704         Reviewed by Alex Christensen.
10706         * DumpRenderTree/mac/DumpRenderTree.mm:
10707         (runTest):
10708         * WebKitTestRunner/cocoa/CrashReporterInfo.mm:
10709         (WTR::setCrashReportApplicationSpecificInformationToURL):
10711 2017-09-18  Tim Horton  <timothy_horton@apple.com>
10713         build-webkit spawns fewer subprocesses than ninja uses by default
10714         https://bugs.webkit.org/show_bug.cgi?id=177057
10716         Reviewed by Alex Christensen.
10718         * Scripts/build-webkit:
10719         By default, ninja will parallelize over (cores + 2) jobs. build-webkit
10720         specifies -j(cores), which overrides this. Remove our override if building
10721         with ninja; just let it do its own thing. In my testing, this minor
10722         change is the difference between ~10% idle CPU time and 0.
10724 2017-09-18  Lucas Forschler  <lforschler@apple.com>
10726         Land a patch to verify svn->git update is working.
10728 2017-09-18  Ms2ger  <Ms2ger@igalia.com>
10730         Update my status.
10732         Unreviewed.
10734         * Scripts/webkitpy/common/config/contributors.json:
10736 2017-09-17  Filip Pizlo  <fpizlo@apple.com>
10738         Start working on WSL documentation
10739         https://bugs.webkit.org/show_bug.cgi?id=177064
10741         Reviewed by Mylex Maxfield.
10742         
10743         This is a work in progress. I'd like to check it in and then keep adding to it.
10745         * WebGPUShadingLanguageRI/WSL.md: Added.
10747 2017-09-17  Myles C. Maxfield  <mmaxfield@apple.com>
10749         WSL needs to understand && and ||
10750         https://bugs.webkit.org/show_bug.cgi?id=177062
10752         Reviewed by Filip Pizlo.
10754         Very similar to LogicalNot.
10756         * WebGPUShadingLanguageRI/All.js:
10757         * WebGPUShadingLanguageRI/Checker.js:
10758         * WebGPUShadingLanguageRI/EBufferBuilder.js:
10759         (EBufferBuilder.prototype.visitLogicalExpression):
10760         * WebGPUShadingLanguageRI/Evaluator.js:
10761         (Evaluator.prototype.visitLogicalExpression):
10762         * WebGPUShadingLanguageRI/Lexer.js:
10763         (Lexer.prototype.next):
10764         (Lexer):
10765         * WebGPUShadingLanguageRI/LogicalExpression.js: Added.
10766         (LogicalExpression):
10767         (LogicalExpression.prototype.get text):
10768         (LogicalExpression.prototype.get left):
10769         (LogicalExpression.prototype.get right):
10770         (LogicalExpression.prototype.toString):
10771         * WebGPUShadingLanguageRI/Parse.js:
10772         (parseLeftLogicalExpression):
10773         * WebGPUShadingLanguageRI/Rewriter.js:
10774         (Rewriter.prototype.visitLogicalExpression):
10775         * WebGPUShadingLanguageRI/Test.html:
10776         * WebGPUShadingLanguageRI/Test.js:
10777         * WebGPUShadingLanguageRI/Visitor.js:
10778         (Visitor.prototype.visitProtocolDecl):
10780 2017-09-18  Ms2ger  <Ms2ger@igalia.com>
10782         Update my status.
10784         Unreviewed.
10786         * Scripts/webkitpy/common/config/contributors.json:
10788 2017-09-17  Filip Pizlo  <fpizlo@apple.com>
10790         Start working on WSL documentation
10791         https://bugs.webkit.org/show_bug.cgi?id=177064
10793         Reviewed by Mylex Maxfield.
10794         
10795         This is a work in progress. I'd like to check it in and then keep adding to it.
10797         * WebGPUShadingLanguageRI/WSL.md: Added.
10799 2017-09-17  Myles C. Maxfield  <mmaxfield@apple.com>
10801         WSL needs to understand && and ||
10802         https://bugs.webkit.org/show_bug.cgi?id=177062
10804         Reviewed by Filip Pizlo.
10806         Very similar to LogicalNot.
10808         * WebGPUShadingLanguageRI/All.js:
10809         * WebGPUShadingLanguageRI/Checker.js:
10810         * WebGPUShadingLanguageRI/EBufferBuilder.js:
10811         (EBufferBuilder.prototype.visitLogicalExpression):
10812         * WebGPUShadingLanguageRI/Evaluator.js:
10813         (Evaluator.prototype.visitLogicalExpression):
10814         * WebGPUShadingLanguageRI/Lexer.js:
10815         (Lexer.prototype.next):
10816         (Lexer):
10817         * WebGPUShadingLanguageRI/LogicalExpression.js: Added.
10818         (LogicalExpression):
10819         (LogicalExpression.prototype.get text):
10820         (LogicalExpression.prototype.get left):
10821         (LogicalExpression.prototype.get right):
10822         (LogicalExpression.prototype.toString):
10823         * WebGPUShadingLanguageRI/Parse.js:
10824         (parseLeftLogicalExpression):
10825         * WebGPUShadingLanguageRI/Rewriter.js:
10826         (Rewriter.prototype.visitLogicalExpression):
10827         * WebGPUShadingLanguageRI/Test.html:
10828         * WebGPUShadingLanguageRI/Test.js:
10829         * WebGPUShadingLanguageRI/Visitor.js:
10830         (Visitor.prototype.visitProtocolDecl):
10832 2017-09-17  Myles C. Maxfield  <mmaxfield@apple.com>
10834         WSL needs float and double support
10835         https://bugs.webkit.org/show_bug.cgi?id=177058
10837         Reviewed by Filip Pizlo.
10839         Use the existing int and uint types as a model. The types themselves are straighforward. Just like int and uint,
10840         you can't pass a float as a double argument and vice-versa. This patch adds operator+, -, *, and / for floats
10841         and doubles.
10843         Float literals are more complicated. If your number has a "." character in it, it is treated as a float literal.
10844         You can add a suffix of "f" or "d" to force the literal to pretend to be a float or a double. These literals are
10845         able to masquerade as either floats or doubles (unlike an explicit type). However, these literals are not able
10846         to masquerade as ints or uints. There's also a nice check that your float literal can actually fit in a float.
10848         * WebGPUShadingLanguageRI/All.js:
10849         * WebGPUShadingLanguageRI/DoubleLiteral.js: Copied from Tools/WebGPUShadingLanguageRI/Type.js.
10850         (let.DoubleLiteral.createLiteral.createType):
10851         * WebGPUShadingLanguageRI/DoubleLiteralType.js: Copied from Tools/WebGPUShadingLanguageRI/Type.js.
10852         (let.DoubleLiteralType.createLiteralType.verifyAsArgument):
10853         * WebGPUShadingLanguageRI/FloatLiteral.js: Copied from Tools/WebGPUShadingLanguageRI/Type.js.
10854         (let.FloatLiteral.createLiteral.createType):
10855         * WebGPUShadingLanguageRI/FloatLiteralType.js: Copied from Tools/WebGPUShadingLanguageRI/Type.js.
10856         (let.FloatLiteralType.createLiteralType.verifyAsArgument):
10857         * WebGPUShadingLanguageRI/Intrinsics.js:
10858         (Intrinsics):
10859         * WebGPUShadingLanguageRI/Lexer.js:
10860         (Lexer.prototype.next):
10861         (Lexer):
10862         * WebGPUShadingLanguageRI/NativeType.js:
10863         (NativeType):
10864         (NativeType.prototype.get isFloating):
10865         (NativeType.prototype.set isFloating):
10866         (NativeType.prototype.get isFloat): Deleted.
10867         (NativeType.prototype.set isFloat): Deleted.
10868         * WebGPUShadingLanguageRI/Parse.js:
10869         (parseTerm):
10870         * WebGPUShadingLanguageRI/Rewriter.js:
10871         (Rewriter.prototype.visitGenericLiteral):
10872         * WebGPUShadingLanguageRI/StandardLibrary.js:
10873         (uint.operator):
10874         (int.operator):
10875         * WebGPUShadingLanguageRI/Test.html:
10876         * WebGPUShadingLanguageRI/Test.js:
10877         (makeFloat):
10878         (makeDouble):
10879         (checkNumber):
10880         (checkFloat):
10881         (checkDouble):
10882         * WebGPUShadingLanguageRI/Type.js:
10883         (Type.prototype.get isFloating):
10884         (Type.prototype.get isFloat): Deleted.
10886 2017-09-17  Michael Saboff  <msaboff@apple.com>
10888         https://bugs.webkit.org/show_bug.cgi?id=177038
10889         Add an option to run-jsc-stress-tests to limit tests variations to a basic set
10891         Reviewed by JF Bastien.
10893         Added the --basic option that runs defaults tests with the following modes, default, no-llint,
10894         no-cjit-validate-phases, no-cjit-collect-continuously, dfg-eager and for FTL platforms: no-ftl,
10895         ftl-eager-no-cjit and ftl-no-cjit-small-pool.  This takes about half the time as running all
10896         16 modes of a full run.
10898         * Scripts/run-jsc-stress-tests:
10900 2017-09-16  Tim Horton  <timothy_horton@apple.com>
10902         Fix the Tools build with CMake on macOS
10903         https://bugs.webkit.org/show_bug.cgi?id=177030
10905         Reviewed by Geoffrey Garen.
10907         * TestWebKitAPI/CMakeLists.txt:
10908         Add a workaround identical to what the gtest CMakeLists has.
10910 2017-09-16  Carlos Garcia Campos  <cgarcia@igalia.com>
10912         [GTK] Bump fontconfig version to 2.12.4
10913         https://bugs.webkit.org/show_bug.cgi?id=176997
10915         Reviewed by Michael Catanzaro.
10917         It's the latest stable version and we can get rid of the patches we have.
10919         * WebKitTestRunner/gtk/fonts/fonts.conf: Remove hinting config we no longer need with newer FreeType and
10920         deprecated <blank> that current fontconfig just ignores.
10921         * gtk/jhbuild.modules:
10922         * gtk/patches/fontconfig-2.11.1-add-autogen.patch: Removed.
10923         * gtk/patches/fontconfig-Avoid-conflicts-with-integer-width-macros-from-TS-18661-1-2014.patch: Removed.
10924         * gtk/patches/fontconfig-Fix-the-build-issue-with-gperf-3.1.patch: Removed.
10925         * gtk/patches/fontconfig-fix-osx-cache.diff: Removed.
10927 2017-09-15  Lucas Forschler  <lforschler@apple.com>
10929         Move run-webkit-archive from Tools/Scripts to Tools/BuildSlaveSupport
10930         
10931         Reviewed by Alexey Proskuryakov.
10933         * Scripts/run-webkit-archive: Removed.
10935 2017-09-15  Lucas Forschler  <lforschler@apple.com>
10937         teach build.webkit.org to include run-webkit-archive in the root folder of uploaded macOS archives.
10938         https://bugs.webkit.org/show_bug.cgi?id=176965
10940         Reviewed by Alexey Proskuryakov.
10942         * BuildSlaveSupport/built-product-archive:
10943         (addLauncherToArchive): Helper function to add the launcher script
10944         (createZip): teach function about addLauncherToArchive
10945         * BuildSlaveSupport/run-webkit-archive: Added.
10946         (check_for_valid_platform): Add logic to ensure platform is Darwin
10947         (find_dyld_framework_path): Find the dyld framework path
10948         (run_safari_for_webkit_development): launch SafariForWebKitDevelopment
10949         (set_dyld_framework_path): export the environment for dydl framework path
10951 2017-09-15  Myles C. Maxfield  <mmaxfield@apple.com>
10953         [WSL] Small cleanup in Evaluator
10954         https://bugs.webkit.org/show_bug.cgi?id=176971
10956         Reviewed by Filip Pizlo.
10958         Use the symbols for break and continue instead of the objects themselves.
10960         No tests because there is no behavior change.
10962         * WebGPUShadingLanguageRI/Evaluator.js:
10963         (Evaluator.prototype.visitWhileLoop):
10964         (Evaluator.prototype.visitDoWhileLoop):
10965         (Evaluator.prototype.visitForLoop):
10966         (Evaluator.prototype.visitBreak):
10967         (Evaluator.prototype.visitContinue):
10969 2017-09-15  Filip Pizlo  <fpizlo@apple.com>
10971         WSL Evaluator should only allocate EBuffers when dealing with intrinsics
10972         https://bugs.webkit.org/show_bug.cgi?id=176973
10974         Reviewed by Myles Maxfield.
10975         
10976         Whether or not two temporary values share the same EBuffer is ultimately observable in WSL,
10977         because you can do this:
10978         
10979             thread int^ operator&[](thread int^ ptr, uint index)
10980             {
10981                 g_ptr = ptr;
10982                 return ptr;
10983             }
10984         
10985         And then this is a thing:
10986         
10987             42[0];
10988             // g_ptr now points to 42's location
10989         
10990         Normally this would have a lot of bad implications. But in WSL, if you did choose to do this,
10991         you'd get a pointer to something well-defined: the EBuffer of 42's GenericLiteral. Each static
10992         occurrence of a literal gets its own location, and the semantics of the language call for
10993         42 to be stored into this location when `42` "executes". So, while the programmer could do all
10994         kinds of strange things, at least the strangeness they would see is something we can spec.
10995         
10996         But to do this, the interpreter needs to allocate EBuffers in the same way a compiler would.
10997         It cannot allocate them during execution, except when interacting with intrinsics, which won't
10998         know the difference.
10999         
11000         In the process, I found places that needed to use AutoWrapper instead of TypeRef.wrap.
11002         * WebGPUShadingLanguageRI/AutoWrapper.js:
11003         (AutoWrapper.prototype.visitGenericLiteralType):
11004         (AutoWrapper.prototype.visitNullType):
11005         (AutoWrapper):
11006         * WebGPUShadingLanguageRI/CallExpression.js:
11007         (CallExpression.prototype.resolve):
11008         * WebGPUShadingLanguageRI/CallFunction.js:
11009         (callFunction):
11010         * WebGPUShadingLanguageRI/Checker.js:
11011         * WebGPUShadingLanguageRI/CreateLiteralType.js:
11012         (createLiteralType.GenericLiteralType.prototype.commitUnification):
11013         * WebGPUShadingLanguageRI/EBuffer.js:
11014         (EBuffer):
11015         (EBuffer.setCanAllocateEBuffers):
11016         (EBuffer.disallowAllocation):
11017         (EBuffer.allowAllocation):
11018         * WebGPUShadingLanguageRI/EBufferBuilder.js:
11019         (EBufferBuilder.prototype.visitVariableDecl):
11020         (EBufferBuilder.prototype.visitFuncDef):
11021         (EBufferBuilder.prototype.visitFunctionLikeBlock):
11022         (EBufferBuilder.prototype.visitCallExpression):
11023         (EBufferBuilder.prototype.visitMakePtrExpression):
11024         (EBufferBuilder.prototype.visitGenericLiteral):
11025         (EBufferBuilder.prototype.visitNullLiteral):
11026         (EBufferBuilder.prototype.visitBoolLiteral):
11027         (EBufferBuilder.prototype.visitLogicalNot):
11028         (EBufferBuilder):
11029         * WebGPUShadingLanguageRI/EPtr.js:
11030         (EPtr.box):
11031         (EPtr.prototype.box):
11032         * WebGPUShadingLanguageRI/Evaluator.js:
11033         (Evaluator.prototype._snapshot):
11034         (Evaluator.prototype.runFunc):
11035         (Evaluator.prototype._runBody):
11036         (Evaluator.prototype.visitFunctionLikeBlock):
11037         (Evaluator.prototype.visitMakePtrExpression):
11038         (Evaluator.prototype.visitGenericLiteral):
11039         (Evaluator.prototype.visitNullLiteral):
11040         (Evaluator.prototype.visitBoolLiteral):
11041         (Evaluator.prototype.visitLogicalNot):
11042         (Evaluator.prototype.visitCallExpression):
11043         (Evaluator):
11044         (Evaluator.prototype.runBody): Deleted.
11045         * WebGPUShadingLanguageRI/Inliner.js:
11046         (Inliner.prototype.visitCallExpression):
11047         * WebGPUShadingLanguageRI/InstantiateImmediates.js:
11048         (InstantiateImmediates.prototype.visitTypeRef):
11049         * WebGPUShadingLanguageRI/Rewriter.js:
11050         (Rewriter.prototype.visitMakePtrExpression):
11051         (Rewriter.prototype.visitGenericLiteral):
11052         (Rewriter.prototype.visitNullLiteral):
11053         (Rewriter.prototype.processDerivedCallData):
11054         (Rewriter.prototype.visitFunctionLikeBlock):
11055         (Rewriter.prototype.visitLogicalNot):
11056         * WebGPUShadingLanguageRI/TypeRef.js:
11057         (TypeRef.prototype.toString):
11058         (TypeRef):
11059         * WebGPUShadingLanguageRI/Visitor.js:
11060         (Visitor.prototype.visitProtocolDecl):
11062 2017-09-14  Filip Pizlo  <fpizlo@apple.com>
11064         Rationalize how WSL's operator&[] works
11065         https://bugs.webkit.org/show_bug.cgi?id=176958
11067         Reviewed by Myles Maxfield.
11068         
11069         This makes operator&[] work with non-array-ref types. The way this works is that if you do base[index]
11070         then we pattern match base's type and proceed accordingly:
11071         
11072             If base's type is T^:
11073                 => Reject
11074             
11075             If base's type is T[]:
11076                 => Accept
11077             
11078             If base's type is T[c]:
11079                 => Wrap it with a MakeArrayRefExpression and accept.
11080             
11081             All other cases:
11082                 => Wrap it with a MakePtrExpression and accept.
11083         
11084         This makes it possible for operator&[] to work with lvalues. It also means that operator&[] gets to
11085         "see" the temporary values we create via snapshot() in the interpreter. We'll have to fix that, and I've
11086         filed bug 176973 for that. Once that's fixed, this will have well-defined behavior, though with the very
11087         peculiar caveat that an expression like this:
11088         
11089              totallyNotAnLValue()[42]
11090         
11091         Could be used to get a pointer to a non-lvalue. But we can be extremely precise about what that means
11092         and prohibit dangling pointers, which is kinda crazy.
11093         
11094         In order to do this, I had to make MakeArrayRefExpression work, so I did that and added tests for it.
11096         * WebGPUShadingLanguageRI/All.js:
11097         * WebGPUShadingLanguageRI/ArrayRefType.js:
11098         (ArrayRefType.prototype.unifyImpl):
11099         (ArrayRefType.prototype.toString):
11100         (ArrayRefType):
11101         * WebGPUShadingLanguageRI/ArrayType.js:
11102         (ArrayType):
11103         (ArrayType.prototype.get numElementsValue):
11104         (ArrayType.prototype.get size):
11105         (ArrayType.prototype.populateDefaultValue):
11106         (ArrayType.prototype.unifyImpl):
11107         * WebGPUShadingLanguageRI/Checker.js:
11108         * WebGPUShadingLanguageRI/ConvertPtrToArrayRefExpression.js: Added.
11109         (ConvertPtrToArrayRefExpression):
11110         (ConvertPtrToArrayRefExpression.prototype.get lValue):
11111         (ConvertPtrToArrayRefExpression.prototype.toString):
11112         * WebGPUShadingLanguageRI/CreateLiteral.js:
11113         (createLiteral.GenericLiteral.withType):
11114         (createLiteral.GenericLiteral.prototype.get isLiteral):
11115         (createLiteral.GenericLiteral.prototype.unifyImpl):
11116         * WebGPUShadingLanguageRI/DotExpression.js:
11117         (DotExpression.prototype.get addressSpace):
11118         * WebGPUShadingLanguageRI/Evaluator.js:
11119         (Evaluator.prototype.visitMakeArrayRefExpression):
11120         (Evaluator.prototype.visitConvertPtrToArrayRefExpression):
11121         * WebGPUShadingLanguageRI/Intrinsics.js:
11122         (Intrinsics):
11123         * WebGPUShadingLanguageRI/MakeArrayRefExpression.js: Added.
11124         (MakeArrayRefExpression):
11125         (MakeArrayRefExpression.prototype.get lValue):
11126         (MakeArrayRefExpression.prototype.becomeConvertPtrToArrayRefExpression):
11127         (MakeArrayRefExpression.prototype.toString):
11128         * WebGPUShadingLanguageRI/MakePtrExpression.js:
11129         (MakePtrExpression.prototype.toString):
11130         (MakePtrExpression):
11131         * WebGPUShadingLanguageRI/PtrType.js:
11132         (PtrType.prototype.toString):
11133         (PtrType):
11134         * WebGPUShadingLanguageRI/ReferenceType.js:
11135         (ReferenceType):
11136         * WebGPUShadingLanguageRI/Rewriter.js:
11137         (Rewriter.prototype.visitArrayType):
11138         (Rewriter.prototype.visitMakeArrayRefExpression):
11139         (Rewriter.prototype.visitConvertPtrToArrayRefExpression):
11140         * WebGPUShadingLanguageRI/StandardLibrary.js:
11141         * WebGPUShadingLanguageRI/Test.html:
11142         * WebGPUShadingLanguageRI/Test.js:
11143         (TEST_buildArrayThenSumItUsingArrayReference):
11144         (TEST_overrideSubscriptStruct):
11145         (TEST_overrideSubscriptStructAndUsePointers):
11146         (TEST_overrideSubscriptStructAndUsePointersIncorrectly):
11147         (TEST_makeArrayRefFromPointer):
11148         (TEST_makeArrayRefFromArrayRef):
11149         * WebGPUShadingLanguageRI/Visitor.js:
11150         (Visitor.prototype.visitProtocolDecl):
11152 2017-09-14  Filip Pizlo  <fpizlo@apple.com>
11154         WSL should support ++, --, +=, and all of those things
11155         https://bugs.webkit.org/show_bug.cgi?id=176975
11157         Reviewed by Myles Maxfield.
11158         
11159         This adds an internal AST construct called LetExpression, that allows us to anonymously capture
11160         a value. This change uses LetExpression to implement prefix and suffix ++/-- and all of the
11161         +=/-=/etc.
11163         * WebGPUShadingLanguageRI/All.js:
11164         * WebGPUShadingLanguageRI/Checker.js:
11165         * WebGPUShadingLanguageRI/EBufferBuilder.js:
11166         (EBufferBuilder.prototype.visitVariableDecl):
11167         (EBufferBuilder.prototype.visitLetExpression):
11168         (EBufferBuilder):
11169         * WebGPUShadingLanguageRI/Evaluator.js:
11170         (Evaluator.prototype.visitLetExpression):
11171         * WebGPUShadingLanguageRI/LetExpression.js: Added.
11172         (LetExpression):
11173         (LetExpression.prototype.get origin):
11174         (LetExpression.prototype.get name):
11175         (LetExpression.prototype.toString):
11176         * WebGPUShadingLanguageRI/Lexer.js:
11177         (Lexer.prototype.next):
11178         (Lexer):
11179         * WebGPUShadingLanguageRI/NameResolver.js:
11180         (NameResolver.prototype.visitProtocolDecl):
11181         * WebGPUShadingLanguageRI/Parse.js:
11182         (isCallExpression):
11183         (finishParsingPostIncrement):
11184         (parsePossibleSuffix):
11185         (finishParsingPreIncrement):
11186         (parsePreIncrement):
11187         (parsePossiblePrefix):
11188         (parsePossibleAssignment):
11189         (parsePostIncrement):
11190         (parseEffectfulExpression):
11191         * WebGPUShadingLanguageRI/Rewriter.js:
11192         (Rewriter.prototype.visitFunctionLikeBlock):
11193         (Rewriter.prototype.visitLetExpression):
11194         (Rewriter):
11195         * WebGPUShadingLanguageRI/StandardLibrary.js:
11196         (int.operator):
11197         (uint.operator):
11198         * WebGPUShadingLanguageRI/Test.html:
11199         * WebGPUShadingLanguageRI/Test.js:
11200         (TEST_prefixPlusPlus):
11201         (TEST_prefixPlusPlusResult):
11202         (TEST_postfixPlusPlus):
11203         (TEST_postfixPlusPlusResult):
11204         (TEST_prefixMinusMinus):
11205         (TEST_prefixMinusMinusResult):
11206         (TEST_postfixMinusMinus):
11207         (TEST_postfixMinusMinusResult):
11208         (TEST_plusEquals):
11209         (TEST_plusEqualsResult):
11210         (TEST_minusEquals):
11211         (TEST_minusEqualsResult):
11212         (TEST_timesEquals):
11213         (TEST_timesEqualsResult):
11214         (TEST_divideEquals):
11215         (TEST_divideEqualsResult):
11216         * WebGPUShadingLanguageRI/Visitor.js:
11217         (Visitor.prototype.visitProtocolDecl):
11219 2017-09-15  Brent Fulgham  <bfulgham@apple.com>
11221         Provide mechanism to immediately end tests
11222         https://bugs.webkit.org/show_bug.cgi?id=176364
11223         <rdar://problem/34254780>
11225         Reviewed by Alex Christensen.
11227         WebKitTestRunner does not output state if the top loading frame has not been removed. This prevents some
11228         tests that attempt to exercise failed load state from working properly.
11229         
11230         This change adds a new 'forceImmediateCompletion' handler for DumpRenderTree and WebKitTestRunner so
11231         that we can properly test these conditions.
11233         * DumpRenderTree/TestRunner.h:
11234         * DumpRenderTree/mac/TestRunnerMac.mm:
11235         (TestRunner::forceImmediateCompletion): Added.
11236         * DumpRenderTree/win/TestRunnerWin.cpp:
11237         (TestRunner::forceImmediateCompletion): Ditto.
11238         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
11239         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
11240         (WTR::TestRunner::forceImmediateCompletion): Ditto.
11241         * WebKitTestRunner/InjectedBundle/TestRunner.h:
11243 2017-09-15  Youenn Fablet  <youenn@apple.com>
11245         Add an URL method to remove both query string and fragment identifier
11246         https://bugs.webkit.org/show_bug.cgi?id=176911
11248         Reviewed by Alex Christensen.
11250         Adding unit test for new URL method as well as modified setQuery and setFragmentIdentifier.
11252         * TestWebKitAPI/Tests/WebCore/URL.cpp:
11253         (TestWebKitAPI::createURL):
11254         (TestWebKitAPI::TEST_F):
11256 2017-09-14  Yousuke Kimoto  <yousuke.kimoto@sony.com>
11258         [WinCairo] Add an option to build WebKitLegacy and WebKit
11259         https://bugs.webkit.org/show_bug.cgi?id=176891
11261         Since TestWebKitAPI and MiniBrowser/win are used for WebKitLegacy,
11262         those subdirectories are ignored for WebKit build.
11264         Reviewed by Alex Christensen.
11266         * CMakeLists.txt:
11268 2017-09-14  Lucas Forschler  <lforschler@apple.com>
11270         Create a launcher for webkit-archives
11271         https://bugs.webkit.org/show_bug.cgi?id=176964
11273         Reviewed by Aakash Jain.
11275         * Scripts/run-webkit-archive: Added.
11276         (find_dyld_framework_path):
11277         (run_safari_for_webkit_development):
11278         (set_dyld_framework_path):
11279         (main):
11281 2017-09-14  Alex Christensen  <achristensen@webkit.org>
11283         Add WKUIDelegatePrivate equivalent of WKPageUIClient's drawHeader, drawFooter, headerHeight, and footerHeight
11284         https://bugs.webkit.org/show_bug.cgi?id=176889
11285         <rdar://problem/29270035>
11287         Reviewed by Andy Estes.
11289         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
11290         (-[PrintDelegate _webView:printFrame:]):
11291         (-[PrintDelegate _webViewHeaderHeight:]):
11292         (-[PrintDelegate _webViewFooterHeight:]):
11293         (-[PrintDelegate _webView:drawHeaderInRect:forPageWithTitle:URL:]):
11294         (-[PrintDelegate _webView:drawFooterInRect:forPageWithTitle:URL:]):
11295         (callbacksEqual):
11296         (TEST):
11297         * TestWebKitAPI/cocoa/TestWKWebView.h:
11298         * TestWebKitAPI/cocoa/TestWKWebView.mm:
11299         (-[TestWKWebView hostWindow]):
11301 2017-09-14  Ryan Haddad  <ryanhaddad@apple.com>
11303         Unreviewed, rolling out r222033.
11305         This change caused API test WebKit.PrintFrame to time out.
11307         Reverted changeset:
11309         "Add WKUIDelegatePrivate equivalent of WKPageUIClient's
11310         drawHeader, drawFooter, headerHeight, and footerHeight"
11311         https://bugs.webkit.org/show_bug.cgi?id=176889
11312         http://trac.webkit.org/changeset/222033
11314 2017-09-14  Youenn Fablet  <youenn@apple.com>
11316         Allow WTF::map to take function as parameter
11317         https://bugs.webkit.org/show_bug.cgi?id=176909
11319         Reviewed by Jer Noble.
11321         * TestWebKitAPI/Tests/WTF/Vector.cpp:
11322         (TestWebKitAPI::multiplyByTwo):
11323         (TestWebKitAPI::TEST):
11324         (TestWebKitAPI::multiplyByTwoMoveOnly):
11326 2017-09-14  Filip Pizlo  <fpizlo@apple.com>
11328         WSL IntLiteralType should become int32 if unified with a type variable
11329         https://bugs.webkit.org/show_bug.cgi?id=176707
11331         Reviewed by Myles Maxfield.
11332         
11333         This makes it so that this works:
11334         
11335             T foo<T>(T x) { return x; }
11336             foo(42); // T becomes int32
11337         
11338         Previously, it did not work because IntLiteralType did not recognize TypeVariable as a number. Also,
11339         TypeVariable would try to evaluate protocol inheritance of IntLiteralType, which would not go well. One
11340         of the tests that this patch adds didn't just fail; it gave such an absurd 7-line type error that I felt
11341         like I was using SML.
11342         
11343         This fixes the problem by introducing what I think is a super deterministic way of handling literals and
11344         type variables:
11345         
11346         Before verifying a unification context, we now give all literals a chance to perform an extra 
11347         unification step. This is a two-phase process. This ensures that the unification performed by one 
11348         literal does not throw off the logic of some other literal. For example, if we do:
11349         
11350             void foo<T>(T, T) { }
11351             foo(42, 42u);
11352         
11353         Then we want to always fail to compile, rather than sometimes succeeding. So, we first ask each literal
11354         if it thinks that it needs to do extra unification. Both of the literals will report that they want to
11355         in this case, because they will notice that they got unified with either at type variable or a literal,
11356         which isn't specific enough. Then after they all register to do extra unification, they will both try to
11357         unify with their preferred types (int32 for 42, uint32 for 42u). The first one will succeed, and the
11358         second will give an error.
11359         
11360         Without the special two-phase arrangement, it was possible to either get a type error or not depending 
11361         on the order - for example foo(42, 42u) might fail while foo(42u, 42) succeeds. It was definitely not
11362         decidable, at least not unless you mandate the unification order as part of the type system spec. I 
11363         think that would have been nuts.
11364         
11365         Both IntLiteral and UintLiteral are now "flexible"; the uint one will reject non-int or signed int
11366         types and will prefer uint, but otherwise it's the same logic. This means that this will be valid:
11367         
11368             uint8 x = 5u;
11369         
11370         But this is still wrong:
11371         
11372             int x = 5u;
11373         
11374         To make this easy, I turned IntLiteral and UintLiteral (and IntLiteralType and UintLiteralType) into
11375         factory-built generic types (see createLiteral() and createLiteralType()). Because visitors use the
11376         constructor's declared name (GenericLiteral and GenericLiteralType in this case), it means that we can
11377         share a ton of code between the different literals. I love that ES6 lets you do that.
11379         * WebGPUShadingLanguageRI/All.js:
11380         * WebGPUShadingLanguageRI/Checker.js:
11381         * WebGPUShadingLanguageRI/CreateLiteral.js: Added.
11382         (createLiteral.GenericLiteral):
11383         (createLiteral.GenericLiteral.prototype.get value):
11384         (createLiteral.GenericLiteral.prototype.get isConstexpr):
11385         (createLiteral.GenericLiteral.prototype.toString):
11386         (createLiteral):
11387         * WebGPUShadingLanguageRI/CreateLiteralType.js: Added.
11388         (createLiteralType.GenericLiteralType):
11389         (createLiteralType.GenericLiteralType.prototype.get origin):
11390         (createLiteralType.GenericLiteralType.prototype.get value):
11391         (createLiteralType.GenericLiteralType.prototype.get isPrimitive):
11392         (createLiteralType.GenericLiteralType.prototype.get isUnifiable):
11393         (createLiteralType.GenericLiteralType.prototype.get isLiteral):
11394         (createLiteralType.GenericLiteralType.prototype.typeVariableUnify):
11395         (createLiteralType.GenericLiteralType.prototype.unifyImpl):
11396         (createLiteralType.GenericLiteralType.prototype.prepareToVerify):
11397         (createLiteralType.GenericLiteralType.prototype.verifyAsArgument):
11398         (createLiteralType.GenericLiteralType.prototype.verifyAsParameter):
11399         (createLiteralType.GenericLiteralType.prototype.conversionCost):
11400         (createLiteralType.GenericLiteralType.prototype.commitUnification):
11401         (createLiteralType.GenericLiteralType.prototype.toString):
11402         (createLiteralType):
11403         * WebGPUShadingLanguageRI/Evaluator.js:
11404         (Evaluator.prototype.visitIntLiteral): Deleted.
11405         (Evaluator.prototype.visitUintLiteral): Deleted.
11406         * WebGPUShadingLanguageRI/IntLiteral.js:
11407         (let.IntLiteral.createLiteral.createType):
11408         (IntLiteral): Deleted.
11409         (IntLiteral.prototype.get value): Deleted.
11410         (IntLiteral.prototype.get isConstexpr): Deleted.
11411         (IntLiteral.prototype.toString): Deleted.
11412         * WebGPUShadingLanguageRI/IntLiteralType.js:
11413         (IntLiteralType): Deleted.
11414         (IntLiteralType.prototype.get origin): Deleted.
11415         (IntLiteralType.prototype.get value): Deleted.
11416         (IntLiteralType.prototype.get isPrimitive): Deleted.
11417         (IntLiteralType.prototype.get isUnifiable): Deleted.
11418         (IntLiteralType.prototype.typeVariableUnify): Deleted.
11419         (IntLiteralType.prototype.unifyImpl): Deleted.
11420         (IntLiteralType.prototype.verifyAsArgument): Deleted.
11421         (IntLiteralType.prototype.verifyAsParameter): Deleted.
11422         (IntLiteralType.prototype.conversionCost): Deleted.
11423         (IntLiteralType.prototype.commitUnification): Deleted.
11424         (IntLiteralType.prototype.toString): Deleted.
11425         * WebGPUShadingLanguageRI/Intrinsics.js:
11426         (Intrinsics):
11427         * WebGPUShadingLanguageRI/LiteralTypeChecker.js:
11428         (LiteralTypeChecker.prototype.visitIntLiteralType): Deleted.
11429         * WebGPUShadingLanguageRI/Node.js:
11430         (Node.prototype.prepareToVerify):
11431         (Node.prototype.commitUnification):
11432         (Node.prototype.get isLiteral):
11433         * WebGPUShadingLanguageRI/NullType.js:
11434         (NullType.prototype.get isLiteral):
11435         (NullType.prototype.toString):
11436         (NullType):
11437         * WebGPUShadingLanguageRI/Parse.js:
11438         (parseTerm):
11439         * WebGPUShadingLanguageRI/Rewriter.js:
11440         (Rewriter.prototype.visitGenericLiteralType):
11441         (Rewriter.prototype.visitIntLiteral): Deleted.
11442         (Rewriter.prototype.visitIntLiteralType): Deleted.
11443         (Rewriter.prototype.visitUintLiteral): Deleted.
11444         (Rewriter.prototype.visitBoolLiteral): Deleted.
11445         * WebGPUShadingLanguageRI/Test.html:
11446         * WebGPUShadingLanguageRI/Test.js:
11447         (makeUint):
11448         (checkUint):
11449         (TEST_uintSimpleMath):
11450         (TEST_equality):
11451         (TEST_notEquality):
11452         (TEST_intLiteralGeneric):
11453         (TEST_intLiteralGenericWithProtocols):
11454         (TEST_uintLiteralGeneric):
11455         (TEST_uintLiteralGenericWithProtocols):
11456         (TEST_intLiteralGenericSpecific):
11457         (TEST_twoIntLiterals):
11458         (TEST_unifyDifferentLiterals):
11459         (makeUInt): Deleted.
11460         (checkUInt): Deleted.
11461         * WebGPUShadingLanguageRI/Type.js:
11462         * WebGPUShadingLanguageRI/UintLiteral.js:
11463         (let.UintLiteral.createLiteral.createType):
11464         (UintLiteral): Deleted.
11465         (UintLiteral.prototype.get value): Deleted.
11466         (UintLiteral.prototype.get isConstexpr): Deleted.
11467         (UintLiteral.prototype.toString): Deleted.
11468         * WebGPUShadingLanguageRI/UintLiteralType.js: Added.
11469         (let.UintLiteralType.createLiteralType.verifyAsArgument):
11470         * WebGPUShadingLanguageRI/UnificationContext.js:
11471         (UnificationContext.prototype.verify):
11472         * WebGPUShadingLanguageRI/Visitor.js:
11473         (Visitor.prototype.visitProtocolDecl):
11475 2017-09-14  Ryan Haddad  <ryanhaddad@apple.com>
11477         Unreviewed, rolling out r221868.
11479         Rolling out this change while we investigate test262 failures.
11481         Reverted changeset:
11483         "Turn on exception scope verification for JSC tests."
11484         https://bugs.webkit.org/show_bug.cgi?id=162351
11485         http://trac.webkit.org/changeset/221868
11487 2017-09-14  Alex Christensen  <achristensen@webkit.org>
11489         Add WKUIDelegatePrivate equivalent of WKPageUIClient's drawHeader, drawFooter, headerHeight, and footerHeight
11490         https://bugs.webkit.org/show_bug.cgi?id=176889
11491         <rdar://problem/29270035>
11493         Reviewed by Andy Estes.
11495         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
11496         (-[PrintDelegate _webView:printFrame:]):
11497         (-[PrintDelegate _webViewHeaderHeight:]):
11498         (-[PrintDelegate _webViewFooterHeight:]):
11499         (-[PrintDelegate _webView:drawHeaderInRect:forPageWithTitle:URL:]):
11500         (-[PrintDelegate _webView:drawFooterInRect:forPageWithTitle:URL:]):
11501         (callbacksEqual):
11502         (TEST):
11503         * TestWebKitAPI/cocoa/TestWKWebView.h:
11504         * TestWebKitAPI/cocoa/TestWKWebView.mm:
11505         (-[TestWKWebView hostWindow]):
11507 2017-09-14  Carlos Alberto Lopez Perez  <clopez@igalia.com>
11509         [GTK] Add a switch to start the mini-browser in full-screen mode
11510         https://bugs.webkit.org/show_bug.cgi?id=176904
11512         Reviewed by Carlos Garcia Campos.
11514         * MiniBrowser/gtk/main.c:
11515         (main):
11517 2017-09-14  Filip Pizlo  <fpizlo@apple.com>
11519         Unreviewed, fix a typo that was preventing a test from running.
11521         * WebGPUShadingLanguageRI/Test.js:
11523 2017-09-14  Carlos Garcia Campos  <cgarcia@igalia.com>
11525         [GTK] Fail to build using internal jhbuild if libgtk3-dev is not installed in the system
11526         https://bugs.webkit.org/show_bug.cgi?id=176778
11528         Reviewed by Carlos Alberto Lopez Perez.
11530         We are building gtk+ in the jhbuild with introspection disabled, but Gtk-3.gir is required to build the
11531         WebKitGTK+ introspection. Also, if wayland-protocols is not installed, gtk+ is built without the wayland backend
11532         and it's no possible to enable the wayland target in WebKitGTK+ either.
11534         * gtk/jhbuild.modules: Do not disable introspection when building gtk+ and add wayland-protocols as a dependency.
11536 2017-09-14  Maureen Daum  <mdaum@apple.com>
11538         Introduce the option to mark an HTML element as having AutoFill available.
11539         https://bugs.webkit.org/show_bug.cgi?id=176710
11541         Reviewed by Alex Christensen.
11543         Add an API test that verifies after we mark a field as having AutoFill available,
11544         Accessibility also considers it to have AutoFill available.
11546         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add AutoFillAvailable.mm
11547         * TestWebKitAPI/Tests/WebKitCocoa/AutoFillAvailable.mm: Added.
11548         Create an input element, mark it as having AutoFill available, then focus it so that
11549         we can get the accessibility information for it. Ask accessibility whether it considers
11550         the field to have AutoFill available, and pick the alert message based on that.
11551         (-[AutoFillAvailable webProcessPlugIn:didCreateBrowserContextController:]):
11552         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
11553         (TEST):
11554         (-[AutoFillAvailableDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
11555         Verify that we get the alert message indicating that accessibility indeed considers
11556         the input element as having AutoFill available after we explicitly marked it as so.
11558 2017-09-13  John Wilander  <wilander@apple.com>
11560         Introduce Storage Access API (document parts) as an experimental feature
11561         https://bugs.webkit.org/show_bug.cgi?id=175759
11562         <rdar://problem/34414107>
11564         Reviewed by Alex Christensen.
11566         * WebKitTestRunner/TestController.cpp:
11567         (WTR::TestController::resetPreferencesToConsistentValues):
11568             Turns the feature on for tests.
11570 2017-09-13  Matt Lewis  <jlewis3@apple.com>
11572         Unreviewed, rolling out r221976.
11574         The test introduced was flaky from point of addition.
11576         Reverted changeset:
11578         "Introduce Storage Access API (document parts) as an
11579         experimental feature"
11580         https://bugs.webkit.org/show_bug.cgi?id=175759
11581         http://trac.webkit.org/changeset/221976
11583 2017-09-13  Lucas Forschler  <lforschler@apple.com>
11585         Compress spindumps on client side before packaging into layout test results zip (mac & ios)
11586         https://bugs.webkit.org/show_bug.cgi?id=176853
11588         Reviewed by Aakash Jain.
11590         * BuildSlaveSupport/test-result-archive:
11591         (main):
11592         (gzip_file): use gzip to compress a file, removing original
11593         (compress_spindumps): find and compress spindumps matching a filter
11594         (archive_test_results): refactor to snake_case
11595         (archiveTestResults): Deleted.
11597 2017-09-13  Alex Christensen  <achristensen@webkit.org>
11599         Add WKUIDelegatePrivate equivalent of WKPageUIClient's setIsResizable, getWindowFrame, and setWindowFrame
11600         https://bugs.webkit.org/show_bug.cgi?id=176857
11601         <rdar://problem/29270035>
11603         Reviewed by Tim Horton.
11605         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
11606         (-[ModalDelegate _webViewRunModal:]):
11607         (-[ModalDelegate _webView:setResizable:]):
11608         (-[WindowFrameDelegate _webView:setWindowFrame:]):
11609         (-[WindowFrameDelegate _webView:getWindowFrameWithCompletionHandler:]):
11610         (-[WindowFrameDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
11611         (TEST):
11612         (-[ResizableDelegate _webView:setResizable:]):
11613         (-[ResizableDelegate _webView:getIsResizableWithCompletionHandler:]):
11614         (-[ResizableDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
11616 2017-09-13  Youenn Fablet  <youenn@apple.com>
11618         Add a lambda-based map for Vectors
11619         https://bugs.webkit.org/show_bug.cgi?id=176487
11621         Reviewed by Darin Adler.
11623         * TestWebKitAPI/Tests/WTF/Vector.cpp:
11624         (TestWebKitAPI::TEST):
11626 2017-09-13  John Wilander  <wilander@apple.com>
11628         Introduce Storage Access API (document parts) as an experimental feature
11629         https://bugs.webkit.org/show_bug.cgi?id=175759
11630         <rdar://problem/33666847>
11632         Reviewed by Alex Christensen.
11634         * WebKitTestRunner/TestController.cpp:
11635         (WTR::TestController::resetPreferencesToConsistentValues):
11636             Turns the feature on for tests.
11638 2017-09-13  Per Arne Vollan  <pvollan@apple.com>
11640         [Win] DRT option --gc-between-tests is not implemented.
11641         https://bugs.webkit.org/show_bug.cgi?id=176849
11643         Reviewed by Brent Fulgham.
11645         Perform GC after the test if this option is enabled. This patch also set the initial value of the flag
11646         to true, in order to catch GC related issues in the test in which they occur.
11648         * DumpRenderTree/win/DumpRenderTree.cpp:
11649         (runTest):
11651 2017-09-12  Wenson Hsieh  <wenson_hsieh@apple.com>
11653         [iOS DnD] Support DataTransfer.getData and DataTransfer.setData when dragging or dropping
11654         https://bugs.webkit.org/show_bug.cgi?id=176672
11655         <rdar://problem/34353723>
11657         Reviewed by Ryosuke Niwa.
11659         Adds new tests and tweaks existing DataInteractionTests to cover the tweaks made in this patch.
11660         SinglePlainTextURLTypeIdentifiers: Verify that inline presentation style is requested when dragging plaintext.
11661         SinglePlainTextWordTypeIdentifiers: Verify that inline presentation style is requested when dragging a link.
11662         ExternalSourceInlineTextToFileInput:
11663                 Verify that an item provider marked as preferring inline presentation does not trigger file uploads by
11664                 dragging a piece of inline text into a file input.
11665         CanStartDragOnDivWithDraggableAttribute:
11666                 Verify that DataTransfer.setData and DataTransfer.getData work as expected by moving a draggable div.
11667                 The test harness writes the id of the draggable div via the DataTransfer, and upon drop, reads the id
11668                 back to figure out which element to append to the drop destination.
11670         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
11671         (TestWebKitAPI::TEST):
11673 2017-09-12  Ryosuke Niwa  <rniwa@webkit.org>
11675         Dragging & dropping a file creates an attachment element even when it's disabled
11676         https://bugs.webkit.org/show_bug.cgi?id=176769
11678         Reviewed by Tim Horton.
11680         Added a webkit-test-runner flag to enable attachment element via runtime flag since this feature is now hidden
11681         behind a runtime-enabled flag which needs to be set at the time of global object initialization.
11683         * DumpRenderTree/TestOptions.h:
11684         (TestOptions): Added.
11685         * DumpRenderTree/TestOptions.mm:
11686         (TestOptions::TestOptions):
11687         * DumpRenderTree/mac/DumpRenderTree.mm:
11688         (setWebPreferencesForTestOptions):
11689         * WebKitTestRunner/TestController.cpp:
11690         (WTR::TestController::resetPreferencesToConsistentValues):
11691         (WTR::updateTestOptionsFromTestHeader):
11692         * WebKitTestRunner/TestOptions.h:
11693         (WTR::TestOptions::hasSameInitializationOptions const):
11694         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
11695         (WTR::TestController::platformCreateWebView):
11697 2017-09-11  Filip Pizlo  <fpizlo@apple.com>
11699         WSL should allow you to say "protocol Foo : Bar { ... }"
11700         https://bugs.webkit.org/show_bug.cgi?id=176238
11702         Reviewed by Mylex Maxfield.
11703         
11704         This makes protocol "subtyping" work. It's not really subtyping. Protocol A inherits protocol B
11705         if every signature in B can be resolved against some signature in A. Also, you can explicitly
11706         subtype protocols using extends syntax ("protocol Foo : Bar, Baz { ... }").
11707         
11708         Also makes the diagnostics when type variable constraints fail a _lot_ better. This will even
11709         tell you diagnostics about why a function didn't match when protocols are not inheriting, and
11710         then it will tell you why the inheritance failed.
11712         * WebGPUShadingLanguageRI/All.js:
11713         * WebGPUShadingLanguageRI/AutoWrapper.js:
11714         (AutoWrapper.prototype.visitTypeVariable):
11715         (AutoWrapper):
11716         * WebGPUShadingLanguageRI/Checker.js:
11717         (Checker.prototype.visitProtocolDecl.set throw):
11718         * WebGPUShadingLanguageRI/ConstexprTypeParameter.js:
11719         (ConstexprTypeParameter.prototype.verifyAsArgument):
11720         (ConstexprTypeParameter.prototype.verifyAsParameter):
11721         * WebGPUShadingLanguageRI/FlattenProtocolExtends.js: Added.
11722         * WebGPUShadingLanguageRI/Func.js:
11723         (Func.prototype.get typeParametersForCallResolution):
11724         * WebGPUShadingLanguageRI/InferTypesForCall.js:
11725         (inferTypesForCall):
11726         * WebGPUShadingLanguageRI/IntLiteralType.js:
11727         (IntLiteralType.prototype.verifyAsArgument):
11728         * WebGPUShadingLanguageRI/NameResolver.js:
11729         (NameResolver.prototype.visitProtocolDecl):
11730         (NameResolver.prototype.visitProtocolRef): Deleted.
11731         (NameResolver.prototype.visitProtocolFuncDecl): Deleted.
11732         (NameResolver.prototype.visitTypeDef): Deleted.
11733         (NameResolver.prototype.visitStructType): Deleted.
11734         (NameResolver.prototype._resolveTypeArguments): Deleted.
11735         (NameResolver.prototype.visitTypeRef): Deleted.
11736         (NameResolver.prototype.visitReferenceType): Deleted.
11737         (NameResolver.prototype.visitVariableDecl): Deleted.
11738         (NameResolver.prototype.visitVariableRef): Deleted.
11739         (NameResolver.prototype.visitReturn): Deleted.
11740         (NameResolver.prototype.visitCallExpression): Deleted.
11741         * WebGPUShadingLanguageRI/Node.js:
11742         (Node.prototype.equals):
11743         * WebGPUShadingLanguageRI/NullType.js:
11744         (NullType.prototype.verifyAsArgument):
11745         * WebGPUShadingLanguageRI/Parse.js:
11746         (parseProtocolDecl):
11747         * WebGPUShadingLanguageRI/Prepare.js:
11748         (prepare):
11749         * WebGPUShadingLanguageRI/ProtocolDecl.js:
11750         (ProtocolDecl): Deleted.
11751         (ProtocolDecl.prototype.add): Deleted.
11752         (ProtocolDecl.prototype.get signatures): Deleted.
11753         (ProtocolDecl.prototype.signaturesByName): Deleted.
11754         (ProtocolDecl.prototype.get typeVariable): Deleted.
11755         (ProtocolDecl.prototype.signaturesByNameWithTypeVariable): Deleted.
11756         (ProtocolDecl.prototype.inherits): Deleted.
11757         (ProtocolDecl.prototype.hasHeir): Deleted.
11758         (ProtocolDecl.prototype.toString): Deleted.
11759         * WebGPUShadingLanguageRI/ProtocolFuncDecl.js:
11760         (ProtocolFuncDecl.prototype.get typeParametersForCallResolution):
11761         (ProtocolFuncDecl):
11762         * WebGPUShadingLanguageRI/Rewriter.js:
11763         (Rewriter.prototype.visitProtocolDecl):
11764         * WebGPUShadingLanguageRI/Test.html:
11765         * WebGPUShadingLanguageRI/Test.js:
11766         (TEST_nullTypeVariableUnify):
11767         (TEST_simpleProtocolExtends):
11768         (TEST_protocolExtendsTwo):
11769         * WebGPUShadingLanguageRI/Type.js:
11770         (Type.prototype.inherits):
11771         * WebGPUShadingLanguageRI/TypeDefResolver.js:
11772         (TypeDefResolver.prototype.visitTypeRef):
11773         (TypeDefResolver):
11774         * WebGPUShadingLanguageRI/TypeVariable.js:
11775         (TypeVariable.prototype.inherits):
11776         (TypeVariable.prototype.verifyAsArgument):
11777         (TypeVariable.prototype.verifyAsParameter):
11778         * WebGPUShadingLanguageRI/UnificationContext.js:
11779         (UnificationContext.prototype.verify):
11780         * WebGPUShadingLanguageRI/Visitor.js:
11781         (Visitor.prototype.visitProtocolDecl):
11782         (Visitor.prototype.visitTypeRef): Deleted.
11783         (Visitor.prototype.visitNativeType): Deleted.
11784         (Visitor.prototype.visitNativeTypeInstance): Deleted.
11785         (Visitor.prototype.visitTypeDef): Deleted.
11786         (Visitor.prototype.visitStructType): Deleted.
11787         (Visitor.prototype.visitTypeVariable): Deleted.
11788         (Visitor.prototype.visitConstexprTypeParameter): Deleted.
11789         (Visitor.prototype.visitField): Deleted.
11790         (Visitor.prototype.visitElementalType): Deleted.
11791         (Visitor.prototype.visitReferenceType): Deleted.
11792         (Visitor.prototype.visitPtrType): Deleted.
11793         (Visitor.prototype.visitArrayRefType): Deleted.
11794         (Visitor.prototype.visitArrayType): Deleted.
11795         (Visitor.prototype.visitVariableDecl): Deleted.
11796         (Visitor.prototype.visitAssignment): Deleted.
11797         (Visitor.prototype.visitDereferenceExpression): Deleted.
11798         (Visitor.prototype.visitDotExpression): Deleted.
11799         (Visitor.prototype.visitMakePtrExpression): Deleted.
11800         (Visitor.prototype.visitVariableRef): Deleted.
11801         (Visitor.prototype.visitIfStatement): Deleted.
11802         (Visitor.prototype.visitWhileLoop): Deleted.
11803         (Visitor.prototype.visitDoWhileLoop): Deleted.
11804         (Visitor.prototype.visitForLoop): Deleted.
11805         (Visitor.prototype.visitReturn): Deleted.
11806         (Visitor.prototype.visitContinue): Deleted.
11807         (Visitor.prototype.visitBreak): Deleted.
11808         (Visitor.prototype.visitIntLiteral): Deleted.
11809         (Visitor.prototype.visitIntLiteralType): Deleted.
11810         (Visitor.prototype.visitUintLiteral): Deleted.
11811         (Visitor.prototype.visitNullLiteral): Deleted.
11812         (Visitor.prototype.visitBoolLiteral): Deleted.
11813         (Visitor.prototype.visitNullType): Deleted.
11814         (Visitor.prototype.visitCallExpression): Deleted.
11815         (Visitor.prototype.visitLogicalNot): Deleted.
11816         (Visitor.prototype.visitFunctionLikeBlock): Deleted.
11817         * WebGPUShadingLanguageRI/WrapChecker.js:
11818         (WrapChecker.prototype.visitTypeVariable):
11819         (WrapChecker):
11821 2017-09-12  Carlos Garcia Campos  <cgarcia@igalia.com>
11823         Remove duplicated test results from LayoutTest platform directories
11824         https://bugs.webkit.org/show_bug.cgi?id=176686
11826         Reviewed by Michael Catanzaro.
11828         After several rebaselines we might end up with the same result in the platform directory than the common result
11829         without noticing it. This patch adds a script to detect those cases and remove all duplicated results from the
11830         repository.
11832         * Scripts/check-for-duplicated-platform-test-results: Added.
11833         (check_duplicate):
11834         (check_duplicate.sha1):
11835         (platform_list):
11837 2017-09-12  Carlos Alberto Lopez Perez  <clopez@igalia.com>
11839         The EWS build system is forcing a non UTF-8 locale and breaks meson.
11840         https://bugs.webkit.org/show_bug.cgi?id=176761
11842         Reviewed by Michael Catanzaro.
11844         On 2011 in order to disable GCC smartquotes (UTF-8 pretty quotes)
11845         that were causing trouble with the commit-queue server, the tooling
11846         for the EWS bots started to force an LC_ALL=C locale.
11848         This was needed back then apparently because the commit-queue server
11849         was unable to handle properly UTF-8 text.
11851         6 years forward and none of the ports that commit-queue tests before
11852         landing a patch use GCC, but Clang. So this should not be an issue anymore.
11854         Forcing a non UTF-8 locale breaks the Meson build system (that the
11855         GTK/WPE ports use for some dependencies of its JHBuild dependencies
11856         local build system).
11857         It has also the potential to break things in subtle ways that are
11858         hard to debug and detect. So better stop doing this.
11860         This patch also changes TERM=none to TERM=dumb that is the proper
11861         way to disable VT100 codes (see bug 127922).
11863         * Scripts/webkitpy/common/system/environment.py:
11864         (Environment.to_dictionary):
11865         (Environment.disable_jhbuild_VT100_output):
11866         * Scripts/webkitpy/common/system/environment_unittest.py:
11867         (EnvironmentTest.test_disable_jhbuild_VT100_output):
11868         * Scripts/webkitpy/port/base.py:
11869         (Port._build_driver):
11870         (Port._build_image_diff):
11871         * Scripts/webkitpy/port/port_testcase.py:
11872         (PortTestCase.test_build_driver):
11873         * Scripts/webkitpy/tool/commands/download_unittest.py:
11874         * Scripts/webkitpy/tool/steps/build.py:
11875         (Build.build):
11876         * Scripts/webkitpy/tool/steps/steps_unittest.py:
11878 2017-09-12  Michael Catanzaro  <mcatanzaro@igalia.com>
11880         [WPE][GTK] Run tests with G_DEBUG=fatal-criticals
11881         https://bugs.webkit.org/show_bug.cgi?id=176755
11883         Reviewed by Carlos Garcia Campos.
11885         * Scripts/webkitpy/port/gtk.py:
11886         (GtkPort.setup_environ_for_server):
11887         * Scripts/webkitpy/port/wpe.py:
11888         (WPEPort.setup_environ_for_server):
11890 2017-09-12  Alex Christensen  <achristensen@webkit.org>
11892         Fix build after r221922.
11893         https://bugs.webkit.org/show_bug.cgi?id=176728
11895         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
11896         (-[ModalDelegate _webViewRunModal:]):
11897         (-[ModalDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
11898         (TEST):
11899         svn-apply inserted the test too early in the file :(
11900         Shift it down to where all the used static variables are declared.
11902 2017-09-12  Alex Christensen  <achristensen@webkit.org>
11904         Add WKUIDelegatePrivate equivalent of WKPageUIClient's runModal
11905         https://bugs.webkit.org/show_bug.cgi?id=176728
11906         <rdar://problem/29270035>
11908         Reviewed by Tim Horton.
11910         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
11911         (-[ModalDelegate _webViewRunModal:]):
11912         (-[ModalDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
11913         (TEST):
11915 2017-09-12  Daniel Bates  <dabates@apple.com>
11917         REGRESSION (r215784): The title of right-to-left pages are empty
11918         https://bugs.webkit.org/show_bug.cgi?id=176746
11919         <rdar://problem/34211419>
11921         Reviewed by Brent Fulgham.
11923         Add unit test to ensure we do not regress StringWithDirection.truncateFromEnd().
11925         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
11926         * TestWebKitAPI/Tests/WebCore/StringWithDirection.cpp: Added.
11927         (TestWebKitAPI::TEST):
11929 2017-09-12  Alex Christensen  <achristensen@webkit.org>
11931         Add WKUIDelegatePrivate equivalent of WKPageUIClient's decidePolicyForNotificationPermissionRequest
11932         https://bugs.webkit.org/show_bug.cgi?id=176768
11933         <rdar://problem/29270035>
11935         Reviewed by Tim Horton.
11937         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
11938         (-[NotificationDelegate initWithAllowNotifications:]):
11939         (-[NotificationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
11940         (-[NotificationDelegate _webView:requestNotificationPermissionForSecurityOrigin:decisionHandler:]):
11941         (TEST):
11943 2017-09-12 Brent Fulgham  <bfulgham@apple.com>
11945         Show punycode to user if a URL mixes Armenian Seh or Vo with other scripts
11946         https://bugs.webkit.org/show_bug.cgi?id=176578
11947         <rdar://problem/33906231>
11949         Reviewed by Alex Christensen.
11951         * TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
11952         (TestWebKitAPI::TEST):
11954 2017-09-12  Carlos Garcia Campos  <cgarcia@igalia.com>
11956         [Freetype] Doesn't support coloured fonts
11957         https://bugs.webkit.org/show_bug.cgi?id=156579
11959         Reviewed by Michael Catanzaro.
11961         Bump webkitgtk-test-fonts to 0.0.6 version that includes the EmijoOne font.
11963         * gtk/jhbuild.modules:
11964         * wpe/jhbuild.modules:
11966 2017-09-11  Wenson Hsieh  <wenson_hsieh@apple.com>
11968         [iOS DnD] Support DataTransfer.setDragImage when starting a drag on iOS
11969         https://bugs.webkit.org/show_bug.cgi?id=176721
11970         <rdar://problem/34373660>
11972         Reviewed by Tim Horton.
11974         In DataInteractionSimulator, ask the UIDragInteractionDelegate (WKContentView) for targeted drag previews after
11975         retrieving UIDragItems during a lift. Remember these previews after the drag and drop simulation is complete, so
11976         API tests (currently, just DragLiftPreviewDataTransferSetDragImage) can verify that the generated drag previews
11977         are as expected.
11979         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
11980         * TestWebKitAPI/Tests/WebKitCocoa/DataTransfer-setDragImage.html: Added.
11982         Adds a new test harness containing 5 draggable elements, each generating a drag image using different codepaths.
11983         DragLiftPreviewDataTransferSetDragImage uses this page to check that the frame of the targeted drag preview in
11984         each scenario is as expected.
11986         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
11987         (checkCGRectIsEqualToCGRectWithLogging):
11988         (TestWebKitAPI::TEST):
11989         * TestWebKitAPI/ios/DataInteractionSimulator.h:
11990         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
11991         (-[DataInteractionSimulator _resetSimulatedState]):
11992         (-[DataInteractionSimulator _advanceProgress]):
11993         (-[DataInteractionSimulator liftPreviews]):
11995 2017-09-11  Tim Horton  <timothy_horton@apple.com>
11997         REGRESSION (r221272): WKWebView gets stuck zoomed in if the web process crashes
11998         https://bugs.webkit.org/show_bug.cgi?id=176767
11999         <rdar://problem/34196874>
12001         Reviewed by Dan Bernstein.
12003         * TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
12004         (TEST):
12005         Add a test ensuring that override layout size persists through Web
12006         Content process crash.
12008 2017-09-11  Wenson Hsieh  <wenson_hsieh@apple.com>
12010         [iOS WK2] Support tapping to add items to the current drag session in web content
12011         https://bugs.webkit.org/show_bug.cgi?id=176421
12012         <rdar://problem/31144674>
12014         Reviewed by Tim Horton.
12016         Adds a new drag and drop test that begins a drag on a text selection, adds an image and a link, and then drops
12017         into a contenteditable area. This verifies that the text, link and image are inserted into the editable area
12018         upon drop.
12020         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
12021         (TestWebKitAPI::TEST):
12023 2017-09-11  Lucas Forschler  <lforschler@apple.com>
12025         bisect-builds: add --list option
12026         https://bugs.webkit.org/show_bug.cgi?id=174836
12028         Reviewed by Aakash Jain & Stephanie Lewis.
12030         * Scripts/bisect-builds:
12031         (parse_args): add --list option
12032         (minified_platforms): update supported platform list (add ios simulator)
12033         (print_list_and_exit): helper function to print list and exit
12035 2017-09-11  Wenson Hsieh  <wenson_hsieh@apple.com>
12037         [iOS WK2] ExternalSourceDataTransferItemGetAsEntry tests produce inconsistent results on test automation bots
12038         https://bugs.webkit.org/show_bug.cgi?id=176736
12040         Reviewed by Andy Estes and Megan Gardner.
12042         The test output dumped when dropping a file in DataTransferItem-getAsEntry.html should adhere to some deterministic order.
12043         Currently, this is not enforced, so on some systems, these tests fail due to expected test output being out of order. To
12044         fix this, simply have the test harness alphabetically sort the output before writing to the textarea.
12046         * TestWebKitAPI/Tests/WebKitCocoa/DataTransferItem-getAsEntry.html:
12047         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
12048         (TestWebKitAPI::TEST):
12050 2017-09-11  Ryosuke Niwa  <rniwa@webkit.org>
12052         webkitbot should recognize commands even when colon is omitted
12053         https://bugs.webkit.org/show_bug.cgi?id=176680
12054         <rdar://problem/29933898>
12056         Reviewed by Daniel Bates.
12058         Recognize the IRC command even when : and , were not present.
12059         Unfortunately, there is no unit test for this code at the moment.
12061         * Scripts/webkitpy/common/net/irc/ircbot.py:
12062         (IRCBot.on_pubmsg):
12064 2017-09-11  Lucas Forschler  <lforschler@apple.com>
12066         bisect-builds doesn't work due to missing requests module
12067         https://bugs.webkit.org/show_bug.cgi?id=175709
12068         
12069         Reviewed by Ryosuke Niwa.
12071         * Scripts/bisect-builds: use urllib2 instead of the requests module.
12072         (get_s3_location_for_revision):
12073         (main):
12075 2017-09-11  Filip Pizlo  <fpizlo@apple.com>
12077         WSL Substitution should probably wrap type variables of substituted types rather than just wrapping the whole type
12078         https://bugs.webkit.org/show_bug.cgi?id=176677
12080         Reviewed by Mylex Maxfield.
12081         
12082         This adds a checker that verifies that all type references and variable references are wrapped.
12083         
12084         Then this fixes errors found by that checker by making Substitution auto-wrap replacements rather than
12085         manually wrapping the outer type (for types) and cloning (for values).
12087         * WebGPUShadingLanguageRI/All.js:
12088         * WebGPUShadingLanguageRI/AutoWrapper.js: Added.
12089         (AutoWrapper.prototype.visitVariableRef):
12090         (AutoWrapper.prototype.visitTypeRef):
12091         (AutoWrapper.prototype.visitConstexprTypeParameter):
12092         (AutoWrapper.prototype.visitFuncParameter):
12093         (AutoWrapper.prototype.visitVariableDecl):
12094         (AutoWrapper.prototype.visitStructType):
12095         (AutoWrapper.prototype.visitNativeType):
12096         (AutoWrapper):
12097         * WebGPUShadingLanguageRI/CheckWrapped.js:
12098         (checkExpressionWrapped):
12099         (checkProgramWrapped):
12100         (checkWrapped): Deleted.
12101         * WebGPUShadingLanguageRI/Checker.js:
12102         * WebGPUShadingLanguageRI/ExpressionFinder.js: Added.
12103         (ExpressionFinder):
12104         (ExpressionFinder.prototype.visitFunc):
12105         (ExpressionFinder.prototype.visitFuncParameter):
12106         (ExpressionFinder.prototype.visitConstexprTypeParameter):
12107         (ExpressionFinder.prototype.visitAssignment):
12108         (ExpressionFinder.prototype.visitCallExpression):
12109         (ExpressionFinder.prototype.visitReturn):
12110         (ExpressionFinder.prototype.visitWhileLoop):
12111         (ExpressionFinder.prototype.visitDoWhileLoop):
12112         (ExpressionFinder.prototype.visitIfStatement):
12113         (ExpressionFinder.prototype.visitForLoop):
12114         (ExpressionFinder.prototype.visitVariableDecl):
12115         * WebGPUShadingLanguageRI/NativeFuncInstance.js:
12116         (NativeFuncInstance):
12117         * WebGPUShadingLanguageRI/Node.js:
12118         (Node.prototype.substituteToUnification):
12119         (Node):
12120         (Node.prototype.clone): Deleted.
12121         * WebGPUShadingLanguageRI/Prepare.js:
12122         (prepare):
12123         * WebGPUShadingLanguageRI/StructLayoutBuilder.js:
12124         (StructLayoutBuilder.prototype.visitReferenceType):
12125         (StructLayoutBuilder.prototype.visitField):
12126         (StructLayoutBuilder):
12127         * WebGPUShadingLanguageRI/Substitution.js:
12128         (Substitution):
12129         (Substitution.prototype.visitTypeRef):
12130         (Substitution.prototype.visitVariableRef):
12131         * WebGPUShadingLanguageRI/Test.html:
12132         * WebGPUShadingLanguageRI/Test.js:
12133         (TEST_chainConstexpr):
12134         (TEST_chainGeneric):
12135         (TEST_chainStruct):
12136         (TEST_chainStructInvalid):
12137         * WebGPUShadingLanguageRI/Visitor.js:
12138         (Visitor.prototype.visitNativeTypeInstance):
12139         * WebGPUShadingLanguageRI/WrapChecker.js:
12140         (WrapChecker.prototype._foundUnwrapped.originString):
12141         (WrapChecker.prototype._foundUnwrapped):
12142         (WrapChecker):
12144 2017-09-11  Ryan Haddad  <ryanhaddad@apple.com>
12146         Fix multiple master.cfg unit test failures.
12147         https://bugs.webkit.org/show_bug.cgi?id=176745
12149         Reviewed by Alexey Proskuryakov.
12151         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
12152         (TestFactory.__init__): Add missing ':'.
12153         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Update expected results for Windows and iOS build steps.
12155 2017-09-11  Jonathan Bedard  <jbedard@apple.com>
12157         Older versions should adopt newer version's expectations on mac
12158         https://bugs.webkit.org/show_bug.cgi?id=176699
12159         <rdar://problem/34367907>
12161         Reviewed by Alexey Proskuryakov.
12163         Before:
12164                 mac-elcapitan-wk2
12165                 mac-elcapitan
12166                 mac-wk2
12167                 mac
12168                 wk2
12169         After:
12170                 mac-elcapitan-wk2
12171                 mac-elcapitan
12172                 mac-sierra-wk2
12173                 mac-sierra
12174                 mac-wk2
12175                 mac
12176                 wk2
12178         * Scripts/webkitpy/port/mac.py:
12179         (MacPort.default_baseline_search_path): Use VERSION_FALLBACK_ORDER to have old
12180         versions inherit expectations from newer versions.
12181         * Scripts/webkitpy/port/mac_unittest.py:
12182         (MacTest.test_layout_test_searchpath_with_apple_additions): Check new behavior
12183         with older versions inheriting expectations from newer versions.
12185 2017-09-11  Ryan Haddad  <ryanhaddad@apple.com>
12187         Skip JSC test wsl-tests.yaml/Test.js
12188         https://bugs.webkit.org/show_bug.cgi?id=176727
12190         Unreviewed test gardening.
12192         * WebGPUShadingLanguageRI/wsl-tests.yaml:
12194 2017-09-11  Alex Christensen  <achristensen@webkit.org>
12196         Add WKUIDelegatePrivate equivalent of WKPageUIClient's decidePolicyForGeolocationPermissionRequest
12197         https://bugs.webkit.org/show_bug.cgi?id=176642
12198         <rdar://problem/29270035>
12200         Reviewed by Darin Adler.
12202         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
12203         (-[GeolocationDelegate initWithAllowGeolocation:]):
12204         (-[GeolocationDelegate _webView:requestGeolocationPermissionForFrame:decisionHandler:]):
12205         (-[GeolocationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
12206         (TEST):
12208 2017-09-11  Wenson Hsieh  <wenson_hsieh@apple.com>
12210         [iOS DnD] Elements in the DOM with the `draggable` attribute should be draggable
12211         https://bugs.webkit.org/show_bug.cgi?id=176664
12212         <rdar://problem/32596156>
12214         Reviewed by Tim Horton.
12216         Adds a new API test checking that elements marked as drag sources via the `draggable` attribute can be dragged
12217         with a non-null drag preview. Additionally, refactor the drag and drop simulator to not plumb drag/drop
12218         interaction delegate calls through to the WKContentView via -_simulate*-prefixed testing SPI, but rather
12219         by grabbing the WKWebView's drag and drop interaction delegates (i.e. the WKContentView) and calling delegate
12220         methods directly. This avoids requiring boilerplate plumbing on WKWebView and WKContentView for each of the drag
12221         and drop delegate methods, so these have been removed from WKWebView and WKContentView.
12223         Additionally, renames MockDataOperationSession and MockDataInteractionSession to MockDragSession and
12224         MockDropSession, respectively, and adjusts their ivars on DataInteractionSimulator to match.
12226         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
12227         * TestWebKitAPI/Tests/WebKitCocoa/custom-draggable-div.html: Added.
12229         Add a new test harness covering dragging and dropping elements with the draggable attribute, using DataTransfer
12230         API (setData and getData) as well.
12232         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
12233         (TestWebKitAPI::TEST):
12234         * TestWebKitAPI/ios/DataInteractionSimulator.h:
12235         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
12236         (-[WKWebView dropInteractionDelegate]):
12237         (-[WKWebView dragInteractionDelegate]):
12238         (-[WKWebView dropInteraction]):
12239         (-[WKWebView dragInteraction]):
12241         Add testing utilities to ask a WKWebView for information about its drag/drop interactions and delegates. In this
12242         case, this will return the WKWebView's WKContentView.
12244         (-[DataInteractionSimulator _resetSimulatedState]):
12245         (-[DataInteractionSimulator simulateAllTouchesCanceled:]):
12246         (-[DataInteractionSimulator runFrom:to:additionalItemRequestLocations:]):
12247         (-[DataInteractionSimulator _concludeDataInteractionAndPerformOperationIfNecessary]):
12248         (-[DataInteractionSimulator _sendQueuedAdditionalItemRequest]):
12249         (-[DataInteractionSimulator _advanceProgress]):
12251         When beginning a drag session, ask the delegate for targeted lift previews and verify that these are non-null.
12252         This check would fail prior to the tweak in DragDropInteractionState in this patch.
12254         (-[DataInteractionSimulator _webView:showCustomSheetForElement:]):
12255         (-[MockDataOperationSession initWithProviders:location:window:allowMove:]): Deleted.
12256         (-[MockDataOperationSession session]): Deleted.
12257         (-[MockDataOperationSession isLocal]): Deleted.
12258         (-[MockDataOperationSession progress]): Deleted.
12259         (-[MockDataOperationSession setProgressIndicatorStyle:]): Deleted.
12260         (-[MockDataOperationSession progressIndicatorStyle]): Deleted.
12261         (-[MockDataOperationSession operationMask]): Deleted.
12262         (-[MockDataOperationSession localDragSession]): Deleted.
12263         (-[MockDataOperationSession hasItemsConformingToTypeIdentifier:]): Deleted.
12264         (-[MockDataOperationSession canCreateItemsOfClass:]): Deleted.
12265         (-[MockDataOperationSession loadObjectsOfClass:completion:]): Deleted.
12266         (-[MockDataInteractionSession initWithWindow:allowMove:]): Deleted.
12267         (-[MockDataInteractionSession localOperationMask]): Deleted.
12268         (-[MockDataInteractionSession externalOperationMask]): Deleted.
12270         Replace various places where we called -_simulate* methods on WKWebView with calls to the
12271         UIDragInteractionDelegate or UIDropInteractionDelegate (the WKContentView) instead. Also, adjust for some
12272         mechanical renaming of drag and drop sessions.
12274         (-[MockDataInteractionSession session]): Deleted.
12275         * TestWebKitAPI/ios/UIKitSPI.h:
12277 2017-09-11  Joseph Pecoraro  <pecoraro@apple.com>
12279         Make the WPT entry point for LayoutTests/http/wpt more discoverable
12280         https://bugs.webkit.org/show_bug.cgi?id=176494
12282         Reviewed by Youenn Fablet.
12284         * Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:
12285         (run_server):
12286         Output a tip for how to access the http/wpt tests.
12288 2017-09-11  Mark Lam  <mark.lam@apple.com>
12290         Turn on exception scope verification for JSC tests.
12291         https://bugs.webkit.org/show_bug.cgi?id=162351
12292         <rdar://problem/29563911>
12294         Reviewed by Saam Barati.
12296         Added the option to --validateExceptionChecks=true option to BASE_OPTIONS in
12297         run-jsc-stress-tests.  This turns on exception scope verification on JSC test
12298         runs (which currently does not include testapi).
12300         Some stats on time to run JSC stress and mozilla tests:
12301         1. Release build w/o --validateExceptionChecks=true: real 16m22.544s, user 156m24.080s, sys 123m3.649s
12302         2. Debug build w/o --validateExceptionChecks=true: real 78m34.206s, user 1661m57.008s, sys 73m21.177s
12303         3. Debug build w/ --validateExceptionChecks=true: real 77m41.106s, user 1656m13.924s, sys 73m42.309s
12304         4. Debug build w/ --validateExceptionChecks=true --dumpSimulatedThrows=true: real 92m56.918s, user 2012m56.441s, sys 75m14.174s
12306         The stats shows that (2) and (3) has effectively no time difference.  Hence, the
12307         cost of enabling --validateExceptionChecks=true is not significant.
12309         It would be nice to enable --dumpSimulatedThrows=true as well, but (4) is about
12310         21% slower than (3).  To avoid making debug test runs a lot slower, we'll leave
12311         --dumpSimulatedThrows=true off.  We can manually add that when we see a regression
12312         and need to debug the issue.  Otherwise, we wont pay the price for it.
12314         * Scripts/run-jsc-stress-tests:
12316 2017-09-11  Myles C. Maxfield  <mmaxfield@apple.com>
12318         WSL should support for loops
12319         https://bugs.webkit.org/show_bug.cgi?id=176682
12321         Reviewed by Filip Pizlo.
12323         Follows the pattern of the existing infrastructure of while loops.
12325         * WebGPUShadingLanguageRI/All.js:
12326         * WebGPUShadingLanguageRI/Checker.js:
12327         * WebGPUShadingLanguageRI/Evaluator.js:
12328         (Evaluator.prototype.visitForLoop):
12329         * WebGPUShadingLanguageRI/ForLoop.js: Copied from Tools/WebGPUShadingLanguageRI/LoopChecker.js.
12330         (ForLoop):
12331         (ForLoop.prototype.get origin):
12332         (ForLoop.prototype.get initialization):
12333         (ForLoop.prototype.get condition):
12334         (ForLoop.prototype.get increment):
12335         (ForLoop.prototype.get body):
12336         (ForLoop.prototype.toString):
12337         * WebGPUShadingLanguageRI/LoopChecker.js:
12338         (LoopChecker.prototype.visitForLoop):
12339         * WebGPUShadingLanguageRI/NameResolver.js:
12340         (NameResolver.prototype.visitForLoop):
12341         * WebGPUShadingLanguageRI/Parse.js:
12342         (parseFor):
12343         * WebGPUShadingLanguageRI/ReturnChecker.js:
12344         (ReturnChecker.prototype._isBoolCastFromLiteralTrue):
12345         (ReturnChecker.prototype.visitWhileLoop):
12346         (ReturnChecker.prototype.visitDoWhileLoop):
12347         (ReturnChecker.prototype.visitForLoop):
12348         * WebGPUShadingLanguageRI/Rewriter.js:
12349         (Rewriter.prototype.visitForLoop):
12350         (Rewriter):
12351         * WebGPUShadingLanguageRI/Test.html:
12352         * WebGPUShadingLanguageRI/Test.js:
12353         (TEST_forLoop):
12354         * WebGPUShadingLanguageRI/Visitor.js:
12355         (Visitor.prototype.visitForLoop):
12357 2017-09-11  Robin Morisset  <rmorisset@apple.com>
12359         Just added myself to the contributors.json file as a committer
12361         Unreviewed
12363 2017-09-10  Filip Pizlo  <fpizlo@apple.com>
12365         IntLiteral should prefer int32 during overload resolution
12366         https://bugs.webkit.org/show_bug.cgi?id=176675
12368         Reviewed by Myles Maxfield.
12369         
12370         This makes intLiteralType prefer to resolve to int over other types.
12371         
12372         This also adds tests that if you pass intLiteral to T, then you can make it work by saying
12373         int(intLiteral).
12375         * WebGPUShadingLanguageRI/IntLiteralType.js:
12376         (IntLiteralType):
12377         (IntLiteralType.prototype.conversionCost):
12378         * WebGPUShadingLanguageRI/Node.js:
12379         (Node.prototype.conversionCost):
12380         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
12381         (resolveOverloadImpl):
12382         * WebGPUShadingLanguageRI/Rewriter.js:
12383         (Rewriter.prototype.visitIntLiteralType):
12384         * WebGPUShadingLanguageRI/Test.js:
12385         (TEST_intOverloadResolution):
12386         (TEST_intOverloadResolutionReverseOrder):
12387         (TEST_intOverloadResolutionGeneric):
12388         (TEST_intLiteralGeneric):
12389         * WebGPUShadingLanguageRI/UnificationContext.js:
12390         (UnificationContext.prototype.get conversionCost):
12391         * WebGPUShadingLanguageRI/Visitor.js:
12392         (Visitor.prototype.visitIntLiteralType):
12394 2017-09-10  Filip Pizlo  <fpizlo@apple.com>
12396         WSL should be able to handle a simple constexpr type parameter
12397         https://bugs.webkit.org/show_bug.cgi?id=176676
12399         Reviewed by Myles Maxfield.
12400         
12401         This adds a test that uses a constexpr type parameter, and then fixed enough bugs to get this to work.
12403         * WebGPUShadingLanguageRI/All.js:
12404         * WebGPUShadingLanguageRI/CallExpression.js:
12405         (CallExpression.prototype.resolve):
12406         * WebGPUShadingLanguageRI/CheckWrapped.js: Added.
12407         (checkWrapped):
12408         * WebGPUShadingLanguageRI/Checker.js:
12409         * WebGPUShadingLanguageRI/Evaluator.js:
12410         (Evaluator.prototype.visitCallExpression):
12411         (Evaluator):
12412         * WebGPUShadingLanguageRI/Node.js:
12413         (Node.prototype.substituteToUnification):
12414         (Node.prototype.clone):
12415         (Node):
12416         * WebGPUShadingLanguageRI/Substitution.js:
12417         (Substitution):
12418         (Substitution.prototype.visitVariableRef):
12419         * WebGPUShadingLanguageRI/Test.html:
12420         * WebGPUShadingLanguageRI/Test.js:
12421         (TEST_simpleConstexpr):
12422         * WebGPUShadingLanguageRI/WrapChecker.js: Added.
12423         (WrapChecker):
12424         (WrapChecker.prototype.visitVariableRef):
12425         (WrapChecker.prototype.visitTypeRef):
12426         (WrapChecker.prototype.visitIntLiteral):
12427         (WrapChecker.prototype._foundUnwrapped):
12428         (WrapChecker.visitConstexprTypeParameter):
12429         (WrapChecker.prototype.visitFuncParameter):
12430         (WrapChecker.prototype.visitVariableDecl):
12431         (WrapChecker.prototype.visitStructType):
12432         (WrapChecker.prototype.visitNativeType):
12434 2017-09-11  Carlos Alberto Lopez Perez  <clopez@igalia.com>
12436         [WPE] Bump freetype version to 2.8.0
12437         https://bugs.webkit.org/show_bug.cgi?id=176501
12439         Reviewed by Michael Catanzaro.
12441         Bump freetype on WPE like r221670 did on GTK.
12443         * wpe/jhbuild.modules:
12444         * wpe/patches/freetype6-2.4.11-truetype-font-height-fix.patch: Removed.
12446 2017-09-10  Carlos Garcia Campos  <cgarcia@igalia.com>
12448         REGRESSION: [GTK] Generated HTML API documentation is missing descriptions
12449         https://bugs.webkit.org/show_bug.cgi?id=176667
12451         Reviewed by Michael Catanzaro.
12453         This is happening since we moved the implementation files to glib dirs. The generate-gtkdoc script assumes that
12454         header and implementation files are always in the same directory. To reduce the input we pass to gtk-doc we
12455         ignore cpp files for which there isn't a public header. The code to do this check doesn't consider cpp files in
12456         a different directory than the header file. It also assumes that header and cpp files have the same filename
12457         except for the extension, which is true in all cases but WebKitWebView that we have two files WebKitWebView.cpp
12458         and WebKitWebViewGtk.cpp.
12460         * gtk/generate-gtkdoc:
12461         (files_to_ignore): Check also cpp files with the Gtk suffix.
12462         (files_to_ignore.add_file_if_exists): Check if a file with the given name exists in any of the source dirs.
12464 2017-09-10  Myles C. Maxfield  <mmaxfield@apple.com>
12466         WSL should support while loops
12467         https://bugs.webkit.org/show_bug.cgi?id=176581
12469         Reviewed by Filip Pizlo.
12471         There are a few interesting pieces to this patch:
12472         1. Because the evaluator is just a node-based descent through the tree, the implementation of break
12473         and continue are just "throw".
12474         2. The ReturnChecker now has to return a three-state enum because of nested blocks. The outer block
12475         cares about if the inner block has "break" as opposed to it having no returns nor breaks/continues.
12476         3. ReturnChecker will treat "while (true)" the same as { }, but will not descend deeper for things
12477         like "while (3 == 3)".
12478         4. This patch also adds a few more boolean conditional functions like operator<().
12479         5. I added another pass which makes sure there are no bare break/return keywords outside of loops.
12481         * WebGPUShadingLanguageRI/All.js:
12482         * WebGPUShadingLanguageRI/Break.js: Copied from Tools/WebGPUShadingLanguageRI/CheckUnreachableCode.js.
12483         (Break):
12484         (Break.prototype.get origin):
12485         (Break.prototype.toString):
12486         * WebGPUShadingLanguageRI/CheckLoops.js: Copied from Tools/WebGPUShadingLanguageRI/CheckReturns.js.
12487         (checkLoops):
12488         * WebGPUShadingLanguageRI/CheckReturns.js:
12489         (checkReturns):
12490         * WebGPUShadingLanguageRI/CheckUnreachableCode.js:
12491         (checkUnreachableCode):
12492         * WebGPUShadingLanguageRI/Checker.js:
12493         * WebGPUShadingLanguageRI/Continue.js: Copied from Tools/WebGPUShadingLanguageRI/CheckReturns.js.
12494         (Continue):
12495         (Continue.prototype.get origin):
12496         (Continue.prototype.toString):
12497         * WebGPUShadingLanguageRI/Evaluator.js:
12498         (Evaluator.prototype.visitWhileLoop):
12499         (Evaluator.prototype.visitBreak):
12500         (Evaluator.prototype.visitContinue):
12501         * WebGPUShadingLanguageRI/Intrinsics.js:
12502         (Intrinsics):
12503         * WebGPUShadingLanguageRI/Lexer.js:
12504         (Lexer.prototype.next):
12505         (Lexer):
12506         * WebGPUShadingLanguageRI/LoopChecker.js: Copied from Tools/WebGPUShadingLanguageRI/ReturnChecker.js.
12507         (LoopChecker):
12508         (LoopChecker.prototype.visitFuncDef):
12509         (LoopChecker.prototype.visitWhileLoop):
12510         (LoopChecker.prototype.visitBreak):
12511         (LoopChecker.prototype.visitContinue):
12512         * WebGPUShadingLanguageRI/NameResolver.js:
12513         (NameResolver.prototype.visitWhileLoop):
12514         * WebGPUShadingLanguageRI/Node.js:
12515         (Node.prototype.visit):
12516         * WebGPUShadingLanguageRI/Parse.js:
12517         (parsePossibleRelationalInequality):
12518         (parseBreak):
12519         (parseContinue):
12520         (parseWhile):
12521         * WebGPUShadingLanguageRI/Prepare.js:
12522         (prepare):
12523         * WebGPUShadingLanguageRI/ReturnChecker.js:
12524         (ReturnChecker):
12525         (ReturnChecker.prototype.visitFuncDef):
12526         (ReturnChecker.prototype.visitBlock):
12527         (ReturnChecker.prototype.visitIfStatement):
12528         (ReturnChecker.prototype.visitWhileLoop):
12529         (ReturnChecker.prototype.visitReturn):
12530         (ReturnChecker.prototype.visitBreak):
12531         (ReturnChecker.prototype.visitContinue):
12532         * WebGPUShadingLanguageRI/Rewriter.js:
12533         (Rewriter.prototype.visitContinue):
12534         (Rewriter.prototype.visitBreak):
12535         (Rewriter.prototype.visitWhileLoop):
12536         (Rewriter):
12537         * WebGPUShadingLanguageRI/StandardLibraryPrologue.js:
12538         * WebGPUShadingLanguageRI/Test.html:
12539         * WebGPUShadingLanguageRI/Test.js:
12540         (TEST_returnIf):
12541         (TEST_simpleWhile):
12542         * WebGPUShadingLanguageRI/UnreachableCodeChecker.js:
12543         (UnreachableCodeChecker):
12544         (UnreachableCodeChecker.prototype.visitBlock):
12545         * WebGPUShadingLanguageRI/Visitor.js:
12546         (Visitor.prototype.visitWhileLoop):
12547         (Visitor.prototype.visitContinue):
12548         (Visitor.prototype.visitBreak):
12549         * WebGPUShadingLanguageRI/WhileLoop.js: Copied from Tools/WebGPUShadingLanguageRI/CheckReturns.js.
12550         (WhileLoop):
12551         (WhileLoop.prototype.get origin):
12552         (WhileLoop.prototype.get conditional):
12553         (WhileLoop.prototype.get body):
12554         (WhileLoop.prototype.toString):
12556 2017-09-07  Filip Pizlo  <fpizlo@apple.com>
12558         WSL overload resolution should not be cascading
12559         https://bugs.webkit.org/show_bug.cgi?id=176333
12561         Reviewed by Myles Maxfield.
12562         
12563         This removes the cascading nature of overload resolution that WSL used to have, and replaces it with
12564         something C++-like. If there are multiple overload candidates that match the callsite, then we resolve
12565         them against each other. Anytime a function cannot be resolved onto another function, it is removed,
12566         since this means that this function is in some way more general than the other one, and we are just
12567         looking for the most specific function.
12568         
12569         If this process ends with only one function being selected, then we succeed, else we fail.
12570         
12571         Also changed the syntax for defining generic casts to:
12572         
12573         operator<T> Thingy<T>(things)
12574         
12575         Also fixed parsing of cast expressions. It's now possible to say a cast expression in WSL.
12576         
12577         The removal of cascading causes some problems. For example, the following two operators in our standard
12578         library are ambiguous for bool(bool):
12579         
12580         operator<T> T(T)
12581         operator<T:Equatable> bool(T)
12582         
12583         I think that what we really want is to say that the following operators are restricted to the standard
12584         library:
12585         
12586         operator<T> T()
12587         operator<T> T(T)
12588         
12589         It should not be possible to ever overload these.
12590         
12591         These changes are mostly tested by existing tests and the changes in the standard library, which has to
12592         be parsed for every test.
12594         * WebGPUShadingLanguageRI/All.js:
12595         * WebGPUShadingLanguageRI/ArrayRefType.js:
12596         (ArrayRefType.prototype.unifyImpl):
12597         * WebGPUShadingLanguageRI/CallExpression.js:
12598         (CallExpression):
12599         (CallExpression.prototype.get isCast):
12600         (CallExpression.prototype.get returnType):
12601         (CallExpression.prototype.resolve):
12602         (CallExpression.prototype.becomeCast):
12603         (CallExpression.prototype.setCastData):
12604         (CallExpression.prototype.toString):
12605         * WebGPUShadingLanguageRI/Checker.js:
12606         * WebGPUShadingLanguageRI/Evaluator.js:
12607         (Evaluator.prototype.visitLogicalNot):
12608         * WebGPUShadingLanguageRI/Func.js:
12609         (Func.prototype.get returnTypeForOverloadResolution):
12610         * WebGPUShadingLanguageRI/FuncDef.js:
12611         (FuncDef):
12612         * WebGPUShadingLanguageRI/FuncInstantiator.js:
12613         (FuncInstantiator.prototype.getUnique.FindTypeVariable.prototype.visitTypeVariable):
12614         (FuncInstantiator.prototype.getUnique.FindTypeVariable):
12615         (FuncInstantiator.prototype.getUnique.InstantiationSubstitution.prototype.visitCallExpression):
12616         (FuncInstantiator.prototype.getUnique.InstantiationSubstitution):
12617         * WebGPUShadingLanguageRI/FunctionLikeBlock.js:
12618         (FunctionLikeBlock.prototype.toString):
12619         (FunctionLikeBlock):
12620         * WebGPUShadingLanguageRI/InferTypesForCall.js: Added.
12621         (inferTypesForCall):
12622         * WebGPUShadingLanguageRI/Inline.js:
12623         (resolveInlinedFunction):
12624         * WebGPUShadingLanguageRI/Lexer.js:
12625         (Lexer):
12626         (Lexer.prototype.next):
12627         * WebGPUShadingLanguageRI/NameContext.js:
12628         (NameContext):
12629         (NameContext.prototype.mapFor):
12630         (NameContext.prototype.add):
12631         (NameContext.prototype.get let):
12632         (NameContext.prototype.Symbol.iterator):
12633         (NameContext.get currentStatement): Deleted.
12634         * WebGPUShadingLanguageRI/NameResolver.js:
12635         (NameResolver.prototype.visitProgram):
12636         (NameResolver.prototype.determinePossibleOverloads):
12637         (NameResolver.prototype.visitProtocolFuncDecl):
12638         (NameResolver.prototype.visitCallExpression):
12639         (NameResolver):
12640         * WebGPUShadingLanguageRI/NativeFunc.js:
12641         (NativeFunc):
12642         * WebGPUShadingLanguageRI/Node.js:
12643         (Node.prototype.visit):
12644         * WebGPUShadingLanguageRI/Parse.js:
12645         (parsePossiblePrefix):
12646         (parseFuncDecl):
12647         (parseNativeFunc):
12648         (parseNative):
12649         (parsePreferredFuncDef):
12650         (parse):
12651         * WebGPUShadingLanguageRI/Prepare.js:
12652         (prepare):
12653         * WebGPUShadingLanguageRI/Program.js:
12654         (Program.prototype.resolveFuncOverload): Deleted.
12655         (Program.prototype.get nameContext): Deleted.
12656         * WebGPUShadingLanguageRI/ProtocolDecl.js:
12657         (ProtocolDecl.prototype.inherits):
12658         (ProtocolDecl.prototype.hasHeir):
12659         * WebGPUShadingLanguageRI/PtrType.js:
12660         (PtrType.prototype.unifyImpl):
12661         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
12662         (resolveOverloadImpl):
12663         * WebGPUShadingLanguageRI/Rewriter.js:
12664         (Rewriter.prototype.visitProtocolFuncDecl):
12665         (Rewriter.prototype.processDerivedCallData):
12666         (Rewriter.prototype.visitCastExpression): Deleted.
12667         * WebGPUShadingLanguageRI/StandardLibrary.js: Added.
12668         (preferred.operator.T.T):
12669         (operator.T.Equatable.bool):
12670         * WebGPUShadingLanguageRI/StandardLibraryEpilogue.js: Removed.
12671         * WebGPUShadingLanguageRI/StandardLibraryPrologue.js: Removed.
12672         * WebGPUShadingLanguageRI/Test.html:
12673         * WebGPUShadingLanguageRI/Test.js:
12674         (doLex):
12675         (checkUInt):
12676         (checkBool):
12677         * WebGPUShadingLanguageRI/TypeRef.js:
12678         (TypeRef.prototype.toString):
12679         (TypeRef):
12680         * WebGPUShadingLanguageRI/Visitor.js:
12681         (Visitor.prototype.visitCallExpression):
12682         (Visitor.prototype.visitCastExpression): Deleted.
12684 2017-09-10  Brady Eidson  <beidson@apple.com>
12686         Try to avoid creating the default WKWebsiteDataStore until its actually needed.
12687         <rdar://problem/33164453> and https://bugs.webkit.org/show_bug.cgi?id=176551
12689         Reviewed by Tim Horton.
12691         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
12692         (TEST):
12694 2017-09-10  Michael Catanzaro  <mcatanzaro@igalia.com>
12696         [GTK] Improve Ctrl+W and Ctrl+Q shortcuts in MiniBrowser
12697         https://bugs.webkit.org/show_bug.cgi?id=176619
12699         Reviewed by Carlos Garcia Campos.
12701         There are two different problems here. First, Ctrl+W is closing the entire window. That made
12702         sense when I implemented the shortcut a couple years ago, but now MiniBrowser supports tabs
12703         and it should really close only one single tab. Fix that.
12705         Next, the keyboard shortcuts are not using webkit_web_view_try_close() and so are bypassing
12706         onbeforeunload handlers, which are respected when closing with the mouse. Fix that too.
12708         * MiniBrowser/gtk/BrowserWindow.c:
12709         (browserWindowTryCloseCurrentWebView):
12710         (browserWindowTryClose):
12711         (browser_window_init):
12713 2017-09-07  Myles C. Maxfield  <mmaxfield@apple.com>
12715         Add "if" statements to WSL
12716         https://bugs.webkit.org/show_bug.cgi?id=176294
12718         Reviewed by Filip Pizlo.
12719         
12720         Rolling back in after skipping Test.js on debug.
12722         Fairly straightforward implementation. ReturnChecker only returns true iff there is an else block,
12723         and both the if body and the else body recursively return true.
12725         In order to accept both syntaxes:
12726         if (foo)
12727             bar;
12728         ... and ...
12729         if (foo) {
12730             bar;
12731         }
12732         This patch lets parseStatement() call parseBlock(). This means that the following is valid:
12733         int x = 7;
12734         if (foo) {
12735             int x = 8;
12736             // x is 8 here!
12737         }
12738         // x is 7 here!
12740         This production means that these blocks don't require "if" statements, so you can just have:
12741         int foo() {
12742            int x = 7;
12743            {
12744                int x = 8;
12745                // x is 8 here!
12746            }
12747            // x is 7 here!
12748         }
12750         However, this patch doesn't touch the following use-case:
12751         if (int x = bar()) {
12752             // use x here
12753         }
12755         * WebGPUShadingLanguageRI/All.js:
12756         * WebGPUShadingLanguageRI/Checker.js:
12757         * WebGPUShadingLanguageRI/Evaluator.js:
12758         (Evaluator.prototype.visitIfStatement):
12759         * WebGPUShadingLanguageRI/IfStatement.js: Copied from Tools/WebGPUShadingLanguageRI/TypeDef.js.
12760         (IfStatement):
12761         (IfStatement.prototype.get origin):
12762         (IfStatement.prototype.get conditional):
12763         (IfStatement.prototype.get body):
12764         (IfStatement.prototype.get elseBody):
12765         (IfStatement.prototype.toString):
12766         * WebGPUShadingLanguageRI/NameResolver.js:
12767         (NameResolver.prototype.visitIfStatement):
12768         * WebGPUShadingLanguageRI/Parse.js:
12769         (parseTypeParameters):
12770         (parseIfStatement):
12771         (parseStatement):
12772         * WebGPUShadingLanguageRI/ReturnChecker.js:
12773         (ReturnChecker.prototype.visitIfStatement):
12774         * WebGPUShadingLanguageRI/Rewriter.js:
12775         (Rewriter.prototype.visitIfStatement):
12776         (Rewriter):
12777         * WebGPUShadingLanguageRI/Test.html:
12778         * WebGPUShadingLanguageRI/Test.js:
12779         (TEST_variableShadowing):
12780         (TEST_ifStatement):
12781         (TEST_ifElseStatement):
12782         (TEST_ifElseIfStatement):
12783         (TEST_ifElseIfElseStatement):
12784         (TEST_returnIf):
12785         (TEST_protocolMonoPolySigDoublePolyDefExplicit): Deleted.
12786         * WebGPUShadingLanguageRI/TypeDef.js:
12787         (TypeDef.prototype.toString):
12788         (TypeDef):
12789         * WebGPUShadingLanguageRI/Visitor.js:
12790         (Visitor.prototype.visitIfStatement):
12792 2017-09-09  Michael Catanzaro  <mcatanzaro@igalia.com>
12794         [GTK] Unreviewed, fix typo forwad -> forward
12796         * MiniBrowser/gtk/BrowserWindow.c:
12797         (browserWindowUpdateNavigationActions):
12798         (backForwardlistChanged):
12799         (browserWindowSwitchTab):
12800         (backForwadlistChanged): Deleted.
12802 2017-09-09  Ryan Haddad  <ryanhaddad@apple.com>
12804         Unreviewed, rolling out r221801.
12806         This change introduced a webkitpy test failure.
12808         Reverted changeset:
12810         "bisect-builds doesn't work due to missing requests module"
12811         https://bugs.webkit.org/show_bug.cgi?id=175709
12812         http://trac.webkit.org/changeset/221801
12814 2017-09-09  Ryan Haddad  <ryanhaddad@apple.com>
12816         Unreviewed, rolling out r221776.
12818         This change caused wsl-tests.yaml/Test.js to time out on Debug
12819         JSC bots.
12821         Reverted changeset:
12823         "Add "if" statements to WSL"
12824         https://bugs.webkit.org/show_bug.cgi?id=176294
12825         http://trac.webkit.org/changeset/221776
12827 2017-09-09  Michael Catanzaro  <mcatanzaro@igalia.com>
12829         MiniBrowser closes tab instead of window on close signal
12830         https://bugs.webkit.org/show_bug.cgi?id=176587
12832         Reviewed by Carlos Garcia Campos.
12834         This has been broken since we added support for multiple tabs. We need to run try_close for
12835         every open tab, not just the current one. If there are no onbeforeonload handlers then all
12836         tabs will close; if there are some, then they'll be respected, but the remaining tabs will
12837         be closed.
12839         Note that we cannot simply iterate through the tabs of the GtkNotebook, as we'd be deleting
12840         tabs as we go, so save all the tabs into a separate list and then try to close each in turn.
12842         * MiniBrowser/gtk/BrowserWindow.c:
12843         (browserWindowTryClose):
12844         (browserWindowDeleteEvent):
12846 2017-09-09  Zan Dobersek  <zdobersek@igalia.com>
12848         Unreviewed WPE build fix.
12850         * TestWebKitAPI/PlatformWPE.cmake:
12851         Link WebCore archives into the TestWebCore binary as a group.
12853 2017-09-08  Lucas Forschler  <lforschler@apple.com>
12855         bisect-builds doesn't work due to missing requests module
12856         https://bugs.webkit.org/show_bug.cgi?id=175709
12857         
12858         Reviewed by Ryosuke Niwa.
12860         * Scripts/bisect-builds: update import to webkitpy.thirdparty.autoinstalled
12861         * Scripts/webkitpy/thirdparty/__init__.py: add logic to install requests module.
12862         (AutoinstallImportHook.find_module):
12863         (AutoinstallImportHook):
12864         (AutoinstallImportHook._install_requests):
12865         * Scripts/webkitpy/thirdparty/__init___unittest.py:
12866         (ThirdpartyTest.test_imports):
12868 2017-09-08  Lucas Forschler  <lforschler@apple.com>
12870         Test commit to verify trac sync is working.
12872 2017-09-08  Lucas Forschler  <lforschler@apple.com>
12874         Test commit to verify git sync is working.
12876 2017-09-08  Lucas Forschler  <lforschler@apple.com>
12878         bisect-builds should not print out extracting command
12879         https://bugs.webkit.org/show_bug.cgi?id=175632
12880         
12881         Reviewed by Alexey Proskuryakov.
12883         * Scripts/bisect-builds:
12884         (extract_archive):
12886 2017-09-07  Joseph Pecoraro  <pecoraro@apple.com>
12888         WebKit should claim that it can show responses for a broader range of JSON MIMETypes
12889         https://bugs.webkit.org/show_bug.cgi?id=176252
12890         <rdar://problem/34212885>
12892         Reviewed by Ryosuke Niwa.
12894         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
12895         * TestWebKitAPI/Tests/WebKitCocoa/WKNavigationResponse.mm: Added.
12896         (-[WKNavigationResponseTestNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
12897         (-[WKNavigationResponseTestNavigationDelegate webView:didCommitNavigation:]):
12898         (-[WKNavigationResponseTestSchemeHandler webView:startURLSchemeTask:]):
12899         (-[WKNavigationResponseTestSchemeHandler webView:stopURLSchemeTask:]):
12900         (TEST):
12901         Test for canShowMIMEType with multiple JSON mime types and a garbage mime type.
12902         Previously canShowMIMEType would have been YES for "application/json" but
12903         NO for "application/vnd.api+json". Now it shows YES for both.
12905         * TestWebKitAPI/PlatformGTK.cmake:
12906         * TestWebKitAPI/PlatformWPE.cmake:
12907         * TestWebKitAPI/PlatformWin.cmake:
12908         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
12909         * TestWebKitAPI/Tests/WebCore/MIMETypeRegistry.cpp: Added.
12910         (TestWebKitAPI::TEST):
12911         Tests for MIMETypeRegistry's dynamic JSON mime type detection.
12913 2017-09-07  Matthew Stewart  <matthew_r_stewart@apple.com>
12915         Add Live PLT implemented with WebDriver
12916         https://bugs.webkit.org/show_bug.cgi?id=176436
12918         Reviewed by Stephanie Lewis.
12920         Adds a new PLT that runs on live websites.
12922         * Scripts/run-webdriver-plt.py: Added.
12923         (parse_args):
12924         (start):
12925         (make_suites):
12926         (main):
12927         * Scripts/webkitpy/webdriver_plt/__init__.py: Added.
12928         * Scripts/webkitpy/webdriver_plt/liveplt.py: Added.
12929         (PageLoadTest):
12930         (PageLoadTest.__init__):
12931         (PageLoadTest.start):
12932         (PageLoadTest.run_suite):
12933         (PageLoadTest._get_driver_for_browser):
12934         (PageLoadTest._setup_browser_window):
12935         (PageLoadTest.run_one_test):
12936         (PageLoadTest.get_results):
12937         * Scripts/webkitpy/webdriver_plt/pltresults.py: Added.
12938         (PLTResults):
12939         (PLTResults.__init__):
12940         (PLTResults.__add__):
12941         (PLTResults.add_timing_result):
12942         (PLTResults.mean):
12943         (PLTResults.geometric_mean):
12944         (PLTResults.mean_coef_variance):
12945         (PLTResults.print_results):
12946         (PLTResults.print_url_results):
12947         (PLTResults._format_time):
12948         * Scripts/webkitpy/webdriver_plt/suites/__init__.py: Added.
12949         * Scripts/webkitpy/webdriver_plt/suites/arabic.suite: Added.
12950         * Scripts/webkitpy/webdriver_plt/suites/cjk.suite: Added.
12951         * Scripts/webkitpy/webdriver_plt/suites/news.suite: Added.
12952         * Scripts/webkitpy/webdriver_plt/suites/search.suite: Added.
12953         * Scripts/webkitpy/webdriver_plt/suites/shopping.suite: Added.
12954         * Scripts/webkitpy/webdriver_plt/suites/social.suite: Added.
12955         * Scripts/webkitpy/webdriver_plt/suites/suite.py: Added.
12956         (Suite):
12957         (Suite.__init__):
12958         (Suite.get_available_suites):
12959         * Scripts/webkitpy/webdriver_plt/urlresults.py: Added.
12960         (URLResults):
12961         (URLResults.__init__):
12962         (URLResults.__add__):
12963         (URLResults.mean):
12964         (URLResults.coef_variance):
12965         (URLResults.print_results):
12966         (URLResults._format_time):
12968 2017-09-07  Myles C. Maxfield  <mmaxfield@apple.com>
12970         Add "if" statements to WSL
12971         https://bugs.webkit.org/show_bug.cgi?id=176294
12973         Reviewed by Filip Pizlo.
12975         Fairly straightforward implementation. ReturnChecker only returns true iff there is an else block,
12976         and both the if body and the else body recursively return true.
12978         In order to accept both syntaxes:
12979         if (foo)
12980             bar;
12981         ... and ...
12982         if (foo) {
12983             bar;
12984         }
12985         This patch lets parseStatement() call parseBlock(). This means that the following is valid:
12986         int x = 7;
12987         if (foo) {
12988             int x = 8;
12989             // x is 8 here!
12990         }
12991         // x is 7 here!
12993         This production means that these blocks don't require "if" statements, so you can just have:
12994         int foo() {
12995            int x = 7;
12996            {
12997                int x = 8;
12998                // x is 8 here!
12999            }
13000            // x is 7 here!
13001         }
13003         However, this patch doesn't touch the following use-case:
13004         if (int x = bar()) {
13005             // use x here
13006         }
13008         * WebGPUShadingLanguageRI/All.js:
13009         * WebGPUShadingLanguageRI/Checker.js:
13010         * WebGPUShadingLanguageRI/Evaluator.js:
13011         (Evaluator.prototype.visitIfStatement):
13012         * WebGPUShadingLanguageRI/IfStatement.js: Copied from Tools/WebGPUShadingLanguageRI/TypeDef.js.
13013         (IfStatement):
13014         (IfStatement.prototype.get origin):
13015         (IfStatement.prototype.get conditional):
13016         (IfStatement.prototype.get body):
13017         (IfStatement.prototype.get elseBody):
13018         (IfStatement.prototype.toString):
13019         * WebGPUShadingLanguageRI/NameResolver.js:
13020         (NameResolver.prototype.visitIfStatement):
13021         * WebGPUShadingLanguageRI/Parse.js:
13022         (parseTypeParameters):
13023         (parseIfStatement):
13024         (parseStatement):
13025         * WebGPUShadingLanguageRI/ReturnChecker.js:
13026         (ReturnChecker.prototype.visitIfStatement):
13027         * WebGPUShadingLanguageRI/Rewriter.js:
13028         (Rewriter.prototype.visitIfStatement):
13029         (Rewriter):
13030         * WebGPUShadingLanguageRI/Test.html:
13031         * WebGPUShadingLanguageRI/Test.js:
13032         (TEST_variableShadowing):
13033         (TEST_ifStatement):
13034         (TEST_ifElseStatement):
13035         (TEST_ifElseIfStatement):
13036         (TEST_ifElseIfElseStatement):
13037         (TEST_returnIf):
13038         (TEST_protocolMonoPolySigDoublePolyDefExplicit): Deleted.
13039         * WebGPUShadingLanguageRI/TypeDef.js:
13040         (TypeDef.prototype.toString):
13041         (TypeDef):
13042         * WebGPUShadingLanguageRI/Visitor.js:
13043         (Visitor.prototype.visitIfStatement):
13045 2017-09-07  Lucas Forschler  <lforschler@apple.com>
13047         Test commit after server upgrade from subversion 1.9.5 to 1.9.7
13049 2017-09-07  Chris Dumez  <cdumez@apple.com>
13051         [WK2] Add C API to retrieve the originating page of a WKDownload
13052         https://bugs.webkit.org/show_bug.cgi?id=176557
13053         <rdar://problem/34314776>
13055         Reviewed by Alex Christensen.
13057         Add layout test coverage for both the ObjC and C API.
13059         * TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm:
13060         (TestWebKitAPI::decideDestinationWithSuggestedFilename):
13061         (TestWebKitAPI::TEST):
13062         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
13063         (-[RedirectedDownloadDelegate _downloadDidStart:]):
13064         (TEST):
13066 2017-09-07  Filip Pizlo  <fpizlo@apple.com>
13068         WSL Node.prototype.visit should probably do memoization
13069         https://bugs.webkit.org/show_bug.cgi?id=176286
13071         Reviewed by Mark Lam.
13072         
13073         Visitors can sometimes revisit the same thing. For example, we may visit a FuncDef because it belongs
13074         to Program and we may visit it again because a CallExpression resolved to it. That's just plain silly.
13075         
13076         Our tests don't currently do this, so it's not a performance problem, yet. Also, we usually avoid that
13077         kind of repetitive visiting inside the visitor implementations. But as far as I can tell, this is an
13078         emergent property rather than a deliberate design.
13079         
13080         This change just makes the policy super explicit. If you visit something more than once with the same
13081         visitor, you get the same answer back. This is achieved by means of a memo table inside each visitor.
13082         
13083         * WebGPUShadingLanguageRI/All.js:
13084         * WebGPUShadingLanguageRI/FuncInstantiator.js:
13085         * WebGPUShadingLanguageRI/Node.js:
13086         (Node.prototype.visit):
13087         * WebGPUShadingLanguageRI/Rewriter.js:
13088         (Rewriter):
13089         * WebGPUShadingLanguageRI/Test.html:
13090         * WebGPUShadingLanguageRI/Visitor.js:
13091         (Visitor):
13092         * WebGPUShadingLanguageRI/VisitorBase.js: Added.
13093         (VisitorBase):
13095 2017-09-07  Wenson Hsieh  <wenson_hsieh@apple.com>
13097         [Directory Upload] Extend drag and drop support to iOS
13098         https://bugs.webkit.org/show_bug.cgi?id=176492
13099         <rdar://problem/34291584>
13101         Reviewed by Tim Horton.
13103         Adds two new iOS drag and drop unit tests, which both exercise the DataTransferItem.webKitGetAsEntry codepath
13104         upon drop. (...)GetFolderAsEntry creates a new folder in the temporary directory and uses it to generate an item
13105         provider. This item provider is then dropped over a custom drop handling element, which writes information about
13106         the exposed FileSystemEntries into a textarea. (...)ExternalSourceDataTransferItemGetPlainTextFileAsEntry does
13107         something similar, except that it only drops a plain text file instead.
13109         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
13110         * TestWebKitAPI/Tests/WebKitCocoa/DataTransferItem-getAsEntry.html: Added.
13112         Introduce a new test page that dumps information about DataTransferItems' file system entries upon drop.
13114         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
13115         (runTestWithTemporaryTextFile):
13116         (runTestWithTemporaryFolder):
13118         Introduce helpers to set up and tear down temporary files and folders over the duration of a test.
13120         (TestWebKitAPI::setUpTestWebViewForDataTransferItems):
13121         (TestWebKitAPI::TEST):
13123 2017-09-07  Filip Pizlo  <fpizlo@apple.com>
13125         WSL should check recursion
13126         https://bugs.webkit.org/show_bug.cgi?id=176553
13128         Reviewed by Michael Saboff and Mark Lam.
13129         
13130         This adds a recursion checker. Previously, we would only check for recursion during inlining, but that
13131         generally only happens when we call the function.
13133         * WebGPUShadingLanguageRI/All.js:
13134         * WebGPUShadingLanguageRI/CheckRecursion.js: Added.
13135         (checkRecursion):
13136         * WebGPUShadingLanguageRI/Prepare.js:
13137         (prepare):
13138         * WebGPUShadingLanguageRI/RecursionChecker.js: Added.
13139         (RecursionChecker):
13140         (RecursionChecker.prototype.visitFuncDef):
13141         (RecursionChecker.prototype.visitCallExpression):
13142         * WebGPUShadingLanguageRI/Test.html:
13143         * WebGPUShadingLanguageRI/Test.js:
13144         (TEST_simpleRecursion):
13146 2017-09-07  Chris Dumez  <cdumez@apple.com>
13148         [WK2] Notify client when downloads are redirected
13149         https://bugs.webkit.org/show_bug.cgi?id=176481
13150         <rdar://problem/34309065>
13152         Reviewed by Geoffrey Garen.
13154         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
13155         (-[UIDownloadAsFileTestDelegate _webView:contextMenu:forElement:]):
13156         (-[RedirectedDownloadDelegate _download:decideDestinationWithSuggestedFilename:allowOverwrite:]):
13157         (-[RedirectedDownloadDelegate _download:didReceiveServerRedirectToURL:]):
13158         (-[RedirectedDownloadDelegate _downloadDidFinish:]):
13159         (TEST):
13160         Add API test coverage.
13162         * WebKitTestRunner/TestController.cpp:
13163         (WTR::TestController::createWebViewWithOptions):
13164         (WTR::TestController::downloadDidReceiveServerRedirectToURL):
13165         * WebKitTestRunner/TestController.h:
13166         Add layout test infrastructure.
13168 2017-09-07  Per Arne Vollan  <pvollan@apple.com>
13170         [Win] fast/canvas/2d.getPath.modification.html is failing.
13171         https://bugs.webkit.org/show_bug.cgi?id=176534
13173         Reviewed by Alex Christensen.
13175         We need to enable Inspector additions at runtime in order to expose the getPath function.
13177         * DumpRenderTree/win/DumpRenderTree.cpp:
13178         (resetWebPreferencesToConsistentValues):
13180 2017-09-07  Filip Pizlo  <fpizlo@apple.com>
13182         WSL tests should run in run-javascriptcore-tests
13183         https://bugs.webkit.org/show_bug.cgi?id=176550
13185         Reviewed by Keith Miller.
13187         * Scripts/run-javascriptcore-tests:
13188         (runJSCStressTests):
13189         * WebGPUShadingLanguageRI/wsl-tests.yaml: Added.
13191 2017-09-07  Lucas Forschler  <lforschler@apple.com>
13193         bisect-builds started failing with invalid json
13194         https://bugs.webkit.org/show_bug.cgi?id=176478
13195         
13196         Once we hit 1000 items in our dynamoDB, we ran into an upper limit on the AWS API Gateway looping mechanism. 
13197         This prevented us from doing a body mapping template to reformat the json. This fix is to simply return the raw json, 
13198         and adjust the json parsing in our code. The AWS rest API has been fixed, and updated to v2. 
13199         
13200         This change is for the script which operates against the endpoint.
13201         
13202         Reviewed by Aakash Jain.
13204         * Scripts/bisect-builds:
13205         (get_sorted_revisions):
13207 2017-09-07  Filip Pizlo  <fpizlo@apple.com>
13209         [WSL] Rationalize how protocol inheritance deals with type parameters
13210         https://bugs.webkit.org/show_bug.cgi?id=176334
13212         Reviewed by Mark Lam.
13213         
13214         This adds a bunch of tests for structs, protocols, and functions interacting in interesting
13215         ways. The most complex of these tests triggers the case where the protocol contains a function
13216         with one type parameter and the real function has more than one. This should give a WTypeError,
13217         and now it does.
13218         
13219         * WebGPUShadingLanguageRI/ProtocolDecl.js:
13220         (ProtocolDecl.prototype.hasHeir): Fix the handling of a mismatch of number of type parameters by actually passing the type parameters and then correctly handling the error.
13221         * WebGPUShadingLanguageRI/Test.js: Add a bunch of tests for this case and a lot of other protocol cases.
13222         (TEST_protocolMonoSigPolyDef):
13223         (TEST_protocolPolySigPolyDef):
13224         (TEST_protocolDoublePolySigDoublePolyDef):
13225         (TEST_protocolDoublePolySigDoublePolyDefExplicit):
13226         (TEST_protocolMonoPolySigDoublePolyDefExplicit):
13227         * WebGPUShadingLanguageRI/TypeVariable.js:
13228         (TypeVariable.prototype.get origin): This wasn't implemented before, which made error reporting harder.
13230 2017-09-07  Per Arne Vollan  <pvollan@apple.com>
13232         [Win] Dashboard test is failing.
13233         https://bugs.webkit.org/show_bug.cgi?id=176527
13235         Reviewed by Brent Fulgham.
13237         Skip test on Windows since WebKitTestRunner is required, but not built on Windows.
13239         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
13240         (TestFactory.__init__):
13242 2017-09-07  Adrian Perez de Castro  <aperez@igalia.com>
13244         [WPE][CMake] Add "dist" and "distcheck" targets
13245         https://bugs.webkit.org/show_bug.cgi?id=176448
13247         Reviewed by Carlos Garcia Campos.
13249         Add "dist" and "distcheck" CMake targets, which create release tarballs.
13250         These are available only when configuring with -DDEVELOPER_MODE=TRUE.
13252         * wpe/manifest.txt.in: Added.
13254 2017-09-07  Per Arne Vollan  <pvollan@apple.com>
13256         [Win] Enable DatatransferItems in DRT.
13257         https://bugs.webkit.org/show_bug.cgi?id=176424
13259         Reviewed by Brent Fulgham.
13261         * DumpRenderTree/win/DumpRenderTree.cpp:
13262         (resetWebPreferencesToConsistentValues):
13264 2017-09-07  Carlos Garcia Campos  <cgarcia@igalia.com>
13266         [GTK] Bump libxml2 version to 1.9.5
13267         https://bugs.webkit.org/show_bug.cgi?id=176502
13269         Reviewed by Carlos Alberto Lopez Perez.
13271         It has been released very recently, but it fixes the issues that prevented us from upgrading to 1.9.4.
13273         * gtk/jhbuild.modules:
13275 2017-09-06  Joseph Pecoraro  <pecoraro@apple.com>
13277         Remove new-run-webkit-httpd as it appears to be old
13278         https://bugs.webkit.org/show_bug.cgi?id=176493
13280         Reviewed by Alexey Proskuryakov.
13282         * Scripts/new-run-webkit-httpd: Removed.
13284 2017-09-06  Alex Christensen  <achristensen@webkit.org>
13286         Add WKUIDelegatePrivate equivalent of WKPageUIClient's pageDidScroll
13287         https://bugs.webkit.org/show_bug.cgi?id=176482
13288         <rdar://problem/29270035>
13290         Reviewed by Tim Horton.
13292         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
13293         (-[DidScrollDelegate _webViewDidScroll:]):
13294         (TEST):
13296 2017-09-06  Eric Carlson  <eric.carlson@apple.com>
13298         Require LoggingHelper overrides to provide identifier
13299         https://bugs.webkit.org/show_bug.cgi?id=176477
13301         Reviewed by Jer Noble.
13303         * TestWebKitAPI/Tests/WebCore/Logging.cpp:
13304         (TestWebKitAPI::TEST_F):
13306 2017-09-06  Alex Christensen  <achristensen@webkit.org>
13308         Add WKUIDelegatePrivate equivalent of WKPageUIClient's pinnedStateDidChange
13309         https://bugs.webkit.org/show_bug.cgi?id=176474
13310         <rdar://problem/29270035>
13312         Reviewed by Tim Horton.
13314         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
13315         (-[PinnedStateObserver observeValueForKeyPath:ofObject:change:context:]):
13316         (TEST):
13318 2017-09-06  Alex Christensen  <achristensen@webkit.org>
13320         Unreviewed, rolling out r221694.
13322         broke build
13324         Reverted changeset:
13326         "Add WKUIDelegatePrivate equivalent of WKPageUIClient's
13327         pinnedStateDidChange"
13328         https://bugs.webkit.org/show_bug.cgi?id=176474
13329         http://trac.webkit.org/changeset/221694
13331 2017-09-06  Per Arne Vollan  <pvollan@apple.com>
13333         [Win] test-webkitpy test timeout_context_unittest is failing.
13334         https://bugs.webkit.org/show_bug.cgi?id=176471
13336         Reviewed by Brent Fulgham.
13338         This assert failure is possibly caused by different time resolution on
13339         various platforms.
13341         * Scripts/webkitpy/common/timeout_context_unittest.py:
13342         (TimeoutContextTests.test_timeout_data):
13344 2017-09-06  Aakash Jain  <aakash_jain@apple.com>
13346         status-bubbles turn orange after checking relevance of patch
13347         https://bugs.webkit.org/show_bug.cgi?id=176457
13349         Reviewed by Alexey Proskuryakov.
13351         * QueueStatusServer/handlers/statusbubble.py: Added "Checked relevance of patch" as a progress_statuses.
13353 2017-09-06  Alex Christensen  <achristensen@webkit.org>
13355         Add WKUIDelegatePrivate equivalent of WKPageUIClient's pinnedStateDidChange
13356         https://bugs.webkit.org/show_bug.cgi?id=176474
13357         <rdar://problem/29270035>
13359         Reviewed by Tim Horton.
13361         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
13362         (-[PinnedStateObserver observeValueForKeyPath:ofObject:change:context:]):
13363         (TEST):
13365 2017-09-06  Filip Pizlo  <fpizlo@apple.com>
13367         WSL: Inliner doesn't allow double-negation
13368         https://bugs.webkit.org/show_bug.cgi?id=176440
13370         Reviewed by Mylex Maxfield.
13371         
13372         The problem was that we were visiting the operands to calls while inside doVisit. This is too strict
13373         since it rejects nested calls like foo(foo(x)). The solution is to visit the operands to calls before
13374         entering doVisit.
13375         
13376         This also fixes some other issues in the parser that made the Inliner's error really strange.
13378         * WebGPUShadingLanguageRI/Func.js:
13379         (Func):
13380         * WebGPUShadingLanguageRI/Inliner.js:
13381         (Inliner.prototype.visitCallExpression):
13382         (Inliner):
13383         * WebGPUShadingLanguageRI/Parse.js:
13384         (parseOperatorFuncDefValues):
13385         (parseNonOperatorFuncDefValues):
13386         (parseGenericFuncDefValues):
13387         (parseFuncDecl):
13388         * WebGPUShadingLanguageRI/Test.js:
13389         * WebGPUShadingLanguageRI/VisitingSet.js:
13390         (VisitingSet.prototype.doVisit):
13391         (VisitingSet):
13393 2017-09-06  Myles C. Maxfield  <mmaxfield@apple.com>
13395         WSL should support the bool type
13396         https://bugs.webkit.org/show_bug.cgi?id=176285
13398         Reviewed by Filip Pizlo.
13400         I forgot to commit a couple files.
13402         * WebGPUShadingLanguageRI/StandardLibraryEpilogue.js: Added.
13403         (const.standardLibraryEpilogue.operator.bool.T.Equatable):
13404         * WebGPUShadingLanguageRI/StandardLibraryPrologue.js: Added.
13405         (operator.T.T):
13407 2017-09-06  Myles C. Maxfield  <mmaxfield@apple.com>
13409         WSL should correctly handle the interaction between casting operators and complex types
13410         https://bugs.webkit.org/show_bug.cgi?id=176316
13412         Reviewed by Filip Pizlo.
13414         This allows the standard library to include all identity cast operators for all exsting
13415         and yet-to-exist types. The standard library now has a function with the signature:
13416         operator T<><T>(T). This means "for all T, define a cast operator from T to T<>." The
13417         duplicate <>s lets us say things like operator OutputVector<T><T>(InputVector<T> x).
13419         For testing, this patch also adds the ability to cast an arbitrary Equatable type to bool,
13420         by comparing the value to the default value for that type.
13422         * WebGPUShadingLanguageRI/All.js:
13423         * WebGPUShadingLanguageRI/CastExpression.js: Copied from Tools/WebGPUShadingLanguageRI/NativeFuncInstance.js.
13424         (CastExpression):
13425         (CastExpression.prototype.get functionName):
13426         (CastExpression.prototype.get returnType):
13427         (CastExpression.prototype.toString):
13428         * WebGPUShadingLanguageRI/Checker.js:
13429         * WebGPUShadingLanguageRI/Func.js:
13430         (Func.prototype.toDeclString):
13431         * WebGPUShadingLanguageRI/FuncInstantiator.js:
13432         (FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitNativeFunc):
13433         (FuncInstantiator.prototype.getUnique.Instantiate):
13434         (FuncInstantiator.prototype.getUnique):
13435         (FuncInstantiator):
13436         * WebGPUShadingLanguageRI/Inliner.js:
13437         (Inliner.prototype.visitCastExpression):
13438         (Inliner):
13439         * WebGPUShadingLanguageRI/Intrinsics.js:
13440         (Intrinsics):
13441         * WebGPUShadingLanguageRI/NativeFunc.js:
13442         * WebGPUShadingLanguageRI/NativeFuncInstance.js:
13443         (NativeFuncInstance):
13444         * WebGPUShadingLanguageRI/Parse.js:
13445         (parsePossiblePrefix):
13446         (parseFuncDecl):
13447         (parseOperatorFuncDefValues): Deleted.
13448         (parseNonOperatorFuncDefValues): Deleted.
13449         (parseGenericFuncDefValues): Deleted.
13450         * WebGPUShadingLanguageRI/Prepare.js:
13451         (prepare):
13452         * WebGPUShadingLanguageRI/Program.js:
13453         (Program.prototype.resolveFuncOverload):
13454         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
13455         (resolveOverloadImpl):
13456         * WebGPUShadingLanguageRI/Rewriter.js:
13457         (Rewriter.prototype.processDerivedCallData):
13458         (Rewriter.prototype.visitCastExpression):
13459         (Rewriter.prototype.visitCallExpression):
13460         * WebGPUShadingLanguageRI/StandardLibrary.js: Removed.
13461         * WebGPUShadingLanguageRI/Test.html:
13462         * WebGPUShadingLanguageRI/Test.js:
13463         * WebGPUShadingLanguageRI/TypeDefResolver.js:
13464         (TypeDefResolver):
13465         (TypeDefResolver.prototype.visitFuncDef): Deleted.
13466         * WebGPUShadingLanguageRI/Visitor.js:
13467         (Visitor.prototype.visitCastExpression):
13469 2017-09-06  Daniel Bates  <dabates@apple.com>
13471         Copy WebKit Permalink may generate wrong URL with SVN checkout
13472         https://bugs.webkit.org/show_bug.cgi?id=176427
13474         Reviewed by Darin Adler.
13476         Fixes an issue where Copy WebKit Permalink would generate an incorrect URL for
13477         any file not in the top-level directory of the repository when using an SVN
13478         checkout of WebKit.
13480         Copy WebKit Permalink changes directories to the containing directory D of the
13481         active Xcode document F before running "svn info <path to F>". Currently we use
13482         the value of "Path" from the output of "svn info" when generating the permalink.
13483         This path is relative to D. But we want the path to F relative to the top-level
13484         checkout directory. We need to explicitly compute this.
13486         * CopyPermalink/Copy WebKit Permalink.workflow/Contents/document.wflow:
13488 2017-09-06  Carlos Garcia Campos  <cgarcia@igalia.com>
13490         [GTK] Bump freetype version to 2.8.0
13491         https://bugs.webkit.org/show_bug.cgi?id=176351
13493         Reviewed by Carlos Alberto Lopez Perez.
13495         Remove the patch we were using since it was reverted upstream.
13497         * gtk/jhbuild.modules:
13498         * gtk/patches/freetype6-2.4.11-truetype-font-height-fix.patch: Removed.
13500 2017-09-06  Yoshiaki Jitsukawa  <Yoshiaki.Jitsukawa@sony.com>
13502         [Win] Tools/TestWebKitAPI/Tests/WTF/PriorityQueue.cpp fails to compile with MSVC 2015
13503         https://bugs.webkit.org/show_bug.cgi?id=176442
13505         Reviewed by Keith Miller.
13507         * TestWebKitAPI/Tests/WTF/PriorityQueue.cpp:
13508         (TEST):
13510 2017-09-05  Darin Adler  <darin@apple.com>
13512         Fix a few minor problems found while working toward removing unneeded calls to updateStyle
13513         https://bugs.webkit.org/show_bug.cgi?id=176279
13515         Reviewed by Antti Koivisto.
13517         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
13518         (WTR::AccessibilityUIElement::setSelectedChild const): Handle null here. The old code instead
13519         would trigger an Objective-C exception unnecessarily.
13521 2017-09-05  Wenson Hsieh  <wenson_hsieh@apple.com>
13523         [iOS WK2] Add plumbing for WKContentView to ask the web process for additional drag items
13524         https://bugs.webkit.org/show_bug.cgi?id=176348
13525         Work towards <rdar://problem/31144674>
13527         Reviewed by Tim Horton.
13529         Introduces new test infrastructure to simulate tapping to add additional items to the current drag session. We
13530         add -[DataInteractionSimulator runFrom:to:additionalItemRequestLocations:], for which the last argument is a
13531         dictionary mapping progress (a double between 0 and 1) to NSValues representing the location from which the drag
13532         and drop simulation will request an additional drag item. During the simulated drag and drop, when the progress
13533         value exceeds a value in the map of remaining additional item request locations, we halt drag simulation
13534         progress for that runloop and instead request additional items from the location specified.
13536         The only (useful) passing test we can create using the new machinery is one that verifies that preventDefault()
13537         on dragstart works as expected, preventing additional items from being added. While this trivially passes now,
13538         since the web-process-side of the additional items flow is not yet implemented, it should continue to pass after
13539         the web process portion is implemented.
13541         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
13542         * TestWebKitAPI/Tests/WebKitCocoa/selected-text-image-link-and-editable.html: Added.
13544         Add a new test page that contains some non-editable text, an image, a link, and a rich text editable area.
13546         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
13547         (TestWebKitAPI::TEST):
13548         * TestWebKitAPI/ios/DataInteractionSimulator.h:
13549         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
13550         (-[MockDragDropSession addItems:]):
13552         Convenience method to add additional mock drag items to a drag or drop session.
13554         (-[DataInteractionSimulator _resetSimulatedState]):
13555         (-[DataInteractionSimulator runFrom:to:]):
13557         Converted into a convenience wrapper around the latter version, passing in nil for the additional item request
13558         locations dictionary.
13560         (-[DataInteractionSimulator runFrom:to:additionalItemRequestLocations:]):
13561         (-[DataInteractionSimulator _enqueuePendingAdditionalItemRequestLocations]):
13562         (-[DataInteractionSimulator _sendQueuedAdditionalItemRequest]):
13564         New helper methods to detect when and where additional items should be "added", and subsequently simulate adding
13565         drag items at these given locations.
13567         (-[DataInteractionSimulator _advanceProgress]):
13569 2017-09-05  Alex Christensen  <achristensen@webkit.org>
13571         Add WKUIDelegatePrivate equivalent of WKPageUIClient's mouseDidMoveOverElement
13572         https://bugs.webkit.org/show_bug.cgi?id=176428
13573         <rdar://problem/29270035>
13575         Reviewed by Tim Horton.
13577         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
13578         (-[MouseMoveOverElementDelegate _webView:mouseDidMoveOverElement:withFlags:userInfo:]):
13579         (TEST):
13580         * TestWebKitAPI/cocoa/TestWKWebView.h:
13581         * TestWebKitAPI/cocoa/TestWKWebView.mm:
13582         (-[TestWKWebView mouseMoveToPoint:withFlags:]):
13584 2017-09-05  Matthew Stewart  <matthew_r_stewart@apple.com>
13586         Benchmark Runner WebDriver maximize window on browser launch
13587         https://bugs.webkit.org/show_bug.cgi?id=175702
13589         Reviewed by Stephanie Lewis.
13591         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py:
13592         (LinuxBrowserDriver.launch_webdriver): added driver.maximize_window()
13593         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:
13594         (OSXBrowserDriver._launch_webdriver): added driver.maximize_window()
13595         * Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py:
13596         (WebDriverBenchmarkRunner._run_one_test): added driver.quit()
13598 2017-09-05  Matthew Stewart  <matthew_r_stewart@apple.com>
13600         Fix Benchmark Runner selenium autoinstall imports
13601         https://bugs.webkit.org/show_bug.cgi?id=175727
13603         Reviewed by Stephanie Lewis.
13605         This fixes run-benchmark taking a long time to start with WebDriver.
13607         Inside webdriver's __init__.py file, it imports many other modules.
13608         So if we try to directly import autoinstalled.selenium.webdriver, it
13609         will re-run the autoinstall __init__.py for each new imported module
13610         that contains ".selenium"
13611         TODO: fix this inside the autoinstall code, to only do one install per
13612         import.
13614         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_chrome_driver.py:
13615         (LinuxChromeDriver.launch_driver):
13616         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_firefox_driver.py:
13617         (LinuxFirefoxDriver.launch_driver):
13618         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
13619         (OSXChromeDriver.launch_driver):
13620         (OSXChromeCanaryDriver.launch_driver):
13621         (create_chrome_options):
13622         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
13623         (OSXFirefoxDriver.launch_driver):
13624         (OSXFirefoxNightlyDriver.launch_driver):
13625         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
13626         (OSXSafariDriver.launch_driver):
13627         * Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py:
13628         (WebDriverBenchmarkRunner._run_one_test):
13630 2017-09-05  Aakash Jain  <aakash_jain@apple.com>
13632         EWS should report when a step succeeds
13633         https://bugs.webkit.org/show_bug.cgi?id=176332
13634         <rdar://problem/25224607>
13636         Reviewed by Sam Weinig.
13638         Most of the EWSes report only if a step fails, but do not report when a step succeed. For e.g.: If a build succeeds,
13639         EWS does not report it. Information about a step passing is sometimes very valuable, especially when waiting for a 
13640         patch to complete processing. Sometimes, patch authors know that their changes are not covered by any tests. Having EWS 
13641         display that build was successful and it is currently running tests is valuable.
13643         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
13644         (AbstractEarlyWarningSystem.command_passed): Update the EWS status server when a command pass. This is
13645         similar to what is done in Commit Queue and Style Queue.
13646         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
13647         (EarlyWarningSystemTest._default_expected_logs): Updated unit-tests appropriately.
13649 2017-09-05  Myles C. Maxfield  <mmaxfield@apple.com>
13651         WSL should support the bool type
13652         https://bugs.webkit.org/show_bug.cgi?id=176285
13654         Reviewed by Filip Pizlo.
13656         Very similar to the int and uint types. This patch also adds support for a logical negation expression "!x".
13657         This patch also reverts the ability of the program author to create their own "operator!()", and instead
13658         adds the ability of the program author to create their own "operator bool()". The code is generic, so
13659         programmers can make two arbitrary types Foo and Bar, and implement a "operator Bar(Foo)." The logical
13660         negation expression is a built-in, and requires its argument be a bool.
13662         * WebGPUShadingLanguageRI/All.js:
13663         * WebGPUShadingLanguageRI/BoolLiteral.js: Copied from Tools/WebGPUShadingLanguageRI/NativeFunc.js.
13664         (BoolLiteral):
13665         (BoolLiteral.prototype.get value):
13666         (BoolLiteral.prototype.get isConstexpr):
13667         (BoolLiteral.prototype.toString):
13668         * WebGPUShadingLanguageRI/Checker.js:
13669         * WebGPUShadingLanguageRI/Evaluator.js:
13670         (Evaluator.prototype.visitBoolLiteral):
13671         (Evaluator.prototype.visitLogicalNot):
13672         * WebGPUShadingLanguageRI/Func.js:
13673         (Func):
13674         (Func.prototype.get isCast):
13675         (Func.prototype.toDeclString):
13676         * WebGPUShadingLanguageRI/FuncDef.js:
13677         (FuncDef):
13678         (FuncDef.prototype.get body):
13679         (FuncDef.prototype.rewrite):
13680         * WebGPUShadingLanguageRI/Intrinsics.js:
13681         (Intrinsics):
13682         * WebGPUShadingLanguageRI/Lexer.js:
13683         (Lexer.prototype.next):
13684         (Lexer):
13685         * WebGPUShadingLanguageRI/LogicalNot.js: Copied from Tools/WebGPUShadingLanguageRI/NativeFunc.js.
13686         (LogicalNot):
13687         (LogicalNot.prototype.get operand):
13688         (LogicalNot.prototype.toString):
13689         * WebGPUShadingLanguageRI/NativeFunc.js:
13690         (NativeFunc):
13691         * WebGPUShadingLanguageRI/Parse.js:
13692         (parseTerm):
13693         (parsePossiblePrefix):
13694         (parsePossibleRelationalEquality):
13695         (parseFuncName):
13696         (parseOperatorFuncDefValues):
13697         (parseNonOperatorFuncDefValues):
13698         (parseGenericFuncDefValues):
13699         (parseFuncDecl):
13700         (parseProtocolFuncDecl):
13701         (parseFuncDef):
13702         (parseNative):
13703         (parse):
13704         * WebGPUShadingLanguageRI/Rewriter.js:
13705         (Rewriter.prototype.visitBoolLiteral):
13706         (Rewriter.prototype.visitLogicalNot):
13707         (Rewriter):
13708         * WebGPUShadingLanguageRI/StandardLibrary.js:
13709         * WebGPUShadingLanguageRI/Test.html:
13710         * WebGPUShadingLanguageRI/Test.js:
13711         (makeUInt):
13712         (makeBool):
13713         (checkUInt):
13714         (checkBool):
13715         (TEST_literalBool):
13716         (TEST_identityBool):
13717         (TEST_intSimpleMath):
13718         (TEST_uintSimpleMath):
13719         (TEST_equality):
13720         (TEST_logicalNegation):
13721         (TEST_notEquality):
13722         (TEST_equalityTypeFailure):
13723         (TEST_add1): Deleted.
13724         * WebGPUShadingLanguageRI/TypeDefResolver.js:
13725         (TypeDefResolver.prototype.visitFuncDef):
13726         * WebGPUShadingLanguageRI/Visitor.js:
13727         (Visitor.prototype.visitBoolLiteral):
13728         (Visitor.prototype.visitLogicalNot):
13730 2017-09-05  Matt Lewis  <jlewis3@apple.com>
13732         Unreviewed, rolling out r221603.
13734         This caused accessibility/mac/select-element-selection-with-
13735         optgroups.html to consistently timeout on macOS
13737         Reverted changeset:
13739         "Fix a few minor problems found while working toward removing
13740         unneeded calls to updateStyle"
13741         https://bugs.webkit.org/show_bug.cgi?id=176279
13742         http://trac.webkit.org/changeset/221603
13744 2017-09-05  Youenn Fablet  <youenn@apple.com>
13746         WebKitTestRunner should set the cache storage directory path
13747         https://bugs.webkit.org/show_bug.cgi?id=176373
13749         Reviewed by Chris Dumez.
13751         * WebKitTestRunner/TestController.cpp:
13752         (WTR::TestController::generateContextConfiguration const):
13754 2017-09-05  Joseph Pecoraro  <pecoraro@apple.com>
13756         test262: Completion values for control flow do not match the spec
13757         https://bugs.webkit.org/show_bug.cgi?id=171265
13759         Reviewed by Saam Barati.
13761         * Scripts/run-jsc-stress-tests:
13762         Include a :failDueToOutdatedOrBadTest to mark failures with justification.
13764 2017-09-05  Alex Christensen  <achristensen@webkit.org>
13766         Add WKUIDelegatePrivate equivalent of WKPageUIClient's unavailablePluginButtonClicked
13767         https://bugs.webkit.org/show_bug.cgi?id=176274
13768         <rdar://problem/29270035>
13770         Reviewed by Darin Adler.
13772         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
13773         (-[PluginDelegate _webView:unavailablePluginButtonClickedWithReason:pluginInfo:]):
13774         (TEST):
13776 2017-09-05  Carlos Garcia Campos  <cgarcia@igalia.com>
13778         [GTK] Wrong use of PLUGIN_ARCHITECTURE(X11) in several places
13779         https://bugs.webkit.org/show_bug.cgi?id=176329
13781         Reviewed by Michael Catanzaro.
13783         * CMakeLists.txt: Build TestNetscapePlugIn when NETSCAPE_PLUGIN_API is enabled and only link to X11 libraries
13784         when building the X11 target.
13785         * DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
13786         * DumpRenderTree/TestNetscapePlugIn/Tests/unix/CallInvalidateRectWithNullNPPArgument.cpp: Renamed from Tools/DumpRenderTree/TestNetscapePlugIn/Tests/x11/CallInvalidateRectWithNullNPPArgument.cpp.
13787         * DumpRenderTree/TestNetscapePlugIn/main.cpp:
13788         (NP_Initialize):
13789         (NPP_HandleEvent):
13790         (NPP_GetValue):
13792 2017-09-04  Eric Carlson  <eric.carlson@apple.com>
13794         Switch HTMLMediaElement to release logging
13795         https://bugs.webkit.org/show_bug.cgi?id=176065
13797         Reviewed by Jer Noble.
13799         * TestWebKitAPI/Tests/WebCore/Logging.cpp:
13800         (TestWebKitAPI::LogObserver::level const):
13802 2017-09-03  Darin Adler  <darin@apple.com>
13804         Fix a few minor problems found while working toward removing unneeded calls to updateStyle
13805         https://bugs.webkit.org/show_bug.cgi?id=176279
13807         Reviewed by Antti Koivisto.
13809         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
13810         (WTR::AccessibilityUIElement::setSelectedChild const): Handle null here. The old code instead
13811         would trigger an Objective-C exception unnecessarily.
13813 2017-09-04  Wenson Hsieh  <wenson_hsieh@apple.com>
13815         [iOS DnD] Refactor drag and drop logic in WKContentView in preparation for supporting multiple drag items in a drag session
13816         https://bugs.webkit.org/show_bug.cgi?id=176264
13817         <rdar://problem/31144674>
13819         Reviewed by Darin Adler.
13821         Adds two new iOS drag and drop tests to check that the clientX and clientY attributes of mouse events propagated
13822         to the page during drop are correct. Each test drags from an image element and drops into three custom-drop-
13823         handling elements; `dragenter`, `dragover`, and `drop` event listeners on the body then use the clientX and
13824         clientY event attributes to hit-test for drop target elements. The first test is suffixed with "-Basic"; the
13825         second test, suffixed with "-WithScrollOffset", makes the document scrollable to check that clientY is correct
13826         when scrolled.
13828         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
13829         * TestWebKitAPI/Tests/WebKitCocoa/drop-targets.html: Added.
13830         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
13831         (TestWebKitAPI::testDragAndDropOntoTargetElements):
13832         (TestWebKitAPI::TEST):
13833         * TestWebKitAPI/cocoa/TestWKWebView.mm:
13834         (-[TestWKWebView stringByEvaluatingJavaScript:]):
13836         Log a warning message when an API test fails due to JavaScript evaluation in TestWKWebView.
13838 2017-09-03  Filip Pizlo  <fpizlo@apple.com>
13840         WSL IntLiteral should have variable type so that it can unify with things like uint
13841         https://bugs.webkit.org/show_bug.cgi?id=176209
13843         Reviewed by Mylex Maxfield.
13844         
13845         This introduces IntLiteralType, which can unify with any number type that can represent the
13846         int literal.
13847         
13848         This means that all of the following are legal:
13849         
13850             double x = 0; // 0 unifies with double
13851             double y = x + 5; // should resolve to double+double
13852             double z = array[0]; // 0 unifies with uint
13853         
13854         We can do similar things with float literals, so that you don't have to suffix "f" all the
13855         time.
13856         
13857         I think that this is very different from what C does. C just supports implicit type
13858         conversions. That's why "double x = 0" works in C. We don't do type conversions. Instead, we
13859         let each literal unify itself with one type.
13860         
13861         Also updated Test.html so that it runs again and is better at printing things.
13863         * WebGPUShadingLanguageRI/All.js:
13864         * WebGPUShadingLanguageRI/Checker.js:
13865         * WebGPUShadingLanguageRI/IntLiteral.js:
13866         (IntLiteral):
13867         (IntLiteral.prototype.toString):
13868         * WebGPUShadingLanguageRI/IntLiteralType.js: Added.
13869         (IntLiteralType):
13870         (IntLiteralType.prototype.get origin):
13871         (IntLiteralType.prototype.get value):
13872         (IntLiteralType.prototype.get isPrimitive):
13873         (IntLiteralType.prototype.get isUnifiable):
13874         (IntLiteralType.prototype.typeVariableUnify):
13875         (IntLiteralType.prototype.unifyImpl):
13876         (IntLiteralType.prototype.verifyAsArgument):
13877         (IntLiteralType.prototype.verifyAsParameter):
13878         (IntLiteralType.prototype.commitUnification):
13879         (IntLiteralType.prototype.toString):
13880         * WebGPUShadingLanguageRI/Intrinsics.js:
13881         (Intrinsics.):
13882         (Intrinsics):
13883         * WebGPUShadingLanguageRI/LiteralTypeChecker.js:
13884         (LiteralTypeChecker.prototype.visitIntLiteralType):
13885         (LiteralTypeChecker):
13886         * WebGPUShadingLanguageRI/NativeType.js:
13887         (NativeType):
13888         (NativeType.prototype.get isNumber):
13889         (NativeType.prototype.set isNumber):
13890         (NativeType.prototype.get isInt):
13891         (NativeType.prototype.set isInt):
13892         (NativeType.prototype.get isFloat):
13893         (NativeType.prototype.set isFloat):
13894         * WebGPUShadingLanguageRI/Prepare.js:
13895         (prepare):
13896         * WebGPUShadingLanguageRI/Rewriter.js:
13897         (Rewriter.prototype.visitIntLiteral):
13898         (Rewriter.prototype.visitIntLiteralType):
13899         * WebGPUShadingLanguageRI/StandardLibrary.js:
13900         * WebGPUShadingLanguageRI/Test.html:
13901         * WebGPUShadingLanguageRI/Test.js:
13902         (this.window.this.print):
13903         (doPrep):
13904         (doLex):
13905         (checkNumber):
13906         (checkInt):
13907         (TEST_nameResolutionFailure):
13908         (TEST_threadArrayLoadIntLiteral):
13909         (TEST_deviceArrayStoreIntLiteral):
13910         (TEST_returnIntLiteralDouble):
13911         * WebGPUShadingLanguageRI/Type.js:
13912         (Type.prototype.get isNumber):
13913         (Type.prototype.get isInt):
13914         (Type.prototype.get isFloat):
13915         * WebGPUShadingLanguageRI/Visitor.js:
13916         (Visitor.prototype.visitIntLiteral):
13917         (Visitor.prototype.visitIntLiteralType):
13919 2017-09-03  Filip Pizlo  <fpizlo@apple.com>
13921         Add more tests for null behavior in WSL
13922         https://bugs.webkit.org/show_bug.cgi?id=176318
13924         Reviewed by Myles Maxfield.
13925         
13926         This adds more tests for the unification behavior of null. In the process, I found a couple
13927         small bugs and fixed them.
13929         * WebGPUShadingLanguageRI/Checker.js:
13930         * WebGPUShadingLanguageRI/FuncInstantiator.js:
13931         (FuncInstantiator.prototype.getUnique.InstantiationSubstitution.prototype.visitCallExpression):
13932         (FuncInstantiator.prototype.getUnique.InstantiationSubstitution):
13933         * WebGPUShadingLanguageRI/Substitution.js:
13934         (Substitution.prototype.visitTypeRef):
13935         * WebGPUShadingLanguageRI/Test.js:
13936         (TEST_passNullAndNotNullFullPoly):
13937         (TEST_passNullAndNotNullFullPolyReverse):
13938         (TEST_nullTypeVariableUnify.recurse):
13939         (TEST_nullTypeVariableUnify.everyOrder):
13940         (TEST_nullTypeVariableUnify.everyPair):
13941         (TEST_nullTypeVariableUnify):
13942         * WebGPUShadingLanguageRI/TypeRef.js:
13943         (TypeRef.wrap):
13944         * WebGPUShadingLanguageRI/TypeVariable.js:
13945         (TypeVariable.prototype.verifyAsArgument):
13947 2017-09-04  Commit Queue  <commit-queue@webkit.org>
13949         Unreviewed, rolling out r221494 and r221500.
13950         https://bugs.webkit.org/show_bug.cgi?id=176258
13952         This caused the windows build to fail. (Requested by mlewis13
13953         on #webkit).
13955         Reverted changesets:
13957         "Switch HTMLMediaElement to release logging"
13958         https://bugs.webkit.org/show_bug.cgi?id=176065
13959         http://trac.webkit.org/changeset/221494
13961         "Switch HTMLMediaElement to release logging"
13962         https://bugs.webkit.org/show_bug.cgi?id=176065
13963         http://trac.webkit.org/changeset/221500
13965 2017-09-03  Darin Adler  <darin@apple.com>
13967         REGRESSION (r220052): [Sierra] API test VideoControlsManager.VideoControlsManagerFullSizeVideoInWideMainFrame is a flaky failure
13968         https://bugs.webkit.org/show_bug.cgi?id=175329
13970         Reviewed by Wenson Hsieh.
13972         These tests rely on using setTimeout to wait a run loop iteration for the
13973         video controls to appear. With changes to how loading occurs, it can now
13974         take two run loop iterations. The concept here is inherently a bit flaky
13975         and racy -- end users will not be able to tell how many run loop cycles it
13976         takes for controls to come up, and websites can't tell either -- but for now
13977         changing the tests to wait one more run loop should get rid of the flakiness.
13979         * TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm: Re-enable test.
13981         * TestWebKitAPI/Tests/WebKitCocoa/full-size-autoplaying-video-with-audio.html: Add a
13982         second setTimeout and a comment.
13983         * TestWebKitAPI/Tests/WebKitCocoa/skinny-autoplaying-video-with-audio.html: Ditto.
13984         * TestWebKitAPI/Tests/WebKitCocoa/wide-autoplaying-video-with-audio.html: Ditto.
13986 2017-09-03  Sam Weinig  <sam@webkit.org>
13988         Make webkit-patch post --no-review enable EWS just like webkit-patch post-commits --no-review
13989         https://bugs.webkit.org/show_bug.cgi?id=176321
13991         Reviewed by Darin Adler.
13993         * Scripts/webkitpy/tool/commands/upload.py:
13994         Add the SubmitToEWS step to Post command
13996 2017-09-03  Chris Dumez  <cdumez@apple.com>
13998         Have getFileMetadata() return a std::optional<FileMetadata>
13999         https://bugs.webkit.org/show_bug.cgi?id=176293
14001         Reviewed by Darin Adler.
14003         * TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
14004         (TestWebKitAPI::TEST_F):
14006 2017-09-02  Filip Pizlo  <fpizlo@apple.com>
14008         WSL should support structs
14009         https://bugs.webkit.org/show_bug.cgi?id=176290
14011         Reviewed by Mylex Maxfield.
14012         
14013         This adds parsing of struct types and makes them work.
14014         
14015         This required adding a struct layout phase, which in turn required being a bit more careful
14016         about how we instantiate functions and types. We cannot have any instantiation TypeRefs left
14017         once we're doing struct layout.
14019         * WebGPUShadingLanguageRI/All.js:
14020         * WebGPUShadingLanguageRI/CallFunction.js:
14021         (callFunction):
14022         * WebGPUShadingLanguageRI/Checker.js:
14023         (Checker.prototype.visitProtocolDecl.set throw):
14024         * WebGPUShadingLanguageRI/DotExpression.js: Added.
14025         (DotExpression):
14026         (DotExpression.prototype.get struct):
14027         (DotExpression.prototype.get fieldName):
14028         (DotExpression.prototype.get isLValue):
14029         (DotExpression.prototype.toString):
14030         * WebGPUShadingLanguageRI/EBufferBuilder.js:
14031         (EBufferBuilder.prototype._createEPtr):
14032         * WebGPUShadingLanguageRI/EPtr.js:
14033         (EPtr.prototype.copyFrom): Deleted.
14034         (EPtr.prototype.toString): Deleted.
14035         * WebGPUShadingLanguageRI/Evaluator.js:
14036         (Evaluator.prototype.visitAssignment):
14037         (Evaluator.prototype.visitDotExpression):
14038         * WebGPUShadingLanguageRI/Field.js:
14039         (Field):
14040         * WebGPUShadingLanguageRI/FuncDef.js:
14041         (FuncDef.prototype.rewrite):
14042         * WebGPUShadingLanguageRI/FuncInstantiator.js:
14043         (FuncInstantiator.prototype.getUnique):
14044         (FuncInstantiator):
14045         * WebGPUShadingLanguageRI/Inline.js:
14046         (inline):
14047         (_inlineFunction):
14048         (resolveInlinedFunction):
14049         * WebGPUShadingLanguageRI/Inliner.js:
14050         (Inliner.prototype.visitDotExpression):
14051         * WebGPUShadingLanguageRI/InstantiateImmediates.js:
14052         (InstantiateImmediates.prototype.visitTypeRef):
14053         (InstantiateImmediates.prototype.visitVariableDecl):
14054         (InstantiateImmediates):
14055         * WebGPUShadingLanguageRI/NameResolver.js:
14056         (NameResolver.prototype._resolveTypeArguments):
14057         (NameResolver.prototype.visitTypeRef):
14058         * WebGPUShadingLanguageRI/Node.js:
14059         (Node.prototype.visit):
14060         * WebGPUShadingLanguageRI/OverloadResolutionFailure.js: Added.
14061         (OverloadResolutionFailure):
14062         (OverloadResolutionFailure.prototype.get func):
14063         (OverloadResolutionFailure.prototype.get reason):
14064         (OverloadResolutionFailure.prototype.toString):
14065         * WebGPUShadingLanguageRI/Parse.js:
14066         (parsePossibleSuffix):
14067         (parseField):
14068         (parseStructType):
14069         (parse):
14070         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
14071         (resolveOverloadImpl):
14072         * WebGPUShadingLanguageRI/Rewriter.js:
14073         (Rewriter.prototype.visitDotExpression):
14074         (Rewriter.prototype.visitVariableRef):
14075         * WebGPUShadingLanguageRI/StructLayoutBuilder.js: Added.
14076         (StructLayoutBuilder):
14077         (StructLayoutBuilder.prototype.visitStructType):
14078         (StructLayoutBuilder.prototype.get offset):
14079         (StructLayoutBuilder.prototype.visitField):
14080         (StructLayoutBuilder.prototype.visitVariableRef):
14081         (StructLayoutBuilder.prototype.visitVariableDecl):
14082         * WebGPUShadingLanguageRI/StructType.js:
14083         (StructType.prototype.add):
14084         (StructType.prototype.instantiate):
14085         (StructType.prototype.populateDefaultValue):
14086         * WebGPUShadingLanguageRI/Substitution.js:
14087         (Substitution.prototype.visitTypeRef):
14088         (Substitution.prototype.visitVariableRef):
14089         (Substitution):
14090         * WebGPUShadingLanguageRI/Test.js:
14091         (TEST_genericStructInstance):
14092         * WebGPUShadingLanguageRI/Type.js:
14093         (Type.prototype.inherits):
14094         * WebGPUShadingLanguageRI/TypeRef.js:
14095         (TypeRef.instantiate):
14096         * WebGPUShadingLanguageRI/VariableRef.js:
14097         (VariableRef.wrap):
14098         * WebGPUShadingLanguageRI/Visitor.js:
14099         (Visitor.prototype.visitTypeRef):
14100         (Visitor.prototype.visitDotExpression):
14101         (Visitor.prototype.visitVariableRef):
14103 2017-09-02  Filip Pizlo  <fpizlo@apple.com>
14105         WSL NullType should be a special type variable so it can unify with any pointer type
14106         https://bugs.webkit.org/show_bug.cgi?id=176235
14108         Reviewed by Myles Maxfield.
14109         
14110         Null is just a type variable that plays by weird rules:
14111         
14112         - Other type variables don't recognize it, so if it's unified with T, it fails.
14113         - It behaves like a type variable for pointer and array reference types.
14114         - It arises only in argument (RHS) position.
14115         - Once Checker finds it to be equals to something, we need to remember what that was.
14116         
14117         I refactored some of the type system code to allow for the possibility of type variables being
14118         unified during equals() tests. It turns out that we were playing fast and loose here; I needed
14119         to beef up UnificationContext.prototype.verify. I added tests for this.
14120         
14121         I added an equalsWithCommit() that triggers commitUnification(), which allows NullType to
14122         remember what type it got unified with.
14123         
14124         NullLiteral then just instantiates its own NullType, which is what Checker uses as the type of
14125         the NullLiteral. Everything else just works.
14126         
14127         This adds a bunch of tests to make sure we generate type errors in various weird cases while
14128         also accepting a number of safe cases.
14129         
14130         I also added a way to run the tests in-browser.
14132         * WebGPUShadingLanguageRI/All.js:
14133         * WebGPUShadingLanguageRI/ArrayRefType.js:
14134         (ArrayRefType.prototype.get isArrayRef):
14135         * WebGPUShadingLanguageRI/Checker.js:
14136         (Checker.prototype.visitProtocolDecl.set throw):
14137         * WebGPUShadingLanguageRI/ConstexprTypeParameter.js:
14138         (ConstexprTypeParameter.prototype.typeVariableUnify):
14139         * WebGPUShadingLanguageRI/Evaluator.js:
14140         (Evaluator.prototype.visitDereferenceExpression):
14141         (Evaluator.prototype.visitNullLiteral):
14142         * WebGPUShadingLanguageRI/Func.js:
14143         (Func.prototype.toString):
14144         (Func):
14145         * WebGPUShadingLanguageRI/Intrinsics.js:
14146         (Intrinsics):
14147         * WebGPUShadingLanguageRI/NativeFunc.js:
14148         (NativeFunc.prototype.toDeclString):
14149         (NativeFunc):
14150         (NativeFunc.prototype.toString): Deleted.
14151         * WebGPUShadingLanguageRI/NativeFuncInstance.js:
14152         (NativeFuncInstance.prototype.toDeclString):
14153         (NativeFuncInstance):
14154         (NativeFuncInstance.prototype.toString): Deleted.
14155         * WebGPUShadingLanguageRI/Node.js:
14156         (Node.unify):
14157         (Node.prototype._typeVariableUnifyImpl):
14158         (Node.prototype.equals):
14159         * WebGPUShadingLanguageRI/NullLiteral.js: Added.
14160         (NullLiteral):
14161         (NullLiteral.prototype.toString):
14162         * WebGPUShadingLanguageRI/NullType.js:
14163         (NullType):
14164         (NullType.prototype.get isPrimitive):
14165         (NullType.prototype.get isUnifiable):
14166         (NullType.prototype.typeVariableUnify):
14167         (NullType.prototype.unifyImpl):
14168         (NullType.prototype.verifyAsArgument):
14169         (NullType.prototype.verifyAsParameter):
14170         (NullType.prototype.toString):
14171         * WebGPUShadingLanguageRI/Parse.js:
14172         (parseTerm):
14173         (parseType.getAddressSpace):
14174         (parseType):
14175         * WebGPUShadingLanguageRI/Rewriter.js:
14176         (Rewriter.prototype.visitNullLiteral):
14177         * WebGPUShadingLanguageRI/Test.html: Added.
14178         * WebGPUShadingLanguageRI/Test.js:
14179         (this.window.this.print):
14180         (TEST_doubleGenericCallsSingleGeneric):
14181         (TEST_dereferenceDefaultNull):
14182         (TEST_dereferenceDefaultNullArrayRef):
14183         (doTest):
14184         (let.s.in.this.s.startsWith.string_appeared_here.s.match): Deleted.
14185         * WebGPUShadingLanguageRI/Type.js:
14186         (Type.prototype.get isArrayRef):
14187         * WebGPUShadingLanguageRI/TypeVariable.js:
14188         (TypeVariable.prototype.typeVariableUnify):
14189         * WebGPUShadingLanguageRI/UnificationContext.js:
14190         (UnificationContext.prototype.verify):
14191         (UnificationContext):
14192         (UnificationContext.prototype.isUnunified): Deleted.
14193         * WebGPUShadingLanguageRI/VariableRef.js:
14194         (VariableRef.prototype.get unifyNode):
14195         * WebGPUShadingLanguageRI/Visitor.js:
14196         (Visitor.prototype.visitNullLiteral):
14198 2017-09-03  Sam Weinig  <sam@webkit.org>
14200         Remove CanvasProxy
14201         https://bugs.webkit.org/show_bug.cgi?id=176288
14203         Reviewed by Yusuke Suzuki.
14205         CanvasProxy does not appear to be in any current HTML spec
14206         and was disabled and unimplemented in our tree. Time to 
14207         get rid of it.
14209         * Scripts/webkitperl/FeatureList.pm:
14210         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
14212 2017-09-01  Filip Pizlo  <fpizlo@apple.com>
14214         WSL should check unreachable code and no returns
14215         https://bugs.webkit.org/show_bug.cgi?id=176262
14217         Reviewed by Myles Maxfield.
14218         
14219         This adds phases to check whether non-void functions return and whether there is any code after
14220         a return in any block. Added tests for simple versions of both of those things. We cannot add
14221         more complex versions until we support control flow statements.
14223         * WebGPUShadingLanguageRI/All.js:
14224         * WebGPUShadingLanguageRI/CheckReturns.js: Added.
14225         (checkReturns):
14226         * WebGPUShadingLanguageRI/CheckUnreachableCode.js: Added.
14227         (checkUnreachableCode):
14228         * WebGPUShadingLanguageRI/Parse.js:
14229         (parseReturn):
14230         * WebGPUShadingLanguageRI/Prepare.js:
14231         (prepare):
14232         * WebGPUShadingLanguageRI/ReturnChecker.js: Added.
14233         (ReturnChecker.prototype.visitFuncDef):
14234         (ReturnChecker.prototype.visitBlock):
14235         (ReturnChecker.prototype.visitReturn):
14236         (ReturnChecker):
14237         * WebGPUShadingLanguageRI/Test.js:
14238         (TEST_simpleNoReturn):
14239         * WebGPUShadingLanguageRI/UnreachableCodeChecker.js: Added.
14240         (UnreachableCodeChecker.prototype.visitBlock):
14241         (UnreachableCodeChecker):
14243 2017-09-01  Filip Pizlo  <fpizlo@apple.com>
14245         WSL should use & for getting a ^ and @ for getting a []
14246         https://bugs.webkit.org/show_bug.cgi?id=176245
14248         Reviewed by Myles Maxfield.
14249         
14250         Using \ as an operator was a bad decision since that's an escape character in so many contexts.
14251         
14252         Henceforth, & is for making pointers, for example:
14253         
14254         thread int^ foo() { int x; return &x; }
14255         
14256         And @ is for making array references, for example:
14257         
14258         thread int[] foo() { int[42] x; return @x; }
14259         
14260         Having separate operators makes it easy to have pointers to fixed-size arrays:
14261         
14262         thread int[42]^ foo() { int[42] x; return &x; }
14264         * WebGPUShadingLanguageRI/Intrinsics.js:
14265         (Intrinsics):
14266         * WebGPUShadingLanguageRI/Lexer.js:
14267         (Lexer.prototype.next):
14268         (Lexer):
14269         * WebGPUShadingLanguageRI/MakePtrExpression.js:
14270         (MakePtrExpression.prototype.toString):
14271         (MakePtrExpression):
14272         * WebGPUShadingLanguageRI/Parse.js:
14273         (parsePossibleSuffix):
14274         (parsePossiblePrefix):
14275         (parseFuncName):
14276         * WebGPUShadingLanguageRI/StandardLibrary.js:
14277         * WebGPUShadingLanguageRI/Test.js:
14278         (TEST_simpleMakePtr):
14280 2017-09-01  Myles C. Maxfield  <mmaxfield@apple.com>
14282         WSL's lexer will never emit keyword tokens
14283         https://bugs.webkit.org/show_bug.cgi?id=176248
14285         Reviewed by Filip Pizlo.
14287         Because all tokens are also identified as idents, we need to handle them together.
14289         * WebGPUShadingLanguageRI/Lexer.js:
14290         (Lexer.prototype.next):
14291         (Lexer):
14292         * WebGPUShadingLanguageRI/Test.js:
14293         (doLex):
14294         (checkLexerToken):
14295         (TEST_lexerKeyword):
14297 2017-09-01  Alex Christensen  <achristensen@webkit.org>
14299         Rename WebKit2 API tests after directory rename
14300         https://bugs.webkit.org/show_bug.cgi?id=176250
14302         Reviewed by Tim Horton.
14304         * TestWebKitAPI/Tests/Lots of files...
14305         Renamed WebKit2 to WebKit and WebKit1 to WebKitLegacy.
14307 2017-09-01  Alex Christensen  <achristensen@webkit.org>
14309         Add WKUIDelegatePrivate equivalent of WKPageUIClient's toolbarsAreVisible
14310         https://bugs.webkit.org/show_bug.cgi?id=176246
14311         <rdar://problem/29270035>
14313         Reviewed by Tim Horton.
14315         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
14316         (-[ToolbarDelegate _webView:getToolbarsAreVisibleWithCompletionHandler:]):
14317         (-[ToolbarDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
14318         (TEST):
14320 2017-09-01  Eric Carlson  <eric.carlson@apple.com>
14322         Switch HTMLMediaElement to release logging
14323         https://bugs.webkit.org/show_bug.cgi?id=176065
14325         Unreviewed build fix.
14327         * TestWebKitAPI/Tests/WebCore/Logging.cpp:
14329 2017-09-01  Filip Pizlo  <fpizlo@apple.com>
14331         WSL should have more tests of type checking failures
14332         https://bugs.webkit.org/show_bug.cgi?id=176244
14334         Reviewed by Myles Maxfield.
14336         * WebGPUShadingLanguageRI/Checker.js:
14337         (Checker.prototype.visitProtocolDecl.set throw):
14338         * WebGPUShadingLanguageRI/Test.js:
14339         (TEST_typeMismatchReturn):
14341 2017-09-01  Filip Pizlo  <fpizlo@apple.com>
14343         WSL should be be able to call a function declared in a protocol from a generic function
14344         https://bugs.webkit.org/show_bug.cgi?id=176242
14346         Reviewed by Myles Maxfield.
14347         
14348         It turns out that we need to know when a function is resolved to a protocol signature, so we
14349         need to have a type for this. This introduces ProtocolFuncDecl.
14350         
14351         Also, this introduces parsing of protocol decls.
14352         
14353         When instantiating a function, we need to rewrite its CallExpressions if they were previously
14354         resolved to a PrtococolFuncDecl instead of a FuncDef or NativeFunc. In that case, we need to
14355         rerun the resolution on the program. That resolution is guaranteed to succeed if the type
14356         system works correctly.
14358         * WebGPUShadingLanguageRI/All.js:
14359         * WebGPUShadingLanguageRI/CallExpression.js:
14360         (CallExpression.prototype.resolve):
14361         * WebGPUShadingLanguageRI/Checker.js:
14362         (Checker.prototype.visitProtocolDecl.set throw):
14363         * WebGPUShadingLanguageRI/EBufferBuilder.js:
14364         (EBufferBuilder.prototype._createEPtr):
14365         * WebGPUShadingLanguageRI/Func.js:
14366         (Func):
14367         (Func.prototype.get origin):
14368         * WebGPUShadingLanguageRI/FuncDef.js:
14369         (FuncDef):
14370         (FuncDef.prototype.get origin): Deleted.
14371         * WebGPUShadingLanguageRI/FuncInstantiator.js:
14372         (FuncInstantiator):
14373         (FuncInstantiator.prototype.getUnique.InstantiationSubstitution.prototype.visitCallExpression):
14374         (FuncInstantiator.prototype.getUnique.InstantiationSubstitution):
14375         * WebGPUShadingLanguageRI/NativeFunc.js:
14376         (NativeFunc):
14377         (NativeFunc.prototype.get origin): Deleted.
14378         * WebGPUShadingLanguageRI/NativeFuncInstance.js:
14379         (NativeFuncInstance):
14380         * WebGPUShadingLanguageRI/Node.js:
14381         (Node.prototype.substitute):
14382         * WebGPUShadingLanguageRI/Parse.js:
14383         (parseProtocolFuncDecl):
14384         (parseProtocolDecl):
14385         (parse):
14386         * WebGPUShadingLanguageRI/Program.js:
14387         (Program):
14388         (Program.prototype.get protocols):
14389         (Program.prototype.add):
14390         * WebGPUShadingLanguageRI/ProtocolDecl.js:
14391         (ProtocolDecl.prototype.add):
14392         (ProtocolDecl.prototype.hasHeir):
14393         (ProtocolDecl.prototype.addSignature): Deleted.
14394         * WebGPUShadingLanguageRI/ProtocolFuncDecl.js: Added.
14395         (ProtocolFuncDecl):
14396         * WebGPUShadingLanguageRI/Rewriter.js:
14397         (Rewriter.prototype.visitStructType):
14398         (Rewriter.prototype.visitTypeVariable):
14399         (Rewriter.prototype.visitProtocolFuncDecl):
14400         (Rewriter.prototype.visitCallExpression):
14401         * WebGPUShadingLanguageRI/StructType.js:
14402         (StructType.prototype.instantiate):
14403         * WebGPUShadingLanguageRI/Substitution.js:
14404         (Substitution):
14405         (Substitution.mapping): Deleted.
14406         * WebGPUShadingLanguageRI/Test.js:
14407         (TEST_simpleGeneric):
14408         (TEST_simpleAssignment):
14409         (TEST_simpleDefault):
14410         (TEST_simpleDereference):
14411         (TEST_dereferenceStore):
14412         (TEST_simpleMakePtr):
14413         (TEST_threadArrayLoad):
14414         (TEST_deviceArrayLoad):
14415         (TEST_threadArrayStore):
14416         (TEST_deviceArrayStore):
14417         (TEST_simpleProtocol):
14418         * WebGPUShadingLanguageRI/Visitor.js:
14419         (Visitor.prototype.visitProtocolFuncDecl):
14421 2017-09-01  Eric Carlson  <eric.carlson@apple.com>
14423         Switch HTMLMediaElement to release logging
14424         https://bugs.webkit.org/show_bug.cgi?id=176065
14426         Reviewed by Jer Noble.
14428         * TestWebKitAPI/Tests/WebCore/Logging.cpp:
14429         (TestWebKitAPI::LogObserver::level const):
14431 2017-09-01  Ross Kirsling  <ross.kirsling@sony.com>
14433         download-latest-github-release.py should have friendlier output for non-404 errors
14434         https://bugs.webkit.org/show_bug.cgi?id=176201
14436         Reviewed by Brent Fulgham.
14438         * Scripts/download-latest-github-release.py:
14440 2017-09-01  Filip Pizlo  <fpizlo@apple.com>
14442         [WSL] Add tests for storing to arrays
14443         https://bugs.webkit.org/show_bug.cgi?id=176237
14445         Reviewed by Myles Maxfield.
14446         
14447         Storing to arrays works now.
14449         * WebGPUShadingLanguageRI/ArrayType.js:
14450         (ArrayType):
14451         * WebGPUShadingLanguageRI/Test.js:
14452         (TEST_threadArrayStore):
14453         (TEST_deviceArrayStore):
14455 2017-09-01  Alex Christensen  <achristensen@webkit.org>
14457         Replace WKUIDelegatePrivate's isPlayingMediaDidChange with KVO _isPlayingAudio on WKWebView
14458         https://bugs.webkit.org/show_bug.cgi?id=176212
14460         Reviewed by Tim Horton.
14462         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
14463         (-[AudioObserver observeValueForKeyPath:ofObject:change:context:]):
14464         (TEST):
14465         (-[MediaDelegate _webView:isPlayingMediaDidChange:]): Deleted.
14467 2017-09-01  Filip Pizlo  <fpizlo@apple.com>
14469         WSL Rewriter should be an identity on things that aren't inside function bodies
14470         https://bugs.webkit.org/show_bug.cgi?id=176208
14472         Reviewed by Myles Maxfield.
14473         
14474         Previously, if the Rewriter encountered a FunctionDef, StructType, NativeType, etc., then it
14475         would either crash or try to rewrite them. That's unfortunate because we use the Rewriter to
14476         rewrite struct and function bodies. If a function calls another function, then rewriting the
14477         caller should not mean also rewriting the callee. Previously we "fixed" this by religiously
14478         wrapping references to types with TypeDef and doing other such hacks. But that's subtly wrong.
14479         It only worked because Rewriter wasn't rewriting TypeRef.type. I think that Rewriter has to
14480         rewrite that in the long run because it may refer to another TypeRef, and it may be an
14481         instantiation that is using types that themselves need to be rewritten.
14483         * WebGPUShadingLanguageRI/Checker.js:
14484         (Checker.prototype.visitProtocolDecl.set throw):
14485         * WebGPUShadingLanguageRI/NullType.js:
14486         (NullType):
14487         * WebGPUShadingLanguageRI/Rewriter.js:
14488         (Rewriter.prototype.visitFuncDef):
14489         (Rewriter.prototype.visitNativeFunc):
14490         (Rewriter.prototype.visitNativeFuncInstance):
14491         (Rewriter.prototype.visitNativeType):
14492         (Rewriter.prototype.visitTypeDef):
14493         (Rewriter.prototype.visitStructType):
14494         (Rewriter.prototype.visitTypeVariable):
14495         (Rewriter.prototype.visitConstexprTypeParameter):
14496         (Rewriter.prototype.visitNativeTypeInstance):
14497         (Rewriter.prototype.visitTypeRef):
14498         * WebGPUShadingLanguageRI/Visitor.js:
14499         (Visitor.prototype.visitNativeTypeInstance):
14501 2017-09-01  Alex Christensen  <achristensen@webkit.org>
14503         Disable ObjC WebGL policy SPI on iOS
14504         https://bugs.webkit.org/show_bug.cgi?id=176233
14506         Reviewed by Tim Horton.
14508         * TestWebKitAPI/Tests/WebKitCocoa/WebGLPolicy.mm:
14510 2017-08-31  Carlos Garcia Campos  <cgarcia@igalia.com>
14512         [GTK] Improve the way unit test are run and the results reported
14513         https://bugs.webkit.org/show_bug.cgi?id=176104
14515         Reviewed by Carlos Alberto Lopez Perez.
14517         There are several issues with the way unit tests are run by run-gtk-tests and also with the way results are
14518         reported:
14520          - The results summary only mentions the test binaries, not the actual test cases, so you always have to scroll
14521            up to find the actual test cases failing.
14522          - The number of reported failures is the number of test binaries that failed, so if a new test case fails for
14523            the same binary in a new revision, we won't notice it just looking at the number of failures.
14524          - We show detailed information about skipped test in the results summary, which is just noise.
14525          - In the case of glib tests, when a test case times out, we finish the test suite, instead of continuing with the
14526            rest of the test cases like we do for normal failures or crashes. If a new test case fails after a test case that
14527            timed out we will not notice it until we fix or skip the test cases timing out.
14528          - In the case of glib tests, the timeout is applied to the whole suite, instead of per test case, we have a hack
14529            to make it longer only for that. It has worked so far, but it doesn't scale, and it's an ugly hack.
14530          - It's not currently possible to detect flaky tests, because again, we know the binaries/suites that failed but
14531            not the actual test cases.
14533         This patch fixes all these issues and makes it possible to add support for flaky tests in a follow up patch.
14535         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
14536         (RunGtkAPITests.commandComplete): Update the RunGtkAPITests step to parse the new output.
14537         * Scripts/run-gtk-tests:
14538         (TestRunner._start_timeout): Helper to start the timeout if needed.
14539         (TestRunner._start_timeout._alarm_handler): Raise timeout exception.
14540         (TestRunner._stop_timeout): Helper to stop the timeout if needed.
14541         (TestRunner._waitpid): Merged waitpid and return_code_from_exit_status.
14542         (TestRunner._run_test_glib): Do not double the timeout anymore, we now start/stop the timeout for every test
14543         case. Return a dictionary where keys are test cases and values the results only in case of failures.
14544         (TestRunner._run_test_glib.parse_line): Update the parser to also detect test cases and the results.
14545         (TestRunner._run_test_glib.parse_line.set_test_result): Helper to set the result of a test case.
14546         (TestRunner._run_google_test): Return a dictionary where key is the test case and value is the result only in
14547         case of failure.
14548         (TestRunner._run_google_test_suite): Updated now that _run_google_test returns a dictionary.
14549         (TestRunner.run_tests): Handle the results dictionary and show the results with information about test cases
14550         failing and grouped by test binaries.
14552 2017-08-31  Filip Pizlo  <fpizlo@apple.com>
14554         WSL should support loading from arrays
14555         https://bugs.webkit.org/show_bug.cgi?id=176207
14557         Reviewed by Saam Barati.
14558         
14559         Getting a test that loads from arrays to work required doing a lot of things:
14560         
14561         - a[i] now parses to ^(operator\[](a, i)).
14562         - added operator\[] for four array reference types.
14563         - to make thread|threadgroup|device T[] work, you need T:primitive.
14564         - so this adds the magical primitive protocol.
14565         
14566         This required a little bit of rejuggling in the name resolver and type checker. The main thing
14567         is that to prevent the rewriter from copying the types referenced by some function, you need to
14568         make sure that when you add a reference to a type, you wrap it in a TypeRef. This doesn't
14569         completely feel right, but I'm sure we'll figure out the balance eventually. See bug 176208.
14571         * WebGPUShadingLanguageRI/All.js:
14572         * WebGPUShadingLanguageRI/Checker.js:
14573         (Checker.prototype.visitProtocolDecl.set throw):
14574         * WebGPUShadingLanguageRI/EArrayRef.js: Added.
14575         (EArrayRef):
14576         (EArrayRef.prototype.get ptr):
14577         (EArrayRef.prototype.get length):
14578         (EArrayRef.prototype.toString):
14579         * WebGPUShadingLanguageRI/EPtr.js:
14580         (EPtr.prototype.plus):
14581         (EPtr.prototype.toString):
14582         (EPtr):
14583         * WebGPUShadingLanguageRI/Evaluator.js:
14584         (Evaluator.prototype.visitUintLiteral):
14585         * WebGPUShadingLanguageRI/FuncInstantiator.js:
14586         (FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitNativeFunc):
14587         (FuncInstantiator.prototype.getUnique.Instantiate):
14588         (FuncInstantiator.prototype.getUnique):
14589         (FuncInstantiator):
14590         * WebGPUShadingLanguageRI/Intrinsics.js:
14591         (Intrinsics):
14592         * WebGPUShadingLanguageRI/Lexer.js:
14593         (Lexer.prototype.next):
14594         (Lexer):
14595         * WebGPUShadingLanguageRI/NameContext.js:
14596         (NameContext.prototype.recognizeIntrinsics):
14597         * WebGPUShadingLanguageRI/NameResolver.js:
14598         (NameResolver.prototype.visitProtocolRef):
14599         * WebGPUShadingLanguageRI/NativeFuncInstance.js:
14600         (NativeFuncInstance.prototype.get isNative):
14601         * WebGPUShadingLanguageRI/Parse.js:
14602         (parseTerm):
14603         (parseTypeDef):
14604         (parseNative):
14605         (parsePossibleSuffix):
14606         (parse):
14607         * WebGPUShadingLanguageRI/ProtocolDecl.js:
14608         (ProtocolDecl):
14609         * WebGPUShadingLanguageRI/ProtocolRef.js:
14610         (ProtocolRef.prototype.get isPrimitive):
14611         (ProtocolRef):
14612         * WebGPUShadingLanguageRI/PtrType.js:
14613         (PtrType.prototype.populateDefaultValue): Deleted.
14614         * WebGPUShadingLanguageRI/ReferenceType.js:
14615         (ReferenceType.prototype.populateDefaultValue):
14616         (ReferenceType):
14617         * WebGPUShadingLanguageRI/Rewriter.js:
14618         (Rewriter.prototype.visitUintLiteral):
14619         (Rewriter.prototype.visitFunc): Deleted.
14620         (Rewriter.prototype.visitTypeVariable): Deleted.
14621         (Rewriter.prototype.visitConstexprTypeParameter): Deleted.
14622         * WebGPUShadingLanguageRI/StandardLibrary.js:
14623         * WebGPUShadingLanguageRI/Test.js:
14624         (TEST_threadArrayLoad):
14625         (TEST_deviceArrayLoad):
14626         * WebGPUShadingLanguageRI/TypeRef.js:
14627         (TypeRef.prototype.get instantiatedType):
14628         * WebGPUShadingLanguageRI/TypeVariable.js:
14629         (TypeVariable.prototype.toString):
14630         (TypeVariable):
14631         * WebGPUShadingLanguageRI/UintLiteral.js: Added.
14632         (UintLiteral):
14633         (UintLiteral.prototype.get value):
14634         (UintLiteral.prototype.get isConstexpr):
14635         (UintLiteral.prototype.toString):
14636         * WebGPUShadingLanguageRI/Visitor.js:
14637         (Visitor.prototype.visitNativeFuncInstance):
14638         (Visitor.prototype.visitTypeVariable):
14639         (Visitor.prototype.visitPtrType):
14640         (Visitor.prototype.visitArrayRefType):
14641         (Visitor.prototype.visitUintLiteral):
14642         * WebGPUShadingLanguageRI/WTrapError.js: Added.
14643         (WTrapError):
14645 2017-08-31  Alex Christensen  <achristensen@webkit.org>
14647         Add WKUIDelegatePrivate equivalent of WKPageUIClient's isPlayingAudioDidChange
14648         https://bugs.webkit.org/show_bug.cgi?id=176203
14649         <rdar://problem/29270035>
14651         Reviewed by Tim Horton.
14653         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
14654         (-[MediaDelegate _webView:isPlayingMediaDidChange:]):
14655         (-[MediaDelegate webView:didFinishNavigation:]):
14656         (TEST):
14658 2017-08-31  Alex Christensen  <achristensen@webkit.org>
14660         Add ObjC SPI corresponding to WKPageLoaderClient's webGLLoadPolicy and resolveWebGLLoadPolicy
14661         https://bugs.webkit.org/show_bug.cgi?id=175779
14662         <rdar://problem/22367975>
14664         Reviewed by Tim Horton.
14666         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
14667         * TestWebKitAPI/Tests/WebKitCocoa/WebGLPolicy.mm: Added.
14668         (-[WebGLTestDelegate webView:startURLSchemeTask:]):
14669         (-[WebGLTestDelegate webView:stopURLSchemeTask:]):
14670         (-[WebGLTestDelegate _webView:webGLLoadPolicyForURL:decisionHandler:]):
14671         (-[WebGLTestDelegate _webView:resolveWebGLLoadPolicyForURL:decisionHandler:]):
14672         (-[WebGLTestDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
14673         (urlsEqual):
14674         (runTest):
14675         (TEST):
14677 2017-08-31  Don Olmstead  <don.olmstead@sony.com>
14679         [CMake] Make USE_CF conditional within Windows
14680         https://bugs.webkit.org/show_bug.cgi?id=176173
14682         Reviewed by Alex Christensen.
14684         * DumpRenderTree/config.h:
14685         * MiniBrowser/win/CMakeLists.txt:
14686         * MiniBrowser/win/stdafx.h:
14687         * TestWebKitAPI/PlatformWin.cmake:
14689 2017-08-31  Filip Pizlo  <fpizlo@apple.com>
14691         WSL should support makeptr (\)
14692         https://bugs.webkit.org/show_bug.cgi?id=176197
14694         Reviewed by Saam Barati.
14695         
14696         This required introducing some sanity about how pointers are carried around in the evaluator.
14697         It turns out that we need to be careful about when a pointer to an rvalue is dereferenced. It
14698         should be dereferenced basically immediately. If it cannot be, then we need to snapshot the
14699         value. To do that, we need to know the types of things in a few more places. That's what this
14700         change accomplishes.
14702         * WebGPUShadingLanguageRI/All.js:
14703         * WebGPUShadingLanguageRI/CallFunction.js:
14704         (callFunction):
14705         * WebGPUShadingLanguageRI/Checker.js:
14706         (Checker.prototype.visitProtocolDecl.set throw):
14707         * WebGPUShadingLanguageRI/DereferenceExpression.js:
14708         (DereferenceExpression.prototype.get isLValue):
14709         * WebGPUShadingLanguageRI/Evaluator.js:
14710         (Evaluator.prototype._snapshot):
14711         (Evaluator.prototype.runBody):
14712         (Evaluator.prototype.visitFunctionLikeBlock):
14713         (Evaluator.prototype.visitDereferenceExpression):
14714         (Evaluator.prototype.visitMakePtrExpression):
14715         (Evaluator.prototype.visitCommaExpression):
14716         (Evaluator.prototype.visitCallExpression):
14717         (Evaluator):
14718         (Evaluator.prototype._dereference): Deleted.
14719         * WebGPUShadingLanguageRI/FuncInstantiator.js:
14720         (FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitFuncDef):
14721         (FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitNativeFunc):
14722         (FuncInstantiator.prototype.getUnique.Instantiate):
14723         (FuncInstantiator.prototype.getUnique):
14724         (FuncInstantiator):
14725         * WebGPUShadingLanguageRI/FunctionLikeBlock.js:
14726         (FunctionLikeBlock):
14727         (FunctionLikeBlock.prototype.get returnType):
14728         (FunctionLikeBlock.prototype.toString):
14729         * WebGPUShadingLanguageRI/Inliner.js:
14730         (Inliner.prototype.visitCallExpression):
14731         (Inliner):
14732         * WebGPUShadingLanguageRI/MakePtrExpression.js: Added.
14733         (MakePtrExpression):
14734         (MakePtrExpression.prototype.get lValue):
14735         (MakePtrExpression.prototype.toString):
14736         * WebGPUShadingLanguageRI/NativeFuncInstance.js: Added.
14737         (NativeFuncInstance):
14738         (NativeFuncInstance.prototype.get func):
14739         (NativeFuncInstance.prototype.toString):
14740         * WebGPUShadingLanguageRI/Rewriter.js:
14741         (Rewriter.prototype.visitMakePtrExpression):
14742         (Rewriter.prototype.visitCallExpression):
14743         * WebGPUShadingLanguageRI/Test.js:
14744         (TEST_dereferenceStore):
14745         (TEST_simpleMakePtr):
14746         * WebGPUShadingLanguageRI/Value.js:
14747         (Value.prototype.get isLValue):
14748         (Value):
14749         * WebGPUShadingLanguageRI/VariableRef.js:
14750         (VariableRef.prototype.get isLValue):
14751         (VariableRef.prototype.get addressSpace):
14752         * WebGPUShadingLanguageRI/Visitor.js:
14753         (Visitor.prototype.visitMakePtrExpression):
14754         (Visitor.prototype.visitCallExpression):
14756 2017-08-31  Ryan Haddad  <ryanhaddad@apple.com>
14758         Unreviewed, rolling out r221445.
14760         This change broke Sierra Release builds.
14762         Reverted changeset:
14764         "Switch HTMLMediaElement to release logging"
14765         https://bugs.webkit.org/show_bug.cgi?id=176065
14766         http://trac.webkit.org/changeset/221445
14768 2017-08-31  Filip Pizlo  <fpizlo@apple.com>
14770         WSL should support dereference (^)
14771         https://bugs.webkit.org/show_bug.cgi?id=176192
14773         Reviewed by Myles Maxfield.
14774         
14775         This implements DereferenceExpression.
14776         
14777         It also renames Evaluator.prototype.visitFunctionBody, because that name confusingly implies
14778         that there is a class named FunctionBody. It's now called runBody.
14779         
14780         I made the check to see if a type is a pointer type be the isPtr method, so that we can have
14781         other pointer types that are implemented via something other than PtrType. We might want it if
14782         for example we wanted a pointer type that is generic over address space.
14784         * WebGPUShadingLanguageRI/All.js:
14785         * WebGPUShadingLanguageRI/CallFunction.js:
14786         (callFunction):
14787         * WebGPUShadingLanguageRI/Checker.js:
14788         (Checker.prototype.visitProtocolDecl.set throw):
14789         * WebGPUShadingLanguageRI/DereferenceExpression.js: Added.
14790         (DereferenceExpression):
14791         (DereferenceExpression.prototype.get ptr):
14792         (DereferenceExpression.prototype.toString):
14793         * WebGPUShadingLanguageRI/Evaluator.js:
14794         (Evaluator.prototype.visitFunctionLikeBlock):
14795         (Evaluator.prototype._dereference):
14796         (Evaluator.prototype.visitDereferenceExpression):
14797         (Evaluator.prototype.visitFunctionBody): Deleted.
14798         * WebGPUShadingLanguageRI/PtrType.js:
14799         (PtrType.prototype.get isPtr):
14800         (PtrType.prototype.populateDefaultValue):
14801         * WebGPUShadingLanguageRI/Rewriter.js:
14802         (Rewriter.prototype.visitAssignment):
14803         (Rewriter.prototype.visitDereferenceExpression):
14804         * WebGPUShadingLanguageRI/Test.js:
14805         (TEST_simpleDereference):
14806         * WebGPUShadingLanguageRI/Type.js:
14807         (Type.prototype.get isPtr):
14808         * WebGPUShadingLanguageRI/Visitor.js:
14809         (Visitor.prototype.visitDereferenceExpression):
14811 2017-08-31  Filip Pizlo  <fpizlo@apple.com>
14813         There should only be one callFunction API in WSL
14814         https://bugs.webkit.org/show_bug.cgi?id=176189
14816         Reviewed by Saam Barati.
14817         
14818         This removes the need for callFunctionByRef, which was weird. It's now the case the TypedValue
14819         is always a tuple of type and ePtr, and TypedValue has a super simple API for boxing and
14820         unboxing single-cell values like ints.
14822         * WebGPUShadingLanguageRI/CallFunction.js:
14823         (callFunction):
14824         (callFunctionByRef): Deleted.
14825         * WebGPUShadingLanguageRI/Test.js:
14826         (makeInt):
14827         * WebGPUShadingLanguageRI/TypedValue.js:
14828         (TypedValue):
14829         (TypedValue.prototype.get type):
14830         (TypedValue.prototype.get ePtr):
14831         (TypedValue.box):
14832         (TypedValue.prototype.get value):
14833         (TypedValue.prototype.toString):
14835 2017-08-31  Filip Pizlo  <fpizlo@apple.com>
14837         WSL EPtr does not need to carry around the type
14838         https://bugs.webkit.org/show_bug.cgi?id=176188
14840         Reviewed by Saam Barati.
14841         
14842         To validate that the interpreter is modeling a statically typed execution environment, it's
14843         really best if values don't know their types at all. A pointer is just a pointer (i.e a buffer
14844         and offset in our world), and it's the job of the AST node that uses it to figure out what its
14845         type should be.
14846         
14847         I think this makes the code simpler overall.
14849         * WebGPUShadingLanguageRI/All.js:
14850         * WebGPUShadingLanguageRI/CallFunction.js:
14851         (callFunctionByRef):
14852         (callFunction):
14853         * WebGPUShadingLanguageRI/Checker.js:
14854         (Checker.prototype.visitProtocolDecl.set throw):
14855         * WebGPUShadingLanguageRI/EBufferBuilder.js:
14856         (EBufferBuilder.prototype._createEPtr):
14857         * WebGPUShadingLanguageRI/EPtr.js:
14858         (EPtr):
14859         (EPtr.box):
14860         (EPtr.prototype.copyFrom):
14861         (EPtr.prototype.toString):
14862         * WebGPUShadingLanguageRI/EValue.js: Removed.
14863         * WebGPUShadingLanguageRI/Evaluator.js:
14864         (Evaluator.prototype.visitFunctionLikeBlock):
14865         (Evaluator.prototype.visitVariableDecl):
14866         (Evaluator.prototype.visitAssignment):
14867         (Evaluator.prototype.visitIntLiteral):
14868         * WebGPUShadingLanguageRI/Intrinsics.js:
14869         (Intrinsics):
14870         * WebGPUShadingLanguageRI/Rewriter.js:
14871         (Rewriter.prototype.visitAssignment):
14872         * WebGPUShadingLanguageRI/StructType.js:
14873         (StructType.prototype.instantiate):
14874         * WebGPUShadingLanguageRI/Test.js:
14875         (checkInt):
14877 2017-08-31  Filip Pizlo  <fpizlo@apple.com>
14879         WSL doesn't need to wrap primitives like ints and floats in specialized classes like EInt and EFloat
14880         https://bugs.webkit.org/show_bug.cgi?id=176184
14882         Reviewed by Saam Barati.
14883         
14884         The only use for EInt and EFloat was that users of the interpreter want to be able to reason
14885         about values that know their type. But for the actual interpreter, it makes most sense for
14886         EBuffer to hold values directly - for example, ints in the case of values of type int. Then,
14887         all of the logic of doing math on those things can be implemented in Intrinsics.js.
14888         
14889         So, this removes EInt and EFloat but introduces a new TypedValue class that is used only on the
14890         boundary of the interpreter. You can either use the interpreter by speaking its internal
14891         language (EPtr to an EBuffer that has the values) or by using the simple API (which uses
14892         TypedValue as a trade-off between power and convenience).
14894         * WebGPUShadingLanguageRI/All.js:
14895         * WebGPUShadingLanguageRI/CallFunction.js:
14896         (callFunction):
14897         * WebGPUShadingLanguageRI/EFloat.js: Removed.
14898         * WebGPUShadingLanguageRI/EInt.js: Removed.
14899         * WebGPUShadingLanguageRI/EPtr.js:
14900         (EPtr.box):
14901         * WebGPUShadingLanguageRI/Evaluator.js:
14902         (Evaluator.prototype.visitIntLiteral):
14903         * WebGPUShadingLanguageRI/Intrinsics.js:
14904         (Intrinsics):
14905         * WebGPUShadingLanguageRI/Test.js:
14906         (makeInt):
14907         (checkInt):
14908         (TEST_add1):
14909         (TEST_simpleGeneric):
14910         (TEST_simpleAssignment):
14911         (TEST_simpleDefault):
14912         * WebGPUShadingLanguageRI/TypedValue.js: Added.
14913         (TypedValue):
14914         (TypedValue.prototype.toString):
14916 2017-08-31  David Quesada  <david_quesada@apple.com>
14918         WKNavigationDelegatePrivate client redirect SPI needs to be able to detect redirects scheduled before the document finishes loading
14919         https://bugs.webkit.org/show_bug.cgi?id=176128
14920         rdar://problem/34068476
14922         Reviewed by Brady Eidson.
14924         Removed API test for the deleted WKNavigationDelegatePrivate method,
14925         and added two new tests for the two new methods.
14927         * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
14928         (-[ClientRedirectNavigationDelegate _webView:willPerformClientRedirectToURL:delay:]):
14929         (-[ClientRedirectNavigationDelegate _webViewDidCancelClientRedirect:]):
14930         (-[ClientRedirectNavigationDelegate webView:didFinishNavigation:]):
14931         (TEST):
14933 2017-08-31  Filip Pizlo  <fpizlo@apple.com>
14935         WSL should handle variable assignments and variable declarations
14936         https://bugs.webkit.org/show_bug.cgi?id=176180
14938         Reviewed by Saam Barati.
14939         
14940         Just fills in VariableDecl and Assignment logic so that we can test variables.
14942         * WebGPUShadingLanguageRI/Checker.js:
14943         (Checker.prototype.visitProtocolDecl.set throw):
14944         * WebGPUShadingLanguageRI/EBufferBuilder.js:
14945         (EBufferBuilder.prototype._createEPtrForNode):
14946         (EBufferBuilder.prototype.visitFuncParameter):
14947         (EBufferBuilder.prototype.visitVariableDecl):
14948         (EBufferBuilder):
14949         * WebGPUShadingLanguageRI/Evaluator.js:
14950         (Evaluator.prototype.visitVariableDecl):
14951         (Evaluator.prototype.visitAssignment):
14952         * WebGPUShadingLanguageRI/NameResolver.js:
14953         (NameResolver.prototype.visitVariableDecl):
14954         * WebGPUShadingLanguageRI/Rewriter.js:
14955         (Rewriter.prototype.visitFuncParameter):
14956         (Rewriter.prototype.visitVariableDecl):
14957         * WebGPUShadingLanguageRI/Test.js:
14958         (makeInt):
14959         (TEST_add1):
14960         (TEST_simpleGeneric):
14961         (TEST_simpleAssignment):
14962         (TEST_simpleDefault):
14963         * WebGPUShadingLanguageRI/Visitor.js:
14964         (Visitor.prototype.visitVariableDecl):
14966 2017-08-31  Chris Dumez  <cdumez@apple.com>
14968         getFileMetadata() does not work as expected for symbolic links
14969         https://bugs.webkit.org/show_bug.cgi?id=176143
14971         Reviewed by Andreas Kling.
14973         Add API test coverage.
14975         * TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
14976         (TestWebKitAPI::TEST_F):
14978 2017-08-31  Filip Pizlo  <fpizlo@apple.com>
14980         WSL parser should pass the token as the origin to the AST
14981         https://bugs.webkit.org/show_bug.cgi?id=176177
14983         Reviewed by Keith Miller.
14984         
14985         Parse.js was sometimes passing token.origin as the origin, but that's just the filename
14986         component of the origin. This fixes the problem and adds a test. The test previously failed
14987         because instead of reporting the origin of the type error as "<test>:1", it reported undefined.
14989         * WebGPUShadingLanguageRI/Parse.js:
14990         (parseProtocolRef):
14991         (consumeEndOfTypeArgs):
14992         (parseTypeParameters):
14993         (parseTerm):
14994         (parseTypeArguments):
14995         (parseType):
14996         (parseTypeDef):
14997         (parseNative):
14998         (parseLeftOperatorCall):
14999         (parsePossibleSuffix):
15000         (parsePossiblePrefix):
15001         (parsePossibleRelationalEquality):
15002         (parseLeftLogicalExpression):
15003         (parsePossibleTernaryConditional):
15004         (parsePossibleAssignment):
15005         (genericParseCommaExpression):
15006         (parseReturn):
15007         (parseVariableDecls):
15008         (parseBlock):
15009         * WebGPUShadingLanguageRI/Test.js:
15010         (checkFail):
15011         (TEST_nameResolutionFailure):
15013 2017-08-31  Keith Miller  <keith_miller@apple.com>
15015         Add a filter argument to WSL test suite.
15016         https://bugs.webkit.org/show_bug.cgi?id=176176
15018         Reviewed by Filip Pizlo.
15020         * WebGPUShadingLanguageRI/Test.js:
15021         (this.string_appeared_here.i.switch):
15022         (let.s.in.this.s.startsWith.string_appeared_here.s.match):
15023         (let.s.in.this.s.startsWith): Deleted.
15025 2017-08-30  Filip Pizlo  <fpizlo@apple.com>
15027         WSL should be able to run a program that uses generics
15028         https://bugs.webkit.org/show_bug.cgi?id=176152
15030         Reviewed by Keith Miller.
15031         
15032         This fixes the WSL parser and type checker to the point that we can:
15033         
15034         - Parse a function call!
15035         - Type check a generic function call with an inferred type parameter.
15036         - Instantiate a generic function.
15037         - Inline a function call.
15038         - Evaluate an inlined function call.
15039         
15040         This also changes the test suite so that it's a little nicer to add new tests. Functions whose
15041         names start with "TEST_" are tests.
15043         * WebGPUShadingLanguageRI/Checker.js:
15044         (Checker.prototype.visitProtocolDecl.set throw):
15045         * WebGPUShadingLanguageRI/EBufferBuilder.js:
15046         (EBufferBuilder.prototype.visitFuncParameter):
15047         (EBufferBuilder):
15048         * WebGPUShadingLanguageRI/Evaluator.js:
15049         (Evaluator.prototype.visitFunctionLikeBlock):
15050         * WebGPUShadingLanguageRI/FuncDef.js:
15051         (FuncDef.prototype.toString):
15052         (FuncDef):
15053         * WebGPUShadingLanguageRI/FuncInstantiator.js:
15054         (FuncInstantiator.prototype.getUnique):
15055         (FuncInstantiator):
15056         * WebGPUShadingLanguageRI/Inliner.js:
15057         (Inliner.prototype.visitCallExpression):
15058         (Inliner):
15059         * WebGPUShadingLanguageRI/Lexer.js:
15060         (Lexer):
15061         * WebGPUShadingLanguageRI/NameContext.js:
15062         (NameContext):
15063         (NameContext.prototype.add):
15064         (NameContext.prototype.get let):
15065         (NameContext.prototype.defineAll):
15066         (NameContext.get intrinsics): Deleted.
15067         (NameContext.set program): Deleted.
15068         (NameContext.get program): Deleted.
15069         * WebGPUShadingLanguageRI/NameResolver.js:
15070         (NameResolver.prototype.visitProgram):
15071         * WebGPUShadingLanguageRI/Parse.js:
15072         (parseTerm):
15073         (parsePossibleSuffix):
15074         (genericParseCommaExpression):
15075         (parseReturn):
15076         * WebGPUShadingLanguageRI/Program.js:
15077         (Program.prototype.resolveFuncOverload):
15078         * WebGPUShadingLanguageRI/ProtocolDecl.js:
15079         (ProtocolDecl.prototype.inherits):
15080         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
15081         (resolveOverloadImpl):
15082         * WebGPUShadingLanguageRI/Rewriter.js:
15083         (Rewriter.prototype.visitFuncParameter):
15084         (Rewriter.prototype.visitCallExpression):
15085         (Rewriter.prototype._map): Deleted.
15086         * WebGPUShadingLanguageRI/Test.js:
15087         (checkInt):
15088         (TEST_add1):
15089         (TEST_simpleGeneric):
15090         (let.s.in.this.s.startsWith):
15091         (load): Deleted.
15092         * WebGPUShadingLanguageRI/TypeVariable.js:
15093         (TypeVariable.prototype.typeVariableUnify):
15094         * WebGPUShadingLanguageRI/UnificationContext.js:
15095         (UnificationContext.prototype.union):
15097 2017-08-30  Alex Christensen  <achristensen@webkit.org>
15099         Add WKUIDelegatePrivate equivalent of WKPageUIClient's didClickAutoFillButton
15100         https://bugs.webkit.org/show_bug.cgi?id=176139
15101         <rdar://problem/29270035>
15103         Reviewed by Tim Horton.
15105         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
15106         * TestWebKitAPI/Tests/WebKitCocoa/ClickAutoFillButton.mm: Added.
15107         (didClickAutoFillButton):
15108         (-[ClickAutoFillButton webProcessPlugIn:didCreateBrowserContextController:]):
15109         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
15110         (-[AutoFillDelegate _webView:didClickAutoFillButtonWithUserInfo:]):
15111         (-[AutoFillDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
15112         (TEST):
15114 2017-08-31  Carlos Garcia Campos  <cgarcia@igalia.com>
15116         [GTK] Several InputMethodFilter tests are failing and crashing
15117         https://bugs.webkit.org/show_bug.cgi?id=176158
15119         Reviewed by Carlos Alberto Lopez Perez.
15121         This started to happen after the GTK+ upgrade from 3.16 to 3.22 in the internal jhbuild. Now, GtkIMContext
15122         doesn't emit the preedit signals when using the compose key (GDK_KEY_Multi_key). The composition results are
15123         committed directly when they are ready. The test InputMethodFilterComposeKey was failing because it expected
15124         preedit events that no longer happen. Tests InputMethodFilterContextFocusOutDuringOngoingComposition and
15125         InputMethodFilterContextMouseClickDuringOngoingComposition were crashing because InputMethodFilter::confirmCurrentComposition()
15126         accessed the WebPageProxy unconditionally, that is not available in testing mode. I wonder how this ever
15127         worked. Other tests results have also been updated because logHandleKeyboardEventWithCompositionResultsForTesting()
15128         now uses hexadecimal numbers for the key codes, for consistency with all other event logs.
15130         * TestWebKitAPI/Tests/WebKit/gtk/InputMethodFilter.cpp:
15131         (TestWebKitAPI::TestInputMethodFilter::TestInputMethodFilter):
15132         (TestWebKitAPI::TEST):
15133         (TestWebKitAPI::verifyCanceledComposition): Deleted.
15135 2017-08-31  Carlos Garcia Campos  <cgarcia@igalia.com>
15137         [GTK][Wayland] Crash when gdk_keymap_get_entries_for_keyval returns TRUE but n_keys=0
15138         https://bugs.webkit.org/show_bug.cgi?id=176154
15140         Reviewed by Carlos Alberto Lopez Perez.
15142         Also check the n_keys > 0 when using gdk_keymap_get_entries_for_keyval().
15144         * TestWebKitAPI/Tests/WebKit/gtk/InputMethodFilter.cpp:
15145         (TestWebKitAPI::TestInputMethodFilter::sendKeyEventToFilter):
15146         * TestWebKitAPI/Tests/WebKitGtk/TestPrinting.cpp: Remove duplicated code and use WebViewTest::keyStroke instead.
15147         * TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp:
15148         (WebViewTest::keyStroke):
15149         * TestWebKitAPI/gtk/PlatformWebViewGtk.cpp:
15150         (TestWebKitAPI::doKeyStroke):
15151         * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
15152         (WTR::EventSenderProxy::keyDown):
15154 2017-08-31  Carlos Garcia Campos  <cgarcia@igalia.com>
15156         Unreviewed. Fix GTK+ test /webkit2/WebKitAutomationSession/request-session.
15158         It fails when comparing the browser version if micro version is 0 (or if both micro and minor are 0 too).
15160         * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp: Use a helper method to convert major, minor, micro
15161         numbers into a version string, using the same approach as WebKitAutomationSession.
15163 2017-08-30  Dan Bernstein  <mitz@apple.com>
15165         [iOS] REGRESSION (r218144) -[WKContentView targetForAction:withSender:] returns the content view for actions implemented only by the WKWebView, causing a crash
15166         https://bugs.webkit.org/show_bug.cgi?id=176077
15167         <rdar://problem/34145200>
15169         Reviewed by Sam Weinig.
15171         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
15172         * TestWebKitAPI/Tests/WebKitCocoa/WKContentViewTargetForAction.mm: Added.
15173         (-[TestWKContentViewTargetForActionView testAction:]):
15174         (TEST):
15175         * TestWebKitAPI/ios/UIKitSPI.h:
15177 2017-08-30  Carlos Alberto Lopez Perez  <clopez@igalia.com>
15179         [GTK] install-dependencies script should install CUPS headers
15180         https://bugs.webkit.org/show_bug.cgi?id=176129
15182         Reviewed by Michael Catanzaro.
15183         
15184         When building GTK+ on the JHBuild, it will enable the CUPS print
15185         backend if the CUPS headers are installed. Having a print backend
15186         on GTK+ is needed for the print-related API tests.
15188         * gtk/install-dependencies:
15190 2017-08-30  Filip Pizlo  <fpizlo@apple.com>
15192         Rename ArrayLang to WebGPU Shading Language, or WSL for short, pronounced "whistle"
15193         https://bugs.webkit.org/show_bug.cgi?id=176117
15195         Reviewed by Myles Maxfield.
15196         
15197         Renamed ArrayLangRI to WebGPUShadingLanguageRI.
15198         
15199         Renamed ALSyntaxError/ALTypeError to WSyntaxError/WTypeError.
15200         
15201         Renamed all references to "ArrayLang" in the code to "WSL".
15203         * ArrayLangRI: Removed.
15204         * ArrayLangRI/ALSyntaxError.js: Removed.
15205         * ArrayLangRI/ALTypeError.js: Removed.
15206         * ArrayLangRI/AddressSpace.js: Removed.
15207         * ArrayLangRI/All.js: Removed.
15208         * ArrayLangRI/ArrayRefType.js: Removed.
15209         * ArrayLangRI/ArrayType.js: Removed.
15210         * ArrayLangRI/Assignment.js: Removed.
15211         * ArrayLangRI/Block.js: Removed.
15212         * ArrayLangRI/CallAssignment.js: Removed.
15213         * ArrayLangRI/CallExpression.js: Removed.
15214         * ArrayLangRI/CallFunction.js: Removed.
15215         * ArrayLangRI/Check.js: Removed.
15216         * ArrayLangRI/Checker.js: Removed.
15217         * ArrayLangRI/CommaExpression.js: Removed.
15218         * ArrayLangRI/ConstexprTypeParameter.js: Removed.
15219         * ArrayLangRI/EBuffer.js: Removed.
15220         * ArrayLangRI/EBufferBuilder.js: Removed.
15221         * ArrayLangRI/EFloat.js: Removed.
15222         * ArrayLangRI/EInt.js: Removed.
15223         * ArrayLangRI/EPtr.js: Removed.
15224         * ArrayLangRI/EValue.js: Removed.
15225         * ArrayLangRI/EvaluationCommon.js: Removed.
15226         * ArrayLangRI/Evaluator.js: Removed.
15227         * ArrayLangRI/Expression.js: Removed.
15228         * ArrayLangRI/Field.js: Removed.
15229         * ArrayLangRI/Func.js: Removed.
15230         * ArrayLangRI/FuncDef.js: Removed.
15231         * ArrayLangRI/FuncInstantiator.js: Removed.
15232         * ArrayLangRI/FuncParameter.js: Removed.
15233         * ArrayLangRI/FunctionLikeBlock.js: Removed.
15234         * ArrayLangRI/Inline.js: Removed.
15235         * ArrayLangRI/Inliner.js: Removed.
15236         * ArrayLangRI/InstantiateImmediates.js: Removed.
15237         * ArrayLangRI/IntLiteral.js: Removed.
15238         * ArrayLangRI/Intrinsics.js: Removed.
15239         * ArrayLangRI/Lexer.js: Removed.
15240         * ArrayLangRI/LexerToken.js: Removed.
15241         * ArrayLangRI/NameContext.js: Removed.
15242         * ArrayLangRI/NameResolver.js: Removed.
15243         * ArrayLangRI/NativeFunc.js: Removed.
15244         * ArrayLangRI/NativeType.js: Removed.
15245         * ArrayLangRI/NativeTypeInstance.js: Removed.
15246         * ArrayLangRI/Node.js: Removed.
15247         * ArrayLangRI/NullType.js: Removed.
15248         * ArrayLangRI/Parse.js: Removed.
15249         * ArrayLangRI/Prepare.js: Removed.
15250         * ArrayLangRI/Program.js: Removed.
15251         * ArrayLangRI/Protocol.js: Removed.
15252         * ArrayLangRI/ProtocolDecl.js: Removed.
15253         * ArrayLangRI/ProtocolRef.js: Removed.
15254         * ArrayLangRI/PtrType.js: Removed.
15255         * ArrayLangRI/ReferenceType.js: Removed.
15256         * ArrayLangRI/ResolveNames.js: Removed.
15257         * ArrayLangRI/ResolveOverloadImpl.js: Removed.
15258         * ArrayLangRI/ResolveTypeDefs.js: Removed.
15259         * ArrayLangRI/Return.js: Removed.
15260         * ArrayLangRI/ReturnException.js: Removed.
15261         * ArrayLangRI/Rewriter.js: Removed.
15262         * ArrayLangRI/StandardLibrary.js: Removed.
15263         * ArrayLangRI/StructType.js: Removed.
15264         * ArrayLangRI/Substitution.js: Removed.
15265         * ArrayLangRI/SuffixCallAssignment.js: Removed.
15266         * ArrayLangRI/Test.js: Removed.
15267         * ArrayLangRI/Type.js: Removed.
15268         * ArrayLangRI/TypeDef.js: Removed.
15269         * ArrayLangRI/TypeDefResolver.js: Removed.
15270         * ArrayLangRI/TypeOrVariableRef.js: Removed.
15271         * ArrayLangRI/TypeRef.js: Removed.
15272         * ArrayLangRI/TypeVariable.js: Removed.
15273         * ArrayLangRI/UnificationContext.js: Removed.
15274         * ArrayLangRI/Value.js: Removed.
15275         * ArrayLangRI/VariableDecl.js: Removed.
15276         * ArrayLangRI/VariableRef.js: Removed.
15277         * ArrayLangRI/VisitingSet.js: Removed.
15278         * ArrayLangRI/Visitor.js: Removed.
15279         * WebGPUShadingLanguageRI: Copied from Tools/ArrayLangRI.
15280         * WebGPUShadingLanguageRI/ALSyntaxError.js: Removed.
15281         * WebGPUShadingLanguageRI/ALTypeError.js: Removed.
15282         * WebGPUShadingLanguageRI/All.js:
15283         * WebGPUShadingLanguageRI/CallFunction.js:
15284         (callFunctionByRef):
15285         * WebGPUShadingLanguageRI/Checker.js:
15286         (Checker.prototype.visitProtocolDecl.set throw):
15287         * WebGPUShadingLanguageRI/Intrinsics.js:
15288         (Intrinsics.prototype.add):
15289         (Intrinsics):
15290         * WebGPUShadingLanguageRI/Lexer.js:
15291         (Lexer):
15292         * WebGPUShadingLanguageRI/NameContext.js:
15293         (NameContext.prototype.add):
15294         * WebGPUShadingLanguageRI/NameResolver.js:
15295         (NameResolver.prototype._resolveTypeArguments):
15296         (NameResolver.prototype.visitTypeRef):
15297         (NameResolver.prototype.visitVariableRef):
15298         * WebGPUShadingLanguageRI/Parse.js:
15299         * WebGPUShadingLanguageRI/StandardLibrary.js:
15300         * WebGPUShadingLanguageRI/StructType.js:
15301         (StructType.prototype.add):
15302         (StructType.prototype.instantiate):
15303         * WebGPUShadingLanguageRI/TypeDefResolver.js:
15304         (TypeDefResolver.prototype.visitTypeRef):
15305         (TypeDefResolver):
15306         * WebGPUShadingLanguageRI/VisitingSet.js:
15307         (VisitingSet.prototype.doVisit):
15308         (VisitingSet):
15309         * WebGPUShadingLanguageRI/WSyntaxError.js: Copied from Tools/ArrayLangRI/ALSyntaxError.js.
15310         (ALSyntaxError): Deleted.
15311         * WebGPUShadingLanguageRI/WTypeError.js: Copied from Tools/ArrayLangRI/ALTypeError.js.
15312         (ALTypeError): Deleted.
15314 2017-08-30  Eric Carlson  <eric.carlson@apple.com>
15316         Add Logger observer and helper class
15317         https://bugs.webkit.org/show_bug.cgi?id=176106
15319         Reviewed by Andy Estes.
15321         * TestWebKitAPI/Tests/WebCore/Logging.cpp:
15322         (TestWebKitAPI::LoggingTest::LoggingTest):
15323         (TestWebKitAPI::LoggingTest::Logger::create):
15324         (TestWebKitAPI::TEST_F):
15325         (TestWebKitAPI::LogObserver::log):
15326         (TestWebKitAPI::LogObserver::channel const):
15328 2017-08-29  Filip Pizlo  <fpizlo@apple.com>
15330         Initial reference implementation scaffolding for ArrayLang
15331         https://bugs.webkit.org/show_bug.cgi?id=175925
15333         Reviewed by Myles Maxfield.
15334         
15335         This introduces a very rough scaffolding for an AST walk interpreter and type checker for an
15336         experimental shader language we are calling ArrayLang for now.
15337         
15338         The idea is to have a strong core type system that includes generics and memory-safe pointers
15339         and array references. Everything has deterministic semantics right up to the limit of what is
15340         portably possible.
15341         
15342         This language will support generics. This will be valid:
15343         
15344         protocol Addable { Addable operator+(Addable, Addable); }
15345         T add<T:Addable>(T a, T b) { return a + b; }
15346         
15347         This language will support pointers and array references. This will be valid:
15348         
15349         thread int^ foo() { int x; return \x; }
15350         
15351         Each variable behaves as if it was declared "static", with one copy per type instantiation.
15352         Functions cannot recurse and there is no stack.
15353         
15354         Currently, this just tests that the following function can be parsed, checked, and called:
15355         
15356         int foo(int x) { return x + 1; }
15358         * ArrayLangRI: Added.
15359         * ArrayLangRI/ALSyntaxError.js: Added.
15360         (ALSyntaxError):
15361         * ArrayLangRI/ALTypeError.js: Added.
15362         (ALTypeError):
15363         * ArrayLangRI/AddressSpace.js: Added.
15364         (isAddressSpace):
15365         (validateAddressSpace):
15366         * ArrayLangRI/All.js: Added.
15367         * ArrayLangRI/ArrayRefType.js: Added.
15368         (ArrayRefType.prototype.unifyImpl):
15369         (ArrayRefType.prototype.toString):
15370         (ArrayRefType):
15371         * ArrayLangRI/ArrayType.js: Added.
15372         (ArrayType):
15373         (ArrayType.prototype.get origin):
15374         (ArrayType.prototype.get elementType):
15375         (ArrayType.prototype.get numElements):
15376         (ArrayType.prototype.get isPrimitive):
15377         (ArrayType.prototype.toString):
15378         (ArrayType.prototype.get size):
15379         (ArrayType.prototype.unifyImpl):
15380         * ArrayLangRI/Assignment.js: Added.
15381         (Assignment):
15382         (Assignment.prototype.get lhs):
15383         (Assignment.prototype.get rhs):
15384         (Assignment.prototype.toString):
15385         * ArrayLangRI/Block.js: Added.
15386         (Block):
15387         (Block.prototype.get origin):
15388         (Block.prototype.add):
15389         (Block.prototype.get statements):
15390         (Block.prototype.toString):
15391         * ArrayLangRI/CallAssignment.js: Added.
15392         (CallAssignment):
15393         (CallAssignment.prototype.get name):
15394         (CallAssignment.prototype.get lhs):
15395         (CallAssignment.prototype.get rhs):
15396         (CallAssignment.prototype.toString):
15397         * ArrayLangRI/CallExpression.js: Added.
15398         (CallExpression):
15399         (CallExpression.prototype.get name):
15400         (CallExpression.prototype.get typeArguments):
15401         (CallExpression.prototype.get argumentList):
15402         (CallExpression.prototype.toString):
15403         * ArrayLangRI/CallFunction.js: Added.
15404         (callFunctionByRef):
15405         (callFunction):
15406         * ArrayLangRI/Check.js: Added.
15407         (check):
15408         * ArrayLangRI/Checker.js: Added.
15409         (Checker):
15410         (Checker.prototype.visitProgram):
15411         (Checker.prototype.visitProtocolDecl.NoticeTypeVariable.prototype.visitTypeRef):
15412         (Checker.prototype.visitProtocolDecl.NoticeTypeVariable.prototype.visitVariableRef):
15413         (Checker.prototype.visitProtocolDecl.NoticeTypeVariable):
15414         (Checker.prototype.visitProtocolDecl.set throw):
15415         * ArrayLangRI/CommaExpression.js: Added.
15416         (CommaExpression):
15417         (CommaExpression.prototype.get list):
15418         (CommaExpression.prototype.toString):
15419         * ArrayLangRI/ConstexprTypeParameter.js: Added.
15420         (ConstexprTypeParameter):
15421         (ConstexprTypeParameter.prototype.get name):
15422         (ConstexprTypeParameter.prototype.get type):
15423         (ConstexprTypeParameter.prototype.get isConstexpr):
15424         (ConstexprTypeParameter.prototype.get isUnifiable):
15425         (ConstexprTypeParameter.prototype.typeVariableUnify):
15426         (ConstexprTypeParameter.prototype.unifyImpl):
15427         (ConstexprTypeParameter.prototype.verifyAsArgument):
15428         (ConstexprTypeParameter.prototype.verifyAsParameter):
15429         (ConstexprTypeParameter.prototype.toString):
15430         * ArrayLangRI/EBuffer.js: Added.
15431         (EBuffer):
15432         (EBuffer.get index):
15433         * ArrayLangRI/EBufferBuilder.js: Added.
15434         (EBufferBuilder):
15435         (EBufferBuilder.prototype._createEPtr):
15436         (EBufferBuilder.prototype.visitFuncParameter):
15437         * ArrayLangRI/EFloat.js: Added.
15438         (EFloat):
15439         (EFloat.prototype.get value):
15440         (EFloat.prototype.add):
15441         (EFloat.prototype.toString):
15442         * ArrayLangRI/EInt.js: Added.
15443         (EInt):
15444         (EInt.prototype.get value):
15445         (EInt.prototype.add):
15446         (EInt.prototype.toString):
15447         * ArrayLangRI/EPtr.js: Added.
15448         (EPtr):
15449         (EPtr.box):
15450         (EPtr.prototype.get buffer):
15451         (EPtr.prototype.get offset):
15452         (EPtr.prototype.loadValue):
15453         (EPtr.prototype.copyFrom):
15454         (EPtr.prototype.toString):
15455         * ArrayLangRI/EValue.js: Added.
15456         (EValue):
15457         (EValue.prototype.get type):
15458         * ArrayLangRI/EvaluationCommon.js: Added.
15459         * ArrayLangRI/Evaluator.js: Added.
15460         (Evaluator):
15461         (Evaluator.prototype.visitFunctionBody):
15462         (Evaluator.prototype.visitFunctionLikeBlock):
15463         (Evaluator.prototype.visitReturn):
15464         (Evaluator.prototype.visitCommaExpression):
15465         (Evaluator.prototype.visitVariableRef):
15466         (Evaluator.prototype.visitIntLiteral):
15467         (Evaluator.prototype.visitCallExpression):
15468         * ArrayLangRI/Expression.js: Added.
15469         (Expression):
15470         (Expression.prototype.get origin):
15471         * ArrayLangRI/Field.js: Added.
15472         (Field):
15473         (Field.prototype.get origin):
15474         (Field.prototype.get name):
15475         (Field.prototype.get type):
15476         (Field.prototype.toString):
15477         * ArrayLangRI/Func.js: Added.
15478         (Func):
15479         (Func.prototype.get name):
15480         (Func.prototype.get returnType):
15481         (Func.prototype.get typeParameters):
15482         (Func.prototype.get parameters):
15483         (Func.prototype.get parameterTypes):
15484         (Func.prototype.get kind):
15485         (Func.prototype.toString):
15486         * ArrayLangRI/FuncDef.js: Added.
15487         (FuncDef):
15488         (FuncDef.prototype.get origin):
15489         (FuncDef.prototype.toString):
15490         * ArrayLangRI/FuncInstantiator.js: Added.
15491         (FuncInstantiator):
15492         (FuncInstantiator.prototype.getUnique):
15493         * ArrayLangRI/FuncParameter.js: Added.
15494         (FuncParameter):
15495         (FuncParameter.prototype.get origin):
15496         (FuncParameter.prototype.get name):
15497         (FuncParameter.prototype.get type):
15498         (FuncParameter.prototype.toString):
15499         * ArrayLangRI/FuncSignature.js: Added.
15500         * ArrayLangRI/FunctionLikeBlock.js: Added.
15501         (FunctionLikeBlock):
15502         (FunctionLikeBlock.prototype.get origin):
15503         (FunctionLikeBlock.prototype.get argumentList):
15504         (FunctionLikeBlock.prototype.get parameters):
15505         (FunctionLikeBlock.prototype.get body):
15506         (FunctionLikeBlock.prototype.toString):
15507         * ArrayLangRI/Inline.js: Added.
15508         (inline):
15509         (_inlineFunction):
15510         (resolveInlinedFunction):
15511         * ArrayLangRI/Inliner.js: Added.
15512         (Inliner):
15513         (Inliner.prototype.visitCallExpression):
15514         * ArrayLangRI/InstantiateImmediates.js: Added.
15515         (InstantiateImmediates.prototype.visitTypeRef):
15516         (InstantiateImmediates.prototype.visitReferenceType):
15517         (InstantiateImmediates.prototype.visitStructType):
15518         (InstantiateImmediates.prototype.visitNativeType):
15519         (InstantiateImmediates.prototype.visitTypeVariable):
15520         (InstantiateImmediates):
15521         * ArrayLangRI/IntLiteral.js: Added.
15522         (IntLiteral):
15523         (IntLiteral.prototype.get value):
15524         (IntLiteral.prototype.get isConstexpr):
15525         (IntLiteral.prototype.toString):
15526         * ArrayLangRI/Intrinsics.js: Added.
15527         (Intrinsics):
15528         (Intrinsics.prototype.add):
15529         * ArrayLangRI/Lexer.js: Added.
15530         (Lexer):
15531         (Lexer.prototype.get lineNumber):
15532         (Lexer.prototype.get origin):
15533         (Lexer.prototype.get originString):
15534         (Lexer.prototype.lineNumberForIndex):
15535         (Lexer.prototype.get state):
15536         (Lexer.prototype.set state):
15537         (Lexer.prototype.next):
15538         * ArrayLangRI/LexerToken.js: Added.
15539         (LexerToken):
15540         (LexerToken.prototype.get kind):
15541         (LexerToken.prototype.get text):
15542         (LexerToken.prototype.get origin):
15543         (LexerToken.prototype.get index):
15544         (LexerToken.prototype.get lineNumber):
15545         (LexerToken.prototype.get originString):
15546         (LexerToken.prototype.toString):
15547         * ArrayLangRI/NameContext.js: Added.
15548         (isWildcardKind):
15549         (NameContext):
15550         (NameContext.prototype.mapFor):
15551         (NameContext.prototype.add):
15552         (NameContext.get currentStatement):
15553         (NameContext.get intrinsics):
15554         (NameContext.set program):
15555         (NameContext.get program):
15556         (NameContext.prototype.get let):
15557         * ArrayLangRI/NameResolver.js: Added.
15558         (NameResolver):
15559         (NameResolver.prototype.visitProgram):
15560         (NameResolver.prototype._visitTypeParametersAndBuildNameContext):
15561         (NameResolver.prototype.visitFunc):
15562         (NameResolver.prototype.visitFuncDef):
15563         (NameResolver.prototype.visitBlock):
15564         (NameResolver.prototype.visitProtocolDecl):
15565         (NameResolver.prototype.visitTypeDef):
15566         (NameResolver.prototype.visitStructType):
15567         (NameResolver.prototype._resolveTypeArguments):
15568         (NameResolver.prototype.visitTypeRef):
15569         (NameResolver.prototype.visitReferenceType):
15570         (NameResolver.prototype.visitVariableRef):
15571         (NameResolver.prototype.visitReturn):
15572         (NameResolver.prototype.visitCallExpression):
15573         * ArrayLangRI/NativeFunc.js: Added.
15574         (NativeFunc):
15575         (NativeFunc.prototype.get origin):
15576         (NativeFunc.prototype.get isNative):
15577         (NativeFunc.prototype.toString):
15578         * ArrayLangRI/NativeType.js: Added.
15579         (NativeType):
15580         (NativeType.prototype.get origin):
15581         (NativeType.prototype.get name):
15582         (NativeType.prototype.get isPrimitive):
15583         (NativeType.prototype.get typeParameters):
15584         (NativeType.prototype.get isNative):
15585         (NativeType.prototype.instantiate):
15586         (NativeType.prototype.toString):
15587         * ArrayLangRI/NativeTypeInstance.js: Added.
15588         (NativeTypeInstance):
15589         (NativeTypeInstance.prototype.get type):
15590         (NativeTypeInstance.prototype.get typeArguments):
15591         (NativeTypeInstance.prototype.get isPrimitive):
15592         (NativeTypeInstance.prototype.get isNative):
15593         (NativeTypeInstance.prototype.unifyImpl):
15594         (NativeTypeInstance.prototype.toString):
15595         * ArrayLangRI/Node.js: Added.
15596         (Node.prototype.visit):
15597         (Node.unify):
15598         (Node.prototype.unifyImpl):
15599         (Node.prototype.typeVariableUnify):
15600         (Node.prototype.get unifyNode):
15601         (Node.prototype.get isUnifiable):
15602         (Node.prototype.get isNative):
15603         (Node.prototype.equals):
15604         (Node.prototype.substitute):
15605         (Node.prototype.substituteToUnification):
15606         (Node):
15607         * ArrayLangRI/NullType.js: Added.
15608         (NullType):
15609         * ArrayLangRI/Parse.js: Added.
15610         (genericConsume):
15611         (consume):
15612         (genericTest):
15613         (test):
15614         (tryConsumeKind):
15615         (parseProtocolRef):
15616         (consumeEndOfTypeArgs):
15617         (parseTypeParameters):
15618         (parseTerm):
15619         (parseConstexpr):
15620         (parseTypeArguments):
15621         (parseType.getAddressSpace):
15622         (parseType):
15623         (parseTypeDef):
15624         (parseNative):
15625         (genericParseLeft):
15626         (parseLeftOperatorCall):
15627         (parsePossibleSuffix):
15628         (parsePossiblePrefix):
15629         (parsePossibleProduct):
15630         (parsePossibleSum):
15631         (parsePossibleShift):
15632         (parsePossibleRelationalInequality):
15633         (parsePossibleRelationalEquality):
15634         (parsePossibleBitwiseXor):
15635         (parsePossibleBitwiseOr):
15636         (parseLeftLogicalExpression):
15637         (parsePossibleLogicalOr):
15638         (parsePossibleTernaryConditional):
15639         (parsePossibleAssignment):
15640         (parseAssignment):
15641         (parseEffectfulExpression):
15642         (genericParseCommaExpression):
15643         (parseCommaExpression):
15644         (parseExpression):
15645         (parseEffectfulStatement):
15646         (parseReturn):
15647         (parseVariableDecls):
15648         (parseStatement):
15649         (parseBlock):
15650         (parseParameter):
15651         (parseFuncName):
15652         (parseFuncDef):
15653         (parse):
15654         * ArrayLangRI/Prepare.js: Added.
15655         (prepare):
15656         * ArrayLangRI/Program.js: Added.
15657         (Program):
15658         (Program.prototype.get topLevelStatements):
15659         (Program.prototype.get functions):
15660         (Program.prototype.get types):
15661         (Program.prototype.get funcInstantiator):
15662         (Program.prototype.add):
15663         (Program.prototype.resolveFuncOverload):
15664         (Program.prototype.get nameContext):
15665         (Program.prototype.toString):
15666         * ArrayLangRI/Protocol.js: Added.
15667         (Protocol):
15668         (Protocol.prototype.get origin):
15669         (Protocol.prototype.get name):
15670         (Protocol.prototype.get kind):
15671         (Protocol.prototype.toString):
15672         * ArrayLangRI/ProtocolDecl.js: Added.
15673         (ProtocolDecl):
15674         (ProtocolDecl.prototype.addSignature):
15675         (ProtocolDecl.prototype.get signatures):
15676         (ProtocolDecl.prototype.signaturesByName):
15677         (ProtocolDecl.prototype.get typeVariable):
15678         (ProtocolDecl.prototype.signaturesByNameWithTypeVariable):
15679         (ProtocolDecl.prototype.inherits):
15680         (ProtocolDecl.prototype.hasHeir):
15681         (ProtocolDecl.prototype.toString):
15682         * ArrayLangRI/ProtocolRef.js: Added.
15683         (ProtocolRef):
15684         (ProtocolRef.prototype.inherits):
15685         (ProtocolRef.prototype.hasHeir):
15686         * ArrayLangRI/PtrType.js: Added.
15687         (PtrType.prototype.unifyImpl):
15688         (PtrType.prototype.toString):
15689         (PtrType):
15690         * ArrayLangRI/ReferenceType.js: Added.
15691         (ReferenceType):
15692         (ReferenceType.prototype.get origin):
15693         (ReferenceType.prototype.get addressSpace):
15694         (ReferenceType.prototype.get elementType):
15695         (ReferenceType.prototype.get isPrimitive):
15696         (ReferenceType.prototype.get size):
15697         * ArrayLangRI/ResolveNames.js: Added.
15698         (resolveNames):
15699         * ArrayLangRI/ResolveOverloadImpl.js: Added.
15700         (resolveOverloadImpl):
15701         * ArrayLangRI/ResolveTypeDefs.js: Added.
15702         (resolveTypeDefs):
15703         * ArrayLangRI/Return.js: Added.
15704         (Return):
15705         (Return.prototype.get origin):
15706         (Return.prototype.get value):
15707         (Return.prototype.toString):
15708         * ArrayLangRI/ReturnException.js: Added.
15709         (ReturnException):
15710         (ReturnException.prototype.get value):
15711         * ArrayLangRI/Rewriter.js: Added.
15712         (Rewriter):
15713         (Rewriter.prototype._map):
15714         (Rewriter.prototype._getMapping):
15715         (Rewriter.prototype.visitFunc):
15716         (Rewriter.prototype.visitFuncParameter):
15717         (Rewriter.prototype.visitBlock):
15718         (Rewriter.prototype.visitCommaExpression):
15719         (Rewriter.prototype.visitProtocolRef):
15720         (Rewriter.prototype.visitTypeRef):
15721         (Rewriter.prototype.visitTypeVariable):
15722         (Rewriter.prototype.visitConstexprTypeParameter):
15723         (Rewriter.prototype.visitField):
15724         (Rewriter.prototype.visitReferenceType):
15725         (Rewriter.visitPtrType):
15726         (Rewriter.prototype.visitArrayRefType):
15727         (Rewriter.prototype.visitArrayType):
15728         (Rewriter.prototype.visitAssignment):
15729         (Rewriter.prototype.visitVariableRef):
15730         (Rewriter.prototype.visitReturn):
15731         (Rewriter.prototype.visitIntLiteral):
15732         (Rewriter.prototype.visitCallExpression):
15733         (Rewriter.prototype.visitFunctionLikeBlock):
15734         * ArrayLangRI/StandardLibrary.js: Added.
15735         * ArrayLangRI/StructType.js: Added.
15736         (StructType):
15737         (StructType.prototype.add):
15738         (StructType.prototype.get name):
15739         (StructType.prototype.get typeParameters):
15740         (StructType.prototype.get fieldNames):
15741         (StructType.prototype.fieldByName):
15742         (StructType.prototype.get fields):
15743         (StructType.prototype.get fieldMap):
15744         (StructType.prototype.get isPrimitive):
15745         (StructType.prototype.instantiate):
15746         (StructType.prototype.toString):
15747         * ArrayLangRI/Substitution.js: Added.
15748         (Substitution):
15749         (Substitution.mapping):
15750         (Substitution.prototype.visitTypeRef):
15751         (Substitution.prototype.visitVariableRef):
15752         * ArrayLangRI/SuffixCallAssignment.js: Added.
15753         (SuffixCallAssignment):
15754         (SuffixCallAssignment.prototype.get name):
15755         (SuffixCallAssignment.prototype.get lhs):
15756         (SuffixCallAssignment.prototype.toString):
15757         * ArrayLangRI/Test.js: Added.
15758         (load):
15759         * ArrayLangRI/Type.js: Added.
15760         (Type.prototype.get typeParameters):
15761         (Type.prototype.get kind):
15762         (Type.prototype.inherits):
15763         (Type.prototype.get instantiatedType):
15764         (Type):
15765         * ArrayLangRI/TypeDef.js: Added.
15766         (TypeDef):
15767         (TypeDef.prototype.get origin):
15768         (TypeDef.prototype.get name):
15769         (TypeDef.prototype.get typeParameters):
15770         (TypeDef.prototype.get type):
15771         * ArrayLangRI/TypeDefResolver.js: Added.
15772         (TypeDefResolver):
15773         (TypeDefResolver.prototype.visitTypeRef):
15774         * ArrayLangRI/TypeOrVariableRef.js: Added.
15775         (TypeOrVariableRef):
15776         (TypeOrVariableRef.prototype.get origin):
15777         (TypeOrVariableRef.prototype.get name):
15778         (TypeOrVariableRef.prototype.toString):
15779         * ArrayLangRI/TypeRef.js: Added.
15780         (TypeRef):
15781         (TypeRef.wrap):
15782         (TypeRef.prototype.get origin):
15783         (TypeRef.prototype.get name):
15784         (TypeRef.prototype.get typeArguments):
15785         (TypeRef.prototype.get isPrimitive):
15786         (TypeRef.prototype.get instantiatedType):
15787         (TypeRef.prototype.get unifyNode):
15788         (TypeRef.prototype.populateDefaultValue):
15789         (TypeRef.prototype.get size):
15790         (TypeRef.prototype.setTypeAndArguments):
15791         (TypeRef.prototype.unifyImpl):
15792         (TypeRef.prototype.toString):
15793         * ArrayLangRI/TypeVariable.js: Added.
15794         (TypeVariable):
15795         (TypeVariable.prototype.get name):
15796         (TypeVariable.prototype.get protocol):
15797         (TypeVariable.prototype.get isPrimitive):
15798         (TypeVariable.prototype.get isUnifiable):
15799         (TypeVariable.prototype.inherits):
15800         (TypeVariable.prototype.typeVariableUnify):
15801         (TypeVariable.prototype.unifyImpl):
15802         (TypeVariable.prototype.verifyAsArgument):
15803         (TypeVariable.prototype.verifyAsParameter):
15804         (TypeVariable.prototype.toString):
15805         * ArrayLangRI/UnificationContext.js: Added.
15806         (UnificationContext):
15807         (UnificationContext.prototype.union):
15808         (UnificationContext.prototype.find):
15809         (UnificationContext.prototype.get nodes):
15810         (UnificationContext.prototype.verify):
15811         (UnificationContext.prototype.isUnunified):
15812         * ArrayLangRI/Value.js: Added.
15813         (Value.prototype.get kind):
15814         (Value.prototype.get isConstexpr):
15815         (Value):
15816         * ArrayLangRI/VariableDecl.js: Added.
15817         (VariableDecl):
15818         (VariableDecl.prototype.get origin):
15819         (VariableDecl.prototype.get name):
15820         (VariableDecl.prototype.get type):
15821         (VariableDecl.prototype.get initializer):
15822         (VariableDecl.prototype.toString):
15823         * ArrayLangRI/VariableRef.js: Added.
15824         (VariableRef):
15825         (VariableRef.prototype.get name):
15826         (VariableRef.prototype.get isConstexpr):
15827         (VariableRef.prototype.get unifyNode):
15828         (VariableRef.prototype.toString):
15829         * ArrayLangRI/VisitingSet.js: Added.
15830         (VisitingSet):
15831         (VisitingSet.prototype.doVisit):
15832         * ArrayLangRI/Visitor.js: Added.
15833         (Visitor.prototype.visitProgram):
15834         (Visitor.prototype.visitFunc):
15835         (Visitor.prototype.visitFuncParameter):
15836         (Visitor.prototype.visitFuncDef):
15837         (Visitor.prototype.visitNativeFunc):
15838         (Visitor.prototype.visitBlock):
15839         (Visitor.prototype.visitCommaExpression):
15840         (Visitor.prototype.visitProtocolRef):
15841         (Visitor.prototype.visitProtocolDecl):
15842         (Visitor.prototype.visitTypeRef):
15843         (Visitor.prototype.visitNativeType):
15844         (Visitor.prototype.visitTypeDef):
15845         (Visitor.prototype.visitStructType):
15846         (Visitor.prototype.visitTypeVariable):
15847         (Visitor.prototype.visitConstexprTypeParameter):
15848         (Visitor.prototype.visitField):
15849         (Visitor.prototype.visitElementalType):
15850         (Visitor.prototype.visitPtrType):
15851         (Visitor.prototype.visitArrayRefType):
15852         (Visitor.prototype.visitArrayType):
15853         (Visitor.prototype.visitAssignment):
15854         (Visitor.prototype.visitVariableRef):
15855         (Visitor.prototype.visitReturn):
15856         (Visitor.prototype.visitIntLiteral):
15857         (Visitor.prototype.visitCallExpression):
15858         (Visitor.prototype.visitFunctionLikeBlock):
15859         (Visitor):
15861 2017-08-30  Stephan Szabo  <stephan.szabo@sony.com>
15863         [Win][JSCOnly] Support running JSC tests for win-cairo from windows command prompt
15864         https://bugs.webkit.org/show_bug.cgi?id=174985
15866         Reviewed by Keith Miller.
15868         * Scripts/run-javascriptcore-tests:
15869         * Scripts/run-jsc-stress-tests:
15870         * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
15871         * Scripts/webkitruby/jsc-stress-test-writer-ruby.rb: Added.
15873 2017-08-30  Adrian Perez de Castro  <aperez@igalia.com>
15875         [GTK] Do not use autogen whenever possible in JHBuild modules
15876         https://bugs.webkit.org/show_bug.cgi?id=176098
15878         Reviewed by Carlos Alberto Lopez Perez.
15880         * gtk/jhbuild.modules: Added autogen-sh="configure" attributes for many Autootools modules.
15882 2017-08-30  Tomas Popela  <tpopela@redhat.com>
15884         [GTK] Avoid building fontconfig documentation in jhbuild
15885         https://bugs.webkit.org/show_bug.cgi?id=176097
15887         Reviewed by Carlos Alberto Lopez Perez.
15889         Disable building fontconfig documentation in jhbuild as it needs the
15890         docbook-utils-pdf package installed which depends on quite a few
15891         packages (on Fedora it's 226 packages (mostly textlive) with installed
15892         size of 274 MB). The documentation is not needed at all in jhbuild, so
15893         disable it to save some bandwidth and disc space.
15895         * gtk/install-dependencies: Pass --disable-docs to fontconfig.
15896         * gtk/jhbuild.modules: Don't install docbook-utils-pdf on Fedora.
15898 2017-08-30  Tomas Popela  <tpopela@redhat.com>
15900         Unreviewed, remove trailing space
15902         * gtk/jhbuildrc:
15904 2017-08-29  Carlos Garcia Campos  <cgarcia@igalia.com>
15906         REGRESSION(r221064): [GTK] Editor not correctly working after r221064
15907         https://bugs.webkit.org/show_bug.cgi?id=176052
15909         Reviewed by Michael Catanzaro.
15911         Run the test inside a window to ensure display updates happen.
15913         * TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
15914         (testWebViewEditorEditorStateTypingAttributes):
15916 2017-08-29  Don Olmstead  <don.olmstead@sony.com>
15918         [CMake] Use find_package for zlib
15919         https://bugs.webkit.org/show_bug.cgi?id=176075
15921         Reviewed by Alex Christensen.
15923         * TestWebKitAPI/PlatformWin.cmake:
15925 2017-08-29  Brent Fulgham  <bfulgham@apple.com>
15927         ResourceLoadStatistics logic does not understand custom WebsiteData stores
15928         https://bugs.webkit.org/show_bug.cgi?id=176037
15929         <rdar://problem/33338238>
15931         Reviewed by Alex Christensen.
15933         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
15934         (TEST): Update for ResourceLoadStatistics directories.
15936 2017-08-29  Brady Eidson  <beidson@apple.com>
15938         Rename "potentionally trustworthy" to "potentially trustworthy"
15939         https://bugs.webkit.org/show_bug.cgi?id=176081
15941         Reviewed by Daniel Bates.
15943         * TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
15944         (TestWebKitAPI::TEST_F):
15946 2017-08-29  Stephan Szabo  <stephan.szabo@sony.com>
15948         [Win][JSCOnly] Fix call for updating wincairo-libs in build-jsc
15949         https://bugs.webkit.org/show_bug.cgi?id=176080
15951         Reviewed by Brent Fulgham.
15953         * Scripts/build-jsc:
15955 2017-08-29  Adrian Perez de Castro  <aperez@igalia.com>
15957         [WPE] Avoid using autogen for JHBuild modules, trying to fix the EWS
15959         Unreviewed build fix.
15961         This also makes the JHBuild process faster, because there are less
15962         modules which will trigger slow, ancient Perl and M4 based tooling.
15964         * wpe/jhbuild.modules:
15966 2017-08-29  Don Olmstead  <don.olmstead@sony.com>
15968         [CMake] Use find_package for libxml2 and libxstl
15969         https://bugs.webkit.org/show_bug.cgi?id=176042
15971         Reviewed by Konstantin Tokarev.
15973         * TestWebKitAPI/PlatformWin.cmake:
15975 2017-08-29  Per Arne Vollan  <pvollan@apple.com>
15977         [Win] A WTF test is timing out in run-api-tests.
15978         https://bugs.webkit.org/show_bug.cgi?id=176056
15980         Reviewed by Brent Fulgham.
15982         The test SynchronizedFixedQueue.ProduceOnly relies on that putting a thread to sleep for
15983         1ms will wake it up before another thread which is put to sleep for 10ms. I believe this
15984         is not neccessarily true on Windows where the thread scheduling does not have millisecond
15985         accuracy. Fix the test timeout by adjusting the sleep time slightly.
15987         * TestWebKitAPI/Tests/WTF/SynchronizedFixedQueue.cpp:
15988         (TestWebKitAPI::ToUpperConverter::startProducing):
15990 2017-08-29  Eric Carlson  <eric.carlson@apple.com>
15992         Unreviewed, update my watchlist filters.
15994         * Scripts/webkitpy/common/config/watchlist:
15996 2017-08-29  Carlos Garcia Campos  <cgarcia@igalia.com>
15998         Unreviewed. REGRESSION(r221219): Fix unit tests using resources from WebKit directory.
16000         The WebKit2 directory was renamed as WebKit in r221219, but neither run-gtk-tests script nor
16001         Test::getResourcesDir() were updated to use the new name.
16003         * Scripts/run-gtk-tests:
16004         (TestRunner._setup_testing_environment):
16005         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
16006         (Test::getResourcesDir):
16008 2017-08-28  Eric Carlson  <eric.carlson@apple.com>
16010         Logger should use makeString instead of String::format
16011         https://bugs.webkit.org/show_bug.cgi?id=176035
16013         Reviewed by Jer Noble.
16015         * TestWebKitAPI/Tests/WebCore/Logging.cpp:
16016         (TestWebKitAPI::TEST_F): Update test.
16018 2017-08-28  Michael Catanzaro  <mcatanzaro@igalia.com>
16020         [GStreamer] The glvideoflip GStreamer element isn't available. Video mirroring and rotation functionalities are thus disabled.
16021         https://bugs.webkit.org/show_bug.cgi?id=175576
16023         Reviewed by Carlos Alberto Lopez Perez.
16025         Build graphene to enable the glvideoflip element.
16027         * gstreamer/jhbuild.modules:
16028         * gtk/jhbuild.modules:
16029         * jhbuild/jhbuild-wrapper:
16030         * wpe/jhbuild.modules:
16032 2017-08-28  Ms2ger  <Ms2ger@gmail.com>
16034         Ensure that the alert function is called in TestWebExtensions.
16035         https://bugs.webkit.org/show_bug.cgi?id=175880
16037         Reviewed by Carlos Garcia Campos.
16039         The test relied on a bug in the HTMLDocument JavaScript bindings: when calling
16040         document.open() with three arguments, it would call any function set as the
16041         "open" property on the window object, rather than just the real Window::open()
16042         method. This bug was fixed by the removal of custom bindings for HTMLDocument
16043         in r218437. As a result, the test no longer called alert(), which caused it to
16044         fail.
16046         Instead, call the window.open() function directly.
16048         * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
16049         (testWebExtensionIsolatedWorld):
16051 2017-08-27  Wenson Hsieh  <wenson_hsieh@apple.com>
16053         Picking an emoji via the emoji dialog (Ctrl+Cmd+Space) fires inconsistent beforeinput events.
16054         https://bugs.webkit.org/show_bug.cgi?id=170955
16055         <rdar://problem/31697653>
16057         Reviewed by Ryosuke Niwa.
16059         Replace UIScriptController.insertText with UIScriptController.replaceTextAtRange, and implement
16060         replaceTextAtRange in WebKit1. See corresponding layout tests (input-event-insert-replacement.html and
16061         before-input-prevent-insert-replacement.html) for more detail.
16063         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
16064         * DumpRenderTree/mac/AppKitTestSPI.h: Added.
16066         Introduce an SPI header for private AppKit headers needed to support DumpRenderTree.
16068         * DumpRenderTree/mac/UIScriptControllerMac.mm:
16069         (WTR::UIScriptController::replaceTextAtRange):
16070         (WTR::UIScriptController::insertText): Deleted.
16071         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
16072         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
16073         (WTR::UIScriptController::replaceTextAtRange):
16074         (WTR::UIScriptController::insertText): Deleted.
16075         * TestRunnerShared/UIScriptContext/UIScriptController.h:
16076         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
16077         (WTR::UIScriptController::replaceTextAtRange):
16078         (WTR::UIScriptController::insertText): Deleted.
16080         Replace UIScriptController.insertText with UIScriptController.replaceTextAtRange, which better describes the
16081         behavior of this function.
16083 2017-08-27  Wenson Hsieh  <wenson_hsieh@apple.com>
16085         [iOS WK2] Web process crashes after changing selection to the end of the document when speaking a selection
16086         https://bugs.webkit.org/show_bug.cgi?id=176011
16087         <rdar://problem/32614095>
16089         Reviewed by Ryosuke Niwa.
16091         Introduces AccessibilityTests, and adds three new tests that traverse selection-rect-finding codepaths when
16092         speaking selected content. See WebKit and WebCore ChangeLogs for more detail.
16094         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
16095         * TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm: Added.
16096         (-[WKWebView rectsAtSelectionOffset:withText:]):
16097         (checkCGRectValueAtIndex):
16098         (TestWebKitAPI::TEST):
16100 2017-08-25  Eric Carlson  <eric.carlson@apple.com>
16102         Add Logger::logAlways
16103         https://bugs.webkit.org/show_bug.cgi?id=175996
16105         Reviewed by Jer Noble.
16107         * TestWebKitAPI/Tests/WebCore/Logging.cpp:
16108         (TestWebKitAPI::TEST_F):
16110 2017-08-25  Alex Christensen  <achristensen@webkit.org>
16112         Disable saveDataToFile API test.
16113         https://bugs.webkit.org/show_bug.cgi?id=176000
16115         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
16116         The test was only working on High Sierra.  It needs investigation on older operating systems.
16118 2017-08-25  Alex Christensen  <achristensen@webkit.org>
16120         Rename TestWebKitAPI/Tests/WebKit2* to WebKit* following Source directory rename.
16122         Rubber-stamped by Brady Eidson.
16124         * TestWebKitAPI/PlatformGTK.cmake:
16125         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
16126         * TestWebKitAPI/Tests/WebKit2Cocoa: Removed.
16127         * TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLs.mm: Removed.
16128         * TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLsPlugin.mm: Removed.
16129         * TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLsProtocol.h: Removed.
16130         * TestWebKitAPI/Tests/WebKit2Cocoa/AllAhem.svg: Removed.
16131         * TestWebKitAPI/Tests/WebKit2Cocoa/AlwaysRevalidatedURLSchemes.mm: Removed.
16132         * TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm: Removed.
16133         * TestWebKitAPI/Tests/WebKit2Cocoa/ApplicationCache.db: Removed.
16134         * TestWebKitAPI/Tests/WebKit2Cocoa/ApplicationCache.db-shm: Removed.
16135         * TestWebKitAPI/Tests/WebKit2Cocoa/ApplicationCache.db-wal: Removed.
16136         * TestWebKitAPI/Tests/WebKit2Cocoa/AutoLayoutIntegration.mm: Removed.
16137         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegate.mm: Removed.
16138         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegatePlugIn.mm: Removed.
16139         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegateProtocol.h: Removed.
16140         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleParameters.mm: Removed.
16141         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleParametersPlugIn.mm: Removed.
16142         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm: Removed.
16143         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandlePlugIn.mm: Removed.
16144         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandleProtocol.h: Removed.
16145         * TestWebKitAPI/Tests/WebKit2Cocoa/CancelFontSubresource.mm: Removed.
16146         * TestWebKitAPI/Tests/WebKit2Cocoa/CancelFontSubresourcePlugIn.mm: Removed.
16147         * TestWebKitAPI/Tests/WebKit2Cocoa/Coding.mm: Removed.
16148         * TestWebKitAPI/Tests/WebKit2Cocoa/CommandBackForward.mm: Removed.
16149         * TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.h: Removed.
16150         * TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.html: Removed.
16151         * TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.mm: Removed.
16152         * TestWebKitAPI/Tests/WebKit2Cocoa/ContentFilteringPlugIn.mm: Removed.
16153         * TestWebKitAPI/Tests/WebKit2Cocoa/CookieAcceptPolicy.mm: Removed.
16154         * TestWebKitAPI/Tests/WebKit2Cocoa/CookieMessage.html: Removed.
16155         * TestWebKitAPI/Tests/WebKit2Cocoa/Copying.mm: Removed.
16156         * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm: Removed.
16157         * TestWebKitAPI/Tests/WebKit2Cocoa/DecidePolicyForNavigationAction.mm: Removed.
16158         * TestWebKitAPI/Tests/WebKit2Cocoa/DoAfterNextPresentationUpdateAfterCrash.mm: Removed.
16159         * TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm: Removed.
16160         * TestWebKitAPI/Tests/WebKit2Cocoa/DownloadRequestBlobURL.html: Removed.
16161         * TestWebKitAPI/Tests/WebKit2Cocoa/DownloadRequestOriginalURL.html: Removed.
16162         * TestWebKitAPI/Tests/WebKit2Cocoa/DownloadRequestOriginalURL2.html: Removed.
16163         * TestWebKitAPI/Tests/WebKit2Cocoa/DownloadRequestOriginalURLFrame.html: Removed.
16164         * TestWebKitAPI/Tests/WebKit2Cocoa/DuplicateCompletionHandlerCalls.mm: Removed.
16165         * TestWebKitAPI/Tests/WebKit2Cocoa/EditorStateTests.mm: Removed.
16166         * TestWebKitAPI/Tests/WebKit2Cocoa/EmptyGrandfatheredResourceLoadStatistics.plist: Removed.
16167         * TestWebKitAPI/Tests/WebKit2Cocoa/FindInPage.mm: Removed.
16168         * TestWebKitAPI/Tests/WebKit2Cocoa/FixedLayoutSize.mm: Removed.
16169         * TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenDelegate.html: Removed.
16170         * TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenDelegate.mm: Removed.
16171         * TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenLayoutConstraints.html: Removed.
16172         * TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenLayoutConstraints.mm: Removed.
16173         * TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenTopContentInset.html: Removed.
16174         * TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenTopContentInset.mm: Removed.
16175         * TestWebKitAPI/Tests/WebKit2Cocoa/Geolocation.mm: Removed.
16176         * TestWebKitAPI/Tests/WebKit2Cocoa/GeolocationGetCurrentPositionResult.html: Removed.
16177         * TestWebKitAPI/Tests/WebKit2Cocoa/IDBDeleteRecovery.html: Removed.
16178         * TestWebKitAPI/Tests/WebKit2Cocoa/IDBDeleteRecovery.mm: Removed.
16179         * TestWebKitAPI/Tests/WebKit2Cocoa/IDBDeleteRecovery.sqlite3: Removed.
16180         * TestWebKitAPI/Tests/WebKit2Cocoa/IDBDeleteRecovery.sqlite3-shm: Removed.
16181         * TestWebKitAPI/Tests/WebKit2Cocoa/IDBDeleteRecovery.sqlite3-wal: Removed.
16182         * TestWebKitAPI/Tests/WebKit2Cocoa/IDBIndexUpgradeToV2.html: Removed.
16183         * TestWebKitAPI/Tests/WebKit2Cocoa/IDBIndexUpgradeToV2.mm: Removed.
16184         * TestWebKitAPI/Tests/WebKit2Cocoa/IconLoadingDelegate.mm: Removed.
16185         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexUpgrade.blob: Removed.
16186         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexUpgrade.sqlite3: Removed.
16187         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBDatabaseProcessKill-1.html: Removed.
16188         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBDatabaseProcessKill.mm: Removed.
16189         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess-1.html: Removed.
16190         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess-2.html: Removed.
16191         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess-3.html: Removed.
16192         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess.mm: Removed.
16193         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBPersistence-1.html: Removed.
16194         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBPersistence-2.html: Removed.
16195         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBPersistence.mm: Removed.
16196         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibility.mm: Removed.
16197         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibility.sqlite3: Removed.
16198         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibility.sqlite3-shm: Removed.
16199         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibility.sqlite3-wal: Removed.
16200         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibilityRead.html: Removed.
16201         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibilityWrite.html: Removed.
16202         * TestWebKitAPI/Tests/WebKit2Cocoa/InitialWarmedProcessUsed.mm: Removed.
16203         * TestWebKitAPI/Tests/WebKit2Cocoa/InteractionDeadlockAfterCrash.mm: Removed.
16204         * TestWebKitAPI/Tests/WebKit2Cocoa/LineBreaking.html: Removed.
16205         * TestWebKitAPI/Tests/WebKit2Cocoa/LoadAlternateHTMLString.mm: Removed.
16206         * TestWebKitAPI/Tests/WebKit2Cocoa/LoadDataWithNilMIMEType.mm: Removed.
16207         * TestWebKitAPI/Tests/WebKit2Cocoa/LoadInvalidURLRequest.mm: Removed.
16208         * TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.html: Removed.
16209         * TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm: Removed.
16210         * TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageNullEntries.html: Removed.
16211         * TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageNullEntries.localstorage: Removed.
16212         * TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageNullEntries.localstorage-shm: Removed.
16213         * TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageNullEntries.mm: Removed.
16214         * TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageQuirkEnabled.html: Removed.
16215         * TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageQuirkTest.mm: Removed.
16216         * TestWebKitAPI/Tests/WebKit2Cocoa/ModalAlerts.mm: Removed.
16217         * TestWebKitAPI/Tests/WebKit2Cocoa/NSFileManagerExtras.mm: Removed.
16218         * TestWebKitAPI/Tests/WebKit2Cocoa/Navigation.mm: Removed.
16219         * TestWebKitAPI/Tests/WebKit2Cocoa/NowPlayingControlsTests.mm: Removed.
16220         * TestWebKitAPI/Tests/WebKit2Cocoa/ObservedRenderingProgressEventsAfterCrash.mm: Removed.
16221         * TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm: Removed.
16222         * TestWebKitAPI/Tests/WebKit2Cocoa/OverrideContentSecurityPolicy.mm: Removed.
16223         * TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.html: Removed.
16224         * TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.mm: Removed.
16225         * TestWebKitAPI/Tests/WebKit2Cocoa/PluginLoadClientPolicies.mm: Removed.
16226         * TestWebKitAPI/Tests/WebKit2Cocoa/Preferences.mm: Removed.
16227         * TestWebKitAPI/Tests/WebKit2Cocoa/PrepareForMoveToWindow.mm: Removed.
16228         * TestWebKitAPI/Tests/WebKit2Cocoa/ProvisionalURLNotChange.mm: Removed.
16229         * TestWebKitAPI/Tests/WebKit2Cocoa/QuickLook.mm: Removed.
16230         * TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistry.h: Removed.
16231         * TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistry.mm: Removed.
16232         * TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistryPlugIn.mm: Removed.
16233         * TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptions.mm: Removed.
16234         * TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptionsPlugIn.mm: Removed.
16235         * TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptionsProtocol.h: Removed.
16236         * TestWebKitAPI/Tests/WebKit2Cocoa/RequiresUserActionForPlayback.mm: Removed.
16237         * TestWebKitAPI/Tests/WebKit2Cocoa/ResourceLoadStatistics.mm: Removed.
16238         * TestWebKitAPI/Tests/WebKit2Cocoa/RunOpenPanel.mm: Removed.
16239         * TestWebKitAPI/Tests/WebKit2Cocoa/ShouldOpenExternalURLsInNewWindowActions.mm: Removed.
16240         * TestWebKitAPI/Tests/WebKit2Cocoa/ShrinkToFit.mm: Removed.
16241         * TestWebKitAPI/Tests/WebKit2Cocoa/SnapshotStore.mm: Removed.
16242         * TestWebKitAPI/Tests/WebKit2Cocoa/StoreBlobThenDelete.mm: Removed.
16243         * TestWebKitAPI/Tests/WebKit2Cocoa/StoreBlobToBeDeleted.html: Removed.
16244         * TestWebKitAPI/Tests/WebKit2Cocoa/UIDelegate.mm: Removed.
16245         * TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm: Removed.
16246         * TestWebKitAPI/Tests/WebKit2Cocoa/UserContentWorld.mm: Removed.
16247         * TestWebKitAPI/Tests/WebKit2Cocoa/UserContentWorldPlugIn.mm: Removed.
16248         * TestWebKitAPI/Tests/WebKit2Cocoa/UserContentWorldProtocol.h: Removed.
16249         * TestWebKitAPI/Tests/WebKit2Cocoa/UserInitiatedActionInNavigationAction.mm: Removed.
16250         * TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm: Removed.
16251         * TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm: Removed.
16252         * TestWebKitAPI/Tests/WebKit2Cocoa/VisibleContentRect.mm: Removed.
16253         * TestWebKitAPI/Tests/WebKit2Cocoa/WKContentExtensionStore.mm: Removed.
16254         * TestWebKitAPI/Tests/WebKit2Cocoa/WKContentViewEditingActions.mm: Removed.
16255         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm: Removed.
16256         * TestWebKitAPI/Tests/WebKit2Cocoa/WKNSNumber.mm: Removed.
16257         * TestWebKitAPI/Tests/WebKit2Cocoa/WKObject.mm: Removed.
16258         * TestWebKitAPI/Tests/WebKit2Cocoa/WKPDFView.mm: Removed.
16259         * TestWebKitAPI/Tests/WebKit2Cocoa/WKPDFViewResizeCrash.mm: Removed.
16260         * TestWebKitAPI/Tests/WebKit2Cocoa/WKPDFViewStablePresentationUpdateCallback.mm: Removed.
16261         * TestWebKitAPI/Tests/WebKit2Cocoa/WKRequestActivatedElementInfo.mm: Removed.
16262         * TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm: Removed.
16263         * TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-leaks.mm: Removed.
16264         * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewCandidateTests.mm: Removed.
16265         * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewDefaultNavigationDelegate.mm: Removed.
16266         * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewDiagnosticLogging.mm: Removed.
16267         * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewDoesNotLogDuringInitialization.mm: Removed.
16268         * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewEvaluateJavaScript.mm: Removed.
16269         * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewGetContents.mm: Removed.
16270         * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewSnapshot.mm: Removed.
16271         * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewTextInput.mm: Removed.
16272         * TestWebKitAPI/Tests/WebKit2Cocoa/WebProcessKillIDBCleanup-1.html: Removed.
16273         * TestWebKitAPI/Tests/WebKit2Cocoa/WebProcessKillIDBCleanup-2.html: Removed.
16274         * TestWebKitAPI/Tests/WebKit2Cocoa/WebProcessKillIDBCleanup.mm: Removed.
16275         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.html: Removed.
16276         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm: Removed.
16277         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm: Removed.
16278         * TestWebKitAPI/Tests/WebKit2Cocoa/_WKUserContentExtensionStore.mm: Removed.
16279         * TestWebKitAPI/Tests/WebKit2Cocoa/apple.gif: Removed.
16280         * TestWebKitAPI/Tests/WebKit2Cocoa/attachment-element.html: Removed.
16281         * TestWebKitAPI/Tests/WebKit2Cocoa/autofocus-contenteditable.html: Removed.
16282         * TestWebKitAPI/Tests/WebKit2Cocoa/autofocused-text-input.html: Removed.
16283         * TestWebKitAPI/Tests/WebKit2Cocoa/autoplaying-video-with-audio.html: Removed.
16284         * TestWebKitAPI/Tests/WebKit2Cocoa/background-image-link-and-input.html: Removed.
16285         * TestWebKitAPI/Tests/WebKit2Cocoa/blinking-div.html: Removed.
16286         * TestWebKitAPI/Tests/WebKit2Cocoa/change-video-source-on-click.html: Removed.
16287         * TestWebKitAPI/Tests/WebKit2Cocoa/change-video-source-on-end.html: Removed.
16288         * TestWebKitAPI/Tests/WebKit2Cocoa/compressed-files.zip: Removed.
16289         * TestWebKitAPI/Tests/WebKit2Cocoa/contenteditable-and-target.html: Removed.
16290         * TestWebKitAPI/Tests/WebKit2Cocoa/contenteditable-and-textarea.html: Removed.
16291         * TestWebKitAPI/Tests/WebKit2Cocoa/contenteditable-in-iframe.html: Removed.
16292         * TestWebKitAPI/Tests/WebKit2Cocoa/disableGetUserMedia.html: Removed.
16293         * TestWebKitAPI/Tests/WebKit2Cocoa/div-and-large-image.html: Removed.
16294         * TestWebKitAPI/Tests/WebKit2Cocoa/double-click-does-not-select-trailing-space.html: Removed.
16295         * TestWebKitAPI/Tests/WebKit2Cocoa/dragstart-change-selection-offscreen.html: Removed.
16296         * TestWebKitAPI/Tests/WebKit2Cocoa/dragstart-clear-selection.html: Removed.
16297         * TestWebKitAPI/Tests/WebKit2Cocoa/duplicate-completion-handler-calls.html: Removed.
16298         * TestWebKitAPI/Tests/WebKit2Cocoa/editable-body.html: Removed.
16299         * TestWebKitAPI/Tests/WebKit2Cocoa/editor-state-test-harness.html: Removed.
16300         * TestWebKitAPI/Tests/WebKit2Cocoa/enormous-video-with-sound.html: Removed.
16301         * TestWebKitAPI/Tests/WebKit2Cocoa/enormous.svg: Removed.
16302         * TestWebKitAPI/Tests/WebKit2Cocoa/file-uploading.html: Removed.
16303         * TestWebKitAPI/Tests/WebKit2Cocoa/focus-inputs.html: Removed.
16304         * TestWebKitAPI/Tests/WebKit2Cocoa/full-size-autoplaying-video-with-audio.html: Removed.
16305         * TestWebKitAPI/Tests/WebKit2Cocoa/gif-and-file-input.html: Removed.
16306         * TestWebKitAPI/Tests/WebKit2Cocoa/image-and-contenteditable.html: Removed.
16307         * TestWebKitAPI/Tests/WebKit2Cocoa/image-and-textarea.html: Removed.
16308         * TestWebKitAPI/Tests/WebKit2Cocoa/image-in-link-and-input.html: Removed.
16309         * TestWebKitAPI/Tests/WebKit2Cocoa/image-map.html: Removed.
16310         * TestWebKitAPI/Tests/WebKit2Cocoa/input-field-in-scrollable-document.html: Removed.
16311         * TestWebKitAPI/Tests/WebKit2Cocoa/large-input-field-focus-onload.html: Removed.
16312         * TestWebKitAPI/Tests/WebKit2Cocoa/large-red-square.png: Removed.
16313         * TestWebKitAPI/Tests/WebKit2Cocoa/large-video-hides-controls-after-seek-to-end.html: Removed.
16314         * TestWebKitAPI/Tests/WebKit2Cocoa/large-video-mutes-onplaying.html: Removed.
16315         * TestWebKitAPI/Tests/WebKit2Cocoa/large-video-offscreen.html: Removed.
16316         * TestWebKitAPI/Tests/WebKit2Cocoa/large-video-playing-scroll-away.html: Removed.
16317         * TestWebKitAPI/Tests/WebKit2Cocoa/large-video-seek-after-ending.html: Removed.
16318         * TestWebKitAPI/Tests/WebKit2Cocoa/large-video-seek-to-beginning-and-play-after-ending.html: Removed.
16319         * TestWebKitAPI/Tests/WebKit2Cocoa/large-video-test-now-playing.html: Removed.
16320         * TestWebKitAPI/Tests/WebKit2Cocoa/large-video-with-audio.html: Removed.
16321         * TestWebKitAPI/Tests/WebKit2Cocoa/large-video-with-audio.mp4: Removed.
16322         * TestWebKitAPI/Tests/WebKit2Cocoa/large-video-without-audio.html: Removed.
16323         * TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-autoplaying-click-to-pause.html: Removed.
16324         * TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-autoplaying-scroll-to-video.html: Removed.
16325         * TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-paused-video-hides-controls.html: Removed.
16326         * TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-playing-muted-video-hides-controls.html: Removed.
16327         * TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-playing-video-keeps-controls.html: Removed.
16328         * TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-with-audio-autoplay.html: Removed.
16329         * TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-with-audio.html: Removed.
16330         * TestWebKitAPI/Tests/WebKit2Cocoa/link-and-input.html: Removed.
16331         * TestWebKitAPI/Tests/WebKit2Cocoa/link-and-target-div.html: Removed.
16332         * TestWebKitAPI/Tests/WebKit2Cocoa/offscreen-iframe-of-media-document.html: Removed.
16333         * TestWebKitAPI/Tests/WebKit2Cocoa/open-multiple-external-url.html: Removed.
16334         * TestWebKitAPI/Tests/WebKit2Cocoa/page-with-csp-iframe.html: Removed.
16335         * TestWebKitAPI/Tests/WebKit2Cocoa/page-with-csp.html: Removed.
16336         * TestWebKitAPI/Tests/WebKit2Cocoa/page-without-csp-iframe.html: Removed.
16337         * TestWebKitAPI/Tests/WebKit2Cocoa/page-without-csp.html: Removed.
16338         * TestWebKitAPI/Tests/WebKit2Cocoa/password-protected.pages: Removed.
16339         * TestWebKitAPI/Tests/WebKit2Cocoa/play-audio-on-click.html: Removed.
16340         * TestWebKitAPI/Tests/WebKit2Cocoa/prevent-operation.html: Removed.
16341         * TestWebKitAPI/Tests/WebKit2Cocoa/prevent-start.html: Removed.
16342         * TestWebKitAPI/Tests/WebKit2Cocoa/rendered-image-excluding-overflow.html: Removed.
16343         * TestWebKitAPI/Tests/WebKit2Cocoa/rich-and-plain-text.html: Removed.
16344         * TestWebKitAPI/Tests/WebKit2Cocoa/silence-long.m4a: Removed.
16345         * TestWebKitAPI/Tests/WebKit2Cocoa/skinny-autoplaying-video-with-audio.html: Removed.
16346         * TestWebKitAPI/Tests/WebKit2Cocoa/text-and-password-inputs.html: Removed.
16347         * TestWebKitAPI/Tests/WebKit2Cocoa/textarea-to-input.html: Removed.
16348         * TestWebKitAPI/Tests/WebKit2Cocoa/two-paragraph-contenteditable.html: Removed.
16349         * TestWebKitAPI/Tests/WebKit2Cocoa/wide-autoplaying-video-with-audio.html: Removed.
16350         * TestWebKitAPI/Tests/WebKit2Gtk: Removed.
16351         * TestWebKitAPI/Tests/WebKit2Gtk/AccessibilityTestServer.cpp: Removed.
16352         * TestWebKitAPI/Tests/WebKit2Gtk/AutocleanupsTest.cpp: Removed.
16353         * TestWebKitAPI/Tests/WebKit2Gtk/DOMClientRectTest.cpp: Removed.
16354         * TestWebKitAPI/Tests/WebKit2Gtk/DOMDOMWindowTest.cpp: Removed.
16355         * TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeFilterTest.cpp: Removed.
16356         * TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp: Removed.
16357         * TestWebKitAPI/Tests/WebKit2Gtk/DOMXPathNSResolverTest.cpp: Removed.
16358         * TestWebKitAPI/Tests/WebKit2Gtk/EditorTest.cpp: Removed.
16359         * TestWebKitAPI/Tests/WebKit2Gtk/InspectorTestServer.cpp: Removed.
16360         * TestWebKitAPI/Tests/WebKit2Gtk/TestAutocleanups.cpp: Removed.
16361         * TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp: Removed.
16362         * TestWebKitAPI/Tests/WebKit2Gtk/TestDOMClientRect.cpp: Removed.
16363         * TestWebKitAPI/Tests/WebKit2Gtk/TestDOMDOMWindow.cpp: Removed.
16364         * TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNode.cpp: Removed.
16365         * TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNodeFilter.cpp: Removed.
16366         * TestWebKitAPI/Tests/WebKit2Gtk/TestDOMXPathNSResolver.cpp: Removed.
16367         * TestWebKitAPI/Tests/WebKit2Gtk/TestEditor.cpp: Removed.
16368         * TestWebKitAPI/Tests/WebKit2Gtk/TestInspector.cpp: Removed.
16369         * TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp: Removed.
16370         * TestWebKitAPI/Tests/WebKit2Gtk/TestOptionMenu.cpp: Removed.
16371         * TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp: Removed.
16372         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitAccessibility.cpp: Removed.
16373         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitVersion.cpp: Removed.
16374         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebViewEditor.cpp: Removed.
16375         * TestWebKitAPI/Tests/WebKit2ObjC: Removed.
16376         * TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsInvalidScheme.mm: Removed.
16377         * TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsInvalidScheme_Bundle.cpp: Removed.
16378         * TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsTest.mm: Removed.
16379         * TestWebKitAPI/Tests/WebKit2ObjC/PreventImageLoadWithAutoResizing.mm: Removed.
16380         * TestWebKitAPI/Tests/WebKit2ObjC/PreventImageLoadWithAutoResizing_Bundle.cpp: Removed.
16381         * TestWebKitAPI/Tests/WebKit2ObjC/UserContentTest.mm: Removed.
16382         * TestWebKitAPI/Tests/WebKit2ObjC/WKBrowsingContextGroupTest.mm: Removed.
16383         * TestWebKitAPI/Tests/WebKit2ObjC/WKBrowsingContextLoadDelegateTest.mm: Removed.
16384         * TestWebKitAPI/Tests/WebKitCocoa: Copied from TestWebKitAPI/Tests/WebKit2Cocoa.
16385         * TestWebKitAPI/Tests/WebKitGtk: Copied from TestWebKitAPI/Tests/WebKit2Gtk.
16386         * TestWebKitAPI/Tests/WebKitObjC: Copied from TestWebKitAPI/Tests/WebKit2ObjC.
16387         * TestWebKitAPI/glib/PlatformGTK.cmake:
16389 2017-08-25  Alex Christensen  <achristensen@webkit.org>
16391         Rename TestWebKitAPI/Tests/WebKit2 to WebKit following Source directory rename.
16393         Rubber-stamped by Brady Eidson.
16395         * TestWebKitAPI/CMakeLists.txt:
16396         * TestWebKitAPI/PlatformGTK.cmake:
16397         * TestWebKitAPI/PlatformWin.cmake:
16398         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
16399         * TestWebKitAPI/Tests/WebKit: Copied from TestWebKitAPI/Tests/WebKit2.
16400         * TestWebKitAPI/Tests/WebKit2: Removed.
16401         * TestWebKitAPI/Tests/WebKit2/18-characters.html: Removed.
16402         * TestWebKitAPI/Tests/WebKit2/AboutBlankLoad.cpp: Removed.
16403         * TestWebKitAPI/Tests/WebKit2/Ahem.ttf: Removed.
16404         * TestWebKitAPI/Tests/WebKit2/CanHandleRequest.cpp: Removed.
16405         * TestWebKitAPI/Tests/WebKit2/CanHandleRequest_Bundle.cpp: Removed.
16406         * TestWebKitAPI/Tests/WebKit2/CloseFromWithinCreatePage.cpp: Removed.
16407         * TestWebKitAPI/Tests/WebKit2/CloseThenTerminate.cpp: Removed.
16408         * TestWebKitAPI/Tests/WebKit2/CookieManager.cpp: Removed.
16409         * TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic.cpp: Removed.
16410         * TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic_Bundle.cpp: Removed.
16411         * TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache.cpp: Removed.
16412         * TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache_Bundle.cpp: Removed.
16413         * TestWebKitAPI/Tests/WebKit2/DeferredViewInWindowStateChange.mm: Removed.
16414         * TestWebKitAPI/Tests/WebKit2/DidAssociateFormControls.cpp: Removed.
16415         * TestWebKitAPI/Tests/WebKit2/DidAssociateFormControls_Bundle.cpp: Removed.
16416         * TestWebKitAPI/Tests/WebKit2/DidNotHandleKeyDown.cpp: Removed.
16417         * TestWebKitAPI/Tests/WebKit2/DidRemoveFrameFromHiearchyInPageCache.cpp: Removed.
16418         * TestWebKitAPI/Tests/WebKit2/DidRemoveFrameFromHiearchyInPageCache_Bundle.cpp: Removed.
16419         * TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash.cpp: Removed.
16420         * TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash_Bundle.cpp: Removed.
16421         * TestWebKitAPI/Tests/WebKit2/DownloadDecideDestinationCrash.cpp: Removed.
16422         * TestWebKitAPI/Tests/WebKit2/EnumerateMediaDevices.cpp: Removed.
16423         * TestWebKitAPI/Tests/WebKit2/EnvironmentUtilitiesTest.cpp: Removed.
16424         * TestWebKitAPI/Tests/WebKit2/EphemeralSessionPushStateNoHistoryCallback.cpp: Removed.
16425         * TestWebKitAPI/Tests/WebKit2/EvaluateJavaScript.cpp: Removed.
16426         * TestWebKitAPI/Tests/WebKit2/EventModifiers.cpp: Removed.
16427         * TestWebKitAPI/Tests/WebKit2/FailedLoad.cpp: Removed.
16428         * TestWebKitAPI/Tests/WebKit2/Find.cpp: Removed.
16429         * TestWebKitAPI/Tests/WebKit2/FindMatches.mm: Removed.
16430         * TestWebKitAPI/Tests/WebKit2/ForceRepaint.cpp: Removed.
16431         * TestWebKitAPI/Tests/WebKit2/FrameHandle.cpp: Removed.
16432         * TestWebKitAPI/Tests/WebKit2/FrameMIMETypeHTML.cpp: Removed.
16433         * TestWebKitAPI/Tests/WebKit2/FrameMIMETypePNG.cpp: Removed.
16434         * TestWebKitAPI/Tests/WebKit2/Geolocation.cpp: Removed.
16435         * TestWebKitAPI/Tests/WebKit2/GetInjectedBundleInitializationUserDataCallback.cpp: Removed.
16436         * TestWebKitAPI/Tests/WebKit2/GetInjectedBundleInitializationUserDataCallback_Bundle.cpp: Removed.
16437         * TestWebKitAPI/Tests/WebKit2/GetUserMediaNavigation.mm: Removed.
16438         * TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle.cpp: Removed.
16439         * TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle_Bundle.cpp: Removed.
16440         * TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic.cpp: Removed.
16441         * TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic_Bundle.cpp: Removed.
16442         * TestWebKitAPI/Tests/WebKit2/InjectedBundleFrameHitTest.cpp: Removed.
16443         * TestWebKitAPI/Tests/WebKit2/InjectedBundleFrameHitTest_Bundle.cpp: Removed.
16444         * TestWebKitAPI/Tests/WebKit2/InjectedBundleInitializationUserDataCallbackWins.cpp: Removed.
16445         * TestWebKitAPI/Tests/WebKit2/InjectedBundleInitializationUserDataCallbackWins_Bundle.cpp: Removed.
16446         * TestWebKitAPI/Tests/WebKit2/InjectedBundleMakeAllShadowRootsOpen.cpp: Removed.
16447         * TestWebKitAPI/Tests/WebKit2/InjectedBundleMakeAllShadowRootsOpen_Bundle.cpp: Removed.
16448         * TestWebKitAPI/Tests/WebKit2/LayoutMilestonesWithAllContentInFrame.cpp: Removed.
16449         * TestWebKitAPI/Tests/WebKit2/LimitTitleSize.cpp: Removed.
16450         * TestWebKitAPI/Tests/WebKit2/LoadAlternateHTMLStringWithNonDirectoryURL.cpp: Removed.
16451         * TestWebKitAPI/Tests/WebKit2/LoadCanceledNoServerRedirectCallback.cpp: Removed.
16452         * TestWebKitAPI/Tests/WebKit2/LoadCanceledNoServerRedirectCallback_Bundle.cpp: Removed.
16453         * TestWebKitAPI/Tests/WebKit2/LoadPageOnCrash.cpp: Removed.
16454         * TestWebKitAPI/Tests/WebKit2/MediaStreamTrackDetached.mm: Removed.
16455         * TestWebKitAPI/Tests/WebKit2/MenuTypesForMouseEvents.cpp: Removed.
16456         * TestWebKitAPI/Tests/WebKit2/ModalAlertsSPI.cpp: Removed.
16457         * TestWebKitAPI/Tests/WebKit2/MouseMoveAfterCrash.cpp: Removed.
16458         * TestWebKitAPI/Tests/WebKit2/MouseMoveAfterCrash_Bundle.cpp: Removed.
16459         * TestWebKitAPI/Tests/WebKit2/NavigationClientDefaultCrypto.cpp: Removed.
16460         * TestWebKitAPI/Tests/WebKit2/NetworkProcessCrashWithPendingConnection.mm: Removed.
16461         * TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout.cpp: Removed.
16462         * TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails.cpp: Removed.
16463         * TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails_Bundle.cpp: Removed.
16464         * TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutForImages.cpp: Removed.
16465         * TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutForImages_Bundle.cpp: Removed.
16466         * TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames.cpp: Removed.
16467         * TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames_Bundle.cpp: Removed.
16468         * TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout_Bundle.cpp: Removed.
16469         * TestWebKitAPI/Tests/WebKit2/PageGroup.cpp: Removed.
16470         * TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp: Removed.
16471         * TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp: Removed.
16472         * TestWebKitAPI/Tests/WebKit2/ParentFrame.cpp: Removed.
16473         * TestWebKitAPI/Tests/WebKit2/ParentFrame_Bundle.cpp: Removed.
16474         * TestWebKitAPI/Tests/WebKit2/PasteboardNotifications.mm: Removed.
16475         * TestWebKitAPI/Tests/WebKit2/PasteboardNotifications_Bundle.cpp: Removed.
16476         * TestWebKitAPI/Tests/WebKit2/PendingAPIRequestURL.cpp: Removed.
16477         * TestWebKitAPI/Tests/WebKit2/PreventEmptyUserAgent.cpp: Removed.
16478         * TestWebKitAPI/Tests/WebKit2/PrivateBrowsingPushStateNoHistoryCallback.cpp: Removed.
16479         * TestWebKitAPI/Tests/WebKit2/ProcessDidTerminate.cpp: Removed.
16480         * TestWebKitAPI/Tests/WebKit2/ProvisionalURLAfterWillSendRequestCallback.cpp: Removed.
16481         * TestWebKitAPI/Tests/WebKit2/ProvisionalURLAfterWillSendRequestCallback_Bundle.cpp: Removed.
16482         * TestWebKitAPI/Tests/WebKit2/ReloadPageAfterCrash.cpp: Removed.
16483         * TestWebKitAPI/Tests/WebKit2/ResizeReversePaginatedWebView.cpp: Removed.
16484         * TestWebKitAPI/Tests/WebKit2/ResizeWindowAfterCrash.cpp: Removed.
16485         * TestWebKitAPI/Tests/WebKit2/ResponsivenessTimer.cpp: Removed.
16486         * TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly.cpp: Removed.
16487         * TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly_Bundle.cpp: Removed.
16488         * TestWebKitAPI/Tests/WebKit2/RestoreSessionState.cpp: Removed.
16489         * TestWebKitAPI/Tests/WebKit2/RestoreSessionStateContainingFormData.cpp: Removed.
16490         * TestWebKitAPI/Tests/WebKit2/RestoreSessionStateWithoutNavigation.cpp: Removed.
16491         * TestWebKitAPI/Tests/WebKit2/ScrollPinningBehaviors.cpp: Removed.
16492         * TestWebKitAPI/Tests/WebKit2/ShouldGoToBackForwardListItem.cpp: Removed.
16493         * TestWebKitAPI/Tests/WebKit2/ShouldGoToBackForwardListItem_Bundle.cpp: Removed.
16494         * TestWebKitAPI/Tests/WebKit2/ShouldKeepCurrentBackForwardListItemInList.cpp: Removed.
16495         * TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp: Removed.
16496         * TestWebKitAPI/Tests/WebKit2/StopLoadingDuringDidFailProvisionalLoad.cpp: Removed.
16497         * TestWebKitAPI/Tests/WebKit2/StopLoadingDuringDidFailProvisionalLoad_bundle.cpp: Removed.
16498         * TestWebKitAPI/Tests/WebKit2/TerminateTwice.cpp: Removed.
16499         * TestWebKitAPI/Tests/WebKit2/TextFieldDidBeginAndEndEditing.cpp: Removed.
16500         * TestWebKitAPI/Tests/WebKit2/TextFieldDidBeginAndEndEditing_Bundle.cpp: Removed.
16501         * TestWebKitAPI/Tests/WebKit2/UserMedia.cpp: Removed.
16502         * TestWebKitAPI/Tests/WebKit2/UserMessage.cpp: Removed.
16503         * TestWebKitAPI/Tests/WebKit2/UserMessage_Bundle.cpp: Removed.
16504         * TestWebKitAPI/Tests/WebKit2/ViewportSizeForViewportUnits.mm: Removed.
16505         * TestWebKitAPI/Tests/WebKit2/WKBackForwardList.mm: Removed.
16506         * TestWebKitAPI/Tests/WebKit2/WKBundleFileHandle.cpp: Removed.
16507         * TestWebKitAPI/Tests/WebKit2/WKBundleFileHandle_Bundle.cpp: Removed.
16508         * TestWebKitAPI/Tests/WebKit2/WKImageCreateCGImageCrash.cpp: Removed.
16509         * TestWebKitAPI/Tests/WebKit2/WKPageConfiguration.cpp: Removed.
16510         * TestWebKitAPI/Tests/WebKit2/WKPageCopySessionStateWithFiltering.cpp: Removed.
16511         * TestWebKitAPI/Tests/WebKit2/WKPageGetScaleFactorNotZero.cpp: Removed.
16512         * TestWebKitAPI/Tests/WebKit2/WKPageIsPlayingAudio.cpp: Removed.
16513         * TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp: Removed.
16514         * TestWebKitAPI/Tests/WebKit2/WKRetainPtr.cpp: Removed.
16515         * TestWebKitAPI/Tests/WebKit2/WKString.cpp: Removed.
16516         * TestWebKitAPI/Tests/WebKit2/WKStringJSString.cpp: Removed.
16517         * TestWebKitAPI/Tests/WebKit2/WKThumbnailView.mm: Removed.
16518         * TestWebKitAPI/Tests/WebKit2/WKURL.cpp: Removed.
16519         * TestWebKitAPI/Tests/WebKit2/WebArchive.cpp: Removed.
16520         * TestWebKitAPI/Tests/WebKit2/WebArchive_Bundle.cpp: Removed.
16521         * TestWebKitAPI/Tests/WebKit2/WebCoreStatisticsWithNoWebProcess.cpp: Removed.
16522         * TestWebKitAPI/Tests/WebKit2/WillLoad.cpp: Removed.
16523         * TestWebKitAPI/Tests/WebKit2/WillLoad_Bundle.cpp: Removed.
16524         * TestWebKitAPI/Tests/WebKit2/WillSendSubmitEvent.cpp: Removed.
16525         * TestWebKitAPI/Tests/WebKit2/WillSendSubmitEvent_Bundle.cpp: Removed.
16526         * TestWebKitAPI/Tests/WebKit2/all-content-in-one-iframe.html: Removed.
16527         * TestWebKitAPI/Tests/WebKit2/associate-form-controls.html: Removed.
16528         * TestWebKitAPI/Tests/WebKit2/auto-submitting-form.html: Removed.
16529         * TestWebKitAPI/Tests/WebKit2/autoplay-check-frame.html: Removed.
16530         * TestWebKitAPI/Tests/WebKit2/autoplay-check-in-iframe.html: Removed.
16531         * TestWebKitAPI/Tests/WebKit2/autoplay-check.html: Removed.
16532         * TestWebKitAPI/Tests/WebKit2/autoplay-inherits-gesture-from-document.html: Removed.
16533         * TestWebKitAPI/Tests/WebKit2/autoplay-muted-with-controls.html: Removed.
16534         * TestWebKitAPI/Tests/WebKit2/autoplay-no-audio-check.html: Removed.
16535         * TestWebKitAPI/Tests/WebKit2/autoplay-with-controls.html: Removed.
16536         * TestWebKitAPI/Tests/WebKit2/autoplay-zero-volume-check.html: Removed.
16537         * TestWebKitAPI/Tests/WebKit2/bundle-file.html: Removed.
16538         * TestWebKitAPI/Tests/WebKit2/chinese-character-with-image.html: Removed.
16539         * TestWebKitAPI/Tests/WebKit2/close-from-within-create-page.html: Removed.
16540         * TestWebKitAPI/Tests/WebKit2/closed-shadow-tree-test.html: Removed.
16541         * TestWebKitAPI/Tests/WebKit2/cocoa: Removed.
16542         * TestWebKitAPI/Tests/WebKit2/cocoa/WeakObjCPtr.mm: Removed.
16543         * TestWebKitAPI/Tests/WebKit2/contentBlockerCheck.html: Removed.
16544         * TestWebKitAPI/Tests/WebKit2/custom-protocol-sync-xhr.html: Removed.
16545         * TestWebKitAPI/Tests/WebKit2/encrypted.pdf: Removed.
16546         * TestWebKitAPI/Tests/WebKit2/enumerateMediaDevices.html: Removed.
16547         * TestWebKitAPI/Tests/WebKit2/execCopy.html: Removed.
16548         * TestWebKitAPI/Tests/WebKit2/file-with-anchor.html: Removed.
16549         * TestWebKitAPI/Tests/WebKit2/file-with-mse.html: Removed.
16550         * TestWebKitAPI/Tests/WebKit2/file-with-video.html: Removed.
16551         * TestWebKitAPI/Tests/WebKit2/find.html: Removed.
16552         * TestWebKitAPI/Tests/WebKit2/findRanges.html: Removed.
16553         * TestWebKitAPI/Tests/WebKit2/geolocationGetCurrentPosition.html: Removed.
16554         * TestWebKitAPI/Tests/WebKit2/geolocationGetCurrentPositionWithHighAccuracy.html: Removed.
16555         * TestWebKitAPI/Tests/WebKit2/geolocationWatchPosition.html: Removed.
16556         * TestWebKitAPI/Tests/WebKit2/geolocationWatchPositionWithHighAccuracy.html: Removed.
16557         * TestWebKitAPI/Tests/WebKit2/getUserMedia.html: Removed.
16558         * TestWebKitAPI/Tests/WebKit2/gtk: Removed.
16559         * TestWebKitAPI/Tests/WebKit2/gtk/InputMethodFilter.cpp: Removed.
16560         * TestWebKitAPI/Tests/WebKit2/icon.png: Removed.
16561         * TestWebKitAPI/Tests/WebKit2/input-focus-blur.html: Removed.
16562         * TestWebKitAPI/Tests/WebKit2/js-autoplay-audio.html: Removed.
16563         * TestWebKitAPI/Tests/WebKit2/js-play-with-controls.html: Removed.
16564         * TestWebKitAPI/Tests/WebKit2/large-red-square-image.html: Removed.
16565         * TestWebKitAPI/Tests/WebKit2/link-with-download-attribute-with-slashes.html: Removed.
16566         * TestWebKitAPI/Tests/WebKit2/link-with-download-attribute.html: Removed.
16567         * TestWebKitAPI/Tests/WebKit2/link-with-title.html: Removed.
16568         * TestWebKitAPI/Tests/WebKit2/lots-of-iframes.html: Removed.
16569         * TestWebKitAPI/Tests/WebKit2/lots-of-images.html: Removed.
16570         * TestWebKitAPI/Tests/WebKit2/lots-of-text-vertical-lr.html: Removed.
16571         * TestWebKitAPI/Tests/WebKit2/lots-of-text.html: Removed.
16572         * TestWebKitAPI/Tests/WebKit2/mac: Removed.
16573         * TestWebKitAPI/Tests/WebKit2/mac/AttributedSubstringForProposedRangeWithImage.mm: Removed.
16574         * TestWebKitAPI/Tests/WebKit2/mac/ContextMenuDownload.mm: Removed.
16575         * TestWebKitAPI/Tests/WebKit2/mac/EditorCommands.mm: Removed.
16576         * TestWebKitAPI/Tests/WebKit2/mac/GetBackingScaleFactor.mm: Removed.
16577         * TestWebKitAPI/Tests/WebKit2/mac/GetBackingScaleFactor_Bundle.mm: Removed.
16578         * TestWebKitAPI/Tests/WebKit2/mac/GetPIDAfterAbortedProcessLaunch.cpp: Removed.
16579         * TestWebKitAPI/Tests/WebKit2/mac/InjectedBundleAppleEvent.cpp: Removed.
16580         * TestWebKitAPI/Tests/WebKit2/mac/InjectedBundleAppleEvent_Bundle.cpp: Removed.
16581         * TestWebKitAPI/Tests/WebKit2/mac/RestoreStateAfterTermination.mm: Removed.
16582         * TestWebKitAPI/Tests/WebKit2/many-iframes.html: Removed.
16583         * TestWebKitAPI/Tests/WebKit2/mediastreamtrack-detached.html: Removed.
16584         * TestWebKitAPI/Tests/WebKit2/modal-alerts-in-new-about-blank-window.html: Removed.
16585         * TestWebKitAPI/Tests/WebKit2/mouse-button-listener.html: Removed.
16586         * TestWebKitAPI/Tests/WebKit2/mouse-move-listener.html: Removed.
16587         * TestWebKitAPI/Tests/WebKit2/navigation-client-default-crypto.html: Removed.
16588         * TestWebKitAPI/Tests/WebKit2/no-autoplay-with-controls.html: Removed.
16589         * TestWebKitAPI/Tests/WebKit2/open-and-close-window.html: Removed.
16590         * TestWebKitAPI/Tests/WebKit2/push-state.html: Removed.
16591         * TestWebKitAPI/Tests/WebKit2/set-long-title.html: Removed.
16592         * TestWebKitAPI/Tests/WebKit2/should-open-external-schemes.html: Removed.
16593         * TestWebKitAPI/Tests/WebKit2/simple-accelerated-compositing.html: Removed.
16594         * TestWebKitAPI/Tests/WebKit2/simple-form.html: Removed.
16595         * TestWebKitAPI/Tests/WebKit2/simple-iframe.html: Removed.
16596         * TestWebKitAPI/Tests/WebKit2/simple-tall.html: Removed.
16597         * TestWebKitAPI/Tests/WebKit2/simple.html: Removed.
16598         * TestWebKitAPI/Tests/WebKit2/simple2.html: Removed.
16599         * TestWebKitAPI/Tests/WebKit2/simple3.html: Removed.
16600         * TestWebKitAPI/Tests/WebKit2/spacebar-scrolling.html: Removed.
16601         * TestWebKitAPI/Tests/WebKit2/test-mse.mp4: Removed.
16602         * TestWebKitAPI/Tests/WebKit2/test-without-audio-track.mp4: Removed.
16603         * TestWebKitAPI/Tests/WebKit2/test.mp4: Removed.
16604         * TestWebKitAPI/Tests/WebKit2/test.pdf: Removed.
16605         * TestWebKitAPI/Tests/WebKit2/webfont.html: Removed.
16607 2017-08-25  Alex Christensen  <achristensen@webkit.org>
16609         Rename TestWebKitAPI/Tests/WebKit to WebKitLegacy following Source directory rename.
16611         Rubber-stamped by Brady Eidson.
16613         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
16614         * TestWebKitAPI/Tests/WebKit: Removed.
16615         * TestWebKitAPI/Tests/WebKit/ios: Removed.
16616         * TestWebKitAPI/Tests/WebKit/ios/AudioSessionCategoryIOS.mm: Removed.
16617         * TestWebKitAPI/Tests/WebKit/ios/SnapshotViaRenderInContext.mm: Removed.
16618         * TestWebKitAPI/Tests/WebKit/ios/audio-only.html: Removed.
16619         * TestWebKitAPI/Tests/WebKit/ios/video-with-audio.html: Removed.
16620         * TestWebKitAPI/Tests/WebKit/ios/video-with-audio.mp4: Removed.
16621         * TestWebKitAPI/Tests/WebKit/ios/video-with-muted-audio-and-webaudio.html: Removed.
16622         * TestWebKitAPI/Tests/WebKit/ios/video-with-muted-audio.html: Removed.
16623         * TestWebKitAPI/Tests/WebKit/ios/video-without-audio.html: Removed.
16624         * TestWebKitAPI/Tests/WebKit/ios/video-without-audio.mp4: Removed.
16625         * TestWebKitAPI/Tests/WebKit/win: Removed.
16626         * TestWebKitAPI/Tests/WebKit/win/ScaleWebView.cpp: Removed.
16627         * TestWebKitAPI/Tests/WebKit/win/WebViewDestruction.cpp: Removed.
16628         * TestWebKitAPI/Tests/WebKitLegacy: Copied from TestWebKitAPI/Tests/WebKit.
16630 2017-08-25  Alex Christensen  <achristensen@webkit.org>
16632         Add WKUIDelegatePrivate equivalent of WKPageUIClient's saveDataToFileInDownloadsFolder
16633         https://bugs.webkit.org/show_bug.cgi?id=176000
16634         <rdar://problem/29270035>
16636         Reviewed by Andy Estes.
16638         * TestWebKitAPI/Tests/WebKit2Cocoa/UIDelegate.mm:
16639         (-[FocusDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
16640         (TEST):
16641         (-[SaveDataToFileDelegate _webView:saveDataToFile:suggestedFilename:mimeType:originatingURL:]):
16642         (-[SaveDataToFileDelegate webView:didFinishNavigation:]):
16644 2017-08-25  Youenn Fablet  <youenn@apple.com>
16646         WPT server should not need to copy test harness files
16647         https://bugs.webkit.org/show_bug.cgi?id=175938
16649         Reviewed by Alexey Proskuryakov.
16651         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
16652         (WebPlatformTestServer.__init__): Stopping explicit resource files copy when launching the WPT server.
16653         Use aliases instead.
16655 2017-08-25  Eric Carlson  <eric.carlson@apple.com>
16657         Add String::format variant that takes va_args
16658         https://bugs.webkit.org/show_bug.cgi?id=175988
16660         Reviewed by Jer Noble.
16662         * TestWebKitAPI/Tests/WTF/WTFString.cpp:
16663         (TestWebKitAPI::testWithFormatAndArguments):
16664         (TestWebKitAPI::TEST):
16666 2017-08-25  Jonathan Bedard  <jbedard@apple.com>
16668         Follow-up Internal build fix for r221187
16669         https://bugs.webkit.org/show_bug.cgi?id=175960
16670         <rdar://problem/34069264>
16672         Unreviewed build fix.
16674         * TestWebKitAPI/ios/DataInteractionSimulator.h: Move UIItemProvider declaration
16675         into #if block.
16677 2017-08-25  Don Olmstead  <don.olmstead@sony.com>
16679         [WinCairo] Use GitHub releases for WinCairoRequirements
16680         https://bugs.webkit.org/show_bug.cgi?id=175972
16682         Reviewed by Brent Fulgham.
16684         * Scripts/build-webkit:
16685         (cMakeArgsFromFeatures): Deleted.
16686         (writeCongrats): Deleted.
16687         * Scripts/download-latest-github-release.py:
16688         (Status):
16689         (parse_args):
16690         (main):
16691         * Scripts/update-webkit-wincairo-libs.py: Renamed from Tools/Scripts/update-webkit-wincairo-libs.
16693 2017-08-25  Jonathan Bedard  <jbedard@apple.com>
16695         Fix build breakage with Public iOS 11 SDK
16696         https://bugs.webkit.org/show_bug.cgi?id=175960
16697         <rdar://problem/34069264>
16699         Reviewed by Wenson Hsieh.
16701         * TestWebKitAPI/ios/DataInteractionSimulator.h: Add UIItemProvider declaration.
16703 2017-08-24  Chris Dumez  <cdumez@apple.com>
16705         [Directory Upload] Add basic support for input.webkitdirectory
16706         https://bugs.webkit.org/show_bug.cgi?id=175950
16707         <rdar://problem/33951915>
16709         Reviewed by Geoffrey Garen.
16711         * DumpRenderTree/mac/DumpRenderTree.mm:
16712         (resetWebPreferencesToConsistentValues):
16713         * WebKitTestRunner/TestController.cpp:
16714         (WTR::TestController::resetPreferencesToConsistentValues):
16715         Enable Directory Upload feature for testing, given that it is currently disabled by default.
16717         (WTR::runOpenPanel):
16718         Print additional text when directories are allowed to extend testing coverage.
16720 2017-08-24  Alex Christensen  <achristensen@webkit.org>
16722         Add WKUIDelegatePrivate equivalent of WKPageUIClient's handleAutoplayEvent
16723         https://bugs.webkit.org/show_bug.cgi?id=175965
16724         <rdar://problem/29270035>
16726         Reviewed by Tim Horton.
16728         * TestWebKitAPI/Tests/WebKit2Cocoa/UIDelegate.mm:
16729         (TEST):
16730         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
16731         (-[AutoplayPoliciesDelegate _webView:handleAutoplayEvent:withFlags:]):
16732         (TEST):
16733         (handleAutoplayEvent): Deleted.
16735 2017-08-24  Alex Christensen  <achristensen@webkit.org>
16737         didNotHandleWheelEvent test times out
16738         https://bugs.webkit.org/show_bug.cgi?id=175967
16740         * TestWebKitAPI/Tests/WebKit2Cocoa/UIDelegate.mm:
16741         Skip the test until WebCore's wheel event handling is reliable enough to test.
16743 2017-08-24  Jonathan Bedard  <jbedard@apple.com>
16745         Update configure-xcode-for-ios-development for iOS 11
16746         https://bugs.webkit.org/show_bug.cgi?id=173937
16747         <rdar://problem/33038924>
16749         Reviewed by Daniel Bates.
16751         Xcode 9 has removed the following headers from the iOS 11 Simulator SDK:
16752                 /usr/include/crt_externs.h
16753                 /usr/include/mach/mach_types.defs
16754                 /usr/include/mach/machine/machine_types.defs
16755                 /usr/include/mach/std_types.defs
16756                 /usr/include/objc/objc-class.h
16757                 /usr/include/objc/objc-runtime.h
16758                 /usr/include/objc/Protocol.h
16759                 /usr/include/readline/history.h
16760                 /usr/include/readline/readline.h
16761         To solve this problem, configure-xcode-for-ios-development copies these headers
16762         from the active macOS SDK into the iOS Simulator SDK.
16764         * Scripts/configure-xcode-for-ios-development:
16765         (copyMissingHeadersFromSDKToSDKIfNeeded): Copy all missing header from one SDK
16766         into another if those headers do not exist in the destination SDK.
16767         (copyMissingHeadersToIPhoneOSSDKIfNeeded): Deleted.
16769 2017-08-24  Alex Christensen  <achristensen@webkit.org>
16771         Add WKUIDelegatePrivate callback corresponding to PageUIClient's didNotHandleWheelEvent
16772         https://bugs.webkit.org/show_bug.cgi?id=175957
16773         <rdar://problem/29270035>
16775         Reviewed by Geoffrey Garen.
16777         * TestWebKitAPI/Tests/WebKit2Cocoa/UIDelegate.mm:
16778         (synthesizeWheelEvents):
16779         (-[WheelDelegate _webView:didNotHandleWheelEvent:]):
16780         (-[WheelDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
16781         (TEST):
16783 2017-08-24  Tim Horton  <timothy_horton@apple.com>
16785         Layout size override changes during in-flight animated resize are dropped on the floor forever
16786         https://bugs.webkit.org/show_bug.cgi?id=175916
16787         <rdar://problem/33887295>
16789         Reviewed by Beth Dakin.
16791         * TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm:
16792         (TEST):
16793         Add a test ensuring that override layout size changes
16794         during an animated resize actually take effect.
16796 2017-08-23  Matt Lewis  <jlewis3@apple.com>
16798         Disabled VideoControlsManagerMultipleVideosSwitchControlledVideoWhenScrolling.
16799         https://bugs.webkit.org/show_bug.cgi?id=175909
16801         Unreviewed test gardening.
16803         * TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm:
16804         (TestWebKitAPI::TEST):
16806 2017-08-24  Don Olmstead  <don.olmstead@sony.com>
16808         [CMake] Use find_package for SQLite
16809         https://bugs.webkit.org/show_bug.cgi?id=175803
16811         Reviewed by Konstantin Tokarev.
16813         * TestWebKitAPI/PlatformWin.cmake:
16815 2017-08-23  Jonathan Bedard  <jbedard@apple.com>
16817         Leaking CARenderServerBuffer in PlatformWebView::windowSnapshotImage()
16818         https://bugs.webkit.org/show_bug.cgi?id=175905
16820         Reviewed by Tim Horton.
16822         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
16823         (WTR::PlatformWebView::windowSnapshotImage): Pass CARenderServerBuffer to CGDataProviderCreateWithData
16824         so that the buffer can be destroyed.
16826 2017-08-23  Alex Christensen  <achristensen@webkit.org>
16828         Add WKUIDelegatePrivate callbacks corresponding to WKPageUIClient's takeFocus, focus, and unfocus
16829         https://bugs.webkit.org/show_bug.cgi?id=175896
16831         Reviewed by Tim Horton.
16833         * TestWebKitAPI/Tests/WebKit2Cocoa/UIDelegate.mm:
16834         (-[UITestDelegate _showWebView:]):
16835         (TEST):
16836         (tabEvent):
16837         (synthesizeTab):
16838         (-[FocusDelegate _webView:takeFocus:]):
16839         (-[FocusDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
16840         (-[UITestDelegate _webViewShow:]): Deleted.
16842 2017-08-23  Eric Carlson  <eric.carlson@apple.com>
16844         Platform code should be able to safely log in release builds
16845         https://bugs.webkit.org/show_bug.cgi?id=175854
16846         <rdar://problem/34022930>
16848         Reviewed by Jer Noble.
16850         * TestWebKitAPI/Tests/WebCore/Logging.cpp:
16851         (TestWebKitAPI::TEST_F):
16853 2017-08-23  Jonathan Bedard  <jbedard@apple.com>
16855         Access expectations path through apple_additions
16856         https://bugs.webkit.org/show_bug.cgi?id=174800
16857         <rdar://problem/33498899>
16859         Unreviewed follow-up fix for r221087.
16861         * Scripts/webkitpy/port/ios.py:
16862         (IOSPort._apple_additions_path): Use iOS mapping instead of Mac mapping.
16864 2017-08-23  Jonathan Bedard  <jbedard@apple.com>
16866         Access expectations path through apple_additions
16867         https://bugs.webkit.org/show_bug.cgi?id=174800
16868         <rdar://problem/33498899>
16870         Reviewed by David Kilzer.
16872         Follow-up fix. Mapping of operating system names was done incorrectly.
16874         * Scripts/webkitpy/port/ios.py:
16875         (IOSPort._apple_additions_path): Correctly find the operating system to be replaced.
16876         * Scripts/webkitpy/port/ios_device_unittest.py:
16877         (IOSDeviceTest.test_layout_test_searchpath_with_apple_additions): Add test for operating
16878         system name replacement.
16879         * Scripts/webkitpy/port/ios_simulator_unittest.py:
16880         (IOSSimulatorTest.test_layout_test_searchpath_with_apple_additions): Add test for operating
16881         system name replacement.
16882         * Scripts/webkitpy/port/mac.py: Correctly find the operating system to be replaced.
16883         (MacPort._apple_additions_path):
16884         * Scripts/webkitpy/port/mac_unittest.py:
16885         (MacTest.test_layout_test_searchpath_with_apple_additions): Add test for operating system
16886         name replacement.
16887         * Scripts/webkitpy/port/port_testcase.py:
16888         (bind_mock_apple_additions.MockAppleAdditions.ios_os_name): Change the passed name so that
16889         operating system name replacement can be tested.
16890         (bind_mock_apple_additions.MockAppleAdditions.mac_os_name): Ditto.
16892 2017-08-23  Jonathan Bedard  <jbedard@apple.com>
16894         Access expectations path through apple_additions
16895         https://bugs.webkit.org/show_bug.cgi?id=174800
16896         <rdar://problem/33498899>
16898         Reviewed by Alexey Proskuryakov.
16900         When external test expectations are imported through additional-platform-directory, they will
16901         over-write any WebKit expectations. Access some expectations from apple_additions to correct
16902         these precedence issues.
16904         * Scripts/webkitpy/port/ios.py:
16905         (IOSPort._apple_additions_path): Convert test expectation directory to a path
16906         coming from apple_additions.
16907         (IOSPort.default_baseline_search_path): Alternate between WebKit path and apple_additions
16908         path for layout test expectations.
16909         * Scripts/webkitpy/port/ios_device_unittest.py:
16910         (IOSDeviceTest.test_layout_test_searchpath_with_apple_additions): Added to test layout-test search paths.
16911         * Scripts/webkitpy/port/ios_simulator_unittest.py:
16912         (IOSSimulatorTest.test_layout_test_searchpath_with_apple_additions): Added to test layout-test search paths.
16913         * Scripts/webkitpy/port/mac.py:
16914         (MacPort._apple_additions_path): Convert test expectation directory to a path
16915         coming from apple_additions.
16916         (MacPort.default_baseline_search_path): Alternate between WebKit path and apple_additions
16917         path for layout test expectations.
16918         * Scripts/webkitpy/port/mac_unittest.py:
16919         (MacTest.test_layout_test_searchpath_with_apple_additions): Added to test layout-test search paths.
16920         * Scripts/webkitpy/port/port_testcase.py:
16921         (bind_mock_apple_additions): Added to create mock apple_additions for a block.
16922         (bind_mock_apple_additions.MockAppleAdditions): Contains apple_addition stubs for testing.
16923         * Scripts/webkitpy/port/win.py:
16924         (WinPort.default_baseline_search_path): Include apple_additions test expectation for Windows.
16926 2017-08-22  Zan Dobersek  <zdobersek@igalia.com>
16928         Unreviewed. The WPE port should build TestWebKitAPI with the same
16929         compiler flags as the GTK+ port, disabling a few flags that are
16930         sprouting a lot of warning output.
16932         * TestWebKitAPI/PlatformWPE.cmake:
16934 2017-08-20  Wenson Hsieh  <wenson_hsieh@apple.com>
16936         [iOS WK2] WKWebView schedules nonstop layout after pressing cmb+b,i,u inside a contenteditable div
16937         https://bugs.webkit.org/show_bug.cgi?id=175116
16938         <rdar://problem/28279301>
16940         Reviewed by Darin Adler and Ryosuke Niwa.
16942         Introduces new testing infrastructure and API tests to test EditorState updates in the UI process. The new
16943         EditorStateTests run on both iOS and Mac.
16945         * TestWebKitAPI/EditingTestHarness.h: Added.
16946         * TestWebKitAPI/EditingTestHarness.mm: Added.
16948         EditingTestHarness is a helper object that API tests may use to apply editing commands and store EditorState
16949         history. This test harness adds sugaring around various editing commands, and simplifies the process of checking
16950         the state of the latest observed EditorState.
16952         (-[EditingTestHarness initWithWebView:]):
16953         (-[EditingTestHarness dealloc]):
16954         (-[EditingTestHarness webView]):
16955         (-[EditingTestHarness latestEditorState]):
16956         (-[EditingTestHarness editorStateHistory]):
16957         (-[EditingTestHarness insertText:andExpectEditorStateWith:]):
16958         (-[EditingTestHarness insertHTML:andExpectEditorStateWith:]):
16959         (-[EditingTestHarness selectAllAndExpectEditorStateWith:]):
16960         (-[EditingTestHarness moveBackwardAndExpectEditorStateWith:]):
16961         (-[EditingTestHarness moveWordBackwardAndExpectEditorStateWith:]):
16962         (-[EditingTestHarness toggleBold]):
16963         (-[EditingTestHarness toggleItalic]):
16964         (-[EditingTestHarness toggleUnderline]):
16965         (-[EditingTestHarness setForegroundColor:]):
16966         (-[EditingTestHarness alignJustifiedAndExpectEditorStateWith:]):
16967         (-[EditingTestHarness alignLeftAndExpectEditorStateWith:]):
16968         (-[EditingTestHarness alignCenterAndExpectEditorStateWith:]):
16969         (-[EditingTestHarness alignRightAndExpectEditorStateWith:]):
16970         (-[EditingTestHarness insertParagraphAndExpectEditorStateWith:]):
16971         (-[EditingTestHarness deleteBackwardAndExpectEditorStateWith:]):
16972         (-[EditingTestHarness _execCommand:argument:expectEntries:]):
16974         Dispatches an editing command to the web process, and blocks until a response is received. If an expected
16975         entries dictionary is given, this will additionally verify that the latest EditorState contains all the expected
16976         keys and values.
16978         (-[EditingTestHarness latestEditorStateContains:]):
16979         (-[EditingTestHarness _webView:editorStateDidChange:]):
16980         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
16981         * TestWebKitAPI/Tests/WebKit2Cocoa/EditorStateTests.mm: Added.
16982         (TestWebKitAPI::setUpEditorStateTestHarness):
16983         (TestWebKitAPI::TEST):
16984         * TestWebKitAPI/Tests/WebKit2Cocoa/editor-state-test-harness.html: Added.
16986 2017-08-22  Wenson Hsieh  <wenson_hsieh@apple.com>
16988         [WK2] EditorState updates should be rolled into the layer update lifecycle when possible
16989         https://bugs.webkit.org/show_bug.cgi?id=175370
16990         <rdar://problem/33799806>
16992         Reviewed by Ryosuke Niwa.
16994         Tweaks API tests that involve editing to wait for a presentation update before checking against UI process-side
16995         information sent via EditorState updates. This allows any EditorState update scheduled by the test to propagate
16996         to the UI process.
16998         * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewCandidateTests.mm:
16999         (-[CandidateTestWebView typeString:inputMessage:]):
17000         (+[CandidateTestWebView setUpWithFrame:testPage:]):
17001         * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewTextInput.mm:
17002         * TestWebKitAPI/Tests/mac/AcceptsFirstMouse.mm:
17003         (TestWebKitAPI::AcceptsFirstMouse::runTest):
17004         * TestWebKitAPI/Tests/mac/WKWebViewMacEditingTests.mm:
17005         * TestWebKitAPI/cocoa/TestWKWebView.h:
17006         * TestWebKitAPI/cocoa/TestWKWebView.mm:
17007         (-[TestWKWebView waitForNextPresentationUpdate]):
17009         Add a new helper method to spin until the next presentation update.
17011         * TestWebKitAPI/mac/WebKitAgnosticTest.h:
17012         * TestWebKitAPI/mac/WebKitAgnosticTest.mm:
17013         (TestWebKitAPI::WebKitAgnosticTest::waitForNextPresentationUpdate):
17015 2017-08-22  Alex Christensen  <achristensen@webkit.org>
17017         Add UIDelegatePrivate SPI corresponding to WKPageUIClient.showPage
17018         https://bugs.webkit.org/show_bug.cgi?id=175797
17019         <rdar://problem/29270035>
17021         Reviewed by Geoffrey Garen.
17023         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
17024         * TestWebKitAPI/Tests/WebKit2Cocoa/UIDelegate.mm: Added.
17025         (-[UITestDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
17026         (-[UITestDelegate _showPage:]):
17027         (-[UITestDelegate webView:startURLSchemeTask:]):
17028         (-[UITestDelegate webView:stopURLSchemeTask:]):
17029         (TEST):
17031 2017-08-22  Devin Rousso  <webkit@devinrousso.com>
17033         Unreviewed, change my IRC nick.
17035         * Scripts/webkitpy/common/config/contributors.json:
17037 2017-08-22  Matt Lewis  <jlewis3@apple.com>
17039         Unreviewed, rolling out r221026.
17041         This caused a consistent API failure on iOS Simulator.
17043         Reverted changeset:
17045         "Add UIDelegatePrivate SPI corresponding to
17046         WKPageUIClient.showPage"
17047         https://bugs.webkit.org/show_bug.cgi?id=175797
17048         http://trac.webkit.org/changeset/221026
17050 2017-08-22  Alex Christensen  <achristensen@webkit.org>
17052         Add UIDelegatePrivate SPI corresponding to WKPageUIClient.showPage
17053         https://bugs.webkit.org/show_bug.cgi?id=175797
17054         <rdar://problem/29270035>
17056         Reviewed by Geoffrey Garen.
17058         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
17059         * TestWebKitAPI/Tests/WebKit2Cocoa/UIDelegate.mm: Added.
17060         (-[UITestDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
17061         (-[UITestDelegate _showPage:]):
17062         (-[UITestDelegate webView:startURLSchemeTask:]):
17063         (-[UITestDelegate webView:stopURLSchemeTask:]):
17064         (TEST):
17066 2017-08-22  Jonathan Bedard  <jbedard@apple.com>
17068         Fix leak-checking for iOS Simulators
17069         https://bugs.webkit.org/show_bug.cgi?id=175735
17071         Reviewed by David Kilzer.
17073         Follow-up fix to r220942. _proc may be undefined.
17075         * Scripts/webkitpy/port/server_process.py:
17076         (ServerProcess._wait_for_stop): Handle case where _proc is undefined.
17078 2017-08-22  Carlos Alberto Lopez Perez  <clopez@igalia.com>
17080         [GTK][WPE] install-dependencies should install the required gstreamer packages needed for production builds.
17081         https://bugs.webkit.org/show_bug.cgi?id=175822
17083         Reviewed by Xabier Rodriguez-Calvar.
17085         * gtk/install-dependencies: Add the bad plugins to the list.
17086         * wpe/install-dependencies: Add all the gst related packages (copied from GTK listing).
17088 2017-08-21  Myles C. Maxfield  <mmaxfield@apple.com>
17090         DataInteractionTests.ExternalSourceAttributedStringToContentEditable hits a debug assertion
17091         https://bugs.webkit.org/show_bug.cgi?id=175787
17092         <rdar://problem/33996612>
17094         Reviewed by Wenson Hsieh.
17096         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
17097         (TestWebKitAPI::TEST):
17099 2017-08-21  Myles C. Maxfield  <mmaxfield@apple.com>
17101         Typo in "webkit-patch land"
17102         https://bugs.webkit.org/show_bug.cgi?id=175788
17104         Reviewed by Tim Horton.
17106         * Scripts/webkitpy/tool/steps/commit.py:
17107         (Commit._commit_warning):
17109 2017-08-20  Sam Weinig  <sam@webkit.org>
17111         StringView could use a function to strip leading/trailing characters without allocation
17112         https://bugs.webkit.org/show_bug.cgi?id=175757
17114         Reviewed by Darin Adler.
17116         * TestWebKitAPI/Tests/WTF/StringView.cpp:
17117         Add tests for StringView::stripLeadingAndTrailingMatchedCharacters().
17119 2017-08-21  Yoshiaki Jitsukawa  <Yoshiaki.Jitsukawa@sony.com>
17121         [PAL] Move spi/mac directory into PAL
17122         https://bugs.webkit.org/show_bug.cgi?id=175649
17124         Reviewed by Myles C. Maxfield.
17126         * TestWebKitAPI/Tests/mac/MenuTypesForMouseEvents.mm:
17128 2017-08-21  Per Arne Vollan  <pvollan@apple.com>
17130         [Win] DRT should only allow any https certificate for localhost.
17131         https://bugs.webkit.org/show_bug.cgi?id=175147
17133         Reviewed by Brent Fulgham.
17135         Add check to make sure only localhost requests allow any https certificate.
17137         * DumpRenderTree/win/DumpRenderTree.cpp:
17138         (runTest):
17140 2017-08-21  Eric Carlson  <eric.carlson@apple.com>
17142         Add WTFLogChannel level to allow runtime log filtering
17143         https://bugs.webkit.org/show_bug.cgi?id=175731
17144         <rdar://problem/33967234>
17146         Unreviewed build fix.
17148         * TestWebKitAPI/Tests/WebCore/Logging.cpp:
17149         (TestWebKitAPI::LoggingTest::output): Disable testing output by default because it 
17150         fails on some of the bots.
17152 2017-08-21  Eric Carlson  <eric.carlson@apple.com>
17154         Add WTFLogChannel level to allow runtime log filtering
17155         https://bugs.webkit.org/show_bug.cgi?id=175731
17156         <rdar://problem/33967234>
17158         Reviewed by Jer Noble.
17160         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
17161         * TestWebKitAPI/Tests/WebCore/Logging.cpp: Added.
17162         (TestWebKitAPI::LoggingTest::output):
17163         (TestWebKitAPI::TEST_F):
17165 2017-08-19  Wenson Hsieh  <wenson_hsieh@apple.com>
17167         [iOS WK2] Add a version of DataInteractionTests.ExternalSourceAttributedStringToContentEditable that doesn't hit a debug assertion
17168         https://bugs.webkit.org/show_bug.cgi?id=175509
17169         <rdar://problem/33728169>
17171         Reviewed by Ryosuke Niwa.
17173         Removes ExternalSourceAttributedStringToContentEditable and adds
17174         ExternalSourceColoredAttributedStringToContentEditable, which tests dropping an attributed string with colored
17175         text instead of a bold attributed string of system font. Due to a recent change in behavior in UIKit, the
17176         original test (which this patch renames to ExternalSourceBoldSystemAttributedStringToContentEditable) hits a
17177         debug assertion when dropping text of system bold font. Since the original intent of this test was to verify
17178         that the attributed string UTI can be accepted in richly contenteditable areas, it suffices to check that some
17179         other style attribute, such as color, carries over from the NSAttributedString to the DOM.
17181         Also marks ExternalSourceBoldSystemAttributedStringToContentEditable as disabled for the time being.
17183         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
17184         (TestWebKitAPI::TEST):
17186 2017-08-18  Ryan Haddad  <ryanhaddad@apple.com>
17188         Unreviewed, rolling out r220938.
17190         The API tests added with this change are failing.
17192         Reverted changeset:
17194         "Add WTFLogChannel level to allow runtime log filtering"
17195         https://bugs.webkit.org/show_bug.cgi?id=175731
17196         http://trac.webkit.org/changeset/220938
17198 2017-08-18  Devin Rousso  <webkit@devinrousso.com>
17200         Unreviewed, change my email.
17202         * Scripts/webkitpy/common/config/contributors.json:
17204 2017-08-18  Jonathan Bedard  <jbedard@apple.com>
17206         Fix leak-checking for iOS Simulators
17207         https://bugs.webkit.org/show_bug.cgi?id=175735
17209         Reviewed by Darin Adler.
17211         If the leak checking currently occurs in ServerProcess, we can’t check leaks on an iOS
17212         Simulator (or device) because the process will have already been killed by the time we
17213         check for leaks. Duplicate leak-checking code and share code waiting on a process to stop.
17215         * Scripts/webkitpy/port/server_process.py:
17216         (ServerProcess.stop): Move code waiting for the process to close to _wait_for_stop(...).
17217         (ServerProcess._wait_for_stop): Share code shutting down a process between ServerProcess
17218         and SimulatorProcess.
17219         * Scripts/webkitpy/port/simulator_process.py:
17220         (SimulatorProcess.stop): Before closing the process, check for leaks.
17222 2017-08-18  Eric Carlson  <eric.carlson@apple.com>
17224         Add WTFLogChannel level to allow runtime log filtering
17225         https://bugs.webkit.org/show_bug.cgi?id=175731
17226         <rdar://problem/33967234>
17228         Reviewed by Jer Noble.
17230         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
17231         * TestWebKitAPI/Tests/WebCore/Logging.cpp: Added.
17232         (TestWebKitAPI::LoggingTest::output):
17233         (TestWebKitAPI::TEST_F):
17235 2017-08-18  Alexey Proskuryakov  <ap@apple.com>
17237         Add Dean Johnson to contributors.json for Bugzilla autocomplete.
17239         * Scripts/webkitpy/common/config/contributors.json:
17241 2017-08-18  Ross Kirsling  <ross.kirsling@sony.com>
17243         [Tools] Add script to download a GitHub release
17244         https://bugs.webkit.org/show_bug.cgi?id=175279
17246         Reviewed by Brent Fulgham.
17248         * Scripts/download-latest-github-release.py: Added.
17250 2017-08-18  Commit Queue  <commit-queue@webkit.org>
17252         Unreviewed, rolling out r220854.
17253         https://bugs.webkit.org/show_bug.cgi?id=175716
17255         I'm not sure we really need this (Requested by KaL on
17256         #webkit).
17258         Reverted changeset:
17260         "[GTK][WPE] Add NTLM authentication enabled API"
17261         https://bugs.webkit.org/show_bug.cgi?id=122952
17262         http://trac.webkit.org/changeset/220854
17264 2017-08-17  Michael Catanzaro  <mcatanzaro@igalia.com>
17266         [GTK] Make TestContextMenu work on Fedora
17267         https://bugs.webkit.org/show_bug.cgi?id=175708
17269         Reviewed by Carlos Garcia Campos.
17271         TestContextMenu has been broken for as long as I remember, but not on the bots, only for me
17272         and my student last summer who was trying to work on a context menu API. It's trying to load
17273         an MPEG-2 video file and confirm that right-clicking on it shows media element context menu
17274         entries. Doesn't work on Fedora. Dunno why, since Fedora actually can play MPEG-2, but I
17275         don't care to investigate. Let's switch it to WebM so I can move on.
17277         * TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:
17278         (prepareContextMenuTestView):
17279         * TestWebKitAPI/Tests/WebKitGLib/resources/silence.mpg: Removed.
17280         * TestWebKitAPI/Tests/WebKitGLib/resources/silence.webm: Added.
17282 2017-08-17  Yoshiaki Jitsukawa  <Yoshiaki.Jitsukawa@sony.com>
17284         check-webkit-style shouldn't check spacing in #elif preprocessor lines
17285         https://bugs.webkit.org/show_bug.cgi?id=175652
17287         Reviewed by Alex Christensen.
17289         * Scripts/webkitpy/style/checkers/cpp.py:
17290         (check_spacing):
17291         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
17292         (CppStyleTest.test_spacing_for_binary_ops):
17294 2017-08-17  Wenson Hsieh  <wenson_hsieh@apple.com>
17296         Fix the build on other platforms after r220865
17297         https://bugs.webkit.org/show_bug.cgi?id=175683
17299         Reviewed by Tim Horton.
17301         Check __IPHONE_OS_VERSION_MAX_ALLOWED instead of __IPHONE_OS_VERSION_MIN_REQUIRED in an SPI header. SPI
17302         availability is determined by SDK version rather than deployment version.
17304         * TestWebKitAPI/ios/UIKitSPI.h:
17306 2017-08-17  Andreas Kling  <akling@apple.com>
17308         Disable CSS regions at compile time
17309         https://bugs.webkit.org/show_bug.cgi?id=175630
17311         Reviewed by Antti Koivisto.
17313         * Scripts/webkitperl/FeatureList.pm:
17314         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
17316 2017-08-17  Wenson Hsieh  <wenson_hsieh@apple.com>
17318         Unreviewed, try to fix the internal iOS 10 build after r220865.
17320         * TestWebKitAPI/ios/UIKitSPI.h:
17322         On the iOS 10 SDK, UIApplication_Private.h cannot be imported in the simulator. Simply fall back to using the
17323         extern declaration when building for pre-iOS 11; once the bots stop building for iOS 10, we can safely remove
17324         this compiler guard.
17326 2017-08-17  Wenson Hsieh  <wenson_hsieh@apple.com>
17328         [iOS] Respect type fidelities when copying image elements to the pasteboard
17329         https://bugs.webkit.org/show_bug.cgi?id=175638
17330         <rdar://problem/26556043>
17332         Reviewed by Ryosuke Niwa.
17334         Add API tests that simulate copying an image element using the action sheet, and verifying that the pasteboard
17335         contains UTIs in order of fidelity (image type before URL). Also pulls out UIKit SPI (UIApplicationInitialize)
17336         used in UIPasteboardTests and ActionSheetTests into a common UIKitSPI header.
17338         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
17339         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
17340         (-[ActionSheetObserver _webView:actionsForElement:defaultActions:]):
17341         (TestWebKitAPI::TEST):
17342         (TestWebKitAPI::presentActionSheetAndChooseAction):
17343         (-[ActionSheetObserver waitForActionSheetAfterBlock:]): Deleted.
17344         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
17345         (checkEstimatedSize):
17346         (checkSuggestedNameAndEstimatedSize):
17348         Replace -estimatedDisplayedSize with its non-deprecated counterpart, -preferredPresentationSize.
17350         * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
17351         (TestWebKitAPI::TEST):
17352         * TestWebKitAPI/ios/DataInteractionSimulator.h:
17353         * TestWebKitAPI/ios/UIKitSPI.h: Added.
17355 2017-08-17  Jonathan Bedard  <jbedard@apple.com>
17357         Recursively create resource load statistics folder for testing
17358         https://bugs.webkit.org/show_bug.cgi?id=175676
17360         Reviewed by Brady Eidson.
17362         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
17363         (WTR::TestController::cocoaPlatformInitialize): Recursively create resourceLoadStatisticsFolder.
17365 2017-08-17  Carlos Garcia Campos  <cgarcia@igalia.com>
17367         [GTK][WPE] Add NTLM authentication enabled API
17368         https://bugs.webkit.org/show_bug.cgi?id=122952
17370         Reviewed by Michael Catanzaro.
17372         Add a test case to check we can enable/disable NTLM.
17374         * TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
17375         (testWebViewAuthenticationNTLM):
17376         (beforeAll):
17378 2017-08-16  Yoshiaki Jitsukawa  <Yoshiaki.Jitsukawa@sony.com>
17380         [PAL] Move spi/ios and spi/win directories into PAL
17381         https://bugs.webkit.org/show_bug.cgi?id=175171
17383         Reviewed by Antti Koivisto.
17385         * DumpRenderTree/mac/EventSendingController.mm:
17387 2017-08-16  Andy Estes  <aestes@apple.com>
17389         [Payment Request] Add an ENABLE flag and an experimental feature preference
17390         https://bugs.webkit.org/show_bug.cgi?id=175622
17392         Reviewed by Tim Horton.
17394         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
17395         * WebKitTestRunner/TestController.cpp:
17396         (WTR::TestController::resetPreferencesToConsistentValues):
17398 2017-08-15  Aakash Jain  <aakash_jain@apple.com>
17400         undefined URL in PopoverTracker for failed step
17401         https://bugs.webkit.org/show_bug.cgi?id=175593
17402         <rdar://problem/33898769>
17404         Reviewed by Daniel Bates.
17406         This fix is a workaround for Buildbot 0.9 bug <https://github.com/buildbot/buildbot/issues/3529> where it
17407         does not provide a URL to stdio for a build step. Buildbot 0.8 always included a URL to the stdio of the step.
17409         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
17410         (BuildbotIteration.prototype._parseData): Pass the URL while instantiating BuildbotTestResults.
17411         (BuildbotIteration.prototype._urlForStep): Method to get the URL for a step.
17412         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTestResults.js:
17413         (BuildbotTestResults): Accept URL in constructor.
17415 2017-08-14  Simon Fraser  <simon.fraser@apple.com>
17417         Remove Proximity Events and related code
17418         https://bugs.webkit.org/show_bug.cgi?id=175545
17420         Reviewed by Daniel Bates.
17422         No platform enables Proximity Events, so remove code inside ENABLE(PROXIMITY_EVENTS)
17423         and other related code.
17425         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
17427 2017-08-14  Simon Fraser  <simon.fraser@apple.com>
17429         Remove ENABLE(REQUEST_AUTOCOMPLETE) code, which was disabled everywhere
17430         https://bugs.webkit.org/show_bug.cgi?id=175504
17432         Reviewed by Sam Weinig.
17434         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
17436 2017-08-14  Simon Fraser  <simon.fraser@apple.com>
17438         Remove ENABLE_VIEW_MODE_CSS_MEDIA and related code
17439         https://bugs.webkit.org/show_bug.cgi?id=175557
17441         Reviewed by Jon Lee.
17442         
17443         No port cares about the ENABLE(VIEW_MODE_CSS_MEDIA) feature, so remove it.
17445         * DumpRenderTree/TestRunner.cpp:
17446         (TestRunner::staticFunctions):
17447         (setViewModeMediaFeatureCallback): Deleted.
17448         * DumpRenderTree/TestRunner.h:
17449         * DumpRenderTree/mac/TestRunnerMac.mm:
17450         (TestRunner::setViewModeMediaFeature): Deleted.
17451         * DumpRenderTree/win/TestRunnerWin.cpp:
17452         (TestRunner::setViewModeMediaFeature): Deleted.
17453         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
17455 2017-08-14  Andy Estes  <aestes@apple.com>
17457         REGRESSION (r220456): Crash in PreviewLoader::shouldCreateForMIMEType() when a ResourceResponse has a null MIME type
17458         https://bugs.webkit.org/show_bug.cgi?id=175548
17459         <rdar://problem/33866206>
17461         Reviewed by Brady Eidson.
17463         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
17464         * TestWebKitAPI/Tests/WebCore/ios/PreviewLoader.cpp: Added.
17465         (TestWebKitAPI::TEST): Added an API test for PreviewLoader::shouldCreateForMIMEType().
17467 2017-08-14  Youenn Fablet  <youenn@apple.com>
17469         WPT server should be able to do logging even if its output folder is not created at launch time
17470         https://bugs.webkit.org/show_bug.cgi?id=175543
17472         Reviewed by Alexey Proskuryakov.
17474         Removing no longer used stdout/stderr member variables.
17475         Creating if needed the output folder so that we can create WPT server output log folder at WPT server launch time.
17477         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
17478         (WebPlatformTestServer.__init__):
17479         (WebPlatformTestServer._prepare_config):
17480         (WebPlatformTestServer._spawn_process):
17481         (WebPlatformTestServer._stop_running_server):
17483 2017-08-14  Daniel Bates  <dabates@apple.com>
17485         webkit-patch: Passing --no-review should submit patch to EWS by default
17486         https://bugs.webkit.org/show_bug.cgi?id=148899
17488         Reviewed by David Kilzer.
17490         Make "webkit-patch upload --no-review" and "webkit-patch post-commits --no-review" submit
17491         the patch(es) for EWS analysis by default. Add a new optional command line argument, --no-ews,
17492         to these commands to not submit a non-reviewed patch(es) for EWS analysis.
17494         Frequently I want to post a draft of a patch without review to have the EWS bots process
17495         it to catch build and test breakage before I clean it up and post it for formal review.
17496         Currently this requires using "webkit-patch upload --no-review --open-bug" to upload the
17497         patch and open the bug in Safari so that I can click the Submit for EWS analysis button.
17498         We should teach "webkit-patch upload" and "webkit-patch post-commits" how to do this.
17500         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
17501         (Bugzilla._parse_attachment_id_from_add_patch_to_bug_response): Add helper function to
17502         parse the attachment id from the response page after adding an attachment to the bug.
17503         (Bugzilla.add_patch_to_bug): Modified to parse and return the attachment id from the
17504         HTTP response after uploading the patch.
17505         * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
17506         (MockBugzilla.add_patch_to_bug): Return a dummy attachment id for testing purposes.
17507         * Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py:
17508         (test__parse_attachment_id_from_add_patch_to_bug_response): Added.
17509         * Scripts/webkitpy/tool/commands/upload.py:
17510         (Upload): Add step SubmitToEWS to the list of steps when uploading a patch. 
17511         (PostCommits.__init__): Add --no-ews option to the list of applicable option flags for
17512         this command.
17513         (PostCommits.execute): Submit the patch to EWS, if applicable.
17514         * Scripts/webkitpy/tool/commands/upload_unittest.py:
17515         (test_upload): Set options.ews to False as the upload command expects this option
17516         to be specified.
17517         (test_upload_with_no_review_and_ews): Added.
17518         * Scripts/webkitpy/tool/steps/__init__.py: Import module SubmitToEWS.
17519         * Scripts/webkitpy/tool/steps/options.py:
17520         (Options): Added command line option --no-ews (defaults: False - submit to EWS).
17521         * Scripts/webkitpy/tool/steps/postdiff.py:
17522         (PostDiff.options): Add --no-ews option to the list of applicable option flags for
17523         this command.
17524         (PostDiff.run): Submit the patch to EWS, if applicable.
17525         * Scripts/webkitpy/tool/steps/submittoews.py: Added.
17526         (SubmitToEWS):
17527         (SubmitToEWS.options): Return an empty array as we this step does not have any command line options.
17528         (SubmitToEWS.run): Submit the specified attachment ids for EWS analysis.
17530 2017-08-14  Ryan Haddad  <ryanhaddad@apple.com>
17532         Disable two flaky VideoControlsManager API tests.
17534         Unreviewed test gardening.
17536         * TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm:
17537         (TestWebKitAPI::TEST):
17539 2017-08-14  Tim Horton  <timothy_horton@apple.com>
17541         Only create directory and sandbox extension handle for storage directories if they are set
17542         https://bugs.webkit.org/show_bug.cgi?id=175522
17544         Reviewed by Brady Eidson.
17546         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
17547         * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewDoesNotLogDuringInitialization.mm: Added.
17548         (TEST):
17549         Add a test that making a WKWebView with an ephemeral WKWebsiteDataStore
17550         doesn't log anything to stderr.
17552 2017-08-14  Jonathan Bedard  <jbedard@apple.com>
17554         sub-categorize Sandbox violation logs
17555         https://bugs.webkit.org/show_bug.cgi?id=175536
17556         <rdar://problem/33834416>
17558         Reviewed by David Kilzer.
17560         * Scripts/webkitpy/common/system/crashlogs.py:
17561         (CrashLogs._parse_darwin_crash_log): Add 'Sandbox-' to the log name if the log is
17562         a Sandbox violation.
17563         (CrashLogs._find_all_logs_darwin): Update comment.
17564         * Scripts/webkitpy/common/system/crashlogs_unittest.py:
17565         (make_mock_sandbox_report_darwin): Create a Sandbox violation log for testing. 
17566         (CrashLogsTest.create_crash_logs_darwin): Add Sandbox violation to list of crashes.
17567         (CrashLogsTest.test_find_all_log_darwin): 8 logs in testing instead of 7.
17568         (CrashLogsTest.test_duplicate_log_darwin): Check for Sandbox violation log.
17569         * Scripts/webkitpy/port/darwin.py:
17570         (DarwinPort._merge_crash_logs): Handle Sandbox violation case.
17572 2017-08-14  Daniel Bates  <dabates@apple.com>
17574         Add Automator service to copy permalink to Clipboard
17575         https://bugs.webkit.org/show_bug.cgi?id=170978
17577         Reviewed by Joseph Pecoraro.
17579         It is helpful to reference using a hyperlink a particular line of code when having
17580         a discussion on IRC or in a bug. You can get such a link by navigating to the file
17581         in the Trac Browse Source viewer and selecting the line your are interested in.
17582         I found myself doing this often enough that I wrote an Automator service to do it
17583         for me.
17585         This Automator service works with Xcode 8 and Xcode 9 beta 5 (9M202q) or later.
17587         * CopyPermalink/Copy WebKit Permalink.workflow/Contents/Info.plist: Added.
17588         * CopyPermalink/Copy WebKit Permalink.workflow/Contents/document.wflow: Added.
17589         * CopyPermalink/README: Added.
17591 2017-08-14  Chris Dumez  <cdumez@apple.com>
17593         Address flakiness related to download tests
17594         https://bugs.webkit.org/show_bug.cgi?id=175338
17595         <rdar://problem/33865119>
17597         Unreviewed, forgot in r220626 to reset m_shouldLogDownloadCallbacks to false
17598         between tests.
17600         * WebKitTestRunner/TestController.cpp:
17601         (WTR::TestController::resetStateToConsistentValues):
17603 2017-08-11  Ryosuke Niwa  <rniwa@webkit.org>
17605         Replace DATA_TRANSFER_ITEMS by a runtime flag and add a stub implementation
17606         https://bugs.webkit.org/show_bug.cgi?id=175474
17607         <rdar://problem/33844628>
17609         Reviewed by Wenson Hsieh.
17611         Enable dataTransfer.items by default in DumpRenderTree and WebKitTestRunner for testing purposes.
17613         * DumpRenderTree/mac/DumpRenderTree.mm:
17614         (resetWebPreferencesToConsistentValues):
17615         * WebKitTestRunner/TestController.cpp:
17616         (WTR::TestController::resetPreferencesToConsistentValues):
17618 2017-08-12  Chris Dumez  <cdumez@apple.com>
17620         Address flakiness related to download tests
17621         https://bugs.webkit.org/show_bug.cgi?id=175338
17623         Reviewed by Ryosuke Niwa.
17625         - Update WKTR so that the flag set by testRunner.waitUntilDownloadFinished()
17626           is actually queried when a download completes. Previously, this would be
17627           identical to a call to testRunner.waitUntilDone() because any download
17628           completion would call testRunner.notifyDone().
17629         - Disable logging of download callbacks by default and add a
17630           testRunner.setShouldLogDownloadCallbacks(true) API to allow tests to
17631           enable such logging.
17633         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
17634         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
17635         (WTR::InjectedBundle::didReceiveMessageToPage):
17636         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
17637         (WTR::TestRunner::setShouldLogDownloadCallbacks):
17638         * WebKitTestRunner/InjectedBundle/TestRunner.h:
17639         * WebKitTestRunner/TestController.cpp:
17640         (WTR::TestController::downloadDidStart):
17641         (WTR::TestController::decideDestinationWithSuggestedFilename):
17642         (WTR::TestController::downloadDidFinish):
17643         (WTR::TestController::downloadDidFail):
17644         (WTR::TestController::downloadDidCancel):
17645         * WebKitTestRunner/TestController.h:
17646         (WTR::TestController::setShouldLogDownloadCallbacks):
17647         * WebKitTestRunner/TestInvocation.cpp:
17648         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
17650 2017-08-11  Jonathan Bedard  <jbedard@apple.com>
17652         Create mock ITP data in testing to prevent grandfathering
17653         https://bugs.webkit.org/show_bug.cgi?id=174720
17655         Unreviewed follow-up fix for r220604.
17657         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
17658         (WTR::TestController::cocoaPlatformInitialize): Release resourceLogPlist.
17660 2017-08-11  Jonathan Bedard  <jbedard@apple.com>
17662         Create mock ITP data in testing to prevent grandfathering
17663         https://bugs.webkit.org/show_bug.cgi?id=174720
17664         <rdar://problem/33457779>
17666         Reviewed by Brent Fulgham.
17668         We don't need to be triggering grandfathering when each test runner starts. On Mac,
17669         this may launch plugins which can cause layout tests to fail later if the test
17670         runner does not shut-down before the plugins unload.
17672         * WebKitTestRunner/TestController.h: Add declaration of cocoaPlatformInitialize.
17673         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
17674         (WTR::TestController::cocoaPlatformInitialize): Write the minimum data required to
17675         prevent grandfathering from being triggered.
17676         * WebKitTestRunner/ios/TestControllerIOS.mm:
17677         (WTR::TestController::platformInitialize): Call cocoaPlatformInitialize.
17678         * WebKitTestRunner/mac/TestControllerMac.mm:
17679         (WTR::TestController::platformInitialize): Ditto.
17681 2017-08-11  Sam Weinig  <sam@webkit.org>
17683         WTF::Function does not allow for reference / non-default constructible return types
17684         https://bugs.webkit.org/show_bug.cgi?id=175244
17685         <rdar://problem/33801582>
17687         Reviewed by Chris Dumez.
17689         * TestWebKitAPI/Tests/WTF/Function.cpp:
17690         (TestWebKitAPI::TEST):
17692 2017-08-11  Carlos Garcia Campos  <cgarcia@igalia.com>
17694         [Soup] Cannot access HTTPS sites using a HTTP proxy that requires authentication
17695         https://bugs.webkit.org/show_bug.cgi?id=175378
17697         Reviewed by Sergio Villar Senin.
17699         Add two test cases to check proxy authentication.
17701         * TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
17702         (Tunnel::Tunnel):
17703         (Tunnel::~Tunnel):
17704         (Tunnel::connect):
17705         (Tunnel::connected):
17706         (serverCallback):
17707         (ProxyAuthenticationTest::ProxyAuthenticationTest):
17708         (ProxyAuthenticationTest::~ProxyAuthenticationTest):
17709         (ProxyAuthenticationTest::proxyServerPortAsString):
17710         (testWebViewAuthenticationProxy):
17711         (testWebViewAuthenticationProxyHTTPS):
17712         (beforeAll):
17714 2017-08-11  Xabier Rodriguez Calvar  <calvaris@igalia.com>
17716         [GStreamer][GTK][WPE] Unify GStreamer JHBuild moduleset for both GTK+ and WPE
17717         https://bugs.webkit.org/show_bug.cgi?id=175428
17719         Both ports share the GStreamer code as multimedia backend and till
17720         not so long they were using different versions. Now they do use
17721         the same versions and it does not make any sense anymore (and
17722         neither had sense before) to have differences in the modulesets.
17724         In this patch I created a GStreamer moduleset and referenced it
17725         from both GTK+'s and WPE's. GStreamer patches were also moved there.
17727         Reviewed by Žan Doberšek.
17729         * gstreamer/jhbuild.modules: Added.
17730         * gstreamer/patches/gst-plugins-good-0003-rtpbin-receive-bundle-support.patch: Renamed from Tools/gtk/patches/gst-plugins-good-0003-rtpbin-receive-bundle-support.patch.
17731         * gstreamer/patches/gst-plugins-good-0005-souphttpsrc-cookie-jar-and-context-query-support.patch: Renamed from Tools/gtk/patches/gst-plugins-good-0005-souphttpsrc-cookie-jar-and-context-query-support.patch.
17732         * gstreamer/patches/gst-plugins-good-0006-qtdemux-add-context-for-a-preferred-protection.patch: Renamed from Tools/gtk/patches/gst-plugins-good-0006-qtdemux-add-context-for-a-preferred-protection.patch.
17733         * gstreamer/patches/gst-plugins-good-0008-qtdemux-also-push-buffers-without-encryption-info-in.patch: Renamed from Tools/gtk/patches/gst-plugins-good-0008-qtdemux-also-push-buffers-without-encryption-info-in.patch.
17734         * gstreamer/patches/gstreamer-0001-protection-added-function-to-filter-system-ids.patch: Renamed from Tools/gtk/patches/gstreamer-0001-protection-added-function-to-filter-system-ids.patch.
17735         * gstreamer/patches/openh264-configure.patch: Renamed from Tools/gtk/patches/openh264-configure.patch.
17736         * gtk/jhbuild.modules:
17737         * wpe/jhbuild.modules:
17738         * wpe/patches/gst-plugins-good-0003-rtpbin-receive-bundle-support.patch: Removed.
17739         * wpe/patches/gst-plugins-good-0005-souphttpsrc-cookie-jar-and-context-query-support.patch: Removed.
17740         * wpe/patches/gst-plugins-good-0006-qtdemux-add-context-for-a-preferred-protection.patch: Removed.
17741         * wpe/patches/gst-plugins-good-0008-qtdemux-also-push-buffers-without-encryption-info-in.patch: Removed.
17742         * wpe/patches/gstreamer-0001-protection-added-function-to-filter-system-ids.patch: Removed.
17744 2017-08-10  Don Olmstead  <don.olmstead@sony.com>
17746         Unreviewed, adding Ross Kirsling to contributors.json
17748         * Scripts/webkitpy/common/config/contributors.json:
17750 2017-08-10  Yusuke Suzuki  <utatane.tea@gmail.com>
17752         Unreviewed, attempt to fix build failure with VC2017
17754         * TestWebKitAPI/Tests/WTF/PriorityQueue.cpp:
17755         (TEST):
17757 2017-08-10  Yusuke Suzuki  <utatane.tea@gmail.com>
17759         Unreviewed, suppress warnings on GCC
17761         * TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp:
17762         (TestWebKitAPI::CheckedArithmeticTester::run):
17764 2017-08-10  Dan Bernstein  <mitz@apple.com>
17766         [Xcode] With Xcode 9 developer beta, everything rebuilds when switching between command-line and IDE
17767         https://bugs.webkit.org/show_bug.cgi?id=173223
17769         Reviewed by Tim Horton.
17771         The rebuilds were happening due to a difference in the compiler options that the IDE and
17772         xcodebuild were specifying. Only the IDE was passing the -index-store-path option. To make
17773         xcodebuild pass that option, too, set INDEX_ENABLE_DATA_STORE to YES and
17774         INDEX_DATA_STORE_DIR to the Index Datastore path specified in Xcode Locations preferences >
17775         Advanced when a Custom Absolute path is selected.
17777         * Scripts/webkitdirs.pm:
17778         (determineBaseProductDir):
17780 2017-08-10  Yusuke Suzuki  <utatane.tea@gmail.com>
17782         Run more WTF tests
17783         https://bugs.webkit.org/show_bug.cgi?id=174970
17785         Reviewed by Michael Catanzaro.
17787         Some of WTF tests are not executed in non Apple ports while they are generic ones.
17788         This patch adds these tests to non-Apple port TestWebKitAPI.
17789         Currently, we do not add Signals.cpp since it depends on signal functionality.
17791         * TestWebKitAPI/CMakeLists.txt:
17792         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
17793         * TestWebKitAPI/Tests/WTF/PriorityQueue.cpp:
17794         (isHigherPriority):
17795         (TEST):
17796         * TestWebKitAPI/Tests/WTF/Signals.cpp: Copied from Tools/TestWebKitAPI/Tests/WTF/ThreadMessages.cpp.
17797         (TEST):
17798         * TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:
17799         (TEST):
17801 2017-08-10  obinna obike  <oobike@apple.com>
17803         Remove obsolete link from webkit-queues status page
17804         https://bugs.webkit.org/show_bug.cgi?id=175337
17806         Reviewed by Aakash Jain.
17808         * QueueStatusServer/templates/recentstatus.html:
17809         Removed the link to the ews-watcher server.
17811 2017-08-10  Brian Burg  <bburg@apple.com>
17813         WKPreferences should conform to NSCopying
17814         https://bugs.webkit.org/show_bug.cgi?id=175303
17815         <rdar://problem/33764939>
17817         Reviewed by Dan Bernstein.
17819         Add unit test to make sure a WKPreference and its copy are
17820         not aliased to each other or affect each other's properties.
17822         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
17823         * TestWebKitAPI/Tests/WebKit2Cocoa/Copying.mm: Added.
17824         (TEST):
17826 2017-08-10  Tim Horton  <timothy_horton@apple.com>
17828         Remove some unused lambda captures so that WebKit builds with -Wunused-lambda-capture
17829         https://bugs.webkit.org/show_bug.cgi?id=175436
17830         <rdar://problem/33667497>
17832         Reviewed by Simon Fraser.
17834         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
17835         (TestWebKitAPI::TEST_F):
17837 2017-08-10  Lucas Forschler  <lforschler@apple.com>
17839         Fix duplicated code in r220534.
17841         Unreviewed cleanup.
17843         * Scripts/bisect-builds:
17845 2017-08-08  Jiewen Tan  <jiewen_tan@apple.com>
17847         [WebCrypto] Enable SerializedCryptoKeyWrapTest in iOS
17848         https://bugs.webkit.org/show_bug.cgi?id=175344
17849         <rdar://problem/28507240>
17851         Reviewed by Alexey Proskuryakov.
17853         Add entitlements to TestWebKitAPI project for iOS. Then add Keychain Access entitlement to the project.
17854         Finally enable the existing tests for iOS.
17856         * TestWebKitAPI/Configurations/TestWebKitAPI-iOS.entitlements: Added.
17857         * TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
17858         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
17859         * TestWebKitAPI/Tests/WebCore/cocoa/SerializedCryptoKeyWrap.mm:
17861 2017-08-10  Lucas Forschler  <lforschler@apple.com>
17863         Write a tool to bisect WebKit builds
17864         https://bugs.webkit.org/show_bug.cgi?id=174596
17866         Reviewed by Dean Johnson and Kocsen Chung.
17868         * Scripts/bisect-builds: Added.
17869         (bisect_builds): main bisection algorithm
17870         (download_archive):download an archive from S3 using existing tools
17871         (extract_archive):extract an archive using existing tools
17872         (find_le):Find rightmost value less than or equal to x
17873         (find_ge):Find leftmost item greater than or equal to x
17874         (get_api_url):generate url for the rest api/database
17875         (get_indices_from_revisions):convert revisions to list indexes for bisection
17876         (get_sorted_revisions):retrieve sorted revision list
17877         (get_s3_location_for_revision):calculate the S3 archive storage location
17878         (parse_args):parse command line arguments
17879         (pick_next_build):compute the next build to bisect
17880         (prompt_did_reproduce):prompt user for direction for bisection
17881         (set_webkit_output_dir):set the folder for bisected builds to avoid overwriting engineering build output
17882         (test_archive):Platform specific logic to test downloaded archive
17883         (minified_platforms):return a list of minified platforms in the database
17884         (unminified_platforms):return a list of full platforms in the database
17885         (is_supported_platform):check if platform is supported
17886         (validate_options):validate command line options
17887         (main):
17889 2017-08-10  Lucas Forschler  <lforschler@apple.com>
17891         Remove bisect-builds script.
17892         https://bugs.webkit.org/show_bug.cgi?id=175433
17893         
17894         Reviewed by Aakash Jain.
17896         * Scripts/bisect-builds: Removed.
17898 2017-08-10  Michael Catanzaro  <mcatanzaro@igalia.com>
17900         Remove ENABLE_GAMEPAD_DEPRECATED
17901         https://bugs.webkit.org/show_bug.cgi?id=175361
17903         Reviewed by Carlos Garcia Campos.
17905         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
17907 2017-08-10  Carlos Alberto Lopez Perez  <clopez@igalia.com>
17909         REGRESSION(r220515) [GTK][CMake] Build with ENABLE_GEOLOCATION fails on Debian Jessie
17910         https://bugs.webkit.org/show_bug.cgi?id=175426
17912         Reviewed by Carlos Garcia Campos.
17914         * gtk/install-dependencies: libgeoclue-dev packages not really needed on Debian/Ubuntu.
17916 2017-08-10  Ms2ger  <Ms2ger@igalia.com>
17918         Add Ms2ger as contributor.
17919         https://bugs.webkit.org/show_bug.cgi?id=175325
17921         Reviewed by Carlos Alberto Lopez Perez.
17923         * Scripts/webkitpy/common/config/contributors.json:
17925 2017-08-09  Dewei Zhu  <dewei_zhu@apple.com>
17927         Fix run-benchmark after r220483.
17928         https://bugs.webkit.org/show_bug.cgi?id=175415
17929         <rdar://problem/33803003>
17931         Reviewed by Ryosuke Niwa.
17933         Update run-benchmark script to adapt new Timeout implementation introduced in r220483.
17935         * Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py:
17936         (WebServerBenchmarkRunner._run_one_test):
17938 2017-08-09  Chris Dumez  <cdumez@apple.com>
17940         Disable Beacon API on WK1 DRT and WK2 when not using NETWORK_SESSION
17941         https://bugs.webkit.org/show_bug.cgi?id=175401
17943         Reviewed by Brady Eidson.
17945         * DumpRenderTree/mac/DumpRenderTree.mm:
17946         (enableExperimentalFeatures):
17948 2017-08-09  Yoshiaki Jitsukawa  <Yoshiaki.Jitsukawa@sony.com>
17950         [PAL] Move spi/cocoa and spi/cg directories into PAL
17951         https://bugs.webkit.org/show_bug.cgi?id=175175
17953         Reviewed by Myles C. Maxfield.
17955         * DumpRenderTree/ios/PixelDumpSupportIOS.mm:
17956         * DumpRenderTree/mac/DumpRenderTree.mm:
17957         * TestWebKitAPI/Tests/WebKit2Cocoa/NSFileManagerExtras.mm:
17958         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
17960         * Scripts/webkitpy/style/checker.py:
17961         * Scripts/webkitpy/style/checker_unittest.py:
17962         (GlobalVariablesTest.test_path_rules_specifier):
17964         Add path rules specifiers for PassKitSPI.h and DataDetectorsCoreSPI.h
17966         * Scripts/webkitpy/style/checkers/cpp.py:
17967         (check_braces):
17968         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
17969         (WebKitStyleTest.test_braces.CF_OPTIONS):
17970         (WebKitStyleTest.test_braces):
17972         Prevent CF_OPTIONS() from being handled as funtion definition.
17974 2017-08-09  Don Olmstead  <don.olmstead@sony.com>
17976         [WTF] Move TextStream into WTF
17977         https://bugs.webkit.org/show_bug.cgi?id=175211
17979         Reviewed by Myles C. Maxfield.
17981         * TestWebKitAPI/Tests/WebCore/CalculationValue.cpp:
17983 2017-08-09  Andy Estes  <aestes@apple.com>
17985         Part 3 of: Rename DatabaseProcess to StorageProcess
17986         https://bugs.webkit.org/show_bug.cgi?id=175034
17988         Reviewed by Brady Eidson.
17990         * WebKitTestRunner/TestController.cpp:
17991         (WTR::TestController::databaseProcessName): Updated to return
17992         "com.apple.WebKit.Storage.Development" on macOS and iOS Simulator.
17994 2017-08-09  Commit Queue  <commit-queue@webkit.org>
17996         Unreviewed, rolling out r220466, r220477, and r220487.
17997         https://bugs.webkit.org/show_bug.cgi?id=175411
17999         This change broke existing API tests and follow up fixes did
18000         not resolve all the issues. (Requested by ryanhaddad on
18001         #webkit).
18003         Reverted changesets:
18005         https://bugs.webkit.org/show_bug.cgi?id=175244
18006         http://trac.webkit.org/changeset/220466
18008         "WTF::Function does not allow for reference / non-default
18009         constructible return types"
18010         https://bugs.webkit.org/show_bug.cgi?id=175244
18011         http://trac.webkit.org/changeset/220477
18013         https://bugs.webkit.org/show_bug.cgi?id=175244
18014         http://trac.webkit.org/changeset/220487
18016 2017-08-09  Sam Weinig  <sam@webkit.org>
18018         Update for https://bugs.webkit.org/show_bug.cgi?id=175244.
18020         Remove one addition of null Function test.
18022 2017-08-09  Jonathan Bedard  <jbedard@apple.com>
18024         Allow nested timeouts in webkitpy
18025         https://bugs.webkit.org/show_bug.cgi?id=175390
18026         <rdar://problem/33803003>
18028         Reviewed by David Kilzer.
18030         We need to be able to nest timeouts in webkitpy. In particular, we have a few cases where functions
18031         which use timeouts also call the executive. For on-device testing, we need to have timeouts inside
18032         the executive to detect and recover from any issues connecting with devices.
18034         * Scripts/webkitpy/benchmark_runner/utils.py:
18035         (TimeoutError): Deleted.
18036         (timeout): Deleted.
18037         * Scripts/webkitpy/common/timeout_context.py: Added.
18038         (Timeout): A timeout context designed to be nested.
18039         (Timeout.TimeoutData): The data required to construct an alarm for a given timeout.
18040         (Timeout.TimeoutData.__init__):
18041         (Timeout.default_handler): Timeout handler used if none is specified.
18042         (Timeout.current): Access data about the most urgent timeout.
18043         (Timeout.__init__): Construct a Timeout object with seconds and an optional handler.
18044         (Timeout._bind_timeout_data_to_alarm): Given data about a timeout, initialize an alarm for that timeout.
18045         (Timeout.__enter__): Un-bind all alarms. Add data for this timeout to the ordered list and bind the most
18046         urgent timeout data.
18047         (Timeout.__exit__): Un-bind all alarms. Remove data for this timeout from the ordered list and bind the
18048         most urgent timeout data, if such data exists.
18049         * Scripts/webkitpy/common/timeout_context_unittest.py: Added.
18050         (TimeoutContextTests):
18051         (TimeoutContextTests.test_current_timeout): Test that accessing the nearest timeout works as expected.
18052         (TimeoutContextTests.test_invalid_timeout): Test a timeout of 0.
18053         (TimeoutContextTests.test_timeout_data): Confirm that timeouts are constructed correctly.
18054         (TimeoutContextTests.test_nested_inner_precedence): Check that a more urgent inner timeout takes precedence
18055         over a less urgent outer timeout.
18056         (TimeoutContextTests.test_nested_outer_precedence): Check that a more urgent outer timeout takes precedence
18057         over a less urgent inner timeout.
18058         (TimeoutContextTests.test_no_timeout): Test a block of code without a timeout.
18059         (TimeoutContextTests.test_basic_timeout): Test a block of code expected to timeout.
18060         (TimeoutContextTests.test_exception_constructor_timeout): Test a timeout where the handler is an exception.
18061         (TimeoutContextTests.test_nested_inner_timeout): Confirm that a more urgent inner timeout is triggered.
18062         (TimeoutContextTests.test_nested_outer_timeout): Confirm that a more urgent outer timeout is triggered.
18063         * Scripts/webkitpy/port/simulator_process.py:
18064         (SimulatorProcess._start): Use Timeout class.
18065         * Scripts/webkitpy/xcode/simulated_device.py:
18066         (SimulatedDevice.launch_app._log_debug_error): Use Timeout class.
18067         (SimulatedDevice.launch_app): Ditto.
18068         (SimulatedDevice.launch_app._install_timeout): Deleted.
18069         * Scripts/webkitpy/xcode/simulator.py:
18070         (Simulator.wait_until_device_is_booted):Use Timeout class.
18071         (Simulator.wait_until_device_is_in_state): Ditto.
18073 2017-08-09  Wenson Hsieh  <wenson_hsieh@apple.com>
18075         [iOS DnD] ENABLE_DRAG_SUPPORT should be turned off for iOS 10 and enabled by default
18076         https://bugs.webkit.org/show_bug.cgi?id=175392
18077         <rdar://problem/33783207>
18079         Reviewed by Tim Horton and Megan Gardner.
18081         Tweak FeatureDefines to enable drag and drop by default, and disable only on unsupported platforms (i.e. iOS 10).
18083         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
18085 2017-08-09  Sam Weinig  <sam@webkit.org>
18087         Update for https://bugs.webkit.org/show_bug.cgi?id=175244.
18089         * TestWebKitAPI/Tests/WTF/Function.cpp:
18090         Remove tests of null Functions, as they are no longer supported.
18092 2017-08-09  Daniel Bates  <dabates@apple.com>
18094         REGRESSION (r219013): OAuth flows are broken when redirecting back to application after authentication
18095         https://bugs.webkit.org/show_bug.cgi?id=175247
18096         <rdar://problem/33679804>
18098         Reviewed by Brady Eidson.
18100         Add tests for redirects.
18102         * TestWebKitAPI/Tests/WebKit2Cocoa/DecidePolicyForNavigationAction.mm:
18103         (TEST):
18104         * TestWebKitAPI/cocoa/TestProtocol.mm:
18105         (createRedirectURL):
18106         (-[TestProtocol startLoading]):
18108 2017-08-08  Wenson Hsieh  <wenson_hsieh@apple.com>
18110         Unreviewed, rolling out r220393.
18112         This patch regresses the performance of WebPage::editorState.
18114         Reverted changeset:
18116         "[iOS WK2] WKWebView schedules nonstop layout after pressing
18117         cmb+b,i,u inside a contenteditable div"
18118         https://bugs.webkit.org/show_bug.cgi?id=175116
18119         http://trac.webkit.org/changeset/220393
18121 2017-08-08  obinna obike  <oobike@apple.com>
18123         Created Individual EWS Pages
18124         https://bugs.webkit.org/show_bug.cgi?id=174477
18126         Reviewed by Aakash Jain.
18128         Created individual pages for each EWS. Changed the link within each status bubble
18129         to go directly to the individual EWS page. Also added a link to original status page showing all EWSes.
18131         * QueueStatusServer/handlers/patch.py:
18132         (Patch.get): Handles the case for individual ews queue as well as for all EWS queues.
18133         * QueueStatusServer/handlers/statusbubble.py:
18134         (StatusBubble._build_bubble): Updated url for specific EWS.
18135         * QueueStatusServer/main.py: Added a link to the individual ews in the routes dictionary.
18136         * QueueStatusServer/templates/patch.html: Added a link to go directly to the page with
18137         all ews queues.
18138         * QueueStatusServer/templates/statusbubble.html: If you click on a statusbubble it
18139         takes you directly to the individual ews page.
18141 2017-08-08  Stephan Szabo  <stephan.szabo@sony.com>
18143         Separate jsc stress test script writer from run-jsc-stress-tests
18144         https://bugs.webkit.org/show_bug.cgi?id=175216
18146         Reviewed by Mark Lam.
18148         * Scripts/run-jsc-stress-tests:
18149         * Scripts/webkitruby/jsc-stress-test-writer-default.rb: Added.
18151 2017-08-08  Michael Catanzaro  <mcatanzaro@igalia.com>
18153         Unreviewed, fix Ubuntu LTS build
18154         https://bugs.webkit.org/show_bug.cgi?id=174490
18156         * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
18158 2017-08-08  Wenson Hsieh  <wenson_hsieh@apple.com>
18160         [Mac WK2] WebViewImpl should hold a weak pointer to its WKWebView or WKView
18161         https://bugs.webkit.org/show_bug.cgi?id=175302
18162         <rdar://problem/33762116>
18164         Reviewed by Tim Horton.
18166         Adds a new unit test checking that delayed event processing in text input context does not cause unwanted behaviors.
18167         See WebKit ChangeLog for more details.
18169         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
18170         * TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h: Renamed from Tools/TestWebKitAPI/Tests/TestWebKitAPI/mac/NSTextInputClientSPI.h.
18171         * TestWebKitAPI/Tests/mac/WKWebViewMacEditingTests.mm: Renamed from Tools/TestWebKitAPI/Tests/mac/WKWebViewSelectionTests.mm.
18172         (-[SlowTextInputContext handleEventByInputMethod:completionHandler:]):
18173         (-[SlowTextInputContext handleEvent:completionHandler:]):
18174         (-[SlowInputWebView inputContext]):
18175         (-[SlowInputWebView _web_superInputContext]):
18176         (TEST):
18178 2017-08-08  John Wilander  <wilander@apple.com>
18180         Resource Load Statistics: Clear web processes' state on history removal
18181         https://bugs.webkit.org/show_bug.cgi?id=175271
18182         <rdar://problem/33756560>
18184         Reviewed by Chris Dumez.
18186         Test infrastructure for asynchronous tests of website data
18187         removal for _WKWebsiteDataTypeResourceLoadStatistics.
18189         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
18190         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
18191         (WTR::InjectedBundle::didReceiveMessageToPage):
18192         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
18193         (WTR::TestRunner::statisticsClearThroughWebsiteDataRemoval):
18194         (WTR::TestRunner::statisticsCallClearThroughWebsiteDataRemovalCallback):
18195         * WebKitTestRunner/InjectedBundle/TestRunner.h:
18196         * WebKitTestRunner/TestController.cpp:
18197         (WTR::TestController::statisticsClearThroughWebsiteDataRemoval):
18198         * WebKitTestRunner/TestController.h:
18199         * WebKitTestRunner/TestInvocation.cpp:
18200         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
18201         (WTR::TestInvocation::didClearStatisticsThroughWebsiteDataRemoval):
18202         * WebKitTestRunner/TestInvocation.h:
18203         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
18204         (WTR::TestController::statisticsClearThroughWebsiteDataRemoval):
18206 2017-08-08  Alicia Boya García  <aboya@igalia.com>
18208         Add Alicia Boya García as contributor
18209         https://bugs.webkit.org/show_bug.cgi?id=175326
18211         Reviewed by Michael Catanzaro.
18213         * Scripts/webkitpy/common/config/contributors.json:
18215 2017-08-08  Michael Catanzaro  <mcatanzaro@igalia.com>
18217         [CMake] Properly test if compiler supports compiler flags
18218         https://bugs.webkit.org/show_bug.cgi?id=174490
18220         Reviewed by Konstantin Tokarev.
18222         * DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
18223         * MiniBrowser/gtk/CMakeLists.txt:
18224         * TestRunnerShared/Bindings/JSWrapper.cpp:
18225         (WTR::JSWrapper::initialize):
18226         * TestWebKitAPI/CMakeLists.txt:
18227         * TestWebKitAPI/PlatformGTK.cmake:
18228         * TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp:
18229         (TestWebKitAPI::CheckedArithmeticTester::run):
18230         * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
18231         * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
18232         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
18233         (formControlsAssociatedCallback):
18234         * TestWebKitAPI/glib/CMakeLists.txt:
18235         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
18236         (Test::getResourcesDir):
18237         * WebKitTestRunner/CMakeLists.txt:
18238         * WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
18239         (WTR::menuItemClickCallback):
18240         (WTR::staticConvertMenuItemToType):
18241         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
18242         (WTR::TestRunner::setUseDashboardCompatibilityMode):
18243         * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
18244         (WTR::AccessibilityNotificationHandler::disconnectAccessibilityCallbacks):
18245         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
18246         (WTR::AccessibilityUIElement::helpText const):
18247         (WTR::AccessibilityUIElement::attributedStringForRange):
18248         * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
18249         (WTR::EventSenderProxy::updateTouchPoint):
18250         (WTR::EventSenderProxy::releaseTouchPoint):
18252 2017-08-08  Wenson Hsieh  <wenson_hsieh@apple.com>
18254         [iOS WK2] WKWebView schedules nonstop layout after pressing cmb+b,i,u inside a contenteditable div
18255         https://bugs.webkit.org/show_bug.cgi?id=175116
18256         <rdar://problem/28279301>
18258         Reviewed by Darin Adler and Ryosuke Niwa.
18260         Introduces new testing infrastructure and API tests to test EditorState updates in the UI process. The new
18261         EditorStateTests run on both iOS and Mac.
18263         * TestWebKitAPI/EditingTestHarness.h: Added.
18264         * TestWebKitAPI/EditingTestHarness.mm: Added.
18266         EditingTestHarness is a helper object that API tests may use to apply editing commands and store EditorState
18267         history. This test harness adds sugaring around various editing commands, and simplifies the process of checking
18268         the state of the latest observed EditorState.
18270         (-[EditingTestHarness initWithWebView:]):
18271         (-[EditingTestHarness dealloc]):
18272         (-[EditingTestHarness webView]):
18273         (-[EditingTestHarness latestEditorState]):
18274         (-[EditingTestHarness editorStateHistory]):
18275         (-[EditingTestHarness insertText:andExpectEditorStateWith:]):
18276         (-[EditingTestHarness insertHTML:andExpectEditorStateWith:]):
18277         (-[EditingTestHarness selectAllAndExpectEditorStateWith:]):
18278         (-[EditingTestHarness moveBackwardAndExpectEditorStateWith:]):
18279         (-[EditingTestHarness moveWordBackwardAndExpectEditorStateWith:]):
18280         (-[EditingTestHarness toggleBold]):
18281         (-[EditingTestHarness toggleItalic]):
18282         (-[EditingTestHarness toggleUnderline]):
18283         (-[EditingTestHarness setForegroundColor:]):
18284         (-[EditingTestHarness alignJustifiedAndExpectEditorStateWith:]):
18285         (-[EditingTestHarness alignLeftAndExpectEditorStateWith:]):
18286         (-[EditingTestHarness alignCenterAndExpectEditorStateWith:]):
18287         (-[EditingTestHarness alignRightAndExpectEditorStateWith:]):
18288         (-[EditingTestHarness insertParagraphAndExpectEditorStateWith:]):
18289         (-[EditingTestHarness deleteBackwardAndExpectEditorStateWith:]):
18290         (-[EditingTestHarness _execCommand:argument:expectEntries:]):
18292         Dispatches an editing command to the web process, and blocks until a response is received. If an expected
18293         entries dictionary is given, this will additionally verify that the latest EditorState contains all the expected
18294         keys and values.
18296         (-[EditingTestHarness latestEditorStateContains:]):
18297         (-[EditingTestHarness _webView:editorStateDidChange:]):
18298         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
18299         * TestWebKitAPI/Tests/WebKit2Cocoa/EditorStateTests.mm: Added.
18300         (TestWebKitAPI::setUpEditorStateTestHarness):
18301         (TestWebKitAPI::TEST):
18302         * TestWebKitAPI/Tests/WebKit2Cocoa/editor-state-test-harness.html: Added.
18304 2017-08-04  Brent Fulgham  <bfulgham@apple.com>
18306         Prevent domain from being set to a TLD
18307         https://bugs.webkit.org/show_bug.cgi?id=175226
18308         <rdar://problem/11079948>
18310         Reviewed by Chris Dumez.
18312         Extend the public suffix tests to include cases used by the
18313         Public Domain 'Public Suffix List'.
18315         * TestWebKitAPI/Tests/mac/PublicSuffix.cpp: 
18316         (TestWebKitAPI::TEST):
18318 2017-08-07  Stephan Szabo  <stephan.szabo@sony.com>
18320         [XCode] webkit-patch should run sort-Xcode-project-file
18321         https://bugs.webkit.org/show_bug.cgi?id=174036
18322         <rdar://problem/33732709>
18324         Reviewed by Simon Fraser.
18326         * Scripts/webkitpy/common/config/ports.py:
18327         * Scripts/webkitpy/tool/commands/download.py:
18328         * Scripts/webkitpy/tool/commands/download_unittest.py:
18329         * Scripts/webkitpy/tool/commands/upload.py:
18330         * Scripts/webkitpy/tool/commands/upload_unittest.py:
18331         * Scripts/webkitpy/tool/steps/__init__.py:
18332         * Scripts/webkitpy/tool/steps/options.py:
18333         * Scripts/webkitpy/tool/steps/sortxcodeprojectfiles.py: Added.
18335 2017-08-07  Devin Rousso  <drousso@apple.com>
18337         Web Inspector: Preview Canvas path when viewing a recording
18338         https://bugs.webkit.org/show_bug.cgi?id=174967
18340         Reviewed by Brian Burg.
18342         * DumpRenderTree/TestOptions.h:
18343         * DumpRenderTree/TestOptions.mm:
18344         (TestOptions::TestOptions):
18345         * DumpRenderTree/mac/DumpRenderTree.mm:
18346         (setWebPreferencesForTestOptions):
18347         * WebKitTestRunner/TestController.cpp:
18348         (WTR::TestController::resetPreferencesToConsistentValues):
18349         (WTR::updateTestOptionsFromTestHeader):
18350         * WebKitTestRunner/TestOptions.h:
18351         (WTR::TestOptions::hasSameInitializationOptions const):
18352         Add plumbing for new InspectorAdditions runtime flag.
18354 2017-08-07  obinna obike  <oobike@apple.com>
18356         Sorted EWS Queues on Patch page
18357         https://bugs.webkit.org/show_bug.cgi?id=173667
18359         Reviewed by Aakash Jain.
18361         * QueueStatusServer/handlers/patch.py:
18362         (Patch.get): Sorted queue_status.
18363         * QueueStatusServer/templates/patch.html:
18364         Changed queue_status.items to queue_status because it's a list.
18366 2017-08-07  Yoshiaki Jitsukawa  <Yoshiaki.Jitsukawa@sony.com>
18368         check-webkit-style: NS_ERROR_ENUM and NS_OPTIONS should not be handled as function definitions.
18369         https://bugs.webkit.org/show_bug.cgi?id=175286
18371         Reviewed by Myles C. Maxfield.
18373         * Scripts/webkitpy/style/checkers/cpp.py:
18374         (check_braces):
18375         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
18376         (WebKitStyleTest.test_braces.NS_ERROR_ENUM):
18377         (WebKitStyleTest.test_braces):
18378         (WebKitStyleTest.test_braces.NS_OPTIONS):
18380 2017-08-07  Brian Burg  <bburg@apple.com>
18382         Remove CANVAS_PATH compilation guard
18383         https://bugs.webkit.org/show_bug.cgi?id=175207
18385         Reviewed by Sam Weinig.
18387         * Scripts/webkitperl/FeatureList.pm:
18388         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
18390 2017-08-07  Per Arne Vollan  <pvollan@apple.com>
18392         [Win] Use Visual Studio 2017 if installed.
18393         https://bugs.webkit.org/show_bug.cgi?id=175188
18395         Reviewed by Sam Weinig.
18397         If installed, use VS2017 to build WebKit. If not, fall back to VS2015.
18399         * Scripts/webkitdirs.pm:
18400         (visualStudioInstallDir):
18401         (msBuildInstallDir):
18403 2017-08-05  Carlos Garcia Campos  <cgarcia@igalia.com>
18405         [GTK][WPE] Add API to provide browser information required by automation
18406         https://bugs.webkit.org/show_bug.cgi?id=175130
18408         Reviewed by Michael Catanzaro.
18410         * MiniBrowser/gtk/main.c:
18411         (automationStartedCallback): Set browser information when a new automation session is started.
18412         * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
18413         (testAutomationSessionApplicationInfo):
18414         (beforeAll):
18416 2017-08-06  Ryan Haddad  <ryanhaddad@apple.com>
18418         Unreviewed, rolling out r220295.
18420         This change introduced 4 errors in webkitpy tests.
18422         Reverted changeset:
18424         "[XCode] webkit-patch should run sort-Xcode-project-file"
18425         https://bugs.webkit.org/show_bug.cgi?id=174036
18426         http://trac.webkit.org/changeset/220295
18428 2017-08-04  Ryan Haddad  <ryanhaddad@apple.com>
18430         Disable API test NowPlayingControlsTests.NowPlayingControlsIOS.
18432         Unreviewed test gardening.
18434         * TestWebKitAPI/Tests/WebKit2Cocoa/NowPlayingControlsTests.mm:
18435         (TestWebKitAPI::TEST):
18437 2017-08-05  Filip Pizlo  <fpizlo@apple.com>
18439         REGRESSION (r219895-219897): Number of leaks on Open Source went from 9240 to 235983 and is now at 302372
18440         https://bugs.webkit.org/show_bug.cgi?id=175083
18442         Reviewed by Oliver Hunt.
18443         
18444         Leaks results are super confusing if leaks runs while some VMs are destructing. This calls a new SPI
18445         to wait for VM destructions to finish before running the next test. This makes it easier to 
18446         understand leaks results from workers tests, and leads to fewer reported leaks.
18448         * DumpRenderTree/mac/DumpRenderTree.mm:
18449         (runTest):
18451 2017-08-05  Yoshiaki Jitsukawa  <Yoshiaki.Jitsukawa@sony.com>
18453         check-webkit-style: fix path-specific rules for WebKit2 rename
18454         https://bugs.webkit.org/show_bug.cgi?id=175182
18456         Reviewed by David Kilzer.
18458         * Scripts/webkitpy/style/checker.py:
18460 2017-08-04  Youenn Fablet  <youenn@apple.com>
18462         [Cache API] Add Cache and CacheStorage IDL definitions
18463         https://bugs.webkit.org/show_bug.cgi?id=175201
18465         Reviewed by Brady Eidson.
18467         * DumpRenderTree/mac/DumpRenderTree.mm:
18468         (enableExperimentalFeatures):
18469         (resetWebPreferencesToConsistentValues):
18470         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
18471         (WTR::InjectedBundle::beginTesting):
18472         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
18473         (WTR::TestRunner::setCacheAPIEnabled):
18474         * WebKitTestRunner/InjectedBundle/TestRunner.h:
18476 2017-08-04  John Wilander  <wilander@apple.com>
18478         Resource Load Statistics: Report user interaction immediately, but only when needed
18479         https://bugs.webkit.org/show_bug.cgi?id=175090
18480         <rdar://problem/33685546>
18482         Reviewed by Chris Dumez.
18484         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
18485         (WTR::InjectedBundle::beginTesting):
18486             Now calls WebCore::ResourceLoadObserver::clearState().
18488 2017-08-04  Tim Horton  <timothy_horton@apple.com>
18490         Add an API test for r220286
18491         https://bugs.webkit.org/show_bug.cgi?id=175206
18493         Reviewed by Simon Fraser.
18495         * TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm:
18496         (-[AnimatedResizeWebView _webView:didChangeSafeAreaShouldAffectObscuredInsets:]):
18497         (createAnimatedResizeWebView):
18498         (TEST):
18499         Add a test to ensure that we don't call
18500         _webView:didChangeSafeAreaShouldAffectObscuredInsets: during an
18501         animated resize.
18503 2017-08-04  Stephan Szabo  <stephan.szabo@sony.com>
18505         [XCode] webkit-patch should run sort-Xcode-project-file
18506         https://bugs.webkit.org/show_bug.cgi?id=174036
18508         Reviewed by Simon Fraser.
18510         * Scripts/webkitpy/common/config/ports.py:
18511         * Scripts/webkitpy/tool/commands/download.py:
18512         * Scripts/webkitpy/tool/commands/upload.py:
18513         * Scripts/webkitpy/tool/steps/__init__.py:
18514         * Scripts/webkitpy/tool/steps/options.py:
18515         * Scripts/webkitpy/tool/steps/sortxcodeprojectfiles.py: Added.
18517 2017-08-04  Carlos Alberto Lopez Perez  <clopez@igalia.com>
18519         REGRESSION(r219857): run-benchmark --allplans broken
18520         https://bugs.webkit.org/show_bug.cgi?id=175186
18522         Reviewed by Saam Barati.
18524         r219857 forgot to update also the calls to BenchmarkRunner() that
18525         is done when the script is run with --allplans.
18527         To fix this (and avoid future issues like this), let's factorize
18528         the calls to the benchhmark runner in a run_benchmark_plan()
18529         function.
18531         * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
18532         (run_benchmark_plan):
18533         (start):
18535 2017-08-04  Aakash Jain  <aakash_jain@apple.com>
18537         Dashboard bubbles sometimes show failure count instead of crash count
18538         https://bugs.webkit.org/show_bug.cgi?id=175157
18539         <rdar://problem/33709009>
18541         Reviewed by Alexey Proskuryakov.
18543         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTestResults.js:
18544         (BuildbotTestResults.prototype.resultSummarizer): Use the regex for the precise match first.
18546 2017-08-04  Joseph Pecoraro  <pecoraro@apple.com>
18548         Add tests for NeverDestroyed
18549         https://bugs.webkit.org/show_bug.cgi?id=175146
18551         Reviewed by Darin Adler.
18553         * CMakeLists.txt:
18554         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
18555         New files and sort.
18557         * TestWebKitAPI/Tests/WTF/Logger.h:
18558         * TestWebKitAPI/Tests/WTF/Logger.cpp:
18559         (TestWebKitAPI::log):
18560         (TestWebKitAPI::takeLogStr):
18561         * TestWebKitAPI/Tests/WTF/RefLogger.h:
18562         * TestWebKitAPI/Tests/WTF/RefLogger.cpp:
18563         (TestWebKitAPI::log): Deleted.
18564         (TestWebKitAPI::takeLogStr): Deleted.
18565         Extract log() / takeLogStr() from RefLogger to a general Logger.h/cpp.
18567         * TestWebKitAPI/Tests/WTF/LifecycleLogger.h:
18568         * TestWebKitAPI/Tests/WTF/LifecycleLogger.cpp: Added.
18569         (TestWebKitAPI::LifecycleLogger::LifecycleLogger):
18570         (TestWebKitAPI::LifecycleLogger::operator=):
18571         (TestWebKitAPI::LifecycleLogger::~LifecycleLogger):
18572         (TestWebKitAPI::LifecycleLogger::setName):
18573         (TestWebKitAPI::TEST):
18574         Add a class that logs construction / assignment / modifications.
18576         * TestWebKitAPI/Tests/WTF/NeverDestroyed.cpp: Added.
18577         (TestWebKitAPI::TEST):
18578         (TestWebKitAPI::list):
18579         Test construction behavior is as expected both directly and using makeNeverDestroyed.
18581 2017-08-04  Lucas Forschler  <lforschler@apple.com>
18583         minification logic is not implemented for ios builds
18584         <rdar://problem/33726561>
18586         Reviewed by Dean Johnson
18588         * BuildSlaveSupport/built-product-archive:
18589         (minifyDirectory): refactor minifySource -> minifyDirectory
18590         (archiveBuiltProduct): add ios minification logic
18591         (minifySource): Deleted.
18593 2017-08-04  Matt Lewis  <jlewis3@apple.com>
18595         Unreviewed, rolling out r220271.
18597         Rolling out due to Layout Test failing on iOS Simulator.
18599         Reverted changeset:
18601         "Remove STREAMS_API compilation guard"
18602         https://bugs.webkit.org/show_bug.cgi?id=175165
18603         http://trac.webkit.org/changeset/220271
18605 2017-08-04  Ryan Haddad  <ryanhaddad@apple.com>
18607         Unreviewed, rolling out r220268.
18609         This change caused assertion failures on macOS and iOS Debug
18610         WK2.
18612         Reverted changeset:
18614         "Resource Load Statistics: Report user interaction
18615         immediately, but only when needed"
18616         https://bugs.webkit.org/show_bug.cgi?id=175090
18617         http://trac.webkit.org/changeset/220268
18619 2017-08-04  Youenn Fablet  <youenn@apple.com>
18621         Remove STREAMS_API compilation guard
18622         https://bugs.webkit.org/show_bug.cgi?id=175165
18624         Reviewed by Darin Adler.
18626         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
18628 2017-08-04  John Wilander  <wilander@apple.com>
18630         Resource Load Statistics: Report user interaction immediately, but only when needed
18631         https://bugs.webkit.org/show_bug.cgi?id=175090
18632         <rdar://problem/33685546>
18634         Reviewed by Chris Dumez.
18636         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
18637         (WTR::InjectedBundle::beginTesting):
18638             Now calls WebCore::ResourceLoadObserver::clearState().
18640 2017-08-03  Brian Burg  <bburg@apple.com>
18642         Remove ENABLE(WEB_SOCKET) guards
18643         https://bugs.webkit.org/show_bug.cgi?id=167044
18645         Reviewed by Joseph Pecoraro.
18647         * Scripts/webkitperl/FeatureList.pm:
18648         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
18650 2017-08-03  Carlos Alberto Lopez Perez  <clopez@igalia.com>
18652         REGRESSION(r219850): run-benchmark script broken on Linux
18653         https://bugs.webkit.org/show_bug.cgi?id=175126
18655         Reviewed by Stephanie Lewis.
18657         The run-benchmark script dynamically generates the list of supported
18658         browsers and platforms (currently Linux and OSX) by loading all
18659         python files from Tools/Scripts/webkitpy/benchmark_runner/browser_driver
18660         and getting the browser_name and platform variables from the
18661         classes defined there.
18663         This means that this classes should not raise an exception when
18664         loaded on other platforms or otherwise they will broke the whole
18665         script. Its fine if they raise an exception when executing any of
18666         the methods they implement, but not when just loading/importing
18667         the class.
18669         Move the argument variable definitions that call on the platform
18670         specific OSXBrowserDriver._screen_size() function from beeing
18671         variables that are evaluated when loading the file, to be functions
18672         that are only evaluated when the actual functionality needs to be
18673         executed.
18675         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
18676         (OSXChromeDriver.launch_url):
18677         (OSXChromeCanaryDriver.launch_url):
18678         (create_args):
18679         (create_chrome_options):
18680         (create_window_size_arg):
18681         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
18682         (OSXFirefoxDriver.launch_url):
18683         (OSXFirefoxNightlyDriver.launch_url):
18684         (OSXFirefoxNightlyDriver.launch_driver):
18685         (create_args):
18687 2017-08-03  Yoshiaki Jitsukawa  <jitsu@rd.scei.sony.co.jp>
18689         [PAL] Move spi/cf directory into PAL
18690         https://bugs.webkit.org/show_bug.cgi?id=175057
18692         Reviewed by Antti Koivisto.
18694         * Scripts/webkitpy/style/checker.py:
18695         * Scripts/webkitpy/style/checker_unittest.py:
18696         (GlobalVariablesTest.test_path_rules_specifier):
18698         Ignore "readability/naming/underscores" style errors for sources
18699         under the WebCore/PAL/pal/spi directory.
18701         * TestWebKitAPI/Tests/WebKit2Cocoa/CookieAcceptPolicy.mm:
18703 2017-08-03  Youenn Fablet  <youenn@apple.com>
18705         Remove FETCH_API compilation guard
18706         https://bugs.webkit.org/show_bug.cgi?id=175154
18708         Reviewed by Chris Dumez.
18710         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
18712 2017-08-03  Lucas Forschler  <lforschler@apple.com>
18714         Enable archive minification on iOS builds
18715         https://bugs.webkit.org/show_bug.cgi?id=174718
18716         
18717         Reviewed by Aakash Jain.
18719         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
18720         (BuildFactory.__init__):
18722 2017-08-03  Carlos Alberto Lopez Perez  <clopez@igalia.com>
18724         [GTK][WKE] Pass the --memory-limited option on the GTK and WPE buildbots for the JSC tests.
18725         https://bugs.webkit.org/show_bug.cgi?id=175140
18727         Reviewed by Alexey Proskuryakov.
18729         We are having lately issues with JSC tests causing problems on
18730         the GTK+ and WPE bots due to the high amount of memory some tests
18731         need to run.
18733         The best thing we can do now is to workaround this by disabling
18734         all the tests marked as memoryLimited on the GTK and WPE bots.
18735         We may revise this on the future.
18737         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
18738         (RunJavaScriptCoreTests.start):
18740 2017-08-03  Brady Eidson  <beidson@apple.com>
18742         Add SW IDLs and stub out basic functionality.
18743         https://bugs.webkit.org/show_bug.cgi?id=175115
18745         Reviewed by Chris Dumez.
18747         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
18749         * Scripts/webkitpy/bindings/main.py:
18751 2017-08-03  Per Arne Vollan  <pvollan@apple.com>
18753         [Win] The test http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade.https.html is failing.
18754         https://bugs.webkit.org/show_bug.cgi?id=159510
18756         Reviewed by Daniel Bates.
18758         Allow any https certificate when running tests.
18760         * DumpRenderTree/win/DumpRenderTree.cpp:
18761         (runTest):
18763 2017-08-02  Youenn Fablet  <youenn@apple.com>
18765         HTTP tests with 'https' suffix are only run over HTTPS for WK2, not WK1
18766         https://bugs.webkit.org/show_bug.cgi?id=175089
18768         Reviewed by Chris Dumez.
18770         * DumpRenderTree/TestOptions.mm:
18771         (TestOptions::TestOptions): Using absolutePath if available.
18772         * DumpRenderTree/mac/DumpRenderTree.mm:
18773         (computeTestURL): Removing http/tests/ specific URL computation.
18774         * Scripts/webkitpy/port/driver.py:
18775         (Driver._command_from_driver_input): Making webkitpy passing HTTP urls for HTTP served tests to all test runners, including WK1.
18777 2017-08-02  Lucas Forschler  <lforschler@apple.com>
18779         download-built-product should allow for a proxy option
18780         https://bugs.webkit.org/show_bug.cgi?id=174875
18782         Reviewed by Aakash Jain, Alexey Proskuryakov, Dean Johnson
18784         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
18785         (DownloadBuiltProduct.start): Teach buildbot to pass along proxy for Apple bots
18786         
18788 2017-08-02  Jonathan Bedard  <jbedard@apple.com>
18790         check-webkit-style: deleting lines in a file runs the linter on the whole file
18791         https://bugs.webkit.org/show_bug.cgi?id=175078
18793         Reviewed by David Kilzer.
18795         Deleting lines in a file should not cause linter errors to be blamed on the patch.
18796         <https://bugs.webkit.org/show_bug.cgi?id=86142> is an example of this happening.
18798         * Scripts/webkitpy/style/checkers/test_expectations.py:
18799         (TestExpectationsChecker._should_log_linter_warning): Do not log a linter error if the file it is associated with only has deleted lines
18800         * Scripts/webkitpy/style/main_unittest.py:
18801         (ExpectationLinterInStyleCheckerTest.test_linter_duplicate_line): Added files should have every line number in the file when processing.
18802         (ExpectationLinterInStyleCheckerTest.test_linter_duplicate_line_only_deletes): Test case where the file with the linter errors only contained deletes.
18803         (ExpectationLinterInStyleCheckerTest.test_linter_added_file_with_error): Added files should have every line number in the file when processing.
18805 2017-08-02  Jonathan Bedard  <jbedard@apple.com>
18807         webkitpy: Allow caller to specify response to unicode encode/decode error in filesystem
18808         https://bugs.webkit.org/show_bug.cgi?id=175075
18810         Reviewed by David Kilzer.
18812         We have no way of handling text files with illegal unicode characters. Allow the callers of
18813         filesystem.read_text_file to specify one of Python 2.7's supported responses ('strict', 'ignore', or
18814         'replace'). See https://docs.python.org/2/howto/unicode.html for details on these responses.
18816         * Scripts/webkitpy/common/system/filesystem.py:
18817         (FileSystem.read_text_file): Allow caller to specify unicode error handling.
18818         (FileSystem.write_text_file): Ditto.
18819         * Scripts/webkitpy/common/system/filesystem_mock.py:
18820         (MockFileSystem.read_text_file): Allow caller to specify unicode error handling.
18821         (MockFileSystem.write_text_file): Ditto.
18822         * Scripts/webkitpy/common/system/filesystem_unittest.py:
18823         (RealFileSystemTest.test_read_text_file_unicode_decode_error): Test reading a file with illegal unicode content.
18824         (RealFileSystemTest.test_write_text_file_unicode_encode_error): Test writing illegal unicode content to a file.
18826 2017-08-02  Aakash Jain  <aakash_jain@apple.com>
18828         Intermittent exception in buildPageURLForIteration for Buildbot 0.9 dashboard
18829         https://bugs.webkit.org/show_bug.cgi?id=175072
18831         Reviewed by Alexey Proskuryakov.
18833         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:
18834         (Buildbot): Make sure this._builderNameToIDMap is always defined for Buildbot 0.9.
18836 2017-08-02  Michael Catanzaro  <mcatanzaro@igalia.com>
18838         [CMake] Remove obsolete code in TestWebKitAPI/CMakeLists.txt
18839         https://bugs.webkit.org/show_bug.cgi?id=175019
18841         Reviewed by Darin Adler.
18843         * TestWebKitAPI/CMakeLists.txt:
18845 2017-08-01  Csaba Osztrogonác  <ossy@webkit.org>
18847         Enabling uploading archives to S3
18848         https://bugs.webkit.org/show_bug.cgi?id=174198
18850         Unreviewed unit test fix after r219235.
18852         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
18854 2017-08-01  Csaba Osztrogonác  <ossy@webkit.org>
18856         Fix JSCOnly ARM buildbots after r220047
18857         https://bugs.webkit.org/show_bug.cgi?id=174993
18859         Unreviewed fix after r220087.
18861         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
18862         (BuildAndRemoteJSCTestsFactory.__init__):
18864 2017-08-01  Chris Dumez  <cdumez@apple.com>
18866         Add initial support for navigator.sendBeacon
18867         https://bugs.webkit.org/show_bug.cgi?id=175007
18868         <rdar://problem/33547728>
18870         Reviewed by Sam Weinig.
18872         Enable the Beacon API at runtime in the context of layout tests since the
18873         feature is currently disabled by default.
18875         * DumpRenderTree/mac/DumpRenderTree.mm:
18876         (enableExperimentalFeatures):
18877         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
18878         (WTR::InjectedBundle::beginTesting):
18879         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
18880         (WTR::TestRunner::setModernMediaControlsEnabled):
18881         (WTR::TestRunner::setBeaconAPIEnabled):
18882         * WebKitTestRunner/InjectedBundle/TestRunner.h:
18884 2017-08-01  Aakash Jain  <aakash_jain@apple.com>
18886         Update Bot Watcher's Dashboard for Buildbot 0.9
18887         https://bugs.webkit.org/show_bug.cgi?id=174777
18889         Reviewed by Daniel Bates.
18891         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:
18892         (Buildbot): Check if USE_BUILDBOT_VERSION_LESS_THAN_09 is passed.
18893         (Buildbot.prototype._computeBuilderNameToIDMap): Fetch the builder name to ID mapping from buidbot and store
18894         in a dictionary.
18895         (Buildbot.prototype.buildPageURLForIteration): Updated URL as per Buildbot 0.9 format. Buildbot 0.9 currently does not support
18896         builder name in the build url. See <https://github.com/buildbot/buildbot/issues/3465>.
18897         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
18898         (isMultiCodebaseGotRevisionProperty): Adapting to new data format.
18899         (parseRevisionProperty): Ditto.
18900         (BuildbotIteration.prototype.failureLogURL): Return the URL to build page if precise failure url is not available. For
18901         Buildbot 0.9, build page URL would be appropriate in most cases as per the new UI.
18902         (BuildbotIteration.prototype._parseData): Parsing the data as per new data format. Many variable names and data types
18903         have changed in Buildbot 0.9.
18904         (BuildbotIteration.prototype._adjustBuildDataForBuildbot09): Adjust the Buildbot 0.8 data to new format.
18905         (BuildbotIteration.prototype._updateIfDataAvailable): Update method for Buildbot 0.9 data. We are performing two API calls, 
18906         one for build information, another for step information of that build. We need to wait until data from both REST API calls are available.
18907         (BuildbotIteration.prototype._deprecatedUpdateWithData): Renamed from _updateWithData, used for Buildbot 0.8 data.
18908         (BuildbotIteration.prototype.get buildURL): URL to fetch build information from Buildbot. Also fetches got_revision property.
18909         (BuildbotIteration.prototype.get buildStepsURL): URL to fetch the steps information from Buildbot.
18910         (BuildbotIteration.prototype.urlFailedToLoad): Callback method to be used when URL fails to load. Made it a separate function now.
18911         (BuildbotIteration.prototype.update): Modified to support both Buildbot 0.9 and 0.8 data format.
18912         (BuildbotIteration.prototype.actualUpdate): Update method for Buildbot 0.9 data.
18913         (BuildbotIteration.prototype.deprecatedUpdate): Update method for Buildbot 0.8 data.
18914         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
18915         (BuildbotQueue.prototype.get baseURL): Updated URL as per Buildbot 0.9 format.
18916         (BuildbotQueue.prototype.get allIterationsURL): Ditto.
18917         (BuildbotQueue.prototype.get overviewURL): Ditto.
18918         (BuildbotQueue.prototype.get buildsURL): URL to fetch builds data in Buildbot 0.9.
18919         (BuildbotQueue.prototype.get buildsInfoURL): Returns the appropriate URL to use to fetch builds information from
18920         Buildbot 0.8 or 0.9.
18921         (BuildbotQueue.prototype.getBuilds): Method compatible with both Buildbot 0.8 and 0.9 to get build information from data
18922         fetched from Buildbot. Also, reversing the Buildbot 0.8 data to make it similar to 0.9 data format.
18923         (BuildbotQueue.prototype.isBuildComplete): Method compatible with both Buildbot 0.8 and 0.9 to check if the build has completed.
18924         (BuildbotQueue.prototype.getIterationID):  Method compatible with both Buildbot 0.8 and 0.9 to get the Iteration ID.
18925         (BuildbotQueue.prototype.update): Supports both Buildbot 0.8 and 0.9. Buildbot 0.9 REST API doesn't have cachedBuilds and currentBuilds. 
18926         Therefore we are fetching information for fixed number of build. 
18927         Also iterating the loop incrementally since the build data is already reverse sorted.
18928         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTestResults.js:
18929         (BuildbotTestResults.prototype._parseResults): Updated as per Buildbot 0.9 format. Note that we do not
18930         need to worry about 0.8 or 0.9 data format here, since the data is already converted to 0.9 format.
18931         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
18932         (WebKitBuildbot): Pass the USE_BUILDBOT_VERSION_LESS_THAN_09 flag.
18934 2017-08-01  Devin Rousso  <drousso@apple.com>
18936         Web Inspector: simplify WebInspector with WI
18937         https://bugs.webkit.org/show_bug.cgi?id=175058
18939         Reviewed by Joseph Pecoraro.
18941         * Scripts/check-inspector-strings:
18942         (extract_ui_strings):
18943         * Scripts/extract-localizable-js-strings:
18945 2017-08-01  Youenn Fablet  <youenn@apple.com>
18947         Layout tests with 'https' suffix should be run over HTTPS
18948         https://bugs.webkit.org/show_bug.cgi?id=174992
18950         Reviewed by Chris Dumez.
18952         Updating the test-name <-> uri conversion routines to use https when test names contain ".https." in them.
18953         This covers WPT tests, WPT WebKit tests and HTTP layout tests.
18954         Covered by corresponding unit tests.
18956         * Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:
18957         (run_server):
18958         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
18959         (base_http_url):
18960         (base_https_url):
18961         (base_url): Deleted.
18962         * Scripts/webkitpy/port/base.py:
18963         (Port.to.web_platform_test_server_base_http_url):
18964         (Port.to):
18965         (Port.to.web_platform_test_server_base_https_url):
18966         (Port.to.web_platform_test_server_base_url): Deleted.
18967         * Scripts/webkitpy/port/driver.py:
18968         (Driver.__init__):
18969         (Driver.wpt_test_path_to_uri):
18970         (Driver):
18971         (Driver.http_test_path_to_uri):
18972         (Driver.test_to_uri):
18973         (Driver.uri_to_test):
18974         * Scripts/webkitpy/port/driver_unittest.py:
18975         (DriverTest.test_test_to_uri):
18976         (DriverTest.test_uri_to_test):
18978 2017-07-26  Jiewen Tan  <jiewen_tan@apple.com>
18980         Add tests to detect mistakes in backward compatibility when the structured clone algorithm is changed in the future
18981         https://bugs.webkit.org/show_bug.cgi?id=173998
18983         Reviewed by Darin Adler.
18985         Since the structured clone algorithm is used for data stored in persistent databases, we need tests to help us
18986         detect mistakes in backward compatibility in the future when we change it.
18988         The way it works is to read from a pre-baked database and see if all the values are matched with the expectations.
18989         Surprisedly, some of structured clonable objects cannot be stored into the indexedDB. Those are FileList,
18990         ObjectReference, MessagePortReference, ArrayBufferView, ArrayBufferTransfer, NonMapProperties, NonSetProperties,
18991         SharedArrayBuffer, WasmModule, DOMPointReadOnly, DOMPoint, DOMRectReadOnly, DOMRect, DOMMatrixReadOnly, DOMMatrix,
18992         DOMQuad and Error. CryptoKey objects are not included as well as they need new API for encrypting/decrypting the
18993         internal key data slot.
18995         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
18996         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibility.mm: Added.
18997         (-[IndexedDBStructuredCloneBackwardCompatibilityMessageHandler userContentController:didReceiveScriptMessage:]):
18998         (getNextMessage):
18999         (TEST):
19000         Here is the API test that moves the pre-baked database to the location where TestWebKitAPI can read from.
19001         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibility.sqlite3: Added.
19002         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibility.sqlite3-shm: Added.
19003         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibility.sqlite3-wal: Added.
19004         These are the pre-baked databases.
19005         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibilityRead.html: Added.
19006         This is the actual test that do all the reads and comparisons.
19007         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibilityWrite.html: Added.
19008         This is the page that bakes the database. It never runs automatically. It is for someone who needs to teach
19009         IndexedDB new stuffs. Then it can be used to bake the database again.
19011 2017-08-01  Brady Eidson  <beidson@apple.com>
19013         API test URLSchemeHandler.Exceptions is Exiting out early on macOS Debug..
19014         https://bugs.webkit.org/show_bug.cgi?id=175030
19016         Reviewed by Andy Estes.
19018         * TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:
19019         (-[TaskSchemeHandler webView:startURLSchemeTask:]): Stop calling an invalid NSError constructor.
19021 2017-08-01  Brady Eidson  <beidson@apple.com>
19023         Part 2 of: Rename DatabaseProcess to StorageProcess.
19024         https://bugs.webkit.org/show_bug.cgi?id=174880
19026         Reviewed by Andy Estes.
19028         * TestWebKitAPI/Tests/WebKit2Cocoa/IDBDeleteRecovery.mm:
19029         * TestWebKitAPI/Tests/WebKit2Cocoa/IDBIndexUpgradeToV2.mm:
19030         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBDatabaseProcessKill.mm:
19031         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess.mm:
19032         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBPersistence.mm:
19033         * TestWebKitAPI/Tests/WebKit2Cocoa/ResourceLoadStatistics.mm:
19034         * TestWebKitAPI/Tests/WebKit2Cocoa/WebProcessKillIDBCleanup.mm:
19035         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
19037 2017-07-31  Csaba Osztrogonác  <ossy@webkit.org>
19039         Fix JSCOnly ARM buildbots after r220047
19040         https://bugs.webkit.org/show_bug.cgi?id=174993
19042         Reviewed by Saam Barati.
19044         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
19045         (BuildAndRemoteJSCTestsFactory.__init__):
19047 2017-07-30  Yusuke Suzuki  <utatane.tea@gmail.com>
19049         [WTF] Introduce Private Symbols
19050         https://bugs.webkit.org/show_bug.cgi?id=174935
19052         Reviewed by Darin Adler.
19054         * TestWebKitAPI/Tests/WTF/StringImpl.cpp:
19055         (TestWebKitAPI::TEST):
19057 2017-07-30  Darin Adler  <darin@apple.com>
19059         Remove code in HTMLObjectElement attribute parsing that forces style resolution and layout
19060         https://bugs.webkit.org/show_bug.cgi?id=130653
19062         Reviewed by Antti Koivisto.
19064         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
19065         (WTR::InjectedBundlePage::didFinishLoadForFrame): Omit now-unneeded "shouldDump" argument
19066         when calling frameDidChangeLocation.
19067         (WTR::InjectedBundlePage::frameDidChangeLocation): Removed "shouldDump" argument. This was
19068         causing WebKitTestRunner to not dump anything in cases where DumpRenderTree will dump, and
19069         thus causing mysterious failures of a couple of tests. There are two remaining issues:
19070         1) WebKitTestRunner won't run its dump code if there is no "page", and there is no such
19071         consideration in DumpRenderTree and 2) Both DumpRenderTree and WebKitTestRunner share the
19072         same logic flaw that causes "top loading frame" to get set to one of the subframes in
19073         tests where  the following sequence occurs: test calls waitUntilDone, main frame finishes
19074         loading, subframe starts loading. It would be good to clean that up some day, but for now
19075         this patch makes the two work identically rather than changing both.
19076         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: Updated for change above.
19078 2017-07-30  Wenson Hsieh  <wenson_hsieh@apple.com>
19080         [WK2] Replace RetainPtr<> with auto when adopting allocated ObjC objects in DataInteractionTests
19081         https://bugs.webkit.org/show_bug.cgi?id=174963
19083         Reviewed by Darin Adler.
19085         Replaces several uses of RetainPtr<>s with auto. Some test cases in this file use auto, while other test cases declare using
19086         RetainPtr<>. This patch changes them to all use auto.
19088         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
19089         (TestWebKitAPI::TEST):
19091 2017-07-30  Brady Eidson  <beidson@apple.com>
19093         Add URLSchemeHandler API tests that verify the lack of URLSchemeTask object leaks.
19094         https://bugs.webkit.org/show_bug.cgi?id=174958
19096         Reviewed by Darin Adler.
19098         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
19099         * TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-leaks.mm: Added.
19100         (-[LeakSchemeHandler webView:startURLSchemeTask:]):
19101         (-[LeakSchemeHandler webView:stopURLSchemeTask:]):
19102         (runUntilTasksInFlight):
19103         (TEST):
19105 2017-07-28  Commit Queue  <commit-queue@webkit.org>
19107         Unreviewed, rolling out r219990.
19108         https://bugs.webkit.org/show_bug.cgi?id=174961
19110         "broke PLT on iOS (rdar://problem/33602751)" (Requested by
19111         estes on #webkit).
19113         Reverted changeset:
19115         "Part 2 of: Rename DatabaseProcess to StorageProcess."
19116         https://bugs.webkit.org/show_bug.cgi?id=174880
19117         http://trac.webkit.org/changeset/219990
19119 2017-07-28  Brady Eidson  <beidson@apple.com>
19121         API tests that use URLSchemeHandler are failing.
19122         https://bugs.webkit.org/show_bug.cgi?id=174950
19124         Reviewed by Alex Christensen.
19126         Fix the NoMIMEType test to be correct.
19128         * TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:
19129         (-[SchemeHandler initWithData:mimeType:]):
19130         (-[SchemeHandler webView:startURLSchemeTask:]):
19131         (TEST):
19133 2017-07-28  Daniel Bates  <dabates@apple.com>
19135         prepare-ChangeLog should not list added layout tests in PAL ChangeLog
19136         https://bugs.webkit.org/show_bug.cgi?id=174876
19138         Reviewed by Alex Christensen.
19140         Do not list added layout tests in the PAL ChangeLog as such tests are unlikely to be related
19141         to a PAL change. Unit tests are more appropriate for PAL changes than layout tests because
19142         they provide a more direct way to test the platform abstraction.
19144         As a side effect of this change we no longer list added layout tests in WebCore/platform/gtk/po/ChangeLog.
19146         * Scripts/prepare-ChangeLog:
19147         (generateNewChangeLogs): Only list added layout tests in the WebCore ChangeLog regardless
19148         of the current working directory.
19150 2017-07-28  Jonathan Bedard  <jbedard@apple.com>
19152         Using "auto <function()> -> returnType" breaks prepare-ChangeLog
19153         https://bugs.webkit.org/show_bug.cgi?id=174930
19155         Unreviewed test fix.
19157         We need to check parentheses before printing 'const' or 'volatile' in the ChangeLog. 
19159         * Scripts/prepare-ChangeLog:
19160         (get_function_line_ranges_for_cpp):
19162 2017-07-28  JF Bastien  <jfbastien@apple.com>
19164         Using "auto <function()> -> returnType" breaks prepare-ChangeLog
19165         https://bugs.webkit.org/show_bug.cgi?id=174930
19167         Reviewed by Daniel Bates.
19169         Teach prepare-ChangeLog about C++ auto arrow return, and while I'm
19170         here also teach it about const and volatile overloads. I didn't do
19171         reference and rvalue reference overloads because we don't really
19172         use them, and the current parser throws away those characters and
19173         it doesn't seem worth making it more complex.
19175         * Scripts/prepare-ChangeLog:
19176         (get_function_line_ranges_for_cpp):
19177         * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests-expected.txt:
19178         * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:
19179         (Foo::Arrow::arrow):
19180         (Foo::Arrow::otherArrow):
19181         (Foo::Arrow::otherArrow const):
19182         (Foo::Arrow::otherArrow volatile):
19183         (Foo::Arrow::otherArrow const volatile):
19185 2017-07-28  Adrian Perez de Castro  <aperez@igalia.com>
19187         [GTK] Building with ENABLE_VIDEO=OFF fails
19188         https://bugs.webkit.org/show_bug.cgi?id=174940
19190         Reviewed by Alex Christensen.
19192         When GStreamer usage is completely disabled at build time, CMake does not query pkg-config for the GStreamer.
19193         This adds missing USE(GSTREAMER) guards in order to make testing code buildable when GStreamer usage is disabled.
19195         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
19196         (methodCallCallback): Add missing USE(GSTREAMER) guard.
19198 2017-07-28  Claudio Saavedra  <csaavedra@igalia.com>
19200         [WPE] Implement EventSenderProxy in WTR
19201         https://bugs.webkit.org/show_bug.cgi?id=173419
19203         Reviewed by Žan Doberšek.
19205         Add the implementation of EventSenderProxy to the WTR. This
19206         allows us to extend the coverage of the test suite in WKWPE.
19208         * WebKitTestRunner/EventSenderProxy.h:
19209         * WebKitTestRunner/PlatformWPE.cmake: Add dependency on
19210         libxkbcommon needed to deal with key events.
19211         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
19212         (WTR::EventSenderProxy::EventSenderProxy):
19213         (WTR::senderButtonToWPEButton):
19214         (WTR::EventSenderProxy::mouseDown):
19215         (WTR::EventSenderProxy::mouseUp):
19216         (WTR::EventSenderProxy::mouseMoveTo):
19217         (WTR::EventSenderProxy::mouseScrollBy):
19218         (WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases):
19219         (WTR::EventSenderProxy::leapForward):
19220         (WTR::wkEventModifiersToWPE):
19221         (WTR::getXKBKeySymForKeyRef):
19222         (WTR::EventSenderProxy::keyDown):
19223         (WTR::EventSenderProxy::addTouchPoint):
19224         (WTR::EventSenderProxy::updateTouchPoint):
19225         (WTR::EventSenderProxy::setTouchModifier):
19226         (WTR::EventSenderProxy::setTouchPointRadius):
19227         (WTR::EventSenderProxy::getUpdatedTouchEvents):
19228         (WTR::EventSenderProxy::removeUpdatedTouchEvents):
19229         (WTR::EventSenderProxy::prepareAndDispatchTouchEvent):
19230         (WTR::EventSenderProxy::touchStart):
19231         (WTR::EventSenderProxy::touchMove):
19232         (WTR::EventSenderProxy::touchEnd):
19233         (WTR::EventSenderProxy::touchCancel):
19234         (WTR::EventSenderProxy::clearTouchPoints):
19235         (WTR::EventSenderProxy::releaseTouchPoint):
19236         (WTR::EventSenderProxy::cancelTouchPoint):
19238 2017-07-27  Brady Eidson  <beidson@apple.com>
19240         Part 2 of: Rename DatabaseProcess to StorageProcess.
19241         https://bugs.webkit.org/show_bug.cgi?id=174880
19243         Reviewed by Andy Estes.
19245         * TestWebKitAPI/Tests/WebKit2Cocoa/IDBDeleteRecovery.mm:
19246         * TestWebKitAPI/Tests/WebKit2Cocoa/IDBIndexUpgradeToV2.mm:
19247         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBDatabaseProcessKill.mm:
19248         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess.mm:
19249         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBPersistence.mm:
19250         * TestWebKitAPI/Tests/WebKit2Cocoa/ResourceLoadStatistics.mm:
19251         * TestWebKitAPI/Tests/WebKit2Cocoa/WebProcessKillIDBCleanup.mm:
19252         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
19254 2017-07-26  Mark Lam  <mark.lam@apple.com>
19256         Add ability to only run specific tests in run-javascriptcore-tests.
19257         https://bugs.webkit.org/show_bug.cgi?id=174884
19259         Reviewed by Saam Barati.
19261         For example, if we only want to run testapi, we can do so as follows:
19262             $ run-javascriptcore-tests --testapi
19264         Previously, specifying --testapi effectively does nothing because we run all tests
19265         by default.  Only --no-testapi had the effect of disabling the test set.  This
19266         old behavior for --testapi is not very useful or meaningful.  We're now changing
19267         it to mean that we will only run that test.
19269         With this change, we can also run more than one set of tests.  For example, if we
19270         only want to run testmasm and testair, we can do so as follows:
19271             $ run-javascriptcore-tests --testmasm --testair
19273         By default, if no specific test option is specified, run-javascriptcore-tests will
19274         run all tests.
19276         Note that the jsc stress tests (--jsc-stress) are a different set of tests than
19277         the mozilla tests (--mozilla-tests) even though both are run via the lower level
19278         run-jsc-stress-tests test harness.  Hence, if you only specify one of the tests,
19279         the other set will not run.  For example, the following only runs the mozilla tests:
19280             $ run-javascriptcore-tests --mozilla-tests
19282         Note also that --jit-stress-tests is not for choosing a different set of tests.
19283         Instead, it is used for determining whether we run JIT'ed test configurations
19284         on the jsc stress tests and mozilla tests.  As a result, specifying
19285         --jit-stress-tests will not omit other tests.  For example, the following still
19286         runs all tests:
19287             $ run-javascriptcore-tests --jit-stress-tests
19289         * Scripts/run-javascriptcore-tests:
19290         (defaultStringForTestState):
19291         (enableTestOrNot):
19292         (runJSCStressTests):
19294 2017-07-26  Mark Lam  <mark.lam@apple.com>
19296         Make run-javascriptcore-test run testair, testb3, and testmasm.
19297         https://bugs.webkit.org/show_bug.cgi?id=174837
19298         <rdar://problem/33522927>
19300         Reviewed by Saam Barati and Filip Pizlo.
19302         1. Refactors code for running testapi so that we can use it to run other tests.
19303         2. Added running of testmasm, testair, testb3.
19305         Note: the existing testapi invocation code does not support remote invocation of
19306         the tests (e.g. on a ARM device).  Hence, the new additions of testmasm, testair,
19307         and testb3 also do not support remote invocation.  If we wish to add remote
19308         invocation support, we should do that in a separate patch.
19310         * Scripts/run-javascriptcore-tests:
19311         (testPath):
19312         (runTest):
19313         (testapiPath): Deleted.
19315 2017-07-26  Aakash Jain  <aakash_jain@apple.com>
19317         Remove duplicate code from Buildbot.js in dashboard
19318         https://bugs.webkit.org/show_bug.cgi?id=174870
19320         Reviewed by Daniel Bates.
19322         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:
19323         (Buildbot.prototype.javaScriptCoreTestFailuresURLForIteration): Remove duplicate code and reuse buildPageURLForIteration() to construct URL.
19324         (Buildbot.prototype.javaScriptCoreTestStdioUrlForIteration): Ditto.
19325         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/MockBuildbot.js:
19326         (MockBuildbot.prototype.javaScriptCoreTestStdioUrlForIteration): Ditto for tests.
19328 2017-07-26  Brady Eidson  <beidson@apple.com>
19330         Add test to verify certain child processes are not launched as a side effect of enabling ResourceLoadStatistics.
19331         https://bugs.webkit.org/show_bug.cgi?id=174851
19333         Reviewed by Chris Dumez.
19335         * TestWebKitAPI/Tests/WebKit2Cocoa/ResourceLoadStatistics.mm:
19336         (TEST):
19338 2017-07-26  Brian Burg  <bburg@apple.com>
19340         Remove WEB_TIMING feature flag
19341         https://bugs.webkit.org/show_bug.cgi?id=174795
19343         Reviewed by Alex Christensen.
19345         * Scripts/webkitperl/FeatureList.pm:
19346         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
19348 2017-07-26  Chris Dumez  <cdumez@apple.com>
19350         Pressing the Escape key should not be a valid user gesture to enter fullscreen
19351         https://bugs.webkit.org/show_bug.cgi?id=174864
19352         <rdar://problem/33009088>
19354         Reviewed by Geoffrey Garen.
19356         Add support for eventSender.keyDown('escape') in DRT to match the behavior of
19357         WKTR.
19359         * DumpRenderTree/mac/EventSendingController.mm:
19360         (-[EventSendingController keyDown:withModifiers:withLocation:]):
19362 2017-07-26  Romain Bellessort  <romain.bellessort@crf.canon.fr>
19364         Unreviewed, added Romain Bellessort to contributors.json.
19366         * Scripts/webkitpy/common/config/contributors.json:
19368 2017-07-26  Zan Dobersek  <zdobersek@igalia.com>
19370         [WPE] WebGL2 support
19371         https://bugs.webkit.org/show_bug.cgi?id=174249
19373         Reviewed by Alex Christensen.
19375         * Scripts/webkitperl/FeatureList.pm:
19376         Enable WebGL2 for WPE when building through build-webkit.
19378 2017-07-26  Carlos Garcia Campos  <cgarcia@igalia.com>
19380         Unreviewed. Fix GTK distcheck.
19382         * gtk/make-dist.py:
19383         (ensure_version_if_possible): Use the right pkg-config filename, it's webkit2gtk not webkitgtk.
19385 2017-07-25  Brady Eidson  <beidson@apple.com>
19387         ResourceLoadStatistics grandfathering happens much too often.
19388         <rdar://problem/32655834> and https://bugs.webkit.org/show_bug.cgi?id=174825
19390         Reviewed by Chris Dumez.
19392         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
19393         * TestWebKitAPI/Tests/WebKit2Cocoa/EmptyGrandfatheredResourceLoadStatistics.plist: Added.
19394         * TestWebKitAPI/Tests/WebKit2Cocoa/ResourceLoadStatistics.mm: Added.
19395         (TEST):
19397 2017-07-25  Matthew Stewart  <matthew_r_stewart@apple.com>
19399         Fix autoinstaller failing on autoinstall_everything
19400         https://bugs.webkit.org/show_bug.cgi?id=174830
19402         Reviewed by Joseph Pecoraro.
19404         * Scripts/webkitpy/thirdparty/__init__.py:
19405         (AutoinstallImportHook.find_module):
19406         (AutoinstallImportHook.install_chromedriver):
19407         (AutoinstallImportHook.install_geckodriver):
19408         (AutoinstallImportHook._install_chromedriver): Deleted.
19409         (AutoinstallImportHook._install_geckodriver): Deleted.
19411 2017-07-25  Jonathan Bedard  <jbedard@apple.com>
19413         Replace --runtime with something for both ios-simulator and ios-device
19414         https://bugs.webkit.org/show_bug.cgi?id=173775
19415         <rdar://problem/32952164>
19417         Reviewed by Aakash Jain.
19419         Add --version flag for both iOS simulator and iOS device.
19421         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
19422         (parse_args): Add --version flag and move --no-install.
19423         * Scripts/webkitpy/port/factory.py:
19424         (platform_options): Move --no-intall to run_webkit_tests.py.
19425         * Scripts/webkitpy/port/ios.py:
19426         (IOSPort):
19427         (IOSPort._is_valid_ios_version): Check that the provided version string is legal.
19428         (IOSPort.get_option): If accessing the iOS version, check that it is a valid version string.
19429         * Scripts/webkitpy/port/ios_device.py:
19430         (IOSDevicePort.ios_version): Consult --version flag before checking connected
19431         devices for iOS version.
19432         * Scripts/webkitpy/port/ios_device_unittest.py:
19433         (IOSDeviceTest.make_port): Set --version option so that we can generate test
19434         expectation paths without devices connected.
19435         (IOSDeviceTest.test_additional_platform_directory): Deleted.
19436         (IOSDeviceTest.test_baseline_searchpath): Deleted.
19437         (IOSDeviceTest.test_expectations_ordering): Deleted.
19438         * Scripts/webkitpy/port/ios_simulator.py:
19439         (IOSSimulatorPort.simulator_runtime): If no runtime is specified, use the --version
19440         flag to specify a runtime.
19441         (IOSSimulatorPort.ios_version): First check the --version flag, then the --runtime
19442         flag and then use the default runtime.
19444 2017-07-25  Carlos Garcia Campos  <cgarcia@igalia.com>
19446         [GTK] TestWebKitAPI tests are no longer built since the WebKit2 rename
19447         https://bugs.webkit.org/show_bug.cgi?id=174815
19449         Reviewed by Carlos Alberto Lopez Perez.
19451         Only WebKitGTK specific tests are built, but not WebKit2, WTF nor WebCore ones. We are still checking
19452         ENABLE_WEBKIT2 in the makefile, that was renamed to ENABLE_WEBKIT. Also, all WebKit2 test paths were updated to
19453         use WebKit dir, while the tests are still in WebKit2 directory. This patch also removes
19454         TestWebKitAPIInjectedBundle_PATH that is unused and now makes the configure to fail (it used to be a warning, I
19455         think), probably because of a newer CMake version.
19457         * CMakeLists.txt:
19458         * TestWebKitAPI/CMakeLists.txt:
19459         * TestWebKitAPI/PlatformGTK.cmake:
19461 2017-07-24  Matthew Stewart  <matthew_r_stewart@apple.com>
19463         Fix BenchmarkRunner to only import selenium when needed
19464         https://bugs.webkit.org/show_bug.cgi?id=174808
19466         Reviewed by Stephanie Lewis.
19468         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_chrome_driver.py:
19469         (LinuxChromeDriver.launch_driver):
19470         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_firefox_driver.py:
19471         (LinuxFirefoxDriver.launch_driver):
19472         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
19473         (OSXChromeDriver.launch_driver):
19474         (OSXChromeCanaryDriver.launch_driver):
19475         (create_chrome_options):
19476         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
19477         (OSXFirefoxDriver.launch_driver):
19478         (OSXFirefoxNightlyDriver.launch_driver):
19479         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
19480         (OSXSafariDriver.launch_driver):
19481         * Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py:
19482         (WebDriverBenchmarkRunner._run_one_test):
19484 2017-07-23  Darin Adler  <darin@apple.com>
19486         More NeverDestroyed and related cleanup
19487         https://bugs.webkit.org/show_bug.cgi?id=174745
19489         Reviewed by Alex Christensen.
19491         * DumpRenderTree/JavaScriptThreading.cpp:
19492         (javaScriptThreadsMutex): Use NeverDestroyed instead of
19493         DEPRECATED_DEFINE_STATIC_LOCAL.
19494         (javaScriptThreads): Ditto.
19496 2017-07-24  Matthew Stewart  <matthew_r_stewart@apple.com>
19498         Subclass Benchmark Runner script for WebDriver support
19499         https://bugs.webkit.org/show_bug.cgi?id=174390
19501         Reviewed by Dewei Zhu, Stephanie Lewis.
19503         Add WebServerBenchmarkRunner and WebDriverBenchmarkRunner subclasses.
19505         * Scripts/webkitpy/benchmark_runner/benchmark_builder.py:
19506         (BenchmarkBuilder.__init__):
19507         * Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
19508         (BenchmarkRunner.__init__):
19509         (BenchmarkRunner._find_plan_file):
19510         (BenchmarkRunner._run_one_test.and):
19511         (BenchmarkRunner.execute):
19512         (BenchmarkRunner._get_result): Deleted.
19513         * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
19514         (parse_args):
19515         (start):
19516         * Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py: Added.
19517         (WebDriverBenchmarkRunner):
19518         (WebDriverBenchmarkRunner._get_result):
19519         (WebDriverBenchmarkRunner._run_one_test):
19520         * Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py: Added.
19521         (WebServerBenchmarkRunner):
19522         (WebServerBenchmarkRunner.__init__):
19523         (WebServerBenchmarkRunner._get_result):
19524         (WebServerBenchmarkRunner._run_one_test):
19526 2017-07-24  Matthew Stewart  <matthew_r_stewart@apple.com>
19528         Add BenchmarkRunner patches with WebDriver support for each testing plan
19529         https://bugs.webkit.org/show_bug.cgi?id=174443
19531         Reviewed by Dewei Zhu, Stephanie Lewis.
19533         * Scripts/webkitpy/benchmark_runner/benchmark_builder.py:
19534         (BenchmarkBuilder.__enter__):
19535         * Scripts/webkitpy/benchmark_runner/data/patches/webdriver/ARES-6.patch:
19536         * Scripts/webkitpy/benchmark_runner/data/patches/webdriver/ContentAnimation.patch:
19537         * Scripts/webkitpy/benchmark_runner/data/patches/webdriver/Dromaeo.patch:
19538         * Scripts/webkitpy/benchmark_runner/data/patches/webdriver/JSBench.patch:
19539         * Scripts/webkitpy/benchmark_runner/data/patches/webdriver/JetStream.patch:
19540         * Scripts/webkitpy/benchmark_runner/data/patches/webdriver/Kraken.patch:
19541         * Scripts/webkitpy/benchmark_runner/data/patches/webdriver/MotionMark.patch:
19542         * Scripts/webkitpy/benchmark_runner/data/patches/webdriver/Octane.patch:
19543         * Scripts/webkitpy/benchmark_runner/data/patches/webdriver/Speedometer.patch:
19544         * Scripts/webkitpy/benchmark_runner/data/patches/webdriver/SunSpider.patch:
19545         * Scripts/webkitpy/benchmark_runner/data/patches/webserver/ARES-6.patch:
19546         * Scripts/webkitpy/benchmark_runner/data/patches/webserver/Animometer.patch:
19547         * Scripts/webkitpy/benchmark_runner/data/patches/webserver/ContentAnimation.patch:
19548         * Scripts/webkitpy/benchmark_runner/data/patches/webserver/Dromaeo.patch:
19549         * Scripts/webkitpy/benchmark_runner/data/patches/webserver/JSBench.patch:
19550         * Scripts/webkitpy/benchmark_runner/data/patches/webserver/JetStream.patch:
19551         * Scripts/webkitpy/benchmark_runner/data/patches/webserver/Kraken.patch:
19552         * Scripts/webkitpy/benchmark_runner/data/patches/webserver/MotionMark.patch:
19553         * Scripts/webkitpy/benchmark_runner/data/patches/webserver/Octane.patch:
19554         * Scripts/webkitpy/benchmark_runner/data/patches/webserver/Speedometer.patch:
19555         * Scripts/webkitpy/benchmark_runner/data/patches/webserver/SunSpider.patch:
19556         * Scripts/webkitpy/benchmark_runner/data/plans/ares6.plan:
19557         * Scripts/webkitpy/benchmark_runner/data/plans/content-animation.plan:
19558         * Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-cssquery.plan:
19559         * Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-dom.plan:
19560         * Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-jslib.plan:
19561         * Scripts/webkitpy/benchmark_runner/data/plans/jetstream.plan:
19562         * Scripts/webkitpy/benchmark_runner/data/plans/jsbench.plan:
19563         * Scripts/webkitpy/benchmark_runner/data/plans/kraken.plan:
19564         * Scripts/webkitpy/benchmark_runner/data/plans/motionmark.plan:
19565         * Scripts/webkitpy/benchmark_runner/data/plans/octane.plan:
19566         * Scripts/webkitpy/benchmark_runner/data/plans/speedometer.plan:
19567         * Scripts/webkitpy/benchmark_runner/data/plans/sunspider.plan:
19569 2017-07-24  Matthew Stewart  <matthew_r_stewart@apple.com>
19571         Add functions to autoinstaller needed for Benchmark Runner script
19572         https://bugs.webkit.org/show_bug.cgi?id=174331
19574         Reviewed by Dean Johnson, Dewei Zhu, Stephanie Lewis.
19576         Adds autoinstaller functions to install selenium and webdriver binaries
19577         which will be used by the browser driver part of Benchmark Runner.
19579         * Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:
19580         (BrowserDriver.restore_env):
19581         (BrowserDriver):
19582         (BrowserDriver.get_webdriver_binary_path):
19583         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_chrome_driver.py:
19584         (LinuxChromeDriver.launch_driver):
19585         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_firefox_driver.py:
19586         (LinuxFirefoxDriver.launch_driver):
19587         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
19588         (OSXChromeDriver.launch_driver):
19589         (OSXChromeCanaryDriver.launch_driver):
19590         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
19591         (OSXFirefoxDriver.launch_driver):
19592         (OSXFirefoxNightlyDriver.launch_driver):
19593         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
19594         * Scripts/webkitpy/benchmark_runner/utils.py:
19595         (get_driver_binary_path):
19596         * Scripts/webkitpy/common/system/autoinstall.py:
19597         (AutoInstaller._unzip):
19598         * Scripts/webkitpy/thirdparty/__init__.py:
19599         (AutoinstallImportHook.find_module):
19600         (AutoinstallImportHook._install_selenium):
19601         (AutoinstallImportHook):
19602         (AutoinstallImportHook._install_chromedriver):
19603         (AutoinstallImportHook._install_geckodriver):
19604         (AutoinstallImportHook.get_latest_pypi_url):
19605         (AutoinstallImportHook.install_binary):
19606         (autoinstall_everything):
19607         (get_driver_filename):
19608         (get_os_info):
19610 2017-07-24  Matthew Stewart  <matthew_r_stewart@apple.com>
19612         Add WebDriver support in browser driver part of BenchmarkRunner
19613         https://bugs.webkit.org/show_bug.cgi?id=174445
19615         Reviewed by Stephanie Lewis.
19617         Adds a launch_driver function to each BrowserDriver subclass. This
19618         function sets up the arguments for the webdriver and launches the
19619         webdriver specific to that browser.
19621         * Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:
19622         (BrowserDriver.launch_webdriver):
19623         (BrowserDriver):
19624         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py:
19625         (LinuxBrowserDriver.launch_webdriver):
19626         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_chrome_driver.py:
19627         (LinuxChromeDriver.launch_url):
19628         (LinuxChromeDriver):
19629         (LinuxChromeDriver.launch_driver):
19630         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_epiphany_driver.py:
19631         (EpiphanyBrowserDriver.launch_url):
19632         (EpiphanyBrowserDriver):
19633         (EpiphanyBrowserDriver.launch_driver):
19634         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_firefox_driver.py:
19635         (LinuxFirefoxDriver):
19636         (LinuxFirefoxDriver.launch_url):
19637         (LinuxFirefoxDriver.launch_driver):
19638         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_minibrowsergtk_driver.py:
19639         (GTKMiniBrowserDriver.launch_url):
19640         (GTKMiniBrowserDriver):
19641         (GTKMiniBrowserDriver.launch_driver):
19642         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:
19643         (OSXBrowserDriver._launch_webdriver):
19644         (OSXBrowserDriver):
19645         (OSXBrowserDriver._screen_size):
19646         (OSXBrowserDriver._insert_url):
19647         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
19648         (OSXChromeDriver):
19649         (OSXChromeDriver.launch_url):
19650         (OSXChromeDriver.launch_driver):
19651         (OSXChromeCanaryDriver):
19652         (OSXChromeCanaryDriver.launch_url):
19653         (OSXChromeCanaryDriver.launch_driver):
19654         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
19655         (OSXFirefoxDriver):
19656         (OSXFirefoxDriver.launch_url):
19657         (OSXFirefoxDriver.launch_driver):
19658         (OSXFirefoxNightlyDriver):
19659         (OSXFirefoxNightlyDriver.launch_url):
19660         (OSXFirefoxNightlyDriver.launch_driver):
19661         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
19662         (OSXSafariDriver.launch_driver):
19664 2017-07-24  Wenson Hsieh  <wenson_hsieh@apple.com>
19666         [Mac WK2] Add an API test to cover r219765 (null dereference in [WKWebView dealloc])
19667         https://bugs.webkit.org/show_bug.cgi?id=174793
19669         Reviewed by Tim Horton.
19671         Adds a new unit test that invokes some asynchronous NSTextInputClient SPI methods as the web view is tearing
19672         down. Without r219765, this test will dereference null and crash.
19674         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
19675         * TestWebKitAPI/Tests/TestWebKitAPI/mac/NSTextInputClientSPI.h: Added.
19676         * TestWebKitAPI/Tests/mac/WKWebViewSelectionTests.mm:
19677         (TEST):
19679 2017-07-24  Basuke Suzuki  <Basuke.Suzuki@sony.com>
19681         [Win] Implement Authentication dialog in MiniBrowser
19682         https://bugs.webkit.org/show_bug.cgi?id=174662
19684         Reviewed by Alex Christensen.
19686         * MiniBrowser/win/Common.cpp:
19687         (CustomUserAgent):
19688         (DisplayAuthDialog):
19689         (AuthDialogProc):
19690         * MiniBrowser/win/MiniBrowserLib.rc:
19691         * MiniBrowser/win/MiniBrowserLibResource.h:
19692         * MiniBrowser/win/ResourceLoadDelegate.cpp:
19693         (ResourceLoadDelegate::didReceiveAuthenticationChallenge):
19695 2017-07-24  Jonathan Bedard  <jbedard@apple.com>
19697         Handle case where line_numbers is None instead of an array of line numbers
19698         https://bugs.webkit.org/show_bug.cgi?id=174775
19700         Reviewed by Aakash Jain.
19702         Added files set line_numbers to None in process_file.
19704         * Scripts/webkitpy/style/filereader.py:
19705         (TextFileReader.process_file): Handle case where line_number is set to None.
19706         * Scripts/webkitpy/style/main_unittest.py:
19707         (ExpectationLinterInStyleCheckerTest.test_linter_added_file_with_error): Test case of an added file.
19709 2017-07-24  Zan Dobersek  <zdobersek@igalia.com>
19711         [WPE] Add libepoxy to the Jhbuild moduleset
19712         https://bugs.webkit.org/show_bug.cgi?id=174711
19714         Reviewed by Carlos Alberto Lopez Perez.
19716         * wpe/jhbuild.modules: Add libepoxy 1.4.3 to WPE's Jhbuild moduleset.
19718 2017-07-24  Zan Dobersek  <zdobersek@igalia.com>
19720         [WPE] libepoxy headers can use EGL_CAST, which might not be defined by eglplatform.h
19721         https://bugs.webkit.org/show_bug.cgi?id=174780
19723         Reviewed by Carlos Garcia Campos.
19725         * WebKitTestRunner/wpe/HeadlessViewBackend.cpp:
19726         Manually define the EGL_CAST macro to the C++ version that uses static_cast<>
19727         in case the eglplatform.h header doesn't provide that macro. This replicates
19728         the work in WebCore's EpoxyEGL.h header, but we can't include that header here.
19730 2017-07-22  Wenson Hsieh  <wenson_hsieh@apple.com>
19732         [iOS WK2] Remove _WKDraggableElementInfo and fold PositionInformationTests into WKRequestActivatedElementInfo
19733         https://bugs.webkit.org/show_bug.cgi?id=174758
19735         Reviewed by Dan Bernstein.
19737         Migrate position-information-related unit tests from the PositionInformationTests suite to
19738         WKRequestActivatedElementInfo as 2 new unit tests. See WebKit2 ChangeLog for more details.
19740         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
19741         * TestWebKitAPI/Tests/WebKit2Cocoa/WKRequestActivatedElementInfo.mm:
19742         (TestWebKitAPI::checkElementTypeAndBoundingRect):
19743         (TestWebKitAPI::TEST):
19744         * TestWebKitAPI/Tests/ios/PositionInformationTests.mm: Removed.
19745         * TestWebKitAPI/cocoa/TestWKWebView.h:
19746         * TestWebKitAPI/cocoa/TestWKWebView.mm:
19747         (-[TestWKWebView activatedElementAtPosition:]):
19749 2017-07-22  Chris Dumez  <cdumez@apple.com>
19751         REGRESSION(r204565): WKObject is broken
19752         https://bugs.webkit.org/show_bug.cgi?id=174736
19753         <rdar://problem/33246169>
19755         Reviewed by Dan Bernstein.
19757         Add API test that used to crash.
19759         * TestWebKitAPI/Tests/WebKit2Cocoa/WKObject.mm:
19760         (TestWebKitAPI::TEST):
19762 2017-07-22  Yusuke Suzuki  <utatane.tea@gmail.com>
19764         [WTF] Extend ThreadGroup::add results from bool to ThreadGroupAddResult
19765         https://bugs.webkit.org/show_bug.cgi?id=174705
19767         Reviewed by Mark Lam.
19769         * TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
19770         (TestWebKitAPI::testThreadGroup):
19771         (TestWebKitAPI::TEST):
19773 2017-07-21  Jonathan Bedard  <jbedard@apple.com>
19775         Fail gracefully when xcrun fails in IOSSimulatorPort constructor
19776         https://bugs.webkit.org/show_bug.cgi?id=174724
19778         Reviewed by Aakash Jain.
19780         * Scripts/webkitpy/port/ios_simulator.py:
19781         (IOSSimulatorPort.__init__): Ignore any errors when attempting to find a running
19782         simulator. Errors here should be treated the same as no simulators found.
19784 2017-07-21  Yousuke Kimoto  <Yousuke.Kimoto@sony.com>
19786         [CMake] Add an option to stop build after generating project files
19787         https://bugs.webkit.org/show_bug.cgi?id=174664
19789         Reviewed by Konstantin Tokarev.
19791         Add "--generate-project-only" to stop build after generating project files.
19793         * Scripts/build-webkit: Add '--generate-project-only' option and a checker to stop build.
19794         * Scripts/webkitdirs.pm: Add a function to check '--generate-project-only' option and the same checker as the above
19795         (buildCMakeProjectOrExit): Add a cheker to stop build stop build after generating project files.
19796         (determineIsGenerateProjectOnly): Check if '--generate-project-only' option is specified
19797         (isGenerateProjectOnly): ditto
19799 2017-07-21  Yusuke Suzuki  <utatane.tea@gmail.com>
19801         [WTF] Newly added AtomicStringImpl should use BufferInternal static string if StringImpl is static
19802         https://bugs.webkit.org/show_bug.cgi?id=174501
19804         Reviewed by Darin Adler.
19806         * TestWebKitAPI/Tests/WTF/StringImpl.cpp:
19807         (TestWebKitAPI::TEST):
19809 2017-07-20  David Quesada  <david_quesada@apple.com>
19811         Add SPI to notify WKNavigationDelegate about client redirects
19812         https://bugs.webkit.org/show_bug.cgi?id=174680
19813         rdar://problem/33184886
19815         Reviewed by Brady Eidson.
19817         * TestWebKitAPI/Tests/WebKit2Cocoa/Navigation.mm:
19818         (-[DidPerformClientRedirectNavigationDelegate _webView:didPerformClientRedirectForNavigation:]):
19819         (TEST):
19820         Add API test for -[id<WKNavigationDelegatePrivate> _webView:didPerformClientRedirectForNavigation:].
19822 2017-07-20  Brady Eidson  <beidson@apple.com>
19824         Test WebKit2CustomProtocolsTest.ProcessPoolDestroyedDuringLoading added in r219664 fails on El Capitan.
19825         https://bugs.webkit.org/show_bug.cgi?id=174685
19827         Reviewed by Andy Estes.
19829         * TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsTest.mm:
19830         (TestWebKitAPI::TEST): Use a scoped AutodrainedPool instead of a RetainPtr<NSAutoreleasePool>.
19832 2017-07-20  Brady Eidson  <beidson@apple.com>
19834         Deprecate WebIconDatabase in WebKitLegacy/mac.
19835         https://bugs.webkit.org/show_bug.cgi?id=174607
19837         Reviewed by Alex Christensen.
19839         * DumpRenderTree/mac/TestRunnerMac.mm:
19841 2017-07-20  Jonathan Bedard  <jbedard@apple.com>
19843         lint-test-expectations should be run during style checking
19844         https://bugs.webkit.org/show_bug.cgi?id=173559
19845         <rdar://problem/32854941>
19847         Reviewed by Aakash Jain.
19849         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
19850         (TestExpectationsModel._already_seen_better_match): Append returns 'None' when successful,
19851         prevents identifying errors on specific lines in a file.
19852         * Scripts/webkitpy/style/main_unittest.py:
19853         (ExpectationLinterInStyleCheckerTest.test_linter_duplicate_line_edit_in_file): Test for the
19854         case where a linter error is in the file modified, but the line modified is not related to
19855         the linter error.
19857 2017-07-20  Brady Eidson  <beidson@apple.com>
19859         Remove WebIconDatabase from WebKitLegacy/win.
19860         https://bugs.webkit.org/show_bug.cgi?id=174608
19862         Reviewed by Alex Christensen.
19864         * DumpRenderTree/win/DumpRenderTree.cpp:
19865         (main):
19866         * DumpRenderTree/win/TestRunnerWin.cpp:
19867         (TestRunner::setIconDatabaseEnabled):
19869 2017-07-20  Zan Dobersek  <zdobersek@igalia.com>
19871         [WPE] Adjust priority of GSource used in WKTR's HeadlessViewBackend
19872         https://bugs.webkit.org/show_bug.cgi?id=174671
19874         Reviewed by Carlos Garcia Campos.
19876         * WebKitTestRunner/wpe/HeadlessViewBackend.cpp:
19877         (HeadlessViewBackend::HeadlessViewBackend): Use the RunLoopDispatcher
19878         priority for this source in order to have it dispatched on the same
19879         priority as the other WebKit-controlled GSource objects.
19881 2017-07-19  Jonathan Bedard  <jbedard@apple.com>
19883         lint-test-expectations should be run during style checking
19884         https://bugs.webkit.org/show_bug.cgi?id=173559
19885         <rdar://problem/32854941>
19887         Reviewed by Daniel Bates.
19889         Follow up fix addressing style and a few minor bugs.
19891         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
19892         (TestExpectationParser.__init__): Use lambda x: x instead of str
19893         (TestExpectationsModel.__init__): Make lambda x: x the default argument.
19894         (TestExpectationsModel._already_seen_better_match): Use a temporary variable to
19895         reduce the calls of _shorten_filename, fix minor bug in appending the current
19896         expectation's line number instead of the previous ones, clarify treatment of None
19897         in file-to-line-number mapping.
19898         (TestExpectations._report_warnings): Collapse call.
19899         * Scripts/webkitpy/style/checkers/test_expectations.py:
19900         (TestExpectationsChecker.lint_test_expectations):
19901         * Scripts/webkitpy/style/filereader.py: Re-write comment.
19902         (TextFileReader.process_file): Add comment explaining treatment of None in
19903         file-to-line-number mapping.
19904         (TextFileReader.delete_file): Collapse call.
19906 2017-07-19  Chris Dumez  <cdumez@apple.com>
19908         Unreviewed attempt to fix API test failure after r219663.
19910         The test was hard-coding an exception string and the string has changed slightly
19911         in r219663.
19913         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
19914         (TEST):
19916 2017-07-19  Megan Gardner  <megan_gardner@apple.com>
19918         Don't write file URLs to iOS Pasteboard
19919         https://bugs.webkit.org/show_bug.cgi?id=174647
19920         <rdar://problem/33199730>
19922         Reviewed by Wenson Hsieh.
19924         Updating tests to reflect the lack of file URLs for images.
19926         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
19927         (checkTypeIdentifierAndIsNotOtherTypeIdentifier):
19928         (checkEstimatedSize):
19929         (TestWebKitAPI::TEST):
19931 2017-07-19  Brady Eidson  <beidson@apple.com>
19933         iBooks sometimes crashes when closing a book.
19934         <rdar://problem/31180331> and https://bugs.webkit.org/show_bug.cgi?id=174658
19936         Reviewed by Oliver Hunt.
19938         * TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsTest.mm:
19939         (-[ProcessPoolDestroyedDuringLoadingProtocol startLoading]):
19940         (-[ProcessPoolDestroyedDuringLoadingProtocol finishTheLoad]):
19941         (-[ProcessPoolDestroyedDuringLoadingProtocol stopLoading]):
19942         (TestWebKitAPI::TEST):
19944         Add a "spin the runloop X number of times" utility:
19945         * TestWebKitAPI/Utilities.h:
19946         * TestWebKitAPI/cocoa/UtilitiesCocoa.mm:
19947         (TestWebKitAPI::Util::spinRunLoop):
19949 2017-07-19  Jonathan Bedard  <jbedard@apple.com>
19951         lint-test-expectations should be run during style checking
19952         https://bugs.webkit.org/show_bug.cgi?id=173559
19953         <rdar://problem/32854941>
19955         Reviewed by David Kilzer.
19957         Running the test expectation linter requires reading both files and lines not in the
19958         patch because, for example, deletion of a test can cause a lint failure even though
19959         no test expectations where modified. This means that the linter will occasionally warn
19960         about lines which were not changed in a given patch but whose error is related to a
19961         change made in that patch.
19963         * Scripts/webkitpy/common/system/filesystem_mock.py:
19964         (MockFileSystem.open_text_file_for_reading): Add 'errors' argument to mimic filesystem.
19965         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
19966         (TestExpectationWarning): Added class to pass warnings as an object instead of a string.
19967         (TestExpectationWarning.__init__): Construct warning with file name, line number, line
19968         content, description of the error and the name of the associated test.
19969         (TestExpectationWarning.__str__): Convert to string so that existing printing code works.
19970         (TestExpectationParser.__init__): Pass shorten_filename function to
19971         TestExpectationsParser to add a deleted file to the related_files dictionary.
19972         (TestExpectationParser._check_test_exists): If the test does not exist, add the
19973         missing path to the related_files dictionary.
19974         (TestExpectationLine.__init__): Add related_files dictionary, which tracks
19975         files and line numbers related to this test expectation line. This will allow
19976         tracking linter errors in the style checker occurring across multiple files.
19977         (TestExpectationsModel._already_seen_better_match): Add redundant expectation
19978         lines to related_files dictionary.
19979         (TestExpectations.__init__): Pass self._shorten_filename to TestExpectationParser.
19980         (TestExpectations._report_warnings): Construct warning object instead of string
19981         when adding to warnings list.
19982         * Scripts/webkitpy/port/win.py: Changed logging level form warning to debug to
19983         clean-up log.
19984         * Scripts/webkitpy/style/checker.py:
19985         (ProcessorBase.do_association_check): Add required function for processor classes.
19986         (StyleProcessor):
19987         (StyleProcessor.do_association_check): Run the TestExpectations linter when
19988         checking for errors between associated files.
19989         * Scripts/webkitpy/style/checkers/test_expectations.py:
19990         (TestExpectationsChecker.check_test_expectations): Reflect changed import statements.
19991         (TestExpectationsChecker):
19992         (TestExpectationsChecker._should_log_linter_warning): Given a warning, a dictionary
19993         of modified files, the current working directory and the host, determine if the linter
19994         warning is associated with the changes.
19995         (TestExpectationsChecker.lint_test_expectations): Lint test expectations for the
19996         style checker.
19997         * Scripts/webkitpy/style/filereader.py:
19998         (TextFileReader):
19999         (TextFileReader.__init__): Track modified files in dictionary instead of a counter.
20000         (TextFileReader.file_count): Use dictionary to determine the number of modified files.
20001         (TextFileReader.process_file): Track both the number of files changed and which lines
20002         in those files were changed.
20003         (TextFileReader.do_association_check): Run the processor's association check on all
20004         modified or deleted files processed by TextFileReader.
20005         (TextFileReader.delete_file): Track deleted files in _files dictionary.
20006         (TextFileReader.count_delete_only_file): Deleted.
20007         * Scripts/webkitpy/style/filereader_unittest.py:
20008         (TextFileReaderTest.test_delete_file): Renamed function to reflect new function name.
20009         (TextFileReaderTest.test_count_delete_only_file): Moved to test_delete_file.
20010         * Scripts/webkitpy/style/main.py:
20011         (CheckWebKitStyle.main): When running the style checker on a specific list of files,
20012         explicitly run the association check on the file reader.
20013         * Scripts/webkitpy/style/main_unittest.py:
20014         (ExpectationLinterInStyleCheckerTest): Added to test the TestExpectationLinter now
20015         embedded in the style checker.
20016         (ExpectationLinterInStyleCheckerTest.setUp): Set up the style checker configuration.
20017         (ExpectationLinterInStyleCheckerTest._generate_file_reader): Given a filesystem object,
20018         construct the TextFileReader object with a StyleProcessor used to run style checks on
20019         specific files.
20020         (ExpectationLinterInStyleCheckerTest._generate_testing_host): Generate a host used for
20021         testing the test expectation linter inside the style checker. This host must contain a
20022         mock file system with the basic structure of test expectations.
20023         (ExpectationLinterInStyleCheckerTest.test_no_linter_errors):
20024         (ExpectationLinterInStyleCheckerTest.test_linter_duplicate_line):
20025         (ExpectationLinterInStyleCheckerTest.test_linter_duplicate_line_no_edit):
20026         (ExpectationLinterInStyleCheckerTest.test_linter_deleted_file):
20027         (ExpectationLinterInStyleCheckerTest.test_linter_deleted_file_no_edit):
20028         * Scripts/webkitpy/style/patchreader.py:
20029         (PatchReader.check): Specify which file was deleted, run the association check.
20030         * Scripts/webkitpy/style/patchreader_unittest.py:
20031         (PatchReaderTest.MockTextFileReader.delete_file): Renamed count_delete_only_file.
20032         (PatchReaderTest.MockTextFileReader.do_association_check): Added.
20033         (PatchReaderTest.MockTextFileReader.count_delete_only_file): Renamed delete_file.
20035 2017-07-19  Yusuke Suzuki  <utatane.tea@gmail.com>
20037         [WTF] Implement WTF::ThreadGroup
20038         https://bugs.webkit.org/show_bug.cgi?id=174081
20040         Reviewed by Mark Lam.
20042         Add WTF::ThreadGroup tests.
20044         * TestWebKitAPI/CMakeLists.txt:
20045         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
20046         * TestWebKitAPI/Tests/WTF/ThreadGroup.cpp: Added.
20047         (TestWebKitAPI::testThreadGroup):
20048         (TestWebKitAPI::TEST):
20050 2017-07-18  Andy Estes  <aestes@apple.com>
20052         [Xcode] Enable CLANG_WARN_RANGE_LOOP_ANALYSIS
20053         https://bugs.webkit.org/show_bug.cgi?id=174631
20055         Reviewed by Tim Horton.
20057         * DumpRenderTree/mac/Configurations/Base.xcconfig:
20058         * MiniBrowser/Configurations/Base.xcconfig:
20059         * MobileMiniBrowser/Configurations/Base.xcconfig:
20060         * TestWebKitAPI/Configurations/Base.xcconfig:
20061         * WebKitTestRunner/Configurations/Base.xcconfig:
20063 2017-07-18  Andy Estes  <aestes@apple.com>
20065         [Xcode] Enable CLANG_WARN_OBJC_LITERAL_CONVERSION
20066         https://bugs.webkit.org/show_bug.cgi?id=174631
20068         Reviewed by Sam Weinig.
20070         * DumpRenderTree/mac/Configurations/Base.xcconfig:
20071         * MiniBrowser/Configurations/Base.xcconfig:
20072         * MobileMiniBrowser/Configurations/Base.xcconfig:
20073         * TestWebKitAPI/Configurations/Base.xcconfig:
20074         * WebKitTestRunner/Configurations/Base.xcconfig:
20076 2017-07-18  Daniel Bates  <dabates@apple.com>
20078         lldb: Add type summary for StringView
20079         https://bugs.webkit.org/show_bug.cgi?id=174637
20081         Reviewed by Sam Weinig.
20083         For debugging convenience, adds a pretty-print type summary for StringView. Evaluating a
20084         StringView object will print output that has the form:
20086             (WTF::StringView) $4 = { length = 2, contents = 'li' } {
20087               m_characters = 0x000000011b57abb5 "eeeeeefjh0n"
20088               m_length = 2
20089               m_is8Bit = true
20090               m_underlyingString = 0x0000614000000a90
20091             }
20093         * lldb/lldb_webkit.py:
20094         (__lldb_init_module): Use WTFStringView_SummaryProvider to format StringView types.
20095         (WTFStringView_SummaryProvider):
20096         (WTFStringViewProvider):
20097         (WTFStringViewProvider.__init__):
20098         (WTFStringViewProvider.is_8bit): Access field StringView.m_is8Bit.
20099         (WTFStringViewProvider.get_length): Access field StringView.m_length.
20100         (WTFStringViewProvider.get_characters): Access field StringView.m_characters.
20101         (WTFStringViewProvider.to_string): Returns the string represented by the StringView.
20103 2017-07-18  Andy Estes  <aestes@apple.com>
20105         [Xcode] Enable CLANG_WARN_NON_LITERAL_NULL_CONVERSION
20106         https://bugs.webkit.org/show_bug.cgi?id=174631
20108         Reviewed by Dan Bernstein.
20110         * DumpRenderTree/mac/Configurations/Base.xcconfig:
20111         * MiniBrowser/Configurations/Base.xcconfig:
20112         * MobileMiniBrowser/Configurations/Base.xcconfig:
20113         * TestWebKitAPI/Configurations/Base.xcconfig:
20114         * WebKitTestRunner/Configurations/Base.xcconfig:
20116 2017-07-18  Devin Rousso  <drousso@apple.com>
20118         Web Inspector: Add memoryCost to Inspector Protocol objects
20119         https://bugs.webkit.org/show_bug.cgi?id=174478
20121         Reviewed by Joseph Pecoraro.
20123         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
20124         * TestWebKitAPI/Tests/JavaScriptCore/InspectorValue.cpp: Added.
20125         (TestWebKitAPI::TEST(InspectorValue, MemoryCostNull)):
20126         (TestWebKitAPI::TEST(InspectorValue, MemoryCostBoolean)):
20127         (TestWebKitAPI::TEST(InspectorValue, MemoryCostDouble)):
20128         (TestWebKitAPI::TEST(InspectorValue, MemoryCostInteger)):
20129         (TestWebKitAPI::TEST(InspectorValue, MemoryCostString)):
20130         (TestWebKitAPI::TEST(InspectorValue, MemoryCostStringEmpty)):
20131         (TestWebKitAPI::TEST(InspectorValue, MemoryCostStringNull)):
20132         (TestWebKitAPI::TEST(InspectorValue, MemoryCostStringGrowing)):
20133         (TestWebKitAPI::TEST(InspectorValue, MemoryCostStringUnicode)):
20134         (TestWebKitAPI::TEST(InspectorValue, MemoryCostObject)):
20135         (TestWebKitAPI::TEST(InspectorValue, MemoryCostObjectEmpty)):
20136         (TestWebKitAPI::TEST(InspectorValue, MemoryCostObjectGrowing)):
20137         (TestWebKitAPI::TEST(InspectorValue, MemoryCostArray)):
20138         (TestWebKitAPI::TEST(InspectorValue, MemoryCostArrayEmpty)):
20139         (TestWebKitAPI::TEST(InspectorValue, MemoryCostArrayGrowing)):
20141 2017-07-18  Andy Estes  <aestes@apple.com>
20143         [Xcode] Enable CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING
20144         https://bugs.webkit.org/show_bug.cgi?id=174631
20146         Reviewed by Darin Adler.
20148         * DumpRenderTree/mac/Configurations/Base.xcconfig:
20149         * MiniBrowser/Configurations/Base.xcconfig:
20150         * MobileMiniBrowser/Configurations/Base.xcconfig:
20151         * TestWebKitAPI/Configurations/Base.xcconfig:
20152         * WebKitTestRunner/Configurations/Base.xcconfig:
20154 2017-07-17  Wenson Hsieh  <wenson_hsieh@apple.com>
20156         Unreviewed, fix the iOS build.
20158         I missed a spot when renaming -synchronouslyLoadHTML: to -synchronouslyLoadHTMLString:.
20160         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
20161         (TestWebKitAPI::TEST):
20163 2017-07-17  Wenson Hsieh  <wenson_hsieh@apple.com>
20165         [iOS DnD] Web process uses too much memory when beginning a drag on a very large image
20166         https://bugs.webkit.org/show_bug.cgi?id=174585
20167         <rdar://problem/33302541>
20169         Reviewed by Tim Horton.
20171         Adds a new test verifying that we don't try to allocate any image buffer equal to the true size of the image
20172         being dragged when initiating a drag.
20174         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
20175         * TestWebKitAPI/Tests/WebKit2Cocoa/enormous.svg: Added.
20176         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
20177         (TestWebKitAPI::TEST):
20178         * TestWebKitAPI/cocoa/TestWKWebView.h:
20180         Add a new -synchronouslyLoadHTMLString: helper that works like -synchronouslyLoadTestPage:, but takes markup.
20182         * TestWebKitAPI/cocoa/TestWKWebView.mm:
20183         (-[TestWKWebView synchronouslyLoadHTMLString:]):
20185 2017-07-17  Michael Catanzaro  <mcatanzaro@igalia.com>
20187         [CMake] Macros in WebKitMacros.cmake should be prefixed with WEBKIT_ namespace
20188         https://bugs.webkit.org/show_bug.cgi?id=174547
20190         Reviewed by Alex Christensen.
20192         * DumpRenderTree/PlatformWin.cmake:
20193         * DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
20195 2017-07-17  Yoshiaki Jitsukawa  <Yoshiaki.Jitsukawa@sony.com>
20197         Update style checker to deal with "final"
20198         https://bugs.webkit.org/show_bug.cgi?id=174528
20200         Reviewed by Alex Christensen.
20201         
20202         check-webkit-style shouldn't complain about an open brace to start a
20203         line after a function definition with "final" or "const final".
20205         * Scripts/webkitpy/style/checkers/cpp.py:
20206         (check_braces):
20207         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
20208         (CppStyleTest.test_brace_at_begin_of_line):
20210 2017-07-17  Alex Christensen  <achristensen@webkit.org>
20212         Modernize content extension code
20213         https://bugs.webkit.org/show_bug.cgi?id=174588
20215         Reviewed by Sam Weinig.
20217         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
20218         (TestWebKitAPI::InMemoryCompiledContentExtension::createFromFilter):
20219         (TestWebKitAPI::testRequest):
20220         (TestWebKitAPI::makeBackend):
20221         (TestWebKitAPI::TEST_F):
20223 2017-07-17  Brady Eidson  <beidson@apple.com>
20225         WKHTTPCookieStore observing only works on the default cookie store.
20226         <rdar://problem/33330724> and https://bugs.webkit.org/show_bug.cgi?id=174580
20228         Reviewed by Sam Weinig.
20230         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
20231         (runTestWithWebsiteDataStore): Refactor the cookie observing test out so it can be
20232           called for the default store, a non-persistent store, and a custom store.
20233         (TEST):
20235 2017-07-16  Sam Weinig  <sam@webkit.org>
20237         [Scripts] Fix missing variable warnings from svn-create-patch when there are untracked files
20238         https://bugs.webkit.org/show_bug.cgi?id=174575
20240         Reviewed by Brady Eidson.
20242         * Scripts/svn-create-patch:
20243         (findModificationType):
20244         Add support for more status codes. C -> conflicted, ? -> untracked, ! -> missing. Give a
20245         default value of "unknown".
20247         (generateFileList):
20248         Handle all the new modification types. Abort on conflicted, missing, and unknown. Log
20249         for untracked, which matches our old behavior.
20251 2017-07-17  Charlie Turner  <cturner@igalia.com>
20253         Add some missing build dependencies on Fedora
20254         https://bugs.webkit.org/show_bug.cgi?id=174578
20256         Unreviewed dependency update.
20258         * gtk/install-dependencies:
20260 2017-07-16  Brady Eidson  <beidson@apple.com>
20262         Crash when a WKHTTPCookieStore outlives its owning WKWebsiteDataStore.
20263         <rdar://problem/33341730> and https://bugs.webkit.org/show_bug.cgi?id=174574
20265         Reviewed by Tim Horton.
20267         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
20268         (-[CookieNavigationDelegate webView:didFinishNavigation:]):
20269         (TEST):
20271 2017-07-16  Bernhard M. Wiedemann  <bwiedemann@suse.de>
20273         [GTK] Sort inspector GResource manifest to ensure reproducible builds
20274         https://bugs.webkit.org/show_bug.cgi?id=174540
20276         Reviewed by Michael Catanzaro.
20278         * gtk/generate-inspector-gresource-manifest.py:
20279         (get_filenames): sort list of input files
20281 2017-07-15  Brady Eidson  <beidson@apple.com>
20283         Make sure all CFHTTPCookieStorageRefs we create are scheduled.
20284         <rdar://problem/33221110> and https://bugs.webkit.org/show_bug.cgi?id=174513
20286         Reviewed by Tim Horton.
20288         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
20289         (TEST): Make this test more reliable by clearing everything beforehand.
20291 2017-07-15  David Kilzer  <ddkilzer@apple.com>
20293         Make it possible to extend check-webkit-style with Apple-internal checkers
20294         <https://webkit.org/b/174464>
20295         <rdar://problem/25564402>
20297         Reviewed by Darin Adler.
20299         * Scripts/webkitpy/style/checker.py: Import apple_additions.
20300         (_all_categories): Add categories from apple_additions() if it
20301         exists.
20302         (CheckerDispatcher._create_checker): Create python checker
20303         from apple_additions() if it exists.
20305 2017-07-15  Wenson Hsieh  <wenson_hsieh@apple.com>
20307         [iOS WK2] Presenting an action sheet on an image map prevents selection UI from updating
20308         https://bugs.webkit.org/show_bug.cgi?id=174539
20309         <rdar://problem/33307395>
20311         Reviewed by Darin Adler.
20313         Adds a new unit test suite to cover action sheet popover presentation.
20315         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
20316         * TestWebKitAPI/Tests/WebKit2Cocoa/image-map.html: Added.
20317         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm: Added.
20318         (-[ActionSheetObserver waitForActionSheetAfterBlock:]):
20320         Runs the given block and waits until the UI process has indicated that it will present an action sheet.
20322         (-[ActionSheetObserver _webView:actionsForElement:defaultActions:]):
20323         (TestWebKitAPI::IPadUserInterfaceSwizzler::IPadUserInterfaceSwizzler):
20325         Helper class to alter the behavior of [[UIDevice currentDevice] userInterfaceIdiom] for testing.
20327         (TestWebKitAPI::IPadUserInterfaceSwizzler::padUserInterfaceIdiom):
20328         (TestWebKitAPI::TEST):
20330 2017-07-15  Sam Weinig  <sam@webkit.org>
20332         [Scripts] Make svn-create-patch work better when called in sub directories
20333         https://bugs.webkit.org/show_bug.cgi?id=174551
20335         Reviewed by Darin Adler.
20337         - Fixes manufacturePatchForAdditionWithHistory to use the correct path
20338           by ensuring that the prefix is applied as is done in generateDiff.
20339         - Silence output of explanatory lines from svn stat (" > move to ...")
20340           that show up in STDERR when running svn-create-patch.
20341         - Add verbose logging that I found useful while debugging this issue.
20343         * Scripts/svn-create-patch:
20344         (findBaseUrl):
20345         (findMimeType):
20346         (findSourceFileAndRevision):
20347         (generateDiff):
20348         (generateFileList):
20349         (manufacturePatchForAdditionWithHistory):
20351 2017-07-15  Jonathan Bedard  <jbedard@apple.com>
20353         Unreviewed build fix after r219537.
20355         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
20357 2017-07-14  Jonathan Bedard  <jbedard@apple.com>
20359         Add iOS 11 SPI
20360         https://bugs.webkit.org/show_bug.cgi?id=174430
20361         <rdar://problem/33269288>
20363         Reviewed by Tim Horton.
20365         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: Define drag-and-drop API required for testing.
20366         * TestWebKitAPI/ios/DataInteractionSimulator.h: Ditto.
20367         * TestWebKitAPI/ios/DataInteractionSimulator.mm: Ditto.
20369 2017-07-14  Jonathan Bedard  <jbedard@apple.com>
20371         Failing to install on iPad simulators
20372         https://bugs.webkit.org/show_bug.cgi?id=174532
20373         <rdar://problem/33328347>
20375         Reviewed by Stephanie Lewis.
20377         * Scripts/webkitpy/xcode/simulated_device.py:
20378         (SimulatedDevice.install_app): Place install command in retry try-except block.
20380 2017-07-14  Jeff Miller  <jeffm@apple.com>
20382         Add test for -[WKProcessPool _setObjectsForBundleParametersWithDictionary:].
20383         https://bugs.webkit.org/show_bug.cgi?id=174524
20385         Reviewed by Sam Weinig.
20387         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleParameters.mm:
20388         (TEST):
20389         Renamed TestParameter to TestParameter1.
20390         Add test for -[WKProcessPool _setObjectsForBundleParametersWithDictionary:].
20392         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleParametersPlugIn.mm:
20393         (-[BundleParametersPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
20394         Observe changes for two bundle parameters.
20396         (-[BundleParametersPlugIn dealloc]):
20397         Remove observers for two bundle parameters.
20399 2017-07-14  Commit Queue  <commit-queue@webkit.org>
20401         Unreviewed, rolling out r219510.
20402         https://bugs.webkit.org/show_bug.cgi?id=174525
20404         Need to revert length() == 0 check for null string (Requested
20405         by yusukesuzuki on #webkit).
20407         Reverted changeset:
20409         "[WTF] Newly added AtomicStringImpl should use BufferInternal
20410         static string if StringImpl is static"
20411         https://bugs.webkit.org/show_bug.cgi?id=174501
20412         http://trac.webkit.org/changeset/219510
20414 2017-07-14  Jer Noble  <jer.noble@apple.com>
20416         [MSE] Removing samples when presentation order does not match decode order can cause bad behavior.
20417         https://bugs.webkit.org/show_bug.cgi?id=174514
20419         Reviewed by Sam Weinig.
20421         * TestWebKitAPI/Tests/WebCore/SampleMap.cpp:
20422         (TestWebKitAPI::TEST_F):
20424 2017-07-14  Yusuke Suzuki  <utatane.tea@gmail.com>
20426         [WTF] Newly added AtomicStringImpl should use BufferInternal static string if StringImpl is static
20427         https://bugs.webkit.org/show_bug.cgi?id=174501
20429         Reviewed by Darin Adler.
20431         * TestWebKitAPI/Tests/WTF/StringImpl.cpp:
20432         (TestWebKitAPI::TEST):
20434 2017-07-14  Jonathan Bedard  <jbedard@apple.com>
20436         Bring mac expectations in-line with other platforms
20437         https://bugs.webkit.org/show_bug.cgi?id=174472
20438         <rdar://problem/33297388>
20440         Reviewed by David Kilzer.
20442         The override order for Mac test expectations does not conform to the pattern used by iOS,
20443         GTK, Windows and WPE. Before this change, El Capitan's baseline search path looks like this:
20445             platform/mac-wk2
20446             platform/wk2
20447             platform/mac-elcapitan
20448             platform/mac-sierra
20449             generic
20451         After this change, El Capitan's baseline search path looks like this:
20453             platform/mac-sierra-wk2
20454             platform/mac-sierra
20455             platform/mac-wk2
20456             platform/wk2
20457             generic
20459         * Scripts/webkitpy/port/mac.py:
20460         (MacPort.__init__): If a specific version is specified in the port name, use that
20461         as the os version.
20462         (MacPort.default_baseline_search_path): Expectation search paths should work the
20463         same way they do on other ports. Port + version overrides port, port overrides generic
20464         and wk1/wk2 should override expectations for the two combined.
20465         * Scripts/webkitpy/port/mac_unittest.py:
20466         (MacTest.test_tests_for_other_platforms): Deleted.
20467         (MacTest._assert_search_path): Deleted.
20468         (MacTest.test_baseline_search_path): Deleted.
20469         * Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
20470         (TestRebaselineTest.test_baseline_directory): Adjust expectations for new over-ride order.
20471         (test_rebaseline_test_and_print_scm_changes): Ditto.
20472         (test_rebaseline_and_copy_test): Ditto.
20473         (test_rebaseline_and_copy_test_no_existing_result): Ditto.
20474         (test_rebaseline_and_copy_test_with_lion_result): Ditto.
20475         (test_rebaseline_and_copy_no_overwrite_test): Ditto.
20477 2017-07-13  Michael Catanzaro  <mcatanzaro@igalia.com>
20479         Fix style checker unit test
20481         Unreviewed WebKit2 => WebKit fixup.
20483         * Scripts/webkitpy/style/checker_unittest.py:
20484         (CheckerDispatcherSkipTest.test_should_skip_with_warning):
20486 2017-07-13  Matthew Hanson  <matthew_hanson@apple.com>
20488         Use the old WebKit/WebKit2 targets for CMake builds. (v2)
20490         Unreviewed build fix.
20492         r219492 missed one hunk from its partial revert of r219489.
20493         This patch reverts that hunk.
20495         * TestWebKitAPI/CMakeLists.txt:
20497 2017-07-13  Matthew Hanson  <matthew_hanson@apple.com>
20499         Use the old WebKit/WebKit2 targets for CMake builds.
20501         Unreviewed build fix.
20503         We can update the target names to match the Framework names in a future patch.
20504         This is a partial revert of r219489.
20506         * TestWebKitAPI/CMakeLists.txt:
20507         WebKitLegacy => WebKit
20508         WebKit => WebKit2
20510 2017-07-13  Matthew Hanson  <matthew_hanson@apple.com>
20512         Fix TestWebKit API.
20513         https://bugs.webkit.org/show_bug.cgi?id=174164
20514         rdar://problem/33137595
20516         Reviewed by Dan Bernstein.
20518         * TestWebKitAPI/CMakeLists.txt:
20519         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
20520         * TestWebKitAPI/PlatformGTK.cmake:
20522 2017-07-13  Matthew Hanson  <matthew_hanson@apple.com>
20524         Update tools and configurations after renaming Source/WebKit2 to Source/WebKit.
20525         https://bugs.webkit.org/show_bug.cgi?id=174164
20526         rdar://problem/33137595
20528         Reviewed by Dan Bernstein.
20530         * BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
20531         (ShouldBuildTest):
20532         * DumpRenderTree/mac/Configurations/Base.xcconfig:
20533         * Scripts/build-webkit:
20534         * Scripts/do-file-rename:
20535         * Scripts/do-webcore-rename:
20536         * Scripts/update-webkit-localizable-strings:
20537         * Scripts/webkitpy/common/config/watchlist:
20538         * Scripts/webkitpy/style/checker.py:
20539         * Scripts/webkitpy/style/checkers/featuredefines.py:
20540         * gtk/make-dist.py:
20541         (ensure_version_if_possible):
20542         * gtk/manifest.txt.in:
20544 2017-07-05  Matthew Hanson  <matthew_hanson@apple.com>
20546         Update tools and configurations after renaming Source/WebKit to Source/WebKitLegacy.
20547         https://bugs.webkit.org/show_bug.cgi?id=174162
20548         rdar://problem/33137594
20550         Reviewed by Dan Bernstein.
20552         Mass rename of Source/WebKit to Source/WebKitLegacy in OpenSource tooling.
20554         * BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
20555         * DumpRenderTree/mac/InternalHeaders/WebKit/WebTypesInternal.h:
20556         * EWSTools/configure-clang-linux.sh:
20557         * Scripts/build-webkit:
20558         * Scripts/do-file-rename:
20559         * Scripts/do-webcore-rename:
20560         * Scripts/update-webkit-localizable-strings:
20561         * Scripts/webkitpy/common/checkout/checkout_unittest.py:
20562         * Scripts/webkitpy/style/checkers/changelog_unittest.py:
20563         * Scripts/webkitpy/style/checkers/featuredefines.py:
20564         * gtk/manifest.txt.in:
20566 2017-07-13  Jonathan Bedard  <jbedard@apple.com>
20568         Add script to rebase patches during the WebKit2->WebKit/WebKit->WebKitLegacy transition
20569         https://bugs.webkit.org/show_bug.cgi?id=174438
20570         <rdar://problem/33277112>
20572         Reviewed by Aakash Jain.
20574         Given a patch, this will convert the changes from the path to the new directory structure.
20576         * Scripts/rebase-patch-after-webkit-move: Added.
20577         (append_source): Append 'Source' to the provided path.
20578         (is_editable_line): Return true if a line the script expects to modify.
20579         (needs_rebase): Return if a line needs to be rebased based on it's content.
20580         (rebase_line): Rebase the provided line.
20581         (rebase): Rebase a patch given the lines of that patch and a file to output the rebased patch to.
20582         (parse_arguments): Parse the command line arguments and return the patches to be rebased, if they
20583         were provided.
20585 2017-07-12  Nan Wang  <n_wang@apple.com>
20587         AX: [iOS] Implement a way to retrieve a text marker range with desired text that is closest to a position
20588         https://bugs.webkit.org/show_bug.cgi?id=174393
20589         <rdar://problem/33248006>
20591         Reviewed by Chris Fleizach.
20593         * DumpRenderTree/AccessibilityUIElement.cpp:
20594         (textMarkerRangeMatchesTextNearMarkersCallback):
20595         (AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers):
20596         (AccessibilityUIElement::getJSClass):
20597         * DumpRenderTree/AccessibilityUIElement.h:
20598         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
20599         (AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers):
20600         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
20601         (WTR::AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers):
20602         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
20603         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
20604         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
20605         (WTR::AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers):
20607 2017-07-12  Matt Lewis  <jlewis3@apple.com>
20609         Unreviewed, rolling out r219409.
20611         The revision caused the Windows builds to fail.
20613         Reverted changeset:
20615         "AX: [iOS] Implement a way to retrieve a text marker range
20616         with desired text that is closest to a position"
20617         https://bugs.webkit.org/show_bug.cgi?id=174393
20618         http://trac.webkit.org/changeset/219409
20620 2017-07-12  Nan Wang  <n_wang@apple.com>
20622         AX: [iOS] Implement a way to retrieve a text marker range with desired text that is closest to a position
20623         https://bugs.webkit.org/show_bug.cgi?id=174393
20624         <rdar://problem/33248006>
20626         Reviewed by Chris Fleizach.
20628         * DumpRenderTree/AccessibilityUIElement.cpp:
20629         (textMarkerRangeMatchesTextNearMarkersCallback):
20630         (AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers):
20631         (AccessibilityUIElement::getJSClass):
20632         * DumpRenderTree/AccessibilityUIElement.h:
20633         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
20634         (AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers):
20635         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
20636         (WTR::AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers):
20637         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
20638         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
20639         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
20640         (WTR::AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers):
20642 2017-07-12  Emilio Cobos Álvarez  <ecobos@igalia.com>
20644         Make prepare-ChangeLog -g <commit> generate a more standard ChangeLog entry.
20645         https://bugs.webkit.org/show_bug.cgi?id=174197
20647         Reviewed by Darin Adler.
20649         This bit me the first time I tried to submit a patch to WebKit, and still I have
20650         to manually edit the ChangeLog every time I use the script.
20652         This generates a more convenient and standard ChangeLog entry.
20654         * Scripts/prepare-ChangeLog:
20655         (generateNewChangeLogs):
20657 2017-07-12  Matt Lewis  <jlewis3@apple.com>
20659         Unreviewed, rolling out r219401.
20661         This revision rolled out the previous patch, but after talking
20662         with reviewer, a rebaseline is what was needed.Rolling back in
20663         before rebaseline.
20665         Reverted changeset:
20667         "Unreviewed, rolling out r219379."
20668         https://bugs.webkit.org/show_bug.cgi?id=174400
20669         http://trac.webkit.org/changeset/219401
20671 2017-07-12  Matt Lewis  <jlewis3@apple.com>
20673         Unreviewed, rolling out r219379.
20675         This revision caused a consistent failure in the test
20676         fast/dom/Window/property-access-on-cached-window-after-frame-
20677         removed.html.
20679         Reverted changeset:
20681         "Remove NAVIGATOR_HWCONCURRENCY"
20682         https://bugs.webkit.org/show_bug.cgi?id=174400
20683         http://trac.webkit.org/changeset/219379
20685 2017-07-12  Zan Dobersek  <zdobersek@igalia.com>
20687         [WPE] Use libepoxy
20688         https://bugs.webkit.org/show_bug.cgi?id=172104
20690         Reviewed by Michael Catanzaro.
20692         * WebKitTestRunner/wpe/HeadlessViewBackend.h:
20693         Include the <epoxy/egl.h> header, dropping the EGL and GLES2 inclusions.
20695 2017-07-12  Zan Dobersek  <zdobersek@igalia.com>
20697         [GTK][WPE] Align Jhbuild patches for GStreamer packages
20698         https://bugs.webkit.org/show_bug.cgi?id=174363
20700         Reviewed by Michael Catanzaro.
20702         Align the patches we apply over Jhbuild-managed GStreamer dependency packages
20703         between the GTK+ and WPE port. There's no reason for the two ports to apply
20704         different patches over same versions of GStreamer releases.
20706         This aligns the two ports on this specific issue. Next we'll look into
20707         creating a single GStreamer-specific Jhbuild moduleset that will allow us
20708         to keep these patches in a single place, avoiding duplicate files.
20710         * gtk/jhbuild.modules:
20711         * gtk/patches/gst-plugins-good-0005-souphttpsrc-cookie-jar-and-context-query-support.patch: Added.
20712         * gtk/patches/gst-plugins-good-0006-qtdemux-add-context-for-a-preferred-protection.patch: Renamed from Tools/gtk/patches/gst-plugins-good-0004-qtdemux-add-context-for-a-preferred-protection.patch.
20713         * gtk/patches/gst-plugins-good-0008-qtdemux-also-push-buffers-without-encryption-info-in.patch: Added.
20714         * wpe/patches/gstreamer-typefind-Only-push-a-CAPS-event-downstream-if-the-.patch: Removed.
20716 2017-07-11  Dean Jackson  <dino@apple.com>
20718         Remove NAVIGATOR_HWCONCURRENCY
20719         https://bugs.webkit.org/show_bug.cgi?id=174400
20721         Reviewed by Sam Weinig.
20723         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
20725 2017-07-11  Ansh Shukla  <ansh_shukla@apple.com>
20727         WKWindowFeatures needs to expose scrollbar, fullscreen, and dialog configuration properties
20728         https://bugs.webkit.org/show_bug.cgi?id=174239
20730         Reviewed by Brady Eidson.
20732         Create windows with specific features set and make sure those are properly reflected in the
20733         WKWindowFeatures object.
20735         * TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm:
20736         (resetToConsistentState):
20737         (-[CheckWindowFeaturesUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
20738         (TEST):
20740 2017-07-11  Jonathan Bedard  <jbedard@apple.com>
20742         Do not duplicate files when deleting directories with svn 1.9
20743         https://bugs.webkit.org/show_bug.cgi?id=174339
20744         <rdar://problem/33226781>
20746         Reviewed by David Kilzer.
20748         * Scripts/svn-create-patch:
20749         (diffOptionsForFile): No longer pass -N option, since this does not work in SVN 1.9.4.
20750         (generateFileList): Determine which files are deleted because they are part of a
20751         directory being deleted.
20753 2017-07-11  Dean Jackson  <dino@apple.com>
20755         Rolling out r219372.
20757         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
20759 2017-07-11  Dean Jackson  <dino@apple.com>
20761         Remove NAVIGATOR_HWCONCURRENCY
20762         https://bugs.webkit.org/show_bug.cgi?id=174400
20764         Reviewed by Sam Weinig.
20766         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
20768 2017-07-11  Lucas Forschler  <lforschler@apple.com>
20770         Teach build workers to fetch archives from S3.
20771         https://bugs.webkit.org/show_bug.cgi?id=174384
20773         Reviewed by Aakash Jain.
20775         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
20776         (DownloadBuiltProduct):
20778 2017-07-11  Lucas Forschler  <lforschler@apple.com>
20780         Configure buildbot to transfer all archives to S3.
20781         Previously this was Mac only, but it's time to expand!
20782         https://bugs.webkit.org/show_bug.cgi?id=174378
20783         
20784         Reviewed by Aakash Jain.
20786         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
20787         (BuildFactory.__init__):
20789 2017-07-11  Zan Dobersek  <zdobersek@igalia.com>
20791         [WPE] Bump GStreamer packages in jhbuild.modules to 1.10.5
20792         https://bugs.webkit.org/show_bug.cgi?id=174350
20794         Reviewed by Xabier Rodriguez-Calvar.
20796         Bump the various GStreamer dependencies listed in WPE's Jhbuild modules file
20797         to the 1.10.5 version. One gstreamer patch is added. The two gst-plugins-bad
20798         patches are removed. The patches for gst-plugins-good are updated, removing
20799         the stale ones and adding the additional changes to qtdemux, souphttpsrc and
20800         rtpbin elements that will help with the EMEv3 development.
20802         * wpe/jhbuild.modules:
20803         * wpe/patches/gst-plugins-bad-0001-dtls-port-to-OpenSSL-1.1.0.patch: Removed.
20804         * wpe/patches/gst-plugins-bad-0002-dtlscertificate-Fix-error-checking-in-RSA_generate_k.patch: Removed.
20805         * wpe/patches/gst-plugins-good-0003-rtpbin-receive-bundle-support.patch: Added.
20806         * wpe/patches/gst-plugins-good-0005-souphttpsrc-cookie-jar-and-context-query-support.patch: Added.
20807         * wpe/patches/gst-plugins-good-0006-qtdemux-add-context-for-a-preferred-protection.patch: Added.
20808         * wpe/patches/gst-plugins-good-0008-qtdemux-also-push-buffers-without-encryption-info-in.patch: Added.
20809         * wpe/patches/gst-plugins-good-Revert-qtdemux-expose-streams-with-first-moof-for-fr.patch: Removed.
20810         * wpe/patches/gst-plugins-good-use-the-tfdt-decode-time.patch: Removed.
20811         * wpe/patches/gstreamer-0001-protection-added-function-to-filter-system-ids.patch: Added.
20813 2017-07-10  John Wilander  <wilander@apple.com>
20815         Resource Load Statistics: Prune statistics in orders of importance
20816         https://bugs.webkit.org/show_bug.cgi?id=174215
20817         <rdar://problem/33164403>
20819         Reviewed by Chris Dumez.
20821         Nest infrastructure. Adds these functions:
20822         1. testRunner.setStatisticsLastSeen()
20823         2. setStatisticsMaxStatisticsEntries()
20824         3. setStatisticsPruneEntriesDownTo()
20826         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
20827         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
20828         (WTR::TestRunner::setStatisticsLastSeen):
20829         (WTR::TestRunner::setStatisticsMaxStatisticsEntries):
20830         (WTR::TestRunner::setStatisticsPruneEntriesDownTo):
20831         * WebKitTestRunner/InjectedBundle/TestRunner.h:
20832         * WebKitTestRunner/TestController.cpp:
20833         (WTR::TestController::setStatisticsLastSeen):
20834         (WTR::TestController::setMaxStatisticsEntries):
20835         (WTR::TestController::setPruneEntriesDownTo):
20836         * WebKitTestRunner/TestController.h:
20837         * WebKitTestRunner/TestInvocation.cpp:
20838         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
20839         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
20840         (WTR::TestController::setStatisticsLastSeen):
20841         (WTR::TestController::setStatisticsMaxStatisticsEntries):
20842         (WTR::TestController::setStatisticsPruneEntriesDownTo):
20844 2017-07-03  Brian Burg  <bburg@apple.com>
20846         Web Replay: remove some unused code
20847         https://bugs.webkit.org/show_bug.cgi?id=173903
20849         Rubber-stamped by Joseph Pecoraro.
20851         * Scripts/run-input-generator-tests: Removed.
20852         * Scripts/webkitpy/replay/__init__.py: Removed.
20853         * Scripts/webkitpy/replay/main.py: Removed.
20855 2017-07-10  Zan Dobersek  <zdobersek@igalia.com>
20857         [WPE] Fix layout test baseline and TestExpectations hierarchy
20858         https://bugs.webkit.org/show_bug.cgi?id=174092
20860         Reviewed by Michael Catanzaro.
20862         Like for the GTK+ port, override the default_baseline_search_path() and
20863         _port_specific_expectations_files() methods in the webkitpy.port.WPEPort class.
20864         Both methods operate on a short list of search paths that defaults to 'wpe' and
20865         'wk2', along with any other user-specified platform directory.
20867         The test_expectations_file_position() method is overridden for testing purposes,
20868         and relevant unit tests are added.
20870         * Scripts/webkitpy/port/wpe.py:
20871         (WPEPort._search_paths):
20872         (WPEPort):
20873         (WPEPort.default_baseline_search_path):
20874         (WPEPort._port_specific_expectations_files):
20875         (WPEPort.test_expectations_file_position):
20876         * Scripts/webkitpy/port/wpe_unittest.py:
20877         (WPEPortTest.test_default_baseline_search_path):
20878         (WPEPortTest):
20879         (WPEPortTest.test_port_specific_expectations_files):
20881 2017-07-10  Chris Dumez  <cdumez@apple.com>
20883         Further WebResourceLoadStatisticsStore / ResourceLoadStatisticsStore clean up
20884         https://bugs.webkit.org/show_bug.cgi?id=174301
20886         Reviewed by Brent Fulgham.
20888         Rename some of the testRunner API for clarity and to better match what it calls
20889         internally.
20891         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
20892         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
20893         (WTR::TestRunner::statisticsUpdateCookiePartitioning):
20894         (WTR::TestRunner::statisticsSetShouldPartitionCookiesForHost):
20895         * WebKitTestRunner/InjectedBundle/TestRunner.h:
20896         * WebKitTestRunner/TestController.cpp:
20897         (WTR::TestController::statisticsUpdateCookiePartitioning):
20898         (WTR::TestController::statisticsSetShouldPartitionCookiesForHost):
20899         * WebKitTestRunner/TestController.h:
20900         * WebKitTestRunner/TestInvocation.cpp:
20901         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
20902         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
20903         (WTR::TestController::statisticsUpdateCookiePartitioning):
20904         (WTR::TestController::statisticsSetShouldPartitionCookiesForHost):
20906 2017-07-10  Charlie Turner  <cturner@igalia.com>
20908         [GStreamer] Live twitch.tv videos do not play
20909         https://bugs.webkit.org/show_bug.cgi?id=174222
20911         Reviewed by Michael Catanzaro.
20913         Upgrade GStreamer to 1.10.5. It contains a change to typefind that
20914         fixes videos not playing on twitch.tv.
20916         * gtk/jhbuild.modules:
20918 2017-07-09  Zan Dobersek  <zdobersek@igalia.com>
20920         Add WebGL2 configuration option to build-webkit
20921         https://bugs.webkit.org/show_bug.cgi?id=174251
20923         Reviewed by Michael Catanzaro.
20925         * Scripts/webkitperl/FeatureList.pm: Add the 'webgl2' option, making it possible
20926         to enable the ENABLE_WEBGL2 flag through the build-webkit script. The feature
20927         is marked as enabled for the Apple Cocoa ports.
20929 2017-07-08  Chris Dumez  <cdumez@apple.com>
20931         Simplify WebResourceLoadStatisticsStore / ResourceLoadStatisticsStore
20932         https://bugs.webkit.org/show_bug.cgi?id=174290
20934         Reviewed by Brent Fulgham.
20936         Rename testRunner API to match the new internal API names.
20938         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
20939         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
20940         (WTR::TestRunner::statisticsProcessStatisticsAndDataRecords):
20941         (WTR::TestRunner::statisticsSubmitTelemetry):
20942         * WebKitTestRunner/InjectedBundle/TestRunner.h:
20943         * WebKitTestRunner/TestController.cpp:
20944         (WTR::TestController::statisticsProcessStatisticsAndDataRecords):
20945         (WTR::TestController::statisticsSubmitTelemetry):
20946         * WebKitTestRunner/TestController.h:
20947         * WebKitTestRunner/TestInvocation.cpp:
20948         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
20949         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
20950         (WTR::TestController::statisticsProcessStatisticsAndDataRecords):
20951         (WTR::TestController::statisticsSubmitTelemetry):
20953 2017-07-08  Yusuke Suzuki  <utatane.tea@gmail.com>
20955         Drop NOSNIFF compile flag
20956         https://bugs.webkit.org/show_bug.cgi?id=174289
20958         Reviewed by Michael Catanzaro.
20960         * Scripts/webkitperl/FeatureList.pm:
20961         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
20963 2017-07-07  Wenson Hsieh  <wenson_hsieh@apple.com>
20965         [iOS DnD] For cross-app drags, 'drop' event handlers are never invoked if dataTransfer.dropEffect is not set while dragging
20966         https://bugs.webkit.org/show_bug.cgi?id=174219
20967         <rdar://problem/32083177>
20969         Reviewed by Ryosuke Niwa.
20971         Add plumbing and support to mock the value of -allowsMoveOperation on the simulated UIDragDropSession objects.
20972         Setting the DataInteractionSimulator's shouldAllowMoveOperation property to NO simulates a drag operation coming
20973         in from another app out-of-process, for which move operations won't cause a drop to be performed in the first
20974         place.
20976         Also tweaks 2 existing unit tests regarding file uploads via JavaScript to simulate items coming in from a
20977         different application, and adds a new test to check that if a drop area specifically requests a MOVE operation,
20978         no action is taken when dropping.
20980         * TestWebKitAPI/Tests/WebKit2Cocoa/file-uploading.html:
20981         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
20982         (TestWebKitAPI::TEST):
20983         * TestWebKitAPI/ios/DataInteractionSimulator.h:
20984         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
20985         (-[MockDragDropSession initWithItems:location:window:allowMove:]):
20986         (-[MockDragDropSession allowsMoveOperation]):
20987         (-[MockDataOperationSession initWithProviders:location:window:allowMove:]):
20988         (-[MockDataInteractionSession initWithWindow:allowMove:]):
20989         (-[DataInteractionSimulator initWithWebView:]):
20990         (-[DataInteractionSimulator runFrom:to:]):
20991         (-[DataInteractionSimulator _advanceProgress]):
20992         (-[MockDragDropSession initWithItems:location:window:]): Deleted.
20993         (-[MockDataOperationSession initWithProviders:location:window:]): Deleted.
20994         (-[MockDataInteractionSession initWithWindow:]): Deleted.
20996 2017-07-07  Commit Queue  <commit-queue@webkit.org>
20998         Unreviewed, rolling out r219238, r219239, and r219241.
20999         https://bugs.webkit.org/show_bug.cgi?id=174265
21001         "fast/workers/dedicated-worker-lifecycle.html is flaky"
21002         (Requested by yusukesuzuki on #webkit).
21004         Reverted changesets:
21006         "[WTF] Implement WTF::ThreadGroup"
21007         https://bugs.webkit.org/show_bug.cgi?id=174081
21008         http://trac.webkit.org/changeset/219238
21010         "Unreviewed, build fix after r219238"
21011         https://bugs.webkit.org/show_bug.cgi?id=174081
21012         http://trac.webkit.org/changeset/219239
21014         "Unreviewed, CLoop build fix after r219238"
21015         https://bugs.webkit.org/show_bug.cgi?id=174081
21016         http://trac.webkit.org/changeset/219241
21018 2017-07-07  Yusuke Suzuki  <utatane.tea@gmail.com>
21020         [GTK][WPE] Enable X-Content-Type-Options: nosniff
21021         https://bugs.webkit.org/show_bug.cgi?id=174250
21023         Reviewed by Carlos Alberto Lopez Perez.
21025         * Scripts/webkitperl/FeatureList.pm:
21027 2017-07-07  Charlie Turner  <cturner@igalia.com>
21028         [GStreamer] vid.me videos do not play
21029         https://bugs.webkit.org/show_bug.cgi?id=172240
21031         Reviewed by Xabier Rodriguez-Calvar.
21033         Build httpsoupsrc again for use in adaptive streaming pipelines, and
21034         have the existing libsoup build against GNOME to avoid header drift
21035         against GStreamer's linked Soup library.
21037         * gtk/jhbuild.modules:
21039 2017-07-06  Lucas Forschler  <lforschler@apple.com>
21041         Write a support script to enable buildbot to upload to S3
21042         https://bugs.webkit.org/show_bug.cgi?id=174196
21043         
21044         Reviewed by Stephanie Lewis.
21046         * BuildSlaveSupport/build.webkit.org-config/transfer-archive-to-s3: Added.
21047         (uploadToS3):
21048         (archiveExists):
21050 2017-07-06  Lucas Forschler  <lforschler@apple.com>
21052         Enabling uploading archives to S3.
21053         https://bugs.webkit.org/show_bug.cgi?id=174198
21054         
21055         Reviewed by Stephanie Lewis.
21057         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
21058         (ArchiveMinifiedBuiltProduct): Create a minified archive from a full archive
21059         (UploadMinifiedBuiltProduct): Upload minified archive to build master
21060         (TransferToS3): Transfer full and minified archives to S3
21062 2017-07-05  Yusuke Suzuki  <utatane.tea@gmail.com>
21064         [WTF] Implement WTF::ThreadGroup
21065         https://bugs.webkit.org/show_bug.cgi?id=174081
21067         Reviewed by Mark Lam.
21069         Add WTF::ThreadGroup tests.
21071         * TestWebKitAPI/CMakeLists.txt:
21072         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
21073         * TestWebKitAPI/Tests/WTF/ThreadGroup.cpp: Added.
21074         (TestWebKitAPI::TEST):
21076 2017-07-06  Yusuke Suzuki  <utatane.tea@gmail.com>
21078         [WTF] Clean up StringStatics.cpp by using LazyNeverDestroyed<> for Atoms
21079         https://bugs.webkit.org/show_bug.cgi?id=174150
21081         Reviewed by Mark Lam.
21083         * TestWebKitAPI/Tests/WTF/StringBuilder.cpp:
21084         (TestWebKitAPI::TEST):
21085         * TestWebKitAPI/TestsController.cpp:
21086         (TestWebKitAPI::TestsController::TestsController):
21088 2017-07-06  Lucas Forschler  <lforschler@apple.com>
21090         Enabling uploading archives to S3.
21091         https://bugs.webkit.org/show_bug.cgi?id=174198
21092         
21093         Reviewed by Lucas Forschler.
21095         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
21096         (ArchiveMinifiedBuiltProduct): Create a minified archive from a full archive
21097         (UploadMinifiedBuiltProduct): Upload minified archive to build master
21098         (TransferToS3): Transfer full and minified archives to S3
21100 2017-07-06  Carlos Alberto Lopez Perez  <clopez@igalia.com>
21102         [GTK][WPE] kill-old-process should kill more webkit related process
21103         https://bugs.webkit.org/show_bug.cgi?id=174220
21105         Reviewed by Michael Catanzaro.
21107         Generate list of possible webkit-related process names and add
21108         them to the list of process to kill.
21109         Also update the possible system related process for GTK+/WPE.
21111         * BuildSlaveSupport/kill-old-processes:
21112         (listAllWebKitPrograms):
21113         (main):
21115 2017-07-06  Chris Dumez  <cdumez@apple.com>
21117         FileMonitor should not be ref counted
21118         https://bugs.webkit.org/show_bug.cgi?id=174166
21120         Reviewed by Brent Fulgham.
21122         Update the API tests to reflect the API change.
21124         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
21125         (TestWebKitAPI::TEST_F):
21127 2017-07-06  Commit Queue  <commit-queue@webkit.org>
21129         Unreviewed, rolling out r219194.
21130         https://bugs.webkit.org/show_bug.cgi?id=174207
21132         it broke some layout tests (Requested by clopez on #webkit).
21134         Reverted changeset:
21136         "[GStreamer] vid.me videos do not play"
21137         https://bugs.webkit.org/show_bug.cgi?id=172240
21138         http://trac.webkit.org/changeset/219194
21140 2017-07-06  Matt Lewis  <jlewis3@apple.com>
21142         Unreviewed, rolling out r219178.
21144         This caused a consistent failure with the API test
21145         StringBuilderTest.ToAtomicStringOnEmpty on all Debug testers.
21147         Reverted changeset:
21149         "[WTF] Clean up StringStatics.cpp by using
21150         LazyNeverDestroyed<> for Atoms"
21151         https://bugs.webkit.org/show_bug.cgi?id=174150
21152         http://trac.webkit.org/changeset/219178
21154 2017-07-06  Alicia Boya García  <aboya@igalia.com>
21156         Add CWD to Perl library path (no longer the default since 5.26.0)
21157         https://bugs.webkit.org/show_bug.cgi?id=174200
21159         Reviewed by Michael Catanzaro.
21161         * Scripts/webkitpy/tool/commands/setupgitclone.py:
21162         (SetupGitClone._get_username_and_email):
21164 2017-07-06  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
21166         Unreviewed, update my email address.
21168         * Scripts/webkitpy/common/config/contributors.json:
21170 2017-07-06  Charlie Turner  <cturner@igalia.com>
21171         [GStreamer] vid.me videos do not play
21172         https://bugs.webkit.org/show_bug.cgi?id=172240
21174         Reviewed by Xabier Rodriguez-Calvar.
21176         Build httpsoupsrc again for use in adaptive streaming pipelines, and
21177         have the existing libsoup build against GNOME to avoid header drift
21178         against GStreamer's linked Soup library.
21180         * gtk/jhbuild.modules:
21182 2017-07-05  Don Olmstead  <don.olmstead@sony.com>
21184         [WTF] Move SoftLinking.h into WTF
21185         https://bugs.webkit.org/show_bug.cgi?id=174000
21187         Reviewed by Alex Christensen.
21189         * DumpRenderTree/mac/TestRunnerMac.mm:
21190         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
21191         (test_primary_header):
21192         (ErrorCollector.__init__): Deleted.
21193         (ErrorCollector.__call__): Deleted.
21194         (ErrorCollector.results): Deleted.
21195         (ErrorCollector.result_list): Deleted.
21196         (ErrorCollector.verify_all_categories_are_seen): Deleted.
21197         (MockIo.open): Deleted.
21198         (CppFunctionsTest.test_convert_to_lower_with_underscores): Deleted.
21199         (CppFunctionsTest.test_create_acronym): Deleted.
21200         (CppFunctionsTest.test_is_c_or_objective_c): Deleted.
21201         (CppFunctionsTest.test_parameter): Deleted.
21202         (CppFunctionsTest.test_single_line_view): Deleted.
21203         (CppFunctionsTest.test_create_skeleton_parameters): Deleted.
21204         (CppFunctionsTest.test_find_parameter_name_index): Deleted.
21205         (CppFunctionsTest.test_parameter_list): Deleted.
21206         (CppFunctionsTest.test_check_parameter_against_text): Deleted.
21207         (CppStyleTestBase.process_file_data): Deleted.
21208         (CppStyleTestBase.perform_lint): Deleted.
21209         (CppStyleTestBase.perform_single_line_lint): Deleted.
21210         (CppStyleTestBase.perform_multi_line_lint): Deleted.
21211         (CppStyleTestBase.perform_language_rules_check): Deleted.
21212         (CppStyleTestBase.perform_function_lengths_check): Deleted.
21213         (CppStyleTestBase.perform_pass_ptr_check): Deleted.
21214         (CppStyleTestBase.perform_leaky_pattern_check): Deleted.
21215         (CppStyleTestBase.perform_include_what_you_use): Deleted.
21216         (CppStyleTestBase.perform_header_guard_check): Deleted.
21217         (CppStyleTestBase.assert_lint): Deleted.
21218         (CppStyleTestBase.assert_lint_one_of_many_errors_re): Deleted.
21219         (CppStyleTestBase.assert_multi_line_lint): Deleted.
21220         (CppStyleTestBase.assert_multi_line_lint_re): Deleted.
21221         (CppStyleTestBase.assert_language_rules_check): Deleted.
21222         (CppStyleTestBase.assert_include_what_you_use): Deleted.
21223         (CppStyleTestBase.assert_header_guard): Deleted.
21224         (CppStyleTestBase.assert_blank_lines_check): Deleted.
21225         (CppStyleTestBase.assert_positions_equal): Deleted.
21226         (FunctionDetectionTest.test_basic_function_detection): Deleted.
21227         (FunctionDetectionTest.test_function_declaration_detection): Deleted.
21228         (FunctionDetectionTest.test_pure_function_detection): Deleted.
21229         (FunctionDetectionTest.test_override_and_final_function_detection): Deleted.
21230         (FunctionDetectionTest.test_ignore_macros): Deleted.
21231         (FunctionDetectionTest.test_non_functions): Deleted.
21232         (FunctionDetectionTest.test_non_functions.Stuff): Deleted.
21233         (FunctionDetectionTest.test_parameter_list): Deleted.
21234         (Cpp11StyleTest.test_rvaule_reference_in_parameter_pack): Deleted.
21235         (CppStyleTest.test_asm_lines_ignored): Deleted.
21236         (CppStyleTest.test_get_line_width): Deleted.
21237         (CppStyleTest.test_find_next_multi_line_comment_start): Deleted.
21238         (CppStyleTest.test_find_next_multi_line_comment_end): Deleted.
21239         (CppStyleTest.test_remove_multi_line_comments_from_range): Deleted.
21240         (CppStyleTest.test_position): Deleted.
21241         (CppStyleTest.test_rfind_in_lines): Deleted.
21242         (CppStyleTest.test_close_expression): Deleted.
21243         (CppStyleTest.test_spaces_at_end_of_line): Deleted.
21244         (CppStyleTest.test_cstyle_cast): Deleted.
21245         (CppStyleTest.test_runtime_casting): Deleted.
21246         (CppStyleTest.test_runtime_selfinit): Deleted.
21247         (CppStyleTest.test_runtime_rtti): Deleted.
21248         (CppStyleTest.test_static_cast_readability): Deleted.
21249         (CppStyleTest.test_check_for_unnamed_params): Deleted.
21250         (CppStyleTest.void): Deleted.
21251         (CppStyleTest.test_deprecated_cast): Deleted.
21252         (CppStyleTest.test_mock_method): Deleted.
21253         (CppStyleTest.test_sizeof_type): Deleted.
21254         (CppStyleTest.cases): Deleted.
21255         (CppStyleTest.for): Deleted.
21256         (CppStyleTest.test_typedef_for_pointer_to_function): Deleted.
21257         (CppStyleTest.test_typedef_for_pointer_to_function.void): Deleted.
21258         (CppStyleTest.test_include_what_you_use_no_implementation_files): Deleted.
21259         (CppStyleTest.test_include_what_you_use): Deleted.
21260         (CppStyleTest.test_files_belong_to_same_module): Deleted.
21261         (CppStyleTest.test_cleanse_line): Deleted.
21262         (CppStyleTest.test_multi_line_comments): Deleted.
21263         (CppStyleTest.test_multi_line_comments.Foo): Deleted.
21264         (CppStyleTest.test_multiline_strings): Deleted.
21265         (CppStyleTest.test_platformh_comments): Deleted.
21266         (CppStyleTest.test_explicit_single_argument_constructors): Deleted.
21267         (CppStyleTest.test_explicit_single_argument_constructors.Foo): Deleted.
21268         (CppStyleTest.test_explicit_single_argument_constructors.Qualifier): Deleted.
21269         (CppStyleTest.test_explicit_single_argument_constructors.definition): Deleted.
21270         (CppStyleTest.test_slash_star_comment_on_single_line): Deleted.
21271         (CppStyleTest.test_suspicious_usage_of_if): Deleted.
21272         (CppStyleTest.test_suspicious_usage_of_memset): Deleted.
21273         (CppStyleTest.test_check_posix_threading): Deleted.
21274         (CppStyleTest.test_insecure_string_operations): Deleted.
21275         (CppStyleTest.test_format_strings): Deleted.
21276         (CppStyleTest.test_insecure_temp_file): Deleted.
21277         (CppStyleTest.test_variable_length_array_detection): Deleted.
21278         (CppStyleTest.test_braces): Deleted.
21279         (CppStyleTest.test_check_check): Deleted.
21280         (CppStyleTest.test_brace_at_begin_of_line): Deleted.
21281         (CppStyleTest.test_mismatching_spaces_in_parens): Deleted.
21282         (CppStyleTest.test_spacing_for_fncall): Deleted.
21283         (CppStyleTest.test_spacing_for_fncall.foo): Deleted.
21284         (CppStyleTest.test_spacing_before_braces): Deleted.
21285         (CppStyleTest.test_spacing_between_braces): Deleted.
21286         (CppStyleTest.test_spacing_before_brackets): Deleted.
21287         (CppStyleTest.test_cpp_lambda_functions): Deleted.
21288         (CppStyleTest.test_objective_c_block): Deleted.
21289         (CppStyleTest.test_objective_c_block_as_argument): Deleted.
21290         (CppStyleTest.test_spacing_around_else): Deleted.
21291         (CppStyleTest.test_spacing_for_binary_ops): Deleted.
21292         (CppStyleTest.test_spacing_for_binary_ops.hash_map): Deleted.
21293         (CppStyleTest.test_operator_methods): Deleted.
21294         (CppStyleTest.test_spacing_in_objective_c_properties): Deleted.
21295         (CppStyleTest.test_spacing_before_last_semicolon): Deleted.
21296         (CppStyleTest.test_static_or_global_stlstrings): Deleted.
21297         (CppStyleTest.test_no_spaces_in_function_calls): Deleted.
21298         (CppStyleTest.test_one_spaces_between_code_and_comments): Deleted.
21299         (CppStyleTest.test_one_spaces_after_punctuation_in_comments): Deleted.
21300         (CppStyleTest.test_space_after_comment_marker): Deleted.
21301         (CppStyleTest.test_newline_at_eof): Deleted.
21302         (CppStyleTest.test_newline_at_eof.do_test): Deleted.
21303         (CppStyleTest.test_extra_newlines_at_eof): Deleted.
21304         (CppStyleTest.test_extra_newlines_at_eof.do_test): Deleted.
21305         (CppStyleTest.test_invalid_utf8): Deleted.
21306         (CppStyleTest.test_invalid_utf8.do_test): Deleted.
21307         (CppStyleTest.test_is_blank_line): Deleted.
21308         (CppStyleTest.test_blank_lines_check): Deleted.
21309         (CppStyleTest.test_allow_blank_line_before_closing_namespace): Deleted.
21310         (CppStyleTest.test_allow_blank_line_before_if_else_chain): Deleted.
21311         (CppStyleTest.test_else_on_same_line_as_closing_braces): Deleted.
21312         (CppStyleTest.test_else_clause_not_on_same_line_as_else): Deleted.
21313         (CppStyleTest.test_comma): Deleted.
21314         (CppStyleTest.test_declaration): Deleted.
21315         (CppStyleTest.test_pointer_reference_marker_location): Deleted.
21316         (CppStyleTest.test_indent): Deleted.
21317         (CppStyleTest.test_indent.Foo): Deleted.
21318         (CppStyleTest.test_not_alabel): Deleted.
21319         (CppStyleTest.test_tab): Deleted.
21320         (CppStyleTest.test_unnamed_namespaces_in_headers): Deleted.
21321         (CppStyleTest.test_build_class): Deleted.
21322         (CppStyleTest.test_build_class.definitions): Deleted.
21323         (CppStyleTest.test_build_class.Foo): Deleted.
21324         (CppStyleTest.test_build_class.DERIVE_FROM_GOO): Deleted.
21325         (CppStyleTest.test_build_end_comment): Deleted.
21326         (CppStyleTest.test_build_forward_decl): Deleted.
21327         (CppStyleTest.test_build_forward_decl.Foo): Deleted.
21328         (CppStyleTest.test_build_header_guard): Deleted.
21329         (CppStyleTest.test_build_header_guard.Foo_h): Deleted.
21330         (CppStyleTest.test_build_header_guard.Foo_h.for): Deleted.
21331         (CppStyleTest.test_build_printf_format): Deleted.
21332         (CppStyleTest.test_runtime_printf_format): Deleted.
21333         (CppStyleTest.assert_lintLogCodeOnError): Deleted.
21334         (CppStyleTest.test_build_storage_class): Deleted.
21335         (CppStyleTest.test_build_storage_class.unsignedLongLong): Deleted.
21336         (CppStyleTest.test_build_storage_class.declaration): Deleted.
21337         (CppStyleTest.test_build_storage_class.after): Deleted.
21338         (CppStyleTest.test_build_storage_class.is): Deleted.
21339         (CppStyleTest.test_legal_copyright): Deleted.
21340         (CppStyleTest.test_invalid_increment): Deleted.
21341         (CppStyleTest.test_enum_bitfields): Deleted.
21342         (CppStyleTest.test_plain_integral_bitfields): Deleted.
21343         (CleansedLinesTest.test_init_empty): Deleted.
21344         (CleansedLinesTest.test_collapse_strings): Deleted.
21345         (OrderOfIncludesTest.tearDown): Deleted.
21346         (OrderOfIncludesTest.test_check_next_include_order__no_config): Deleted.
21347         (OrderOfIncludesTest.test_check_next_include_order__no_self): Deleted.
21348         (OrderOfIncludesTest.test_check_next_include_order__likely_then_config): Deleted.
21349         (OrderOfIncludesTest.test_check_next_include_order__other_then_config): Deleted.
21350         (OrderOfIncludesTest.test_check_next_include_order__config_then_other_then_likely): Deleted.
21351         (OrderOfIncludesTest.test_check_alphabetical_include_order): Deleted.
21352         (OrderOfIncludesTest.test_check_alphabetical_include_order_errors_reported_for_both_lines): Deleted.
21353         (OrderOfIncludesTest.test_check_line_break_after_own_header): Deleted.
21354         (OrderOfIncludesTest.test_check_line_break_before_own_header): Deleted.
21355         (OrderOfIncludesTest.test_check_preprocessor_in_include_section): Deleted.
21356         (OrderOfIncludesTest.test_check_preprocessor_in_include_section.BAZ): Deleted.
21357         (OrderOfIncludesTest.test_check_preprocessor_in_include_section.FOOBAR): Deleted.
21358         (OrderOfIncludesTest.test_primary_header): Deleted.
21359         (OrderOfIncludesTest.test_public_primary_header): Deleted.
21360         (OrderOfIncludesTest.test_check_wtf_includes): Deleted.
21361         (OrderOfIncludesTest.test_classify_include): Deleted.
21362         (OrderOfIncludesTest.test_try_drop_common_suffixes): Deleted.
21363         (CheckForFunctionLengthsTest.tearDown): Deleted.
21364         (CheckForFunctionLengthsTest.set_min_confidence): Deleted.
21365         (CheckForFunctionLengthsTest.assert_function_lengths_check): Deleted.
21366         (CheckForFunctionLengthsTest.trigger_lines): Deleted.
21367         (CheckForFunctionLengthsTest.trigger_test_lines): Deleted.
21368         (CheckForFunctionLengthsTest.assert_function_length_check_definition): Deleted.
21369         (CheckForFunctionLengthsTest.assert_function_length_check_definition_ok): Deleted.
21370         (CheckForFunctionLengthsTest.assert_function_length_check_at_error_level): Deleted.
21371         (CheckForFunctionLengthsTest.assert_function_length_check_below_error_level): Deleted.
21372         (CheckForFunctionLengthsTest.assert_function_length_check_above_error_level): Deleted.
21373         (CheckForFunctionLengthsTest.function_body): Deleted.
21374         (CheckForFunctionLengthsTest.function_body_with_blank_lines): Deleted.
21375         (CheckForFunctionLengthsTest.function_body_with_no_lints): Deleted.
21376         (CheckForFunctionLengthsTest.test_function_length_check_declaration): Deleted.
21377         (CheckForFunctionLengthsTest.test_function_length_check_declaration_with_block_following): Deleted.
21378         (CheckForFunctionLengthsTest.test_function_length_check_class_definition): Deleted.
21379         (CheckForFunctionLengthsTest.test_function_length_check_class_definition.Test): Deleted.
21380         (CheckForFunctionLengthsTest.test_function_length_check_trivial): Deleted.
21381         (CheckForFunctionLengthsTest.test_function_length_check_empty): Deleted.
21382         (CheckForFunctionLengthsTest.test_function_length_check_definition_below_severity0): Deleted.
21383         (CheckForFunctionLengthsTest.test_function_length_check_definition_at_severity0): Deleted.
21384         (CheckForFunctionLengthsTest.test_function_length_check_definition_above_severity0): Deleted.
21385         (CheckForFunctionLengthsTest.test_function_length_check_definition_below_severity1v0): Deleted.
21386         (CheckForFunctionLengthsTest.test_function_length_check_definition_at_severity1v0): Deleted.
21387         (CheckForFunctionLengthsTest.test_function_length_check_definition_below_severity1): Deleted.
21388         (CheckForFunctionLengthsTest.test_function_length_check_definition_at_severity1): Deleted.
21389         (CheckForFunctionLengthsTest.test_function_length_check_definition_above_severity1): Deleted.
21390         (CheckForFunctionLengthsTest.test_function_length_check_definition_severity1_plus_indented): Deleted.
21391         (CheckForFunctionLengthsTest.test_function_length_check_definition_severity1_plus_blanks): Deleted.
21392         (CheckForFunctionLengthsTest.test_function_length_check_complex_definition_severity1): Deleted.
21393         (CheckForFunctionLengthsTest.test_function_length_check_definition_severity1_for_test): Deleted.
21394         (CheckForFunctionLengthsTest.test_function_length_check_definition_severity1_for_split_line_test): Deleted.
21395         (CheckForFunctionLengthsTest.test_function_length_check_definition_severity1_for_bad_test_doesnt_break): Deleted.
21396         (CheckForFunctionLengthsTest.test_function_length_check_definition_severity1_with_embedded_no_lints): Deleted.
21397         (CheckForFunctionLengthsTest.test_function_length_check_definition_severity1_with_no_lint): Deleted.
21398         (CheckForFunctionLengthsTest.test_function_length_check_definition_below_severity2): Deleted.
21399         (CheckForFunctionLengthsTest.test_function_length_check_definition_severity2): Deleted.
21400         (CheckForFunctionLengthsTest.test_function_length_check_definition_above_severity2): Deleted.
21401         (CheckForFunctionLengthsTest.test_function_length_check_definition_below_severity3): Deleted.
21402         (CheckForFunctionLengthsTest.test_function_length_check_definition_severity3): Deleted.
21403         (CheckForFunctionLengthsTest.test_function_length_check_definition_above_severity3): Deleted.
21404         (CheckForFunctionLengthsTest.test_function_length_check_definition_below_severity4): Deleted.
21405         (CheckForFunctionLengthsTest.test_function_length_check_definition_severity4): Deleted.
21406         (CheckForFunctionLengthsTest.test_function_length_check_definition_above_severity4): Deleted.
21407         (CheckForFunctionLengthsTest.test_function_length_check_definition_below_severity5): Deleted.
21408         (CheckForFunctionLengthsTest.test_function_length_check_definition_at_severity5): Deleted.
21409         (CheckForFunctionLengthsTest.test_function_length_check_definition_above_severity5): Deleted.
21410         (CheckForFunctionLengthsTest.test_function_length_check_definition_huge_lines): Deleted.
21411         (CheckForFunctionLengthsTest.test_function_length_not_determinable): Deleted.
21412         (NoNonVirtualDestructorsTest.test_no_error): Deleted.
21413         (NoNonVirtualDestructorsTest.test_no_error.Foo): Deleted.
21414         (NoNonVirtualDestructorsTest.test_no_error.MyClass): Deleted.
21415         (NoNonVirtualDestructorsTest.test_no_error.Qualified): Deleted.
21416         (NoNonVirtualDestructorsTest.test_no_destructor_when_virtual_needed): Deleted.
21417         (NoNonVirtualDestructorsTest.test_no_destructor_when_virtual_needed.Foo): Deleted.
21418         (NoNonVirtualDestructorsTest.test_enum_casing): Deleted.
21419         (NoNonVirtualDestructorsTest.test_enum_casing.Foo): Deleted.
21420         (NoNonVirtualDestructorsTest.test_enum_casing.Enum123): Deleted.
21421         (NoNonVirtualDestructorsTest.test_enum_trailing_semicolon): Deleted.
21422         (NoNonVirtualDestructorsTest.test_enum_trailing_semicolon.CPP11EnumClass): Deleted.
21423         (NoNonVirtualDestructorsTest.test_enum_trailing_semicolon.MyEnum): Deleted.
21424         (NoNonVirtualDestructorsTest.test_destructor_non_virtual_when_virtual_needed): Deleted.
21425         (NoNonVirtualDestructorsTest.test_destructor_non_virtual_when_virtual_needed.Foo): Deleted.
21426         (NoNonVirtualDestructorsTest.test_no_warn_when_derived): Deleted.
21427         (NoNonVirtualDestructorsTest.test_no_warn_when_derived.Foo): Deleted.
21428         (NoNonVirtualDestructorsTest.test_internal_braces): Deleted.
21429         (NoNonVirtualDestructorsTest.test_internal_braces.Foo): Deleted.
21430         (NoNonVirtualDestructorsTest.test_inner_class_needs_virtual_destructor): Deleted.
21431         (NoNonVirtualDestructorsTest.test_inner_class_needs_virtual_destructor.Foo): Deleted.
21432         (NoNonVirtualDestructorsTest.test_inner_class_needs_virtual_destructor.Foo.Goo): Deleted.
21433         (NoNonVirtualDestructorsTest.test_inner_class_needs_virtual_destructor.Goo): Deleted.
21434         (NoNonVirtualDestructorsTest.test_outer_class_needs_virtual_destructor): Deleted.
21435         (NoNonVirtualDestructorsTest.test_outer_class_needs_virtual_destructor.Foo): Deleted.
21436         (NoNonVirtualDestructorsTest.test_outer_class_needs_virtual_destructor.Foo.Goo): Deleted.
21437         (NoNonVirtualDestructorsTest.test_qualified_class_needs_virtual_destructor): Deleted.
21438         (NoNonVirtualDestructorsTest.test_qualified_class_needs_virtual_destructor.Qualified): Deleted.
21439         (NoNonVirtualDestructorsTest.test_multi_line_declaration_no_error): Deleted.
21440         (NoNonVirtualDestructorsTest.test_multi_line_declaration_no_error.Foo): Deleted.
21441         (NoNonVirtualDestructorsTest.test_multi_line_declaration_with_error): Deleted.
21442         (NoNonVirtualDestructorsTest.test_multi_line_declaration_with_error.Foo): Deleted.
21443         (LeakyPatternTest.assert_leaky_pattern_check): Deleted.
21444         (LeakyPatternTest.test_get_dc): Deleted.
21445         (LeakyPatternTest.test_get_dc.HWndDC): Deleted.
21446         (LeakyPatternTest.test_own_get_dc): Deleted.
21447         (LeakyPatternTest.test_create_dc): Deleted.
21448         (LeakyPatternTest.test_create_compatible_dc): Deleted.
21449         (WebKitStyleTest.test_indentation): Deleted.
21450         (WebKitStyleTest.test_indentation.Foo): Deleted.
21451         (WebKitStyleTest.test_indentation.Document): Deleted.
21452         (WebKitStyleTest.test_spacing): Deleted.
21453         (WebKitStyleTest.test_line_breaking): Deleted.
21454         (WebKitStyleTest.test_braces): Deleted.
21455         (WebKitStyleTest.test_braces.MyClass): Deleted.
21456         (WebKitStyleTest.test_braces.NS_ENUM): Deleted.
21457         (WebKitStyleTest.test_braces.CPP11EnumClass): Deleted.
21458         (WebKitStyleTest.test_braces.SOMETHING): Deleted.
21459         (WebKitStyleTest.test_null_false_zero): Deleted.
21460         (WebKitStyleTest.test_directive_indentation): Deleted.
21461         (WebKitStyleTest.test_using_std): Deleted.
21462         (WebKitStyleTest.test_using_namespace): Deleted.
21463         (WebKitStyleTest.test_max_macro): Deleted.
21464         (WebKitStyleTest.test_min_macro): Deleted.
21465         (WebKitStyleTest.test_wtf_move): Deleted.
21466         (WebKitStyleTest.test_ctype_fucntion): Deleted.
21467         (WebKitStyleTest.test_names): Deleted.
21468         (WebKitStyleTest.test_names.HTMLDocument): Deleted.
21469         (WebKitStyleTest.test_names.WebWindowFadeAnimation): Deleted.
21470         (WebKitStyleTest.test_names.declarations): Deleted.
21471         (WebKitStyleTest.test_names.struct): Deleted.
21472         (WebKitStyleTest.test_names.VectorType): Deleted.
21473         (WebKitStyleTest.test_parameter_names): Deleted.
21474         (WebKitStyleTest.test_comments): Deleted.
21475         (WebKitStyleTest.test_webkit_export_check): Deleted.
21476         (WebKitStyleTest.test_member_initialization_list): Deleted.
21477         (WebKitStyleTest.test_member_initialization_list.MyClass): Deleted.
21478         (WebKitStyleTest.test_other): Deleted.
21479         (CppCheckerTest.mock_handle_style_error): Deleted.
21480         (CppCheckerTest._checker): Deleted.
21481         (CppCheckerTest.test_init): Deleted.
21482         (CppCheckerTest.test_eq): Deleted.
21483         (CppCheckerTest.test_eq.mock_handle_style_error2): Deleted.
21484         (CppCheckerTest.test_ne): Deleted.
21485         * TestWebKitAPI/Tests/WebKit/ios/AudioSessionCategoryIOS.mm:
21486         * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
21487         * TestWebKitAPI/cocoa/TestWKWebView.mm:
21488         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
21489         * WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
21490         * WebKitTestRunner/ios/HIDEventGenerator.mm:
21492 2017-07-05  Saam Barati  <sbarati@apple.com>
21494         NewArray in FTLLowerDFGToB3 does not handle speculating on doubles when having a bad time
21495         https://bugs.webkit.org/show_bug.cgi?id=174188
21496         <rdar://problem/30581423>
21498         Reviewed by Mark Lam.
21500         * Scripts/run-jsc-stress-tests:
21502 2017-07-05  Yusuke Suzuki  <utatane.tea@gmail.com>
21504         [WTF] Clean up StringStatics.cpp by using LazyNeverDestroyed<> for Atoms
21505         https://bugs.webkit.org/show_bug.cgi?id=174150
21507         Reviewed by Mark Lam.
21509         * TestWebKitAPI/Tests/WTF/StringBuilder.cpp:
21510         (TestWebKitAPI::TEST):
21512 2017-07-03  Myles C. Maxfield  <mmaxfield@apple.com>
21514         Remove copy of ICU headers from WebKit
21515         https://bugs.webkit.org/show_bug.cgi?id=116407
21517         Reviewed by Alex Christensen.
21519         * DumpRenderTree/mac/Configurations/Base.xcconfig:
21520         * TestWebKitAPI/Configurations/Base.xcconfig:
21521         * WebKitTestRunner/Configurations/Base.xcconfig:
21523 2017-07-05  Chris Dumez  <cdumez@apple.com>
21525         Regression(r218821): Bad cast to WebKit::DiagnosticLoggingClient in WKWebView's _setDiagnosticLoggingDelegate
21526         https://bugs.webkit.org/show_bug.cgi?id=174163
21527         <rdar://problem/33067518>
21529         Reviewed by Alex Christensen.
21531         Add API test coverage.
21533         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
21534         * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewDiagnosticLogging.mm: Added.
21535         (TEST):
21537 2017-07-05  Wenson Hsieh  <wenson_hsieh@apple.com>
21539         When dragging a selection, clearing the selection in dragstart should not crash the web process
21540         https://bugs.webkit.org/show_bug.cgi?id=174142
21541         <rdar://problem/33067501>
21543         Reviewed by Tim Horton.
21545         Adds a unit test checking that the web process does not crash when the selection is cleared while a selection
21546         drag is starting up.
21548         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
21549         * TestWebKitAPI/Tests/WebKit2Cocoa/dragstart-clear-selection.html: Added.
21550         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
21551         (TestWebKitAPI::TEST):
21553 2017-07-05  Daniel Bates  <dabates@apple.com>
21555         Do not pass API::FrameInfo for source frame or clear out page of target frame on
21556         API navigation
21557         https://bugs.webkit.org/show_bug.cgi?id=174170
21558         <rdar://problem/33140328>
21560         Reviewed by Brady Eidson.
21562         Update tests as needed for the behavior change.
21564         * TestWebKitAPI/Tests/WebKit2Cocoa/DecidePolicyForNavigationAction.mm:
21565         (TEST):
21567 2017-07-05  Jonathan Bedard  <jbedard@apple.com>
21569         Add WebKitPrivateFrameworkStubs for iOS 11
21570         https://bugs.webkit.org/show_bug.cgi?id=173988
21572         Reviewed by David Kilzer.
21574         * DumpRenderTree/mac/Configurations/Base.xcconfig: iphoneos and iphonesimulator
21575         should use the same directory for private framework stubs.
21576         * WebKitTestRunner/Configurations/Base.xcconfig: Ditto.
21578 2017-07-05  Eric Carlson  <eric.carlson@apple.com>
21580         [MediaStream] Protect request and web view during gUM client callback
21581         https://bugs.webkit.org/show_bug.cgi?id=174096
21582         <rdar://problem/32833102>
21584         Reviewed by Youenn Fablet.
21586         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
21587         * TestWebKitAPI/Tests/WebKit2/GetUserMediaNavigation.mm: New test.
21589 2017-07-05  Wenson Hsieh  <wenson_hsieh@apple.com>
21591         Unreviewed, guard iOS 11-dependent UIPasteboardTests to be iOS 11+ only
21593         * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
21595 2017-07-05  Matt Lewis  <jlewis3@apple.com>
21597         Unreviewed, rolling out r219128.
21599         Spoke with engineer who originally submitted, Patch for APi
21600         test to follow.
21602         Reverted changeset:
21604         "Unreviewed, rolling out r219070."
21605         https://bugs.webkit.org/show_bug.cgi?id=174082
21606         http://trac.webkit.org/changeset/219128
21608 2017-07-05  Matt Lewis  <jlewis3@apple.com>
21610         Unreviewed, rolling out r219070.
21612         This revision caused consistent failures of the API test
21613         UIPasteboardTests.DoNotPastePlainTextAsURL on iOS.
21615         Reverted changeset:
21617         "Pasting single words copied to UIPasteboard inserts URLs in
21618         editable areas"
21619         https://bugs.webkit.org/show_bug.cgi?id=174082
21620         http://trac.webkit.org/changeset/219070
21622 2017-07-04  Michael Catanzaro  <mcatanzaro@igalia.com>
21624         Remove unused EFL logo from bot watcher dashboard
21625         https://bugs.webkit.org/show_bug.cgi?id=174136
21627         Reviewed by Alexey Proskuryakov.
21629         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/EFL.png: Removed.
21630         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/EFL@2x.png: Removed.
21632 2017-07-04  Michael Catanzaro  <mcatanzaro@igalia.com>
21634         [GTK] Add more GTK bots to dashboard
21635         https://bugs.webkit.org/show_bug.cgi?id=174129
21637         Reviewed by Carlos Alberto Lopez Perez.
21639         We have a bunch of GTK bots that I never look at because they're not on the dashboard. Add
21640         them.
21642         This also changes the sort order to put WPE above GTK so that it's not buried under all the
21643         less-essential GTK bots.
21645         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
21646         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
21647         (WebKitBuildbot):
21649 2017-07-04  Michael Catanzaro  <mcatanzaro@igalia.com>
21651         [WPE] Add WPE to bot watcher dashboard
21652         https://bugs.webkit.org/show_bug.cgi?id=174119
21654         Reviewed by Alexey Proskuryakov.
21656         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/CREDIT: Added.
21657         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WPE.png: Added.
21658         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WPE@2x.png: Added.
21659         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
21660         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
21661         (WebKitBuildbot):
21662         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
21663         (table.queue-grid tr.platform.linux-wpe img.logo):
21665 2017-07-03  Lucas Forschler  <lforschler@apple.com>
21667         https://bugs.webkit.org/show_bug.cgi?id=174105
21668         
21669         Reviewed by Stephanie Lewis.
21671         * BuildSlaveSupport/built-product-archive:
21672         (main): Add a -minify parser option
21673         (createZip): Pass along the optional Minify argument if requested
21674         (minifySource): This will trim down archives, logic limited to Mac platform.
21676 2017-07-03  Matt Rajca  <mrajca@apple.com>
21678         Add/remove appropriate media element behavior restrictions when updateWebsitePolicies is called
21679         https://bugs.webkit.org/show_bug.cgi?id=174103
21681         Reviewed by Alex Christensen.
21683         Added an API test.
21685         * TestWebKitAPI/Tests/WebKit2/autoplay-check.html: Expose a pause method.
21686         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
21687         (TEST): Added test.
21688         * TestWebKitAPI/cocoa/TestWKWebView.h:
21689         * TestWebKitAPI/cocoa/TestWKWebView.mm:
21690         (-[TestWKWebView stringByEvaluatingJavaScript:]): Don't simulate a user gesture when invoking the script.
21692 2017-07-03  Matt Lewis  <jlewis3@apple.com>
21694         Unreviewed, rolling out r219103.
21696         Caused multiple build failures.
21698         Reverted changeset:
21700         "Remove copy of ICU headers from WebKit"
21701         https://bugs.webkit.org/show_bug.cgi?id=116407
21702         http://trac.webkit.org/changeset/219103
21704 2017-07-03  Myles C. Maxfield  <mmaxfield@apple.com>
21706         Remove copy of ICU headers from WebKit
21707         https://bugs.webkit.org/show_bug.cgi?id=116407
21709         Reviewed by Alex Christensen.
21711         Use WTF's copy of ICU headers.
21713         * DumpRenderTree/mac/Configurations/Base.xcconfig:
21714         * TestWebKitAPI/Configurations/Base.xcconfig:
21715         * WebKitTestRunner/Configurations/Base.xcconfig:
21717 2017-07-03  Brady Eidson  <beidson@apple.com>
21719         Switch all WebKit API related to favicons from WebIconDatabase over to new WebCore::IconLoader mechanism.
21720         https://bugs.webkit.org/show_bug.cgi?id=174073
21722         Reviewed by Andy Estes.
21724         * DumpRenderTree/mac/TestRunnerMac.mm:
21725         (TestRunner::setIconDatabaseEnabled): Call new SPI for this setting instead of WebIconDatabase stuff.
21727         * TestWebKitAPI/Tests/mac/WebViewIconLoading.mm:
21728         (-[MainFrameIconKVO observeValueForKeyPath:ofObject:change:context:]):
21730 2017-07-03  Matt Lewis  <jlewis3@apple.com>
21732         Unreviewed, rolling out r219083.
21734         The revision caused an API failure on all testing platforms.
21736         Reverted changeset:
21738         "[MediaStream] Protect request and web view during gUM client
21739         callback"
21740         https://bugs.webkit.org/show_bug.cgi?id=174096
21741         http://trac.webkit.org/changeset/219083
21743 2017-07-03  Jonathan Bedard  <jbedard@apple.com>
21745         webkitpy: Properly number duplicated crashlogs
21746         https://bugs.webkit.org/show_bug.cgi?id=172002
21748         Reviewed by Aakash Jain.
21750         * Scripts/webkitpy/common/system/crashlogs.py:
21751         (CrashLogs._find_all_logs_darwin): Number multiple crash logs for a single process with
21752         an increasing integer.
21753         * Scripts/webkitpy/common/system/crashlogs_unittest.py:
21754         (CrashLogsTest.create_crash_logs_darwin): Create duplicated crashlog for testing.
21755         (CrashLogsTest.test_find_all_log_darwin): Now 7 Darwin logs instead of 5.
21756         (CrashLogsTest.test_duplicate_log_darwin): Test that duplicated logs are correctly numbered.
21758 2017-07-03  Ryosuke Niwa  <rniwa@webkit.org>
21760         WebContent processes crash when the network process crashes with pending connection requests
21761         https://bugs.webkit.org/show_bug.cgi?id=174065
21762         <rdar://problem/30359835>
21764         Reviewed by Tim Horton.
21766         Add a API to ensure UI process tries to relaunch a new network process when the network process
21767         crashes with pending network connection requests.
21769         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
21770         * TestWebKitAPI/Tests/WebKit2/NetworkProcessCrashWithPendingConnection.mm: Added.
21771         * TestWebKitAPI/cocoa/TestNavigationDelegate.h:
21772         * TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
21773         (-[TestNavigationDelegate webViewWebContentProcessDidTerminate:]): Added.
21775 2017-07-03  Eric Carlson  <eric.carlson@apple.com>
21777         [MediaStream] Protect request and web view during gUM client callback
21778         https://bugs.webkit.org/show_bug.cgi?id=174096
21779         <rdar://problem/32833102>
21781         Reviewed by Youenn Fablet.
21783         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
21784         * TestWebKitAPI/Tests/WebKit2/GetUserMediaNavigation.mm: New test.
21786 2017-07-03  Andy Estes  <aestes@apple.com>
21788         [Xcode] Add an experimental setting to build with ccache
21789         https://bugs.webkit.org/show_bug.cgi?id=173875
21791         Reviewed by Tim Horton.
21793         On systems that already have ccache(1) installed, this patch adds experimental support for
21794         it to Xcode builds. It can be enabled with the WK_USE_CCACHE build setting.
21796         When ccache is enabled, CC is overridden to invoke Tools/ccache/ccache-clang. This script
21797         finds the "-isysroot" argument to determine the active SDK, uses xcrun(1) and the SDK to
21798         find the toolchain from which to run clang, and then invokes ccache with the required
21799         arguments.
21801         ccache is invoked with CCACHE_SLOPPINESS="pch_defines,time_macros", which is required for
21802         precompiled headers to work properly [1].
21804         LDPLUSPLUS is overridden to invoke Tools/ccache/ccache-clang++. It behaves the same as
21805         ccache-clang, except it tells ccache to execute clang++ instead of clang. This is important
21806         during linking.
21807         
21808         [1] https://ccache.samba.org/manual.html#_precompiled_headers
21810         * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig: Included ccache.xcconfig.
21811         * MiniBrowser/Configurations/DebugRelease.xcconfig: Ditto.
21812         * MobileMiniBrowser/Configurations/DebugRelease.xcconfig: Ditto.
21813         * TestWebKitAPI/Configurations/DebugRelease.xcconfig: Ditto.
21814         * WebKitTestRunner/Configurations/DebugRelease.xcconfig: Ditto.
21815         * ccache/README.md: Added.
21816         * ccache/ccache-clang: Added.
21817         * ccache/ccache-clang++: Added.
21818         * ccache/ccache.xcconfig: Added. Overrides CC and LDPLUSPLUS when WK_USE_CACHE=YES.
21820 2017-07-03  Alex Christensen  <achristensen@webkit.org>
21822         REGRESSION(r215096) Queries of URLs with non-special schemes should not percent-encode single quotes
21823         https://bugs.webkit.org/show_bug.cgi?id=174051
21825         Reviewed by Tim Horton.
21827         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
21828         (TestWebKitAPI::TEST_F):
21830 2017-07-03  Matt Lewis  <jlewis3@apple.com>
21832         Unreviewed, rolling out r219024.
21834         This patch cause 3 didferent test to fail.
21836         Reverted changeset:
21838         "REGRESSION(r215096) Queries of URLs with non-special schemes
21839         should not percent-encode single quotes"
21840         https://bugs.webkit.org/show_bug.cgi?id=174051
21841         http://trac.webkit.org/changeset/219024
21843 2017-07-03  Chris Dumez  <cdumez@apple.com>
21845         Drop ResourceLoadStatisticsStore's statisticsLock
21846         https://bugs.webkit.org/show_bug.cgi?id=174080
21848         Reviewed by Brent Fulgham.
21850         Port WebKitTestRunner to new Asynchronous Cocoa SPI.
21852         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
21853         (WTR::TestController::isStatisticsPrevalentResource):
21854         (WTR::TestController::isStatisticsHasHadUserInteraction):
21855         (WTR::TestController::isStatisticsGrandfathered):
21857 2017-07-03  Wenson Hsieh  <wenson_hsieh@apple.com>
21859         Pasting single words copied to UIPasteboard inserts URLs in editable areas
21860         https://bugs.webkit.org/show_bug.cgi?id=174082
21861         <rdar://problem/33046992>
21863         Reviewed by Tim Horton.
21865         Adds 3 new unit tests to UIPasteboardTests to test cases of pasting plain text and URLs.
21867         * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
21868         (TestWebKitAPI::setUpWebViewForPasteboardTests):
21869         (TestWebKitAPI::TEST):
21871 2017-07-02  Brady Eidson  <beidson@apple.com>
21873         Add API test for all parts of WebKit1 API related to favicons.
21874         https://bugs.webkit.org/show_bug.cgi?id=174069
21876         Reviewed by Andy Estes.
21878         These two API tests cover all WebKit1 API related to icons.
21879         
21880         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
21881         * TestWebKitAPI/Tests/mac/WebViewIconLoading.mm: Added.
21882         (mainResourceData):
21883         (defaultFaviconData):
21884         (customFaviconData):
21885         (imageFromData):
21886         (+[IconLoadingProtocol canInitWithRequest:]):
21887         (+[IconLoadingProtocol canonicalRequestForRequest:]):
21888         (-[IconLoadingProtocol startLoading]):
21889         (-[IconLoadingProtocol stopLoading]):
21890         (-[IconLoadingFrameLoadDelegate webView:didReceiveIcon:forFrame:]):
21891         (-[MainFrameIconKVO observeValueForKeyPath:ofObject:change:context:]):
21892         (TestWebKitAPI::TEST):
21894 2017-07-01  Dan Bernstein  <mitz@apple.com>
21896         [iOS] Remove code only needed when building for iOS 9.x
21897         https://bugs.webkit.org/show_bug.cgi?id=174068
21899         Reviewed by Tim Horton.
21901         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
21902         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
21903         (WTR::initializeWebViewConfiguration):
21904         * WebKitTestRunner/ios/HIDEventGenerator.mm:
21905         (-[HIDEventGenerator _createIOHIDEventType:]):
21907 2017-07-01  Brady Eidson  <beidson@apple.com>
21909         When setting a custom cookie storage location on a WKWebsiteDataStore, cookies aren't actually removed.
21910         <rdar://problem/32410662> and https://bugs.webkit.org/show_bug.cgi?id=174035
21912         Reviewed by Alex Christensen.
21914         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
21916 2017-07-01  Dan Bernstein  <mitz@apple.com>
21918         [macOS] Remove code only needed when building for OS X Yosemite
21919         https://bugs.webkit.org/show_bug.cgi?id=174067
21921         Reviewed by Tim Horton.
21923         * DumpRenderTree/mac/Configurations/Base.xcconfig:
21924         * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
21925         * DumpRenderTree/mac/DumpRenderTree.mm:
21926         (setDefaultsToConsistentValuesForTesting):
21927         * DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:
21928         (-[DumpRenderTreeDraggingInfo resetSpringLoading]):
21929         * MiniBrowser/Configurations/Base.xcconfig:
21930         * MiniBrowser/Configurations/DebugRelease.xcconfig:
21931         * TestWebKitAPI/Configurations/Base.xcconfig:
21932         * TestWebKitAPI/Configurations/DebugRelease.xcconfig:
21933         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
21934         * TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
21935         (TestWebKitAPI::TEST_F):
21936         * TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm:
21937         * TestWebKitAPI/Tests/mac/DragAndDropPasteboardTests.mm:
21938         * TestWebKitAPI/Tests/mac/FullscreenZoomInitialFrame.mm:
21939         (TestWebKitAPI::TEST_F):
21940         * TestWebKitAPI/Tests/mac/StringTruncator.mm:
21941         (TestWebKitAPI::TEST):
21942         * WebKitTestRunner/Configurations/Base.xcconfig:
21943         * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
21944         * WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
21945         (WTR::InjectedBundle::platformInitialize):
21946         * WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.mm:
21947         (-[WebKitTestRunnerDraggingInfo resetSpringLoading]):
21949 2017-07-01  Chris Dumez  <cdumez@apple.com>
21951         Replace ResourceLoadStatisticsStore C API with Cocoa SPI
21952         https://bugs.webkit.org/show_bug.cgi?id=174060
21954         Reviewed by Brent Fulgham.
21956         Port WebKitTestRunner over to the new Cocoa SPI.
21958         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
21959         (WTR::TestRunner::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
21960         (WTR::TestRunner::setStatisticsNotifyPagesWhenTelemetryWasCaptured):
21961         Drop calls to the WKResourceLoadStatisticsStore C API here. Those were
21962         no-ops since this code runs in the WebContent process, not the
21963         UIProcess.
21965         * WebKitTestRunner/TestController.cpp:
21966         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
21968 2017-06-30  Megan Gardner  <megan_gardner@apple.com>
21970         Unreviewed mac build fix.
21972         * TestWebKitAPI/Tests/WebKit2Cocoa/WKRequestActivatedElementInfo.mm:
21973         (TestWebKitAPI::TEST):
21975 2017-06-30  Megan Gardner  <megan_gardner@apple.com>
21977         Add API to get WKActivatedElementInfo
21978         https://bugs.webkit.org/show_bug.cgi?id=174001
21979         <rdar://problem/29165518>
21980         
21981         Tests for now SPI to get activatedElementInfo.
21983         Reviewed by Tim Horton.
21985         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
21986         * TestWebKitAPI/Tests/WebKit2Cocoa/WKRequestActivatedElementInfo.mm: Added.
21987         (TestWebKitAPI::TEST):
21989 2017-06-30  Chris Dumez  <cdumez@apple.com>
21991         Move store logic from WebResourceLoadStatisticsManager to WebResourceLoadStatisticsStore
21992         https://bugs.webkit.org/show_bug.cgi?id=174038
21994         Reviewed by Brent Fulgham.
21996         Fix typo in API name.
21998         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
21999         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
22000         (WTR::TestRunner::setStatisticsMinimumTimeBetweenDataRecordsRemoval):
22001         * WebKitTestRunner/InjectedBundle/TestRunner.h:
22002         * WebKitTestRunner/TestController.cpp:
22003         (WTR::TestController::setStatisticsMinimumTimeBetweenDataRecordsRemoval):
22004         * WebKitTestRunner/TestController.h:
22005         * WebKitTestRunner/TestInvocation.cpp:
22006         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
22008 2017-06-30  Alex Christensen  <achristensen@webkit.org>
22010         REGRESSION(r215096) Queries of URLs with non-special schemes should not percent-encode single quotes
22011         https://bugs.webkit.org/show_bug.cgi?id=174051
22012         <rdar://problem/33002846>
22014         Reviewed by Tim Horton.
22016         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
22017         (TestWebKitAPI::TEST_F):
22019 2017-06-30  Daniel Bates  <dabates@apple.com>
22021         API::FrameInfo should know the web page that contains the frame; add API property webView to WKFrameInfo
22022         https://bugs.webkit.org/show_bug.cgi?id=165160
22023         <rdar://problem/29451999>
22025         Reviewed by Brady Eidson.
22027         Add tests to ensure that -[WKFrameInfo webView] is computed correctly for the source and target frame
22028         for navigations and window creation.
22030         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
22031         * TestWebKitAPI/Tests/WebKit2Cocoa/DecidePolicyForNavigationAction.mm: Added. Derived from file ShouldOpenExternalURLsInNewWindowActions.mm.
22032         (-[DecidePolicyForNavigationActionController webView:decidePolicyForNavigationAction:decisionHandler:]):
22033         (-[DecidePolicyForNavigationActionController webView:didFinishNavigation:]):
22034         (-[DecidePolicyForNavigationActionController webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
22035         (TEST):
22037 2017-06-29  Jer Noble  <jer.noble@apple.com>
22039         Make Legacy EME API controlled by RuntimeEnabled setting.
22040         https://bugs.webkit.org/show_bug.cgi?id=173994
22042         Reviewed by Sam Weinig.
22044         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
22046 2017-06-30  Jonathan Bedard  <jbedard@apple.com>
22048         Follow-up fix for r218996
22050         Unreviewed infrastructure fix.
22052         Repeated calls to 'ios_version' make the log noisy, memoize the function.
22054         * Scripts/webkitpy/port/ios_simulator.py:
22055         (IOSSimulatorPort): Memoize ios_version().
22057 2017-06-30  Wenson Hsieh  <wenson_hsieh@apple.com>
22059         [iOS DnD] Drag caret rect is incorrectly computed when dropping in editable content in iframes
22060         https://bugs.webkit.org/show_bug.cgi?id=174017
22061         <rdar://problem/32959782>
22063         Reviewed by Simon Fraser.
22065         Add a new test verifying that the drag caret is visually contained within the bounds of an iframe. Before these
22066         changes, the caret would appear outside of the iframe.
22068         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
22069         * TestWebKitAPI/Tests/WebKit2Cocoa/contenteditable-in-iframe.html: Added.
22070         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
22071         (checkDragCaretRectIsContainedInRect):
22072         (TestWebKitAPI::TEST):
22073         * TestWebKitAPI/ios/DataInteractionSimulator.h:
22074         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
22075         (-[DataInteractionSimulator _resetSimulatedState]):
22076         (-[DataInteractionSimulator _concludeDataInteractionAndPerformOperationIfNecessary]):
22077         (-[DataInteractionSimulator _advanceProgress]):
22078         (-[DataInteractionSimulator lastKnownDragCaretRect]):
22080 2017-06-30  Jonathan Bedard  <jbedard@apple.com>
22082         Add support for different versions of iOS when loading test expectations
22083         https://bugs.webkit.org/show_bug.cgi?id=173774
22084         <rdar://problem/32951132>
22086         Rubber-stamped by Aakash Jain.
22088         When running layout tests, we should support multiple version of iOS the same way we do Mac.
22090         * Scripts/webkitpy/port/ios.py:
22091         (IOSPort.default_baseline_search_path): Add ios-<major version> test expectation.
22092         (IOSPort.test_expectations_file_position): Added new file expectations, increment expected file position.
22093         (IOSPort.ios_version): iOS ports must define a function to retrieve the iOS version.
22094         * Scripts/webkitpy/port/ios_device.py:
22095         (IOSDevicePort.ios_version): Ask connected devices for implementation.
22096         * Scripts/webkitpy/port/ios_device_unittest.py:
22097         (IOSDeviceTest.test_additional_platform_directory): Skip test until bug 173775 is finished.
22098         (IOSDeviceTest.test_baseline_searchpath): Ditto.
22099         (IOSDeviceTest.test_expectations_ordering): Ditto.
22100         * Scripts/webkitpy/port/ios_simulator.py:
22101         (IOSSimulatorPort.ios_version): If a runtime is specified, ask the runtime for the iOS version. Otherwise,
22102         ask the platform.
22104 2017-06-30  Jacobo Aragunde Pérez  <jaragunde@igalia.com>
22106         Fontconfig build breaks with glibc 2.15+
22107         https://bugs.webkit.org/show_bug.cgi?id=174019
22109         Reviewed by Carlos Alberto Lopez Perez.
22111         Apply patch by Khem Raj adapted to fontconfig 2.11.1.
22113         * wpe/jhbuild.modules:
22114         * wpe/patches/fontconfig-avoid-conflicts-with-integer-width-macros-from-TS-18.patch: Added.
22116 2017-06-29  Wenson Hsieh  <wenson_hsieh@apple.com>
22118         [iOS DnD] Web content process crashes when the selection is moved far offscreen in dragstart
22119         https://bugs.webkit.org/show_bug.cgi?id=174010
22120         <rdar://problem/32597802>
22122         Reviewed by Tim Horton.
22124         Adds a new API test to ensure that we don't crash trying to dereference a null RefPtr when the TextIndicator
22125         snapshot fails for any reason.
22127         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
22128         * TestWebKitAPI/Tests/WebKit2Cocoa/dragstart-change-selection-offscreen.html: Added.
22129         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
22130         (TestWebKitAPI::TEST):
22132 2017-06-29  Chris Fleizach  <cfleizach@apple.com>
22134         AX: Cannot call setValue() on contenteditable or ARIA text controls
22135         https://bugs.webkit.org/show_bug.cgi?id=173520
22137         Reviewed by Ryosuke Niwa.
22139         Add setValue() method to WKTR (already existed in DRT).
22141         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
22142         (WTR::AccessibilityUIElement::setValue):
22143         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
22144         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
22145         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
22146         (WTR::AccessibilityUIElement::setValue):
22148 2017-06-28  Simon Fraser  <simon.fraser@apple.com>
22150         getBoundingClientRect returns wrong value for combination of page zoom and scroll
22151         https://bugs.webkit.org/show_bug.cgi?id=173841
22152         rdar://problem/32983841
22154         Reviewed by Dean Jackson.
22156         Make "Zoom In" and "Zoom Out" work correctly in the WebKit1 window. Previously they
22157         always did text zooming.
22159         * MiniBrowser/mac/WK1BrowserWindowController.m:
22160         (-[WK1BrowserWindowController zoomIn:]):
22161         (-[WK1BrowserWindowController zoomOut:]):
22162         (-[WK1BrowserWindowController canResetZoom]):
22163         (-[WK1BrowserWindowController resetZoom:]):
22165 2017-06-29  John Wilander  <wilander@apple.com>
22167         Fix for intermittent Layout Test fail http/tests/loading/resourceLoadStatistics/telemetry-generation.html
22168         https://bugs.webkit.org/show_bug.cgi?id=173940
22169         <rdar://problem/33018125>
22171         Reviewed by Brent Fulgham.
22173         This change allows the TestController to turn off
22174         regular resource load statistics telemetry submission
22175         and to manually control when telemetry is calculated
22176         and submitted.
22178         * WebKitTestRunner/TestController.cpp:
22179         (WTR::TestController::initialize):
22180             Turns off automatic resource load statistics telemetry submission.
22182 2017-06-29  Commit Queue  <commit-queue@webkit.org>
22184         Unreviewed, rolling out r218512.
22185         https://bugs.webkit.org/show_bug.cgi?id=173981
22187         "It changes the behavior of the JS API's JSEvaluateScript
22188         which breaks TurboTax" (Requested by saamyjoon on #webkit).
22190         Reverted changeset:
22192         "test262: Completion values for control flow do not match the
22193         spec"
22194         https://bugs.webkit.org/show_bug.cgi?id=171265
22195         http://trac.webkit.org/changeset/218512
22197 2017-06-29  Jonathan Bedard  <jbedard@apple.com>
22199         Add WebKitSystemInterface for iOS 11
22200         https://bugs.webkit.org/show_bug.cgi?id=173936
22202         Reviewed by Lucas Forschler.
22204         * Scripts/copy-webkitlibraries-to-product-directory: Copy iOS 11 WebKitSystemInterface libraries. 
22206 2017-06-28  Keith Miller  <keith_miller@apple.com>
22208         VMTraps has some races
22209         https://bugs.webkit.org/show_bug.cgi?id=173941
22211         Reviewed by Michael Saboff.
22213         Add new testing mode for testing the Watchdog with our stress
22214         tests.
22216         * Scripts/run-jsc-stress-tests:
22218 2017-06-29  Carlos Garcia Campos  <cgarcia@igalia.com>
22220         [GTK][WPE] Implement API::IconLoadingClient and rework WebKitFaviconDatabase to use IconDatabase directly
22221         https://bugs.webkit.org/show_bug.cgi?id=173877
22223         Reviewed by Brady Eidson.
22225         Update favicons unit test to ensure we wait until the database is updated in testGetFavicon() before starting
22226         the next tests.
22228         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
22229         (testGetFavicon):
22231 2017-06-28  Tim Horton  <timothy_horton@apple.com>
22233         MobileSafari was constantly using 10-15% CPU viewing a PDF
22234         https://bugs.webkit.org/show_bug.cgi?id=173944
22235         <rdar://problem/33039910>
22237         Reviewed by Simon Fraser.
22239         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
22240         * TestWebKitAPI/Tests/WebKit2Cocoa/WKPDFViewStablePresentationUpdateCallback.mm:
22241         Add a test that we ever call the stable presentation update callback
22242         when we have a WKPDFView up, instead of infinitely looping.
22244 2017-06-28  Alex Christensen  <achristensen@webkit.org>
22246         Prevent displaying URLs with small capital letters
22247         https://bugs.webkit.org/show_bug.cgi?id=173949
22248         <rdar://problem/32952058>
22250         Reviewed by Brent Fulgham.
22252         * TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
22253         (TestWebKitAPI::TEST):
22255 2017-06-28  Brent Fulgham  <bfulgham@apple.com>
22257         Unreviewed test fix.
22259         Disable the file monitor tests on iOS because the 'system' API is unavailable on that platform.
22261         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp: 
22263 2017-06-28  Brent Fulgham  <bfulgham@apple.com>
22265         Teach ResourceLoadStatistics to recognize changes in the file system
22266         https://bugs.webkit.org/show_bug.cgi?id=173800
22267         <rdar://problem/32937842>
22269         Reviewed by Chris Dumez.
22271         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
22272         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp: Added.
22273         (TestWebKitAPI::FileMonitorTest::tempFilePath):
22274         (TestWebKitAPI::handleFileModification):
22275         (TestWebKitAPI::handleFileDeletion):
22276         (TestWebKitAPI::resetTestState):
22277         (TestWebKitAPI::TEST_F):
22279 2017-06-28  Brady Eidson  <beidson@apple.com>
22281         DocumentLoader should always notify the client if there are pending icon loads when the load is stopped.
22282         https://bugs.webkit.org/show_bug.cgi?id=173874
22284         Reviewed by Alex Christensen.
22286         * TestWebKitAPI/Tests/WebKit2Cocoa/IconLoadingDelegate.mm:
22288 2017-06-28  Don Olmstead  <don.olmstead@sony.com>
22290         Unreviewed, adding Don Olmstead to contributors.json
22292         * Scripts/webkitpy/common/config/contributors.json:
22294 2017-06-28  Alex Christensen  <achristensen@webkit.org>
22296         WebsitePolicies given with navigation policy for redirects should apply to the provisional document
22297         https://bugs.webkit.org/show_bug.cgi?id=173886
22298         <rdar://problem/32543191>
22300         Reviewed by Andy Estes.
22302         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
22303         (ParsedRange::ParsedRange):
22304         (-[TestSchemeHandler initWithVideoData:]):
22305         (-[TestSchemeHandler webView:startURLSchemeTask:]):
22306         (-[TestSchemeHandler webView:stopURLSchemeTask:]):
22307         (TEST):
22309 2017-06-27  JF Bastien  <jfbastien@apple.com>
22311         WebAssembly: running out of executable memory should throw OoM
22312         https://bugs.webkit.org/show_bug.cgi?id=171537
22313         <rdar://problem/32963338>
22315         Reviewed by Saam Barati.
22317         * Scripts/run-jsc-stress-tests: add a configuration which runs the
22318         tests under limited executable memory and avoids non-WebAssembly
22319         code generation so that we more reliably run out of executable
22320         memory in WebAssembly.
22322 2017-06-27  Wenson Hsieh  <wenson_hsieh@apple.com>
22324         [iOS DnD] Support dragging out of contenteditable areas without a prior selection
22325         https://bugs.webkit.org/show_bug.cgi?id=173854
22326         <rdar://problem/32236827>
22328         Reviewed by Ryosuke Niwa and Tim Horton.
22330         Adds a new test to check that an image can be dragged out of a contenteditable and dropped.
22332         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
22333         * TestWebKitAPI/Tests/WebKit2Cocoa/contenteditable-and-target.html: Added.
22334         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
22335         (TestWebKitAPI::TEST):
22337 2017-06-27  Don Olmstead  <don.olmstead@sony.com>
22339         [PAL] Add symbol export macros for PAL
22340         https://bugs.webkit.org/show_bug.cgi?id=171519
22342         Reviewed by Konstantin Tokarev.
22344         * DumpRenderTree/config.h:
22345         * TestWebKitAPI/CMakeLists.txt:
22346         * TestWebKitAPI/config.h:
22347         * WebKitTestRunner/config.h:
22349 2017-06-27  John Wilander  <wilander@apple.com>
22351         Resource Load Statistics: Add telemetry
22352         https://bugs.webkit.org/show_bug.cgi?id=173499
22353         <rdar://problem/32826094>
22355         Reviewed by Brent Fulgham.
22357         Adds three new testRunner functions:
22358         - installStatisticsDidRunTelemetryCallback()
22359         - statisticsFireTelemetryHandler()
22360         - setStatisticsNotifyPagesWhenTelemetryWasCaptured()
22362         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
22363         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
22364         (WTR::InjectedBundle::didReceiveMessageToPage):
22365         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
22366         (WTR::TestRunner::installStatisticsDidRunTelemetryCallback):
22367         (WTR::TestRunner::statisticsDidRunTelemetryCallback):
22368         (WTR::TestRunner::statisticsFireTelemetryHandler):
22369         (WTR::TestRunner::setStatisticsNotifyPagesWhenTelemetryWasCaptured):
22370         * WebKitTestRunner/InjectedBundle/TestRunner.h:
22371         * WebKitTestRunner/TestController.cpp:
22372         (WTR::TestController::resetStateToConsistentValues):
22373         (WTR::TestController::statisticsFireTelemetryHandler):
22374         (WTR::TestController::setStatisticsNotifyPagesWhenTelemetryWasCaptured):
22375         * WebKitTestRunner/TestController.h:
22376         * WebKitTestRunner/TestInvocation.cpp:
22377         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
22379 2017-06-27  Ting-Wei Lan  <lantw44@gmail.com>
22381         Add missing includes to fix compilation error on FreeBSD
22382         https://bugs.webkit.org/show_bug.cgi?id=172919
22384         Reviewed by Mark Lam.
22386         * ImageDiff/cairo/PlatformImageCairo.cpp:
22388 2017-06-26  Jonathan Bedard  <jbedard@apple.com>
22390         Unreviewed, rolling out r218783.
22392         Causing accessibility/mac/setting-attributes-is-
22393         asynchronous.html to crash consistently on mac-wk2 Debug
22395         Reverted changeset:
22397         "AX: Cannot call setValue() on contenteditable or ARIA text
22398         controls"
22399         https://bugs.webkit.org/show_bug.cgi?id=173520
22400         http://trac.webkit.org/changeset/218783
22402 2017-06-26  Yusuke Suzuki  <utatane.tea@gmail.com>
22404         [WTF] Drop Thread::create(obsolete things) API since we can use lambda
22405         https://bugs.webkit.org/show_bug.cgi?id=173825
22407         Reviewed by Saam Barati.
22409         * DumpRenderTree/JavaScriptThreading.cpp:
22410         (runJavaScriptThread):
22411         (startJavaScriptThreads):
22412         * DumpRenderTree/mac/DumpRenderTree.mm:
22413         (runThread):
22414         (runPthread):
22415         (testThreadIdentifierMap):
22417 2017-06-26  David Kilzer  <ddkilzer@apple.com>
22419         [TestWebKitAPI] Fix false-positive bad release warnings found by clang static analyzer
22420         <https://webkit.org/b/173837>
22422         Reviewed by Geoffrey Garen.
22424         The clang static analyzer can't reason about objects that are
22425         assigned to a delegate as +1 retained, and then released
22426         later in a different method when the delegate is cleared.
22428         Instead, use a common idiom where the object setting the
22429         delegate retains it as an instance variable on initialization.
22430         Then the same object clears the delegate and releases its
22431         instance variable during teardown.
22433         Also add EXPECT_TRUE() tests to make sure the delegate objects
22434         match before teardown.
22436         * TestWebKitAPI/Tests/mac/FullscreenZoomInitialFrame.mm:
22437         (TestWebKitAPI::FullscreenZoomInitialFrame::initializeView):
22438         (TestWebKitAPI::FullscreenZoomInitialFrame::teardownView):
22439         * TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:
22440         (TestWebKitAPI::PageVisibilityStateWithWindowChanges::initializeView):
22441         (TestWebKitAPI::PageVisibilityStateWithWindowChanges::teardownView):
22443 2017-06-26  David Kilzer  <ddkilzer@apple.com>
22445         [TestWebKitAPI] REGRESSION (r218750): Fix leak of NSURLResponse in WKURLSchemeHandler-1.mm
22446         <https://webkit.org/b/173836>
22448         Reviewed by Brady Eidson.
22450         * TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:
22451         (-[RedirectSchemeHandler webView:startURLSchemeTask:]): Use
22452         adoptNS() to fix the leak.  Also use auto/adoptNS() for other
22453         objects in this test.
22455 2017-06-26  Joanmarie Diggs  <jdiggs@igalia.com>
22457         [ATK] Add support for aria-details and aria-errormessage
22458         https://bugs.webkit.org/show_bug.cgi?id=172588
22460         Reviewed by Chris Fleizach.
22462         Add additional methods to test ARIA properties which are exposed via
22463         AtkRelation. Also bump minimum versions of at-spi2-core and at-spi2-atk
22464         to versions which support the details and error-message relation types.
22466         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
22467         (WTR::AccessibilityUIElement::ariaDetailsElementAtIndex):
22468         (WTR::AccessibilityUIElement::ariaDetailsReferencingElementAtIndex):
22469         (WTR::AccessibilityUIElement::ariaErrorMessageElementAtIndex):
22470         (WTR::AccessibilityUIElement::ariaErrorMessageReferencingElementAtIndex):
22471         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
22472         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
22473         (WTR::AccessibilityUIElement::ariaDetailsElementAtIndex):
22474         (WTR::AccessibilityUIElement::ariaDetailsReferencingElementAtIndex):
22475         (WTR::AccessibilityUIElement::ariaErrorMessageElementAtIndex):
22476         (WTR::AccessibilityUIElement::ariaErrorMessageReferencingElementAtIndex):
22477         * gtk/jhbuild.modules:
22479 2017-06-26  Carlos Garcia Campos  <cgarcia@igalia.com>
22481         Unreviewed. Add libfii to GTK+ install dependencies script.
22483         * gtk/install-dependencies:
22485 2017-06-25  Michael Catanzaro  <mcatanzaro@igalia.com>
22487         Unreviewed, rolling out r215190.
22489         Broke product select element on GNOME Bugzilla
22491         Reverted changeset:
22493         "[GTK] Misplaced right click menu on web page due to
22494         deprecated gtk_menu_popup()"
22495         https://bugs.webkit.org/show_bug.cgi?id=170553
22496         http://trac.webkit.org/changeset/215190
22498 2017-06-24  Joseph Pecoraro  <pecoraro@apple.com>
22500         Remove Reflect.enumerate
22501         https://bugs.webkit.org/show_bug.cgi?id=173806
22503         Reviewed by Yusuke Suzuki.
22505         * Scripts/run-jsc-stress-tests:
22507 2017-06-24  Chris Fleizach  <cfleizach@apple.com>
22509         AX: Cannot call setValue() on contenteditable or ARIA text controls
22510         https://bugs.webkit.org/show_bug.cgi?id=173520
22512         Reviewed by Ryosuke Niwa.
22514         Add setValue() method to WKTR (already existed in DRT).
22516         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
22517         (WTR::AccessibilityUIElement::setValue):
22518         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
22519         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
22520         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
22521         (WTR::AccessibilityUIElement::setValue):
22523 2017-06-23  Keith Miller  <keith_miller@apple.com>
22525         Switch VMTraps to use halt instructions rather than breakpoint instructions
22526         https://bugs.webkit.org/show_bug.cgi?id=173677
22528         Reviewed by JF Bastien.
22530         * TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:
22531         (TEST):
22533 2017-06-23  Youenn Fablet  <youenn@apple.com>
22535         Set getUserMedia permission to true by default on WTR
22536         https://bugs.webkit.org/show_bug.cgi?id=173610
22538         Reviewed by Alex Christensen.
22540         Adding a way to reset the getUserMedia permission to pending.
22542         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
22543         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
22544         (WTR::InjectedBundle::setUserMediaPermissionAsUnset):
22545         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
22546         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
22547         (WTR::TestRunner::setUserMediaPermissionAsUnset):
22548         * WebKitTestRunner/InjectedBundle/TestRunner.h:
22549         * WebKitTestRunner/TestController.cpp:
22550         (WTR::TestController::resetStateToConsistentValues):
22551         (WTR::TestController::setUserMediaPermissionAsUnset):
22552         * WebKitTestRunner/TestController.h:
22553         * WebKitTestRunner/TestInvocation.cpp:
22554         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
22556 2017-06-23  Alex Christensen  <achristensen@webkit.org>
22558         Add SPI to WKURLSchemeTask for redirection
22559         https://bugs.webkit.org/show_bug.cgi?id=173730
22561         Reviewed by Brady Eidson.
22563         * TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:
22564         (-[SchemeHandler webView:startURLSchemeTask:]):
22565         (-[SchemeHandler webView:stopURLSchemeTask:]):
22566         (TEST):
22567         (-[RedirectSchemeHandler webView:startURLSchemeTask:]):
22568         (-[RedirectSchemeHandler webView:stopURLSchemeTask:]):
22569         (-[RedirectSchemeHandler webView:didReceiveServerRedirectForProvisionalNavigation:]):
22570         (-[RedirectSchemeHandler webView:decidePolicyForNavigationResponse:decisionHandler:]):
22571         (-[RedirectSchemeHandler userContentController:didReceiveScriptMessage:]):
22573 2017-06-23  Carlos Garcia Campos  <cgarcia@igalia.com>
22575         [WPE] Use JSC API to send script messages from web extension in tests
22576         https://bugs.webkit.org/show_bug.cgi?id=173757
22578         Reviewed by Žan Doberšek.
22580         The GTK+ uses DOM bindings to send the messages. We can just build the message string and use JSEvaluateScript
22581         to run postMessage().
22583         Fixes: /wpe/WebKitSecurityManager/file-xhr
22584                /wpe/WebKitConsoleMessage/console-api
22585                /wpe/WebKitConsoleMessage/js-exception
22586                /wpe/WebKitConsoleMessage/network-error
22587                /wpe/WebKitConsoleMessage/security-error
22589         * TestWebKitAPI/Tests/WebKitGLib/TestConsoleMessage.cpp:
22590         (testWebKitConsoleMessageSecurityError): Remove ifdefs.
22591         (beforeAll): Ditto.
22592         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
22593         (testWebContextSecurityFileXHR): Ditto.
22594         (beforeAll): Ditto.
22595         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
22596         (consoleMessageSentCallback): Use JSEvaluateScript in WPE. We need to escape the '"' in the message string.
22597         (pageCreatedCallback): Remove ifdefs.
22599 2017-06-23  Carlos Garcia Campos  <cgarcia@igalia.com>
22601         Unreviewed. Fix WPE /wpe/WebKitWebView/javascript-dialogs and /wpe/WebKitWebView/window-properties
22603         Skip onbeforeunload dialog tests for now in WPE since we don't have a implemention for
22604         simulateUserInteraction(). And do not expect changes in "geometry" property of WebKitWindowProperties that
22605         doesn't exist yet in WPE.
22607         * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
22608         (testWebViewJavaScriptDialogs):
22609         (testWebViewWindowProperties):
22611 2017-06-22  Carlos Garcia Campos  <cgarcia@igalia.com>
22613         [GTK] Upgrade pixman and cairo in jhbuild
22614         https://bugs.webkit.org/show_bug.cgi?id=173710
22616         Reviewed by Carlos Alberto Lopez Perez.
22618         * gtk/jhbuild.modules:
22620 2017-06-22  Carlos Garcia Campos  <cgarcia@igalia.com>
22622         REGRESSION(r218686): [GTK] Several unit tests are failing after r218686 in the bots
22623         https://bugs.webkit.org/show_bug.cgi?id=173711
22625         Reviewed by Carlos Alberto Lopez Perez.
22627         I can't reproduce it locally, but it's complaining about a g_setenv() and I only added one in r218686 to recover
22628         the XDG_RUNTIME_DIR, because it's required by Wayland to work. So, I guess that env var is not set in the bots.
22630         * TestWebKitAPI/glib/WebKitGLib/WebKitTestBus.cpp:
22631         (WebKitTestBus::run): Ensure value is not nullptr before calling g_setenv().
22633 2017-06-22  David Kilzer  <ddkilzer@apple.com>
22635         REGRESSION (r218419): 7 leaks in PluginLoadClientPolicies.mm
22636         <https://webkit.org/b/173721>
22638         Reviewed by Joseph Pecoraro.
22640         Use RetainPtr<> to create NSMutableDictionary and NSNumber
22641         objects to fix leaks and to avoid the autoreleasepool.
22643         * TestWebKitAPI/Tests/WebKit2Cocoa/PluginLoadClientPolicies.mm:
22644         (TEST):
22646 2017-06-22  Matt Lewis  <jlewis3@apple.com>
22648         Unreviewed, rolling out r218633.
22650         The test is failing frequently on Sierra Debug and Windows
22652         Reverted changeset:
22654         "AX: Cannot call setValue() on contenteditable or ARIA text
22655         controls"
22656         https://bugs.webkit.org/show_bug.cgi?id=173520
22657         http://trac.webkit.org/changeset/218633
22659 2017-06-22  David Kilzer  <ddkilzer@apple.com>
22661         [TestWebKitAPI] Fix misuse of -[NSData dataWithBytesNoCopy:length:] with global variables
22662         <https://webkit.org/b/173690>
22664         Reviewed by Chris Dumez.
22666         Per documentation, -[NSData dataWithBytesNoCopy:length:] takes
22667         ownership of malloc()-ed memory, then frees it when it's
22668         released.  These tests were passing global variables into the
22669         method, which is not malloc()-ed memory, which violates the API
22670         contract.
22672         The fix is to switch to use
22673         -[NSData dataWithBytesNoCopy:length:freeWhenDone:] and to pass
22674         NO for the last argument.
22676         Caught by the clang static analyzer.
22678         * TestWebKitAPI/Tests/WebKit2Cocoa/IconLoadingDelegate.mm:
22679         (TEST):
22680         * TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:
22681         (TEST):
22683 2017-06-22  Carlos Garcia Campos  <cgarcia@igalia.com>
22685         [GTK] Upgrade Harfbuzz to version 1.4.2
22686         https://bugs.webkit.org/show_bug.cgi?id=173592
22688         Reviewed by Carlos Alberto Lopez Perez.
22690         * gtk/jhbuild.modules:
22692 2017-06-22  Carlos Garcia Campos  <cgarcia@igalia.com>
22694         [WPE] Update WPEBackend-mesa
22695         https://bugs.webkit.org/show_bug.cgi?id=173705
22697         Reviewed by Carlos Alberto Lopez Perez.
22699         A crash has been fixed, needed for unit tests to work.
22701         * wpe/jhbuild.modules:
22703 2017-06-22  Carlos Garcia Campos  <cgarcia@igalia.com>
22705         Remove unused coordinated graphics C API
22706         https://bugs.webkit.org/show_bug.cgi?id=173706
22708         Reviewed by Žan Doberšek.
22710         * TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewIsActiveSetIsActive.cpp: Removed.
22711         * TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewIsActiveSetIsActive_Bundle.cpp: Removed.
22712         * TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewRestoreZoomAndScrollBackForward.cpp: Removed.
22713         * TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewUserViewportToContents.cpp: Removed.
22714         * TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/backforward1.html: Removed.
22715         * TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/backforward2.html: Removed.
22717 2017-06-22  Carlos Garcia Campos  <cgarcia@igalia.com>
22719         [WPE] Build glib API tests
22720         https://bugs.webkit.org/show_bug.cgi?id=173702
22722         Reviewed by Žan Doberšek.
22724         Many of the tests pass without problems, others need to be investigated, and some others are known issues. The
22725         main difference between the GTK+ and WPE WebKitWebView is that in GTK+ it's a GtkWidget, so initially
22726         unowned. The tests assume that webkit_web_view_new methods return a floating reference. This patch adds
22727         Test::adoptView() method that returns a GRefPtr<WebKitWebView> with a different implementation in GTK+ and
22728         WPE. In the case of GTK+, it sinks the floating reference, while in WPE it simply adopts the reference. Another
22729         difference is that in GTK+ the web view is initially hidden and needs to be added to a window to make it
22730         visible. Also, some tests need the web view to be realized to work, and others need that the view is added to a
22731         toplevel window, instead of a popup window. All those things are not needed at all in WPE. I've added several
22732         #ifdefs with FIXME comments for the things that we know don't work in WPE yet, for example, because we haven't
22733         implemented the methods to send events to the web view. Those will be removed eventually when we fix the issues
22734         and implement the missing features.
22736         * CMakeLists.txt:
22737         * TestWebKitAPI/Tests/WebKit2Gtk/EditorTest.cpp:
22738         * TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp:
22739         * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
22740         (testAutomationSessionRequestSession):
22741         * TestWebKitAPI/Tests/WebKitGLib/TestBackForwardList.cpp:
22742         (testWebKitWebViewSessionState):
22743         (testWebKitWebViewSessionStateWithFormData):
22744         (testWebKitWebViewNavigationAfterSessionRestore):
22745         * TestWebKitAPI/Tests/WebKitGLib/TestConsoleMessage.cpp:
22746         (beforeAll):
22747         * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
22748         (testCookieManagerEphemeral):
22749         * TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:
22750         (testBlobDownload):
22751         (beforeAll):
22752         * TestWebKitAPI/Tests/WebKitGLib/TestFrame.cpp:
22753         * TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp:
22754         * TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp:
22755         (testProcessPerWebView):
22756         * TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
22757         * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
22758         (testWebViewCreateNavigationData):
22759         (testWebViewJavaScriptDialogs):
22760         (testWebViewWindowProperties):
22761         (testWebViewMouseTarget):
22762         (testWebViewGeolocationPermissionRequests):
22763         (testWebViewUserMediaPermissionRequests):
22764         (testWebViewAudioOnlyUserMediaPermissionRequests):
22765         (testWebViewFileChooserRequest):
22766         (beforeAll):
22767         * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
22768         (beforeAll):
22769         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
22770         (testPrivateBrowsing):
22771         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFindController.cpp:
22772         (testFindControllerHide):
22773         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSecurityOrigin.cpp:
22774         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
22775         (testWebKitSettings):
22776         (beforeAll):
22777         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
22778         (testWebViewNewWithUserContentManager):
22779         (beforeAll):
22780         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
22781         (testWebContextEphemeral):
22782         (testWebContextProxySettings):
22783         (beforeAll):
22784         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
22785         (testWebViewWebContext):
22786         (testWebViewWebContextLifetime):
22787         (testWebViewEphemeral):
22788         (testWebViewSettings):
22789         (testWebViewCanShowMIMEType):
22790         (testWebViewPageVisibility):
22791         (testWebViewIsPlayingAudio):
22792         (beforeAll):
22793         * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
22794         (testWebsiteDataEphemeral):
22795         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
22796         (documentLoadedCallback):
22797         (pageCreatedCallback):
22798         (methodCallCallback):
22799         * TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.h:
22800         * TestWebKitAPI/glib/CMakeLists.txt:
22801         * TestWebKitAPI/glib/PlatformGTK.cmake:
22802         * TestWebKitAPI/glib/WebKitGLib/LoadTrackingTest.cpp:
22803         * TestWebKitAPI/glib/WebKitGLib/TestMain.cpp:
22804         (main):
22805         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
22806         (Test::adoptView):
22807         * TestWebKitAPI/glib/WebKitGLib/WebKitTestBus.cpp:
22808         (WebKitTestBus::run):
22809         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
22810         (WebViewTest::~WebViewTest):
22811         (WebViewTest::initializeWebView):
22812         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
22813         * TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp: Added.
22814         (WebViewTest::platformDestroy):
22815         (WebViewTest::platformInitializeWebView):
22816         (WebViewTest::quitMainLoopAfterProcessingPendingEvents):
22817         (WebViewTest::resizeView):
22818         (WebViewTest::hideView):
22819         (parentWindowMapped):
22820         (WebViewTest::showInWindow):
22821         (WebViewTest::showInWindowAndWaitUntilMapped):
22822         (WebViewTest::mouseMoveTo):
22823         (WebViewTest::clickMouseButton):
22824         (WebViewTest::emitPopupMenuSignal):
22825         (WebViewTest::keyStroke):
22826         (WebViewTest::doMouseButtonEvent):
22827         * TestWebKitAPI/glib/WebKitGLib/wpe/WebViewTestWPE.cpp: Copied from Tools/TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.h.
22828         (WebViewTest::platformDestroy):
22829         (WebViewTest::platformInitializeWebView):
22830         (WebViewTest::quitMainLoopAfterProcessingPendingEvents):
22831         (WebViewTest::resizeView):
22832         (WebViewTest::hideView):
22833         (WebViewTest::mouseMoveTo):
22834         (WebViewTest::clickMouseButton):
22835         (WebViewTest::keyStroke):
22837 2017-06-22  Carlos Garcia Campos  <cgarcia@igalia.com>
22839         [GTK] Move WebKit2 GLib API tests to glib directories
22840         https://bugs.webkit.org/show_bug.cgi?id=173642
22842         Reviewed by Žan Doberšek.
22844         * CMakeLists.txt:
22845         * TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt: Removed.
22846         * TestWebKitAPI/Tests/WebKit2Gtk/resources/webkit2gtk-tests.gresource.xml: Removed.
22847         * TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/FrameTest.cpp.
22848         * TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestAuthentication.cpp.
22849         * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestAutomationSession.cpp.
22850         * TestWebKitAPI/Tests/WebKitGLib/TestBackForwardList.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestBackForwardList.cpp.
22851         * TestWebKitAPI/Tests/WebKitGLib/TestConsoleMessage.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestConsoleMessage.cpp.
22852         (testWebKitConsoleMessageNetworkError):
22853         * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestCookieManager.cpp.
22854         * TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp.
22855         * TestWebKitAPI/Tests/WebKitGLib/TestFrame.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestFrame.cpp.
22856         * TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp.
22857         (testLoadFromGResource):
22858         * TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp.
22859         * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp.
22860         * TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp.
22861         * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp.
22862         * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp.
22863         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFaviconDatabase.cpp.
22864         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFindController.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFindController.cpp.
22865         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitPolicyClient.cpp.
22866         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSecurityOrigin.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitSecurityOrigin.cpp.
22867         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitSettings.cpp.
22868         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitUserContentManager.cpp.
22869         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp.
22870         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp.
22871         (testWebViewRunJavaScript):
22872         * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebsiteData.cpp.
22873         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp.
22874         (registerGResource):
22875         * TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp.
22876         * TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.h: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.h.
22877         * TestWebKitAPI/Tests/WebKitGLib/resources/blank.ico: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/blank.ico.
22878         * TestWebKitAPI/Tests/WebKitGLib/resources/boring.html: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/boring.html.
22879         * TestWebKitAPI/Tests/WebKitGLib/resources/link-title.js: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/link-title.js.
22880         * TestWebKitAPI/Tests/WebKitGLib/resources/silence.mpg: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/silence.mpg.
22881         * TestWebKitAPI/Tests/WebKitGLib/resources/simple.json: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/simple.json.
22882         * TestWebKitAPI/Tests/WebKitGLib/resources/test-cert.pem: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/test-cert.pem.
22883         * TestWebKitAPI/Tests/WebKitGLib/resources/test-key.pem: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/test-key.pem.
22884         * TestWebKitAPI/Tests/WebKitGLib/resources/test.pdf: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/test.pdf.
22885         * TestWebKitAPI/Tests/WebKitGLib/resources/track.ogg: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/track.ogg.
22886         * TestWebKitAPI/Tests/WebKitGLib/resources/webkitglib-tests.gresource.xml: Added.
22887         * TestWebKitAPI/glib/CMakeLists.txt: Added.
22888         * TestWebKitAPI/glib/PlatformGTK.cmake: Added.
22889         * TestWebKitAPI/glib/WebKitGLib/LoadTrackingTest.cpp: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/LoadTrackingTest.cpp.
22890         * TestWebKitAPI/glib/WebKitGLib/LoadTrackingTest.h: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/LoadTrackingTest.h.
22891         * TestWebKitAPI/glib/WebKitGLib/TestMain.cpp: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/TestMain.cpp.
22892         (registerGResource):
22893         * TestWebKitAPI/glib/WebKitGLib/TestMain.h: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/TestMain.h.
22894         (Test::getResourcesDir):
22895         * TestWebKitAPI/glib/WebKitGLib/WebKitTestBus.cpp: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestBus.cpp.
22896         * TestWebKitAPI/glib/WebKitGLib/WebKitTestBus.h: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestBus.h.
22897         * TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestServer.cpp.
22898         * TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.h: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestServer.h.
22899         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp.
22900         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.h.
22902 2017-06-22  Carlos Garcia Campos  <cgarcia@igalia.com>
22904         [WPE] Add initial web extensions API
22905         https://bugs.webkit.org/show_bug.cgi?id=173640
22907         Reviewed by Žan Doberšek.
22909         Add style checker exceptions for WPE web extensions API files.
22911         * Scripts/webkitpy/style/checker.py:
22913 2017-06-21  Wenson Hsieh  <wenson_hsieh@apple.com>
22915         [iOS DnD] [WK2] Cancelling a drag interaction using the ObjC SPI causes subsequent dragging to fail
22916         https://bugs.webkit.org/show_bug.cgi?id=173659
22917         <rdar://problem/32879788>
22919         Reviewed by Tim Horton.
22921         Adds a new test to verify that a lift cancelled within the UI process does not cause subsequent dragging to fail.
22923         * TestWebKitAPI/Tests/WebKit2Cocoa/link-and-target-div.html:
22925         Augment this test page to log dragend and dragstart events on the drag source as well.
22927         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
22928         (checkStringArraysAreEqual):
22929         (TestWebKitAPI::TEST):
22931 2017-06-21  Antoine Quint  <graouts@apple.com>
22933         Ensure DRT always logs rAF suspension debugging code
22934         https://bugs.webkit.org/show_bug.cgi?id=173681
22936         Reviewed by Tim "Mr. T" Horton.
22938         * DumpRenderTree/mac/DumpRenderTree.mm:
22939         (resetWebPreferencesToConsistentValues):
22941 2017-06-21  Chris Dumez  <cdumez@apple.com>
22943         Allow constructing a WTF:Function from a function pointer
22944         https://bugs.webkit.org/show_bug.cgi?id=173660
22946         Reviewed by Alex Christensen.
22948         Add API test coverage.
22950         * TestWebKitAPI/Tests/WTF/Function.cpp:
22951         (TestWebKitAPI::returnThree):
22952         (TestWebKitAPI::returnFour):
22953         (TestWebKitAPI::returnPassedValue):
22954         (TestWebKitAPI::TEST):
22956 2017-06-21  Antoine Quint  <graouts@apple.com>
22958         Add logging to identify when the Page suspends scripted animations
22959         https://bugs.webkit.org/show_bug.cgi?id=173626
22961         Reviewed by Tim Horton.
22963         Turn the new logging on for WK1/DRT since the issue we're trying to pinpoint only occurs on WK1 bots.
22965         * DumpRenderTree/mac/DumpRenderTree.mm:
22966         (resetWebPreferencesToConsistentValues):
22968 2017-06-21  Chris Fleizach  <cfleizach@apple.com>
22970         AX: Cannot call setValue() on contenteditable or ARIA text controls
22971         https://bugs.webkit.org/show_bug.cgi?id=173520
22973         Reviewed by Ryosuke Niwa.
22975         Add setValue() method to WKTR (already existed in DRT).
22977         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
22978         (WTR::AccessibilityUIElement::setValue):
22979         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
22980         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
22981         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
22982         (WTR::AccessibilityUIElement::setValue):
22984 2017-06-21  Zan Dobersek  <zdobersek@igalia.com>
22986         List libtasn1 packages in GTK+ and WPE install-dependencies scripts
22987         as one of the dependencies required to build the product.
22989         Rubber-stamped by Carlos Garcia Campos.
22991         * gtk/install-dependencies:
22992         * wpe/install-dependencies:
22994 2017-06-20  Myles C. Maxfield  <mmaxfield@apple.com>
22996         Disable font variations on macOS Sierra and iOS 10
22997         https://bugs.webkit.org/show_bug.cgi?id=173618
22998         <rdar://problem/32879164>
23000         Reviewed by Jon Lee.
23002         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
23004 2017-06-20  Wenson Hsieh  <wenson_hsieh@apple.com>
23006         [iOS DnD] [WK2] Remove custom logic for disambiguating long press action sheet gestures and drag lift
23007         https://bugs.webkit.org/show_bug.cgi?id=173578
23008         <rdar://problem/32825028>
23010         Reviewed by Tim Horton.
23012         Slight tweak to ensure that DataInteractionTests.CustomActionSheetPopover still passes and verifies that showing
23013         a custom popover does not cause dragging to fail when the popover is presented.
23015         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
23016         (-[DataInteractionSimulator _advanceProgress]):
23018 2017-06-20  Carlos Garcia Campos  <cgarcia@igalia.com>
23020         [WPE] Add initial implementation of glib API
23021         https://bugs.webkit.org/show_bug.cgi?id=173546
23023         Reviewed by Žan Doberšek.
23025         Disable geolocation because WPE doesn't implement any provider and update the style checker exceptions to
23026         include WPE glib API files.
23028         * Scripts/webkitperl/FeatureList.pm:
23029         * Scripts/webkitpy/style/checker.py:
23030         * Scripts/webkitpy/style/checkers/cpp.py:
23031         (check_identifier_name_in_declaration):
23033 2017-06-20  Carlos Garcia Campos  <cgarcia@igalia.com>
23035         [GTK] Upgrade to ICU to version 57.1
23036         https://bugs.webkit.org/show_bug.cgi?id=173538
23038         Reviewed by Žan Doberšek.
23040         * gtk/jhbuild.modules:
23042 2017-06-20  Carlos Garcia Campos  <cgarcia@igalia.com>
23044         [GTK] Remove unneeded modules from the jhbuild
23045         https://bugs.webkit.org/show_bug.cgi?id=170540
23047         Reviewed by Michael Catanzaro.
23049         We are building libxslt and libffi that we don't really need to build from sources.
23051         * gtk/jhbuild.modules:
23053 2017-06-19  Frederic Wang  <fwang@igalia.com>
23055         [Mac] Add an experimental feature setting for async frame scrolling
23056         https://bugs.webkit.org/show_bug.cgi?id=173359
23058         Reviewed by Simon Fraser.
23060         * DumpRenderTree/mac/DumpRenderTree.mm:
23061         (enableExperimentalFeatures): Do not enable async frame scrolling for now.
23062         (resetWebPreferencesToConsistentValues): Disable async frame scrolling by default.
23063         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
23064         (WTR::InjectedBundle::beginTesting): Initalize to async frame scrolling to false.
23066 2017-06-19  Guillaume Emont  <guijemont@igalia.com>
23068         Unreviewed, adding myself to contributors.json
23070         * Scripts/webkitpy/common/config/contributors.json:
23072 2017-06-19  Joseph Pecoraro  <pecoraro@apple.com>
23074         test262: Completion values for control flow do not match the spec
23075         https://bugs.webkit.org/show_bug.cgi?id=171265
23077         Reviewed by Saam Barati.
23079         * Scripts/run-jsc-stress-tests:
23080         Include a :failDueToOutdatedOrBadTest to mark failures with justification.
23082 2017-06-19  Zalan Bujtas  <zalan@apple.com>
23084         Opening certain mails brings up a mail that grows indefinitely.
23085         https://bugs.webkit.org/show_bug.cgi?id=173562
23086         <rdar://problem/32766579>
23088         Reviewed by Tim Horton.
23090         * TestWebKitAPI/Tests/WebKit2Cocoa/AutoLayoutIntegration.mm:
23091         (TEST):
23093 2017-06-19  Wenson Hsieh  <wenson_hsieh@apple.com>
23095         [iOS DnD] Support .zip archives for file uploads via drag and drop
23096         https://bugs.webkit.org/show_bug.cgi?id=173511
23097         <rdar://problem/32521025>
23099         Reviewed by Tim Horton.
23101         Adds tests for dropping .zip archives into a JavaScript-based file upload area, as well as into a file input.
23102         Also verifies that URLs are not handled as file drops. See WebCore ChangeLog for more details.
23104         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
23105         * TestWebKitAPI/Tests/WebKit2Cocoa/compressed-files.zip: Added.
23106         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
23107         (testZIPArchive):
23108         (TestWebKitAPI::TEST):
23110 2017-06-18  Darin Adler  <darin@apple.com>
23112         Fix Ref to deref before assignment, add tests for this to RefPtr, Ref, Function
23113         https://bugs.webkit.org/show_bug.cgi?id=173526
23115         Reviewed by Sam Weinig.
23117         * TestWebKitAPI/CMakeLists.txt: Added Function.cpp.
23118         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Ditto.
23120         * TestWebKitAPI/Tests/WTF/Function.cpp: Added. Contains basic tests and some
23121         tests for assignment before destruction ones.
23123         * TestWebKitAPI/Tests/WTF/MoveOnly.h: Added a () operator so this can be used
23124         as a function, so it can be used in WTF::Function tests.
23126         * TestWebKitAPI/Tests/WTF/Ref.cpp: Use EXPECT macros insead of ASSERT.
23127         Added tests for swap and for assignment before deref.
23129         * TestWebKitAPI/Tests/WTF/RefLogger.cpp: Stopped using inlining; no good reason
23130         to inline everything. Also removed the unnecessary clearing of the log every time
23131         the DerivedRefLogger constructor is called.
23132         * TestWebKitAPI/Tests/WTF/RefLogger.h: Ditto.
23134         * TestWebKitAPI/Tests/WTF/RefPtr.cpp: Use EXPECT macros instead of ASSERT.
23135         Added tests for assignment before deref and similar for releaseNonNull.
23137 2017-06-19  Sam Weinig  <sam@webkit.org>
23139         [WebIDL] Properly model buffer source / typed arrays as their own IDL types
23140         https://bugs.webkit.org/show_bug.cgi?id=173513
23142         Reviewed by Alex Christensen.
23144         * DumpRenderTree/Bindings/CodeGeneratorDumpRenderTree.pm:
23145         * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:
23146         Replace IsNonPointerType subroutine with IsPrimitiveType so we can remove IsNonPointerType.
23148 2017-06-19  Per Arne Vollan  <pvollan@apple.com>
23150         [Win] fast/dom/assign-to-window-status.html is flaky.
23151         https://bugs.webkit.org/show_bug.cgi?id=173512
23153         Reviewed by Alex Christensen.
23155         We should not dump status callbacks when test is done.
23157         * DumpRenderTree/win/UIDelegate.cpp:
23158         (UIDelegate::setStatusText):
23160 2017-06-19  Carlos Alberto Lopez Perez  <clopez@igalia.com>
23162         [WPE][JHBuild] Update WPEBackend-mesa
23163         https://bugs.webkit.org/show_bug.cgi?id=173433
23165         Unreviewed.
23167         Update WPEBackend-mesa back (like it was done originally in r218344)
23168         after fixing the issue with the DISPLAY environment variables that
23169         caused the crashes.
23171         * wpe/jhbuild.modules:
23173 2017-06-19  Carlos Alberto Lopez Perez  <clopez@igalia.com>
23175         Rename unit test file after r218482
23176         https://bugs.webkit.org/show_bug.cgi?id=173483
23178         Unreviewed.
23180         * Scripts/webkitpy/port/waylanddriver_unittest.py: Renamed from Tools/Scripts/webkitpy/port/wayland_unittest.py.
23182 2017-06-19  Carlos Garcia Campos  <cgarcia@igalia.com>
23184         Unreviewed. Fix wrong style checker condition added in r218487.
23186         * Scripts/webkitpy/style/checkers/cpp.py:
23187         (check_identifier_name_in_declaration):
23189 2017-06-19  Adrian Perez de Castro  <aperez@igalia.com>
23191         Missing <functional> includes make builds fail with GCC 7.x
23192         https://bugs.webkit.org/show_bug.cgi?id=173544
23194         Unreviewed gardening.
23196         Fix compilation with GCC 7.
23198         * TestWebKitAPI/Tests/WTF/HashSet.cpp:
23199         * TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.h:
23201 2017-06-19  Carlos Garcia Campos  <cgarcia@igalia.com>
23203         [GTK] Move GTK+ API files that could be shared to glib dirs
23204         https://bugs.webkit.org/show_bug.cgi?id=173545
23206         Reviewed by Žan Doberšek.
23208         Update paths of GTK+ API in watchlist and style checker.
23210         * Scripts/webkitpy/common/config/watchlist:
23211         * Scripts/webkitpy/style/checker.py:
23212         * Scripts/webkitpy/style/checkers/cpp.py:
23213         (check_identifier_name_in_declaration):
23215 2017-06-19  Carlos Alberto Lopez Perez  <clopez@igalia.com>
23217         Port setup_environ_for_server should not set environment variables related with the driver.
23218         https://bugs.webkit.org/show_bug.cgi?id=173483
23220         Reviewed by Carlos Garcia Campos.
23222         The port setup_environ_for_server() should not set environment variables
23223         that depend on the type of driver (like DISPLAY or GDK_BACKEND).
23224         This varibles should be only set on the driver setup_environ_for_test().
23226         This causes that (for example) the variable DISPLAY or XAUTHORITY leaks
23227         into the test environment even when running the tests with a driver
23228         that is not the Xorg or Xvfb one.
23230         * Scripts/webkitpy/port/base.py: Stop setting XAUTHORITY and DISPLAY here.
23231         (Port.to.setup_environ_for_server):
23232         * Scripts/webkitpy/port/driver.py: Remove unneded WEBKIT_OUTPUTDIR that is already set on base.py
23233         (Driver._setup_environ_for_driver):
23234         * Scripts/webkitpy/port/driver_unittest.py:
23235         (DriverTest.test_setup_environ_for_test):
23236         (DriverTest):
23237         (DriverTest.test_setup_environ_base_vars):
23238         * Scripts/webkitpy/port/gtk.py: Stop setting GDK_BACKEND here and do that on the driver (Xvfb).
23239         (GtkPort.setup_environ_for_server):
23240         * Scripts/webkitpy/port/wayland_unittest.py: Added.
23241         (WaylandDriverTest):
23242         (WaylandDriverTest.make_driver):
23243         (WaylandDriverTest.make_environment):
23244         (WaylandDriverTest.test_checkdriver):
23245         (WaylandDriverTest.test_environment_needed_variables):
23246         (WaylandDriverTest.test_environment_forbidden_variables):
23247         (WaylandDriverTest.test_environment_optional_variables):
23248         * Scripts/webkitpy/port/waylanddriver.py: Allow the driver to run also with WAYLAND_SOCKET.
23249         (WaylandDriver.check_driver):
23250         (WaylandDriver._setup_environ_for_test):
23251         * Scripts/webkitpy/port/xorgdriver.py:
23252         (XorgDriver.check_driver):
23253         (XorgDriver._setup_environ_for_test):
23254         * Scripts/webkitpy/port/xorgdriver_unittest.py: Added.
23255         (XorgDriverTest):
23256         (XorgDriverTest.make_driver):
23257         (XorgDriverTest.make_environment):
23258         (XorgDriverTest.test_checkdriver):
23259         (XorgDriverTest.test_environment_needed_variables):
23260         (XorgDriverTest.test_environment_forbidden_variables):
23261         (XorgDriverTest.test_environment_optional_variables):
23262         * Scripts/webkitpy/port/xvfbdriver.py:
23263         (XvfbDriver._setup_environ_for_test):
23264         * Scripts/webkitpy/port/xvfbdriver_unittest.py:
23265         (XvfbDriverTest.assertDriverStartSuccessful):
23268 2017-05-14 Frederic Wang  <fwang@igalia.com>
23270         Add heuristic to avoid flattening "fullscreen" iframes
23271         https://bugs.webkit.org/show_bug.cgi?id=171914
23273         Reviewed by Simon Fraser.
23275         * DumpRenderTree/mac/DumpRenderTree.mm:
23276         (resetWebPreferencesToConsistentValues): Use WebKitFrameFlatteningDisabled.
23278 2017-06-18  Chris Dumez  <cdumez@apple.com>
23280         Crash when re-entering MediaDevicesEnumerationRequest::cancel()
23281         https://bugs.webkit.org/show_bug.cgi?id=173522
23282         <rdar://problem/31185739>
23284         Reviewed by Darin Adler.
23286         Add API test for re-entering Function's assignment operators.
23288         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
23289         * TestWebKitAPI/Tests/WTF/Function.cpp: Added.
23290         (TestWebKitAPI::TestObject::TestObject):
23291         (TestWebKitAPI::TestObject::~TestObject):
23292         (TestWebKitAPI::TestObject::operator()):
23293         (TestWebKitAPI::TEST):
23295 2017-06-16  Dan Bernstein  <mitz@apple.com>
23297         [Cocoa] Some declarations have missing or incorrect availability attributes
23298         https://bugs.webkit.org/show_bug.cgi?id=173508
23300         Reviewed by Tim Horton.
23302         * TestWebKitAPI/Tests/ios/PositionInformationTests.mm:
23303         (TestWebKitAPI::TEST): Updated for renames.
23305 2017-06-16  Wenson Hsieh  <wenson_hsieh@apple.com>
23307         [iOS DnD] Upstream iOS drag and drop implementation into OpenSource WebKit
23308         https://bugs.webkit.org/show_bug.cgi?id=173366
23309         <rdar://problem/32767014>
23311         Reviewed by Tim Horton.
23313         Move test pages and pieces of DataInteractionSimulator hidden behind WebKitAdditions into TestWebKitAPI. No
23314         change in behavior.
23316         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
23317         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
23318         * TestWebKitAPI/Tests/WebKit2Cocoa/autofocus-contenteditable.html: Added.
23319         * TestWebKitAPI/Tests/WebKit2Cocoa/background-image-link-and-input.html: Added.
23320         * TestWebKitAPI/Tests/WebKit2Cocoa/contenteditable-and-textarea.html: Added.
23321         * TestWebKitAPI/Tests/WebKit2Cocoa/div-and-large-image.html: Added.
23322         * TestWebKitAPI/Tests/WebKit2Cocoa/file-uploading.html: Added.
23323         * TestWebKitAPI/Tests/WebKit2Cocoa/image-and-contenteditable.html: Added.
23324         * TestWebKitAPI/Tests/WebKit2Cocoa/image-and-textarea.html: Added.
23325         * TestWebKitAPI/Tests/WebKit2Cocoa/link-and-input.html: Added.
23326         * TestWebKitAPI/Tests/WebKit2Cocoa/link-and-target-div.html: Added.
23327         * TestWebKitAPI/Tests/WebKit2Cocoa/prevent-operation.html: Added.
23328         * TestWebKitAPI/Tests/WebKit2Cocoa/prevent-start.html: Added.
23329         * TestWebKitAPI/Tests/WebKit2Cocoa/textarea-to-input.html: Added.
23330         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
23331         (-[MockDragDropSession initWithItems:location:window:]):
23332         (-[MockDragDropSession allowsMoveOperation]):
23333         (-[MockDragDropSession isRestrictedToDraggingApplication]):
23334         (-[MockDragDropSession hasItemsConformingToTypeIdentifiers:]):
23335         (-[MockDragDropSession canLoadObjectsOfClass:]):
23336         (-[MockDragDropSession canLoadObjectsOfClasses:]):
23337         (-[MockDragDropSession items]):
23338         (-[MockDragDropSession setItems:]):
23339         (-[MockDragDropSession locationInView:]):
23340         (-[MockDataOperationSession initWithProviders:location:window:]):
23341         (-[MockDataOperationSession session]):
23342         (-[MockDataOperationSession isLocal]):
23343         (-[MockDataOperationSession progress]):
23344         (-[MockDataOperationSession setProgressIndicatorStyle:]):
23345         (-[MockDataOperationSession progressIndicatorStyle]):
23346         (-[MockDataOperationSession operationMask]):
23347         (-[MockDataOperationSession localDragSession]):
23348         (-[MockDataOperationSession hasItemsConformingToTypeIdentifier:]):
23349         (-[MockDataOperationSession canCreateItemsOfClass:]):
23350         (-[MockDataOperationSession loadObjectsOfClass:completion:]):
23351         (-[MockDataInteractionSession initWithWindow:]):
23352         (-[MockDataInteractionSession localOperationMask]):
23353         (-[MockDataInteractionSession externalOperationMask]):
23354         (-[MockDataInteractionSession session]):
23355         (-[DataInteractionSimulator _advanceProgress]):
23357 2017-06-16  Alex Christensen  <achristensen@webkit.org>
23359         Show punycode to user if a URL has dotless i or j followed by diacritic dot
23360         https://bugs.webkit.org/show_bug.cgi?id=173431
23362         Reviewed by Darin Adler.
23364         * TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
23365         (TestWebKitAPI::TEST):
23367 2017-06-16  Chris Dumez  <cdumez@apple.com>
23369         [WK2] Add WKProcessPool SPI to efficiently reset all plugin load client policies
23370         https://bugs.webkit.org/show_bug.cgi?id=173472
23371         <rdar://problem/28858817>
23373         Reviewed by Brady Eidson.
23375         Add API test coverage.
23377         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
23378         * TestWebKitAPI/Tests/WebKit2Cocoa/PluginLoadClientPolicies.mm: Added.
23379         (TEST):
23381 2017-06-16  Brady Eidson  <beidson@apple.com>
23383         REGRESSION (r218015) IconLoaders for already-cached resources expect to be asynchronous, no longer are.
23384         <rdar://problem/32817519> and https://bugs.webkit.org/show_bug.cgi?id=173478
23386         Reviewed by Daniel Bates.
23388         * TestWebKitAPI/Tests/WebKit2Cocoa/IconLoadingDelegate.mm:
23390 2017-06-16  Chris Dumez  <cdumez@apple.com>
23392         DRT fails to reset page visibility between tests
23393         https://bugs.webkit.org/show_bug.cgi?id=173485
23395         Reviewed by Alexey Proskuryakov.
23397         DRT fails to reset page visibility between tests and relies on tests calling testRunner.resetPageVisibility().
23398         Fix this to address flakiness.
23400         I confirmed this by commenting out the call to testRunner.resetPageVisibility() in
23401         fast/events/page-visibility-onvisibilitychange.html and running the test in a loop.
23402         The test became flaky without the DRT change and was no longer flaky with the DRT
23403         change.
23405         WebKitTestRunner already does this.
23407         * DumpRenderTree/mac/DumpRenderTree.mm:
23408         (resetWebViewToConsistentStateBeforeTesting):
23410 2017-06-16  Alex Christensen  <achristensen@webkit.org>
23412         Implement basic authentication in MiniBrowser
23413         https://bugs.webkit.org/show_bug.cgi?id=173443
23415         Reviewed by Tim Horton.
23417         * MiniBrowser/mac/WK2BrowserWindowController.m:
23418         (-[WK2BrowserWindowController webView:didReceiveAuthenticationChallenge:completionHandler:]):
23420 2017-06-16  Jer Noble  <jer.noble@apple.com>
23422         [WebRTC] Removing a MediaStreamTrack from a MediaStream reports no recording to WebKit clients
23423         https://bugs.webkit.org/show_bug.cgi?id=173398
23424         <rdar://problem/32592961>
23426         Reviewed by Eric Carlson.
23428         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
23429         * TestWebKitAPI/Tests/WebKit2/MediaStreamTrackDetached.mm: Added.
23430         (-[MediaStreamTrackDetachedUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
23431         (-[MediaStreamTrackDetachedUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
23432         (-[MediaStreamTrackDetachedUIDelegate _webView:mediaCaptureStateDidChange:]):
23433         (TestWebKitAPI::TEST):
23434         * TestWebKitAPI/Tests/WebKit2/mediastreamtrack-detached.html: Added.
23436 2017-06-16  Matt Lewis  <jlewis3@apple.com>
23438         Unreviewed, rolling out r218375.
23440         The API test MediaStreamTrackDetached is still timing out
23441         after the patch
23443         Reverted changeset:
23445         "[WebRTC] Removing a MediaStreamTrack from a MediaStream
23446         reports no recording to WebKit clients"
23447         https://bugs.webkit.org/show_bug.cgi?id=173398
23448         http://trac.webkit.org/changeset/218375
23450 2017-06-15  Jer Noble  <jer.noble@apple.com>
23452         [WebRTC] Removing a MediaStreamTrack from a MediaStream reports no recording to WebKit clients
23453         https://bugs.webkit.org/show_bug.cgi?id=173398
23454         <rdar://problem/32592961>
23456         Reviewed by Eric Carlson.
23458         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
23459         * TestWebKitAPI/Tests/WebKit2/MediaStreamTrackDetached.mm: Added.
23460         (-[MediaStreamTrackDetachedUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
23461         (-[MediaStreamTrackDetachedUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
23462         (-[MediaStreamTrackDetachedUIDelegate _webView:mediaCaptureStateDidChange:]):
23463         (TestWebKitAPI::TEST):
23464         * TestWebKitAPI/Tests/WebKit2/mediastreamtrack-detached.html: Added.
23466 2017-06-15  Matt Lewis  <jlewis3@apple.com>
23468         Unreviewed, rolling out r218365.
23470         The revision caused API timeouts on all builds.
23472         Reverted changeset:
23474         "[WebRTC] Removing a MediaStreamTrack from a MediaStream
23475         reports no recording to WebKit clients"
23476         https://bugs.webkit.org/show_bug.cgi?id=173398
23477         http://trac.webkit.org/changeset/218365
23479 2017-06-15  Jer Noble  <jer.noble@apple.com>
23481         [WebRTC] Removing a MediaStreamTrack from a MediaStream reports no recording to WebKit clients
23482         https://bugs.webkit.org/show_bug.cgi?id=173398
23483         <rdar://problem/32592961>
23485         Reviewed by Eric Carlson.
23487         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
23488         * TestWebKitAPI/Tests/WebKit2/MediaStreamTrackDetached.mm: Added.
23489         (-[MediaStreamTrackDetachedUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
23490         (-[MediaStreamTrackDetachedUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
23491         (-[MediaStreamTrackDetachedUIDelegate _webView:mediaCaptureStateDidChange:]):
23492         (TestWebKitAPI::TEST):
23493         * TestWebKitAPI/Tests/WebKit2/mediastreamtrack-detached.html: Added.
23495 2017-06-15  Carlos Alberto Lopez Perez  <clopez@igalia.com>
23497         REGRESSION(r218344): [WPE] Thousands of layout test crashes
23498         https://bugs.webkit.org/show_bug.cgi?id=173433
23500         Unreviewed.
23502         * wpe/jhbuild.modules: Revert the update of WPEBackend-mesa.
23504 2017-06-15  Carlos Alberto Lopez Perez  <clopez@igalia.com>
23506         [WPE] The run-minibrowser script should allow to execute also a WPE launcher
23507         https://bugs.webkit.org/show_bug.cgi?id=173061
23509         Reviewed by Žan Doberšek.
23511         Launch dyz <https://github.com/Igalia/dyz> with the script
23512         run-minibrowser for the wpe port. It is now built as part of the
23513         WPE dependencies with JHBuild.
23515         * Scripts/run-minibrowser:
23516         * Scripts/webkitdirs.pm:
23517         (launcherPath):
23518         (launcherName):
23519         * wpe/install-dependencies: Luajit is needed for building dyz.
23520         * wpe/jhbuild.modules: Add dyz and update the revision for WPEBackend-mesa.
23522 2017-06-15  Wenson Hsieh  <wenson_hsieh@apple.com>
23524         Using -[WebItemProviderPasteboard setItemProviders:] to swap out item providers before a drop breaks item provider loading
23525         https://bugs.webkit.org/show_bug.cgi?id=173338
23526         <rdar://problem/32777720>
23528         Reviewed by Tim Horton.
23530         Adds new unit tests to ensure that -_webView:willPerformDropWithSession: can be used to filter out drag items
23531         used by WebKit when handling a drop. These tests ensure that WebItemProviderPasteboard is still able to handle
23532         these remaining items on drop.
23534         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
23535         (TestWebKitAPI::TEST):
23536         * TestWebKitAPI/ios/DataInteractionSimulator.h:
23537         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
23539         Add -overridePerformDropBlock, which can be set to provide custom handling of dropped items.
23541         (-[DataInteractionSimulator _webView:willPerformDropWithSession:]):
23543 2017-06-15  Per Arne Vollan  <pvollan@apple.com>
23545         [Win] Crash in accessibility layout test.
23546         https://bugs.webkit.org/show_bug.cgi?id=173401
23548         Reviewed by Brent Fulgham.
23550         We should not manually release the punkVal IUnknown member in a _variant_t object, since the punkVal
23551         member will be automatically released when the _variant_t object goes out of scope if the vt member
23552         does not equal VT_UNKNOWN | VT_BYREF.
23553         See https://msdn.microsoft.com/en-us/library/windows/desktop/ms221165(v=vs.85).aspx. 
23555         * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
23556         (AccessibilityUIElement::titleUIElement):
23558 2017-06-15  Carlos Garcia Campos  <cgarcia@igalia.com>
23560         [GTK] Add API to allow overriding popup menus
23561         https://bugs.webkit.org/show_bug.cgi?id=172905
23563         Reviewed by Michael Catanzaro.
23565         Add a unit test to check the new API.
23567         * TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
23568         * TestWebKitAPI/Tests/WebKit2Gtk/TestOptionMenu.cpp: Added.
23569         (OptionMenuTest::OptionMenuTest):
23570         (OptionMenuTest::~OptionMenuTest):
23571         (OptionMenuTest::destroyMenu):
23572         (OptionMenuTest::showOptionMenuCallback):
23573         (OptionMenuTest::menuCloseCallback):
23574         (OptionMenuTest::showOptionMenu):
23575         (OptionMenuTest::clickAtPositionAndWaitUntilOptionMenuShown):
23576         (OptionMenuTest::close):
23577         (OptionMenuTest::activateItem):
23578         (OptionMenuTest::selectItem):
23579         (testOptionMenuSimple):
23580         (testOptionMenuGroups):
23581         (testOptionMenuActivate):
23582         (testOptionMenuSelect):
23583         (beforeAll):
23584         (afterAll):
23586 2017-06-15  Fujii Hironori  <Hironori.Fujii@sony.com>
23588         [WinCairo] DumpRenderTree.cpp: error C3861: 'CFURLCacheCreate': identifier not found
23589         https://bugs.webkit.org/show_bug.cgi?id=173399
23591         Reviewed by Per Arne Vollan.
23593         OpenCFLite doesn't have CFURLCacheCreate and CFURLCacheSetSharedURLCache.
23594         Curl port needs to do nothing because libcurl doesn't have disk cache.
23596         * DumpRenderTree/win/DumpRenderTree.cpp:
23597         (prepareConsistentTestingEnvironment): Call CFURLCacheCreate() and
23598         CFURLCacheSetSharedURLCache() only if USE(CFURLCONNECTION).
23600 2017-06-14  Tomas Popela  <tpopela@redhat.com>
23602         [GTK] integer expression expected if running Tools/gtk/install-dependencies
23603         https://bugs.webkit.org/show_bug.cgi?id=173356
23605         Reviewed by Michael Catanzaro.
23607         Use the correct operator to compare the strings.
23609         * gtk/install-dependencies:
23611 2017-06-14  Commit Queue  <commit-queue@webkit.org>
23613         Unreviewed, rolling out r218285.
23614         https://bugs.webkit.org/show_bug.cgi?id=173391
23616         API test fails on iOS (Requested by alexchristensen on
23617         #webkit).
23619         Reverted changeset:
23621         "Add SPI for immediate injection of user scripts"
23622         https://bugs.webkit.org/show_bug.cgi?id=173342
23623         http://trac.webkit.org/changeset/218285
23625 2017-06-14  Chris Dumez  <cdumez@apple.com>
23627         WebKit falsely reports that a web process is unresponsive if you close a page shortly after stopping a load
23628         https://bugs.webkit.org/show_bug.cgi?id=173384
23629         <rdar://problem/32723779>
23631         Reviewed by Dan Bernstein.
23633         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
23634         * TestWebKitAPI/Tests/WebKit2/ResponsivenessTimer.cpp: Added.
23635         Add API test coverage.
23637         * TestWebKitAPI/cocoa/UtilitiesCocoa.mm:
23638         (TestWebKitAPI::Util::sleep):
23639         Update implementation of Util::sleep() so that we actually run the run loop.
23640         Otherwise, we don't process events while sleeping.
23642 2017-06-14  Alex Christensen  <achristensen@webkit.org>
23644         Add SPI for immediate injection of user scripts
23645         https://bugs.webkit.org/show_bug.cgi?id=173342
23646         <rdar://problem/29202285>
23648         Reviewed by Brady Eidson.
23650         * TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:
23651         (waitForMessage):
23652         (TEST):
23654 2017-06-14  Claudio Saavedra  <csaavedra@igalia.com>
23656         Add WPE to the flakiness dashboard
23657         https://bugs.webkit.org/show_bug.cgi?id=173365
23659         Reviewed by Carlos Alberto Lopez Perez.
23661         * TestResultServer/static-dashboards/builders.jsonp:
23662         * TestResultServer/static-dashboards/flakiness_dashboard.js:
23663         * TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
23664         (resetGlobals):
23665         * TestResultServer/static-dashboards/loader_unittests.js:
23667 2017-06-14  Brady Eidson  <beidson@apple.com>
23669         WKIconLoadingDelegate never gets asked about the default favicon if touch/touch-precomposed icons are in the <head>
23670         <rdar://problem/32614328> and https://bugs.webkit.org/show_bug.cgi?id=173376
23672         Reviewed by Alex Christensen.
23674         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
23675         * TestWebKitAPI/Tests/WebKit2Cocoa/IconLoadingDelegate.mm: Added.
23676         (-[IconLoadingDelegate webView:shouldLoadIconWithParameters:completionHandler:]):
23677         (-[IconLoadingSchemeHandler initWithData:mimeType:]):
23678         (-[IconLoadingSchemeHandler webView:startURLSchemeTask:]):
23679         (-[IconLoadingSchemeHandler webView:stopURLSchemeTask:]):
23680         (TEST):
23682 2017-06-14  Tim Horton  <timothy_horton@apple.com>
23684         WKContentViewEditingActions API test always fails
23685         https://bugs.webkit.org/show_bug.cgi?id=173374
23687         Reviewed by Wenson Hsieh.
23689         * TestWebKitAPI/Tests/WebKit2Cocoa/WKContentViewEditingActions.mm:
23690         (TEST):
23691         selectAll isn't working, because canPerformAction for selectAll returns NO
23692         if selectionIsNone (which is true in the non-contenteditable case).
23693         Instead, make use of r218180's test page, which knows how to select itself.
23694         Also, reset the pasteboard at the beginning of the test to reduce confusion
23695         (I landed the test broken because my simulator had the correct text
23696         stuck in its pasteboard).
23698 2017-06-14  Jonathan Bedard  <jbedard@apple.com>
23700         Configure screen scale for running layout tests on plus devices
23701         https://bugs.webkit.org/show_bug.cgi?id=173319
23703         Reviewed by Tim Horton.
23705         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Include UIKitTestSPI.h in project.
23706         * DumpRenderTree/mac/DumpRenderTree.mm:
23707         (dumpRenderTree): Set screen scale to 2.0.
23708         * TestRunnerShared/spi/UIKitTestSPI.h: Copied from Tools/WebKitTestRunner/ios/UIKitSPI.h,
23709         add _setScale for UIScreen.
23710         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Include UIKitTestSPI.h in project.
23711         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm: Import UIKitTestSPI.h instead of UIKitSPI.h.
23712         * WebKitTestRunner/ios/HIDEventGenerator.h: Ditto.
23713         * WebKitTestRunner/ios/HIDEventGenerator.mm: Ditto.
23714         * WebKitTestRunner/ios/PlatformWebViewIOS.mm: Ditto.
23715         * WebKitTestRunner/ios/TestControllerIOS.mm: Ditto.
23716         (WTR::TestController::platformInitialize): Set screen scale to 2.0.
23717         * WebKitTestRunner/ios/UIKitSPI.h: Moved to TestRunnerShared/spi/UIKitTestSPI.h.
23718         * WebKitTestRunner/ios/UIScriptControllerIOS.mm: Import UIKitTestSPI.h instead of UIKitSPI.h.
23719         * WebKitTestRunner/ios/mainIOS.mm: Ditto.
23721 2017-06-14  Alexey Proskuryakov  <ap@apple.com>
23723         Add iOS 11 support to the bot watcher's dashboard
23724         https://bugs.webkit.org/show_bug.cgi?id=173369
23726         Reviewed by Lucas Forschler.
23728         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS11.png: Added.
23729         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS11@2x.png: Added.
23730         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS11Simulator.png: Added.
23731         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS11Simulator@2x.png: Added.
23732         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
23733         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
23735 2017-06-14  Carlos Alberto Lopez Perez  <clopez@igalia.com>
23737         [GTK][WPE] Raise the timeout values for layout tests
23738         https://bugs.webkit.org/show_bug.cgi?id=173368
23740         Reviewed by Carlos Garcia Campos.
23742         Raise the values to 15 seconds in Release builds and 30 seconds (2x) in Debug builds.
23743         When running under valgrind a 10x multiplier is applied.
23745         * Scripts/webkitpy/port/gtk.py:
23746         (GtkPort.default_timeout_ms):
23747         * Scripts/webkitpy/port/gtk_unittest.py:
23748         (GtkPortTest.test_default_timeout_ms):
23749         * Scripts/webkitpy/port/wpe.py:
23750         (WPEPort.default_timeout_ms):
23751         * Scripts/webkitpy/port/wpe_unittest.py: Copied from Tools/Scripts/webkitpy/port/gtk_unittest.py.
23752         (WPEPortTest):
23753         (WPEPortTest.make_port):
23754         (WPEPortTest.test_default_timeout_ms):
23755         (WPEPortTest.test_get_crash_log):
23757 2017-06-14  Alex Christensen  <achristensen@webkit.org>
23759         Test persistent WKHTTPCookieStorages on iOS.
23760         https://bugs.webkit.org/show_bug.cgi?id=173284
23762         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
23763         (TEST):
23764         Make the bots green again for now. There's still a problem, and I'll investigate and fix.
23766 2017-06-14  Per Arne Vollan  <pvollan@apple.com>
23768         [Win] DRT should not use disk cache.
23769         https://bugs.webkit.org/show_bug.cgi?id=173361
23771         Reviewed by Darin Adler.
23773         Like on macOS/iOS, DRT on Windows should only use memory cache.
23775         * DumpRenderTree/win/DumpRenderTree.cpp:
23776         (setDefaultsToConsistentValuesForTesting):
23777         (prepareConsistentTestingEnvironment):
23779 2017-06-14  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>
23781         MediaSource duration attribute should not be equal to Infinity when set to a value greater than 2^64
23782         https://bugs.webkit.org/show_bug.cgi?id=171668
23784         Reviewed by Jer Noble.
23786         MediaSource duration attribute is a double represented in MediaSource by a MediaTime instance created with
23787         MediaTime::CreateWithDouble(). This method implements an overflow control mechanism which sets MediaTime to
23788         Infinity when the double value passed as argument is greater than 2^64.
23790         This patch removes the overflow control mechanism when time value is represented as a double. This patch also
23791         modifies the behavior of mathematical operations between a double MediaTime and rational MediaTime: the rational
23792         MediaTime is converted to a double before applying the operation. Double MediaTime precision is the same as for
23793         double. Overflow mechanisms still apply to the conversion of a double MediaTime to rational with setTimescale()
23794         method. No behavior change for rational MediaTime.
23796         * TestWebKitAPI/Tests/WTF/MediaTime.cpp: Add tests to check operation results between double and rational MediaTime.
23797         (TestWebKitAPI::TEST):
23799 2017-06-13  Alex Christensen  <achristensen@webkit.org>
23801         Test persistent WKHTTPCookieStorages on iOS
23802         https://bugs.webkit.org/show_bug.cgi?id=173284
23803         <rdar://problem/32260156>
23805         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
23806         (TEST):
23808 2017-06-13  Matt Rajca  <mrajca@apple.com>
23810         WebsitePolicies: let clients select specific autoplay quirks
23811         https://bugs.webkit.org/show_bug.cgi?id=173343
23813         Reviewed by Alex Christensen.
23815         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
23816         (-[AutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
23817         (TEST): Updated tests.
23819 2017-06-13  Daniel Bates  <dabates@apple.com>
23821         Implement W3C Secure Contexts Draft Specification
23822         https://bugs.webkit.org/show_bug.cgi?id=158121
23823         <rdar://problem/26012994>
23825         Reviewed by Brent Fulgham.
23827         Part 4
23829         Expose the isSecureContext attribute by default in DumpRenderTree and WebKitTestRunner.
23830         Teach DumpRenderTree for Mac and WebKitTestRunner to parse the test option enableIsSecureContextAttribute
23831         to toggle the runtime enabled feature flag isSecureContextAttributeEnabled.
23833         * DumpRenderTree/TestOptions.h:
23834         * DumpRenderTree/TestOptions.mm:
23835         (TestOptions::TestOptions):
23836         * DumpRenderTree/mac/DumpRenderTree.mm:
23837         (setWebPreferencesForTestOptions):
23838         * DumpRenderTree/win/DumpRenderTree.cpp:
23839         (enableExperimentalFeatures):
23840         * WebKitTestRunner/TestController.cpp:
23841         (WTR::TestController::resetPreferencesToConsistentValues):
23842         (WTR::updateTestOptionsFromTestHeader):
23843         * WebKitTestRunner/TestOptions.h:
23844         (WTR::TestOptions::hasSameInitializationOptions):
23846 2017-06-13  Alex Christensen  <achristensen@webkit.org>
23848         Test persistent WKHTTPCookieStorages on iOS
23849         https://bugs.webkit.org/show_bug.cgi?id=173284
23850         <rdar://problem/32260156>
23852         Reviewed by Alexey Proskuryakov.
23854         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
23855         (TEST):
23857 2017-06-13  Carlos Garcia Campos  <cgarcia@igalia.com>
23859         [GTK] Blob download doesn't work
23860         https://bugs.webkit.org/show_bug.cgi?id=172442
23862         Reviewed by Carlos Alberto Lopez Perez.
23864         Add a unit test to check blob downloads.
23866         * TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp:
23867         (testBlobDownload):
23868         (beforeAll):
23870 2017-06-13  Carlos Garcia Campos  <cgarcia@igalia.com>
23872         [GTK] Do not include WTR, DumpRendererTree and ImageDiff in tarballs
23873         https://bugs.webkit.org/show_bug.cgi?id=173316
23875         Reviewed by Alex Christensen.
23877         It's not really possible to run layout tests from the tarball, so it's better not to include those files.
23879         * gtk/manifest.txt.in:
23881 2017-06-13  Carlos Garcia Campos  <cgarcia@igalia.com>
23883         [WTR] Crash in WebGeolocationManagerProxy::~WebGeolocationManagerProxy() when running several tests
23884         https://bugs.webkit.org/show_bug.cgi?id=173315
23886         Reviewed by Darin Adler.
23888         This has started to happen after r218165, but I don't think it's a regression, but that r218165 revealed the bug
23889         somehow in WTR. The problem is that GeolocationProviderMock keeps a pointer to the WKGeolocationManagerRef
23890         returned by WKContextGetGeolocationManager. But in TestController::generatePageConfiguration() the context is
23891         freed before the GeolocationProviderMock. When the GeolocationProviderMock is then destroyed, it calls
23892         WKGeolocationManagerSetProvider(m_geolocationManager, 0); but the WKGeolocationManagerRef has already been
23893         destroyed. GeolocationProviderMock should keep a reference to the WKContext to ensure the
23894         WKGeolocationManagerRef is not destroyed.
23896         * WebKitTestRunner/GeolocationProviderMock.cpp:
23897         (WTR::GeolocationProviderMock::GeolocationProviderMock):
23898         * WebKitTestRunner/GeolocationProviderMock.h:
23900 2017-06-13  Wenson Hsieh  <wenson_hsieh@apple.com>
23902         Unable to paste text that was copied from a page into the universal search field
23903         https://bugs.webkit.org/show_bug.cgi?id=173293
23904         <rdar://problem/32440918>
23906         Reviewed by Ryosuke Niwa.
23908         Adds 2 new unit tests for copying plain and rich selected web content.
23909         See WebCore and WebKit ChangeLogs for more detail.
23911         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
23912         * TestWebKitAPI/Tests/WebKit2Cocoa/rich-and-plain-text.html: Added.
23913         * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm: Added.
23914         (TestWebKitAPI::dataForPasteboardType):
23915         (TestWebKitAPI::setUpWebViewForPasteboardTests):
23916         (TestWebKitAPI::TEST):
23918 2017-06-13  Joanmarie Diggs  <jdiggs@igalia.com>
23920         AX: [ATK] Implement missing AtkRelation types
23921         https://bugs.webkit.org/show_bug.cgi?id=155494
23923         Reviewed by Darin Adler.
23925         Add additional methods to test ARIA properties which are exposed via
23926         AtkRelation. Implement ATK support for ariaOwnsElementAtIndex().
23928         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
23929         (WTR::AccessibilityUIElement::ariaLabelledByElementAtIndex):
23930         (WTR::AccessibilityUIElement::ariaDescribedByElementAtIndex):
23931         (WTR::AccessibilityUIElement::ariaOwnsReferencingElementAtIndex):
23932         (WTR::AccessibilityUIElement::ariaFlowToReferencingElementAtIndex):
23933         (WTR::AccessibilityUIElement::ariaControlsReferencingElementAtIndex):
23934         (WTR::AccessibilityUIElement::ariaLabelledByReferencingElementAtIndex):
23935         (WTR::AccessibilityUIElement::ariaDescribedByReferencingElementAtIndex):
23936         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
23937         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
23938         (WTR::AccessibilityUIElement::ariaOwnsElementAtIndex):
23939         (WTR::AccessibilityUIElement::ariaOwnsReferencingElementAtIndex):
23940         (WTR::AccessibilityUIElement::ariaFlowToReferencingElementAtIndex):
23941         (WTR::AccessibilityUIElement::ariaControlsReferencingElementAtIndex):
23942         (WTR::AccessibilityUIElement::ariaLabelledByElementAtIndex):
23943         (WTR::AccessibilityUIElement::ariaLabelledByReferencingElementAtIndex):
23944         (WTR::AccessibilityUIElement::ariaDescribedByElementAtIndex):
23945         (WTR::AccessibilityUIElement::ariaDescribedByReferencingElementAtIndex):
23947 2017-06-12  Daniel Bates  <dabates@apple.com>
23949         Add unit tests for SecurityOrigin::IsPotentiallyTrustworthy()
23950         https://bugs.webkit.org/show_bug.cgi?id=173286
23951         <rdar://problem/32726102>
23953         Reviewed by Brent Fulgham.
23955         * TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
23956         (TestWebKitAPI::TEST_F):
23958 2017-06-12  Lucas Forschler  <lforschler@apple.com>
23960         <rdar://problem/32683422>
23961         Teach copy-webkitlibraries-to-product-directory script about updated libraries.
23963         Reviewed by Conrad Schultz.
23965         * Scripts/copy-webkitlibraries-to-product-directory:
23967 2017-06-12  Tim Horton  <timothy_horton@apple.com>
23969         [iOS] Cmd-C doesn't copy text from WKWebView
23970         https://bugs.webkit.org/show_bug.cgi?id=173277
23971         <rdar://problem/32396742>
23973         Reviewed by Dan Bernstein.
23975         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
23976         * Tests/WebKit2Cocoa/WKContentViewEditingActions.mm:
23977         Add a test ensuring that -copy on WKContentView will cause text to be copied.
23979 2017-06-12  Jiewen Tan  <jiewen_tan@apple.com>
23981         [WebCrypto] Remove experimental feature flag of SubtleCrypto
23982         https://bugs.webkit.org/show_bug.cgi?id=173197
23983         <rdar://problem/32688148>
23985         Reviewed by Brent Fulgham.
23987         * DumpRenderTree/mac/DumpRenderTree.mm:
23988         (enableExperimentalFeatures):
23989         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
23990         (WTR::InjectedBundle::beginTesting):
23991         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
23992         (WTR::TestRunner::setSubtleCryptoEnabled): Deleted.
23993         * WebKitTestRunner/InjectedBundle/TestRunner.h:
23995 2017-06-12  Wenson Hsieh  <wenson_hsieh@apple.com>
23997         [iOS DnD] Allow the injected bundle to add client data when writing an image to the pasteboard
23998         https://bugs.webkit.org/show_bug.cgi?id=173238
23999         <rdar://problem/31943370>
24001         Reviewed by Ryosuke Niwa and Tim Horton.
24003         Add a new unit test to verify that data inserted by the injected bundle when beginning a drag on an image
24004         element is plumbed across to the UI delegate. Also refactors injected bundle unit tests to use the new version
24005         of adjustedDataInteractionItemProvidersForItemProvider: that takes representing objects and additional data.
24007         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
24008         (TestWebKitAPI::TEST):
24009         * TestWebKitAPI/ios/DataInteractionSimulator.h:
24010         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
24011         (-[DataInteractionSimulator _webView:adjustedDataInteractionItemProvidersForItemProvider:representingObjects:additionalData:]):
24012         (-[DataInteractionSimulator _webView:adjustedDataInteractionItemProviders:]): Deleted.
24014 2017-06-12  Wenson Hsieh  <wenson_hsieh@apple.com>
24016         WebItemProviderPasteboard should call its completion block immediately after a synchronous load
24017         https://bugs.webkit.org/show_bug.cgi?id=173225
24018         <rdar://problem/32713144>
24020         Reviewed by Tim Horton.
24022         Adds a new unit test to verify whether the completion block is called synchronously or asynchronously, in both
24023         cases where the synchronous timeout is very large, and the synchronous timeout is not used (0).
24025         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
24026         (TestWebKitAPI::TEST):
24028 2017-06-12  Jonathan Bedard  <jbedard@apple.com>
24030         Return correct process names for iOS on-device testing
24031         https://bugs.webkit.org/show_bug.cgi?id=173263
24033         Reviewed by Alex Christensen.
24035         When running tests on iOS devices, process names do not end with '.Development'
24036         as they do on Mac and iOS simulator.
24038         * WebKitTestRunner/TestController.cpp:
24039         (WTR::TestController::webProcessName): Return correct process name without '.Development'
24040         for iOS on-device testing.
24041         (WTR::TestController::networkProcessName): Ditto.
24042         (WTR::TestController::databaseProcessName): Ditto.
24044 2017-06-12  Chris Dumez  <cdumez@apple.com>
24046         Regression(r217867): Legacy SessionHistoryEntryData format should not change
24047         https://bugs.webkit.org/show_bug.cgi?id=173267
24048         <rdar://problem/32701257>
24050         Reviewed by Simon Fraser.
24052         Restrict test to stop covering saving / restore of scrollRestoration via the legacy
24053         SessionHistoryEntryData. Maintain coverage for the default value of scrollRestoration
24054         though as this covers the crash that r217867 was fixing.
24056         * TestWebKitAPI/Tests/WebKit2/RestoreSessionState.cpp:
24057         (TestWebKitAPI::createSessionStateData):
24058         (TestWebKitAPI::TEST):
24059         (TestWebKitAPI::createSessionStateDataContainingScrollRestoration): Deleted.
24061 2017-06-12  Carlos Garcia Campos  <cgarcia@igalia.com>
24063         [GTK] Stop dismissing menus attached to the web view for every injected event
24064         https://bugs.webkit.org/show_bug.cgi?id=172708
24066         Reviewed by Alex Christensen.
24068         It's a workaround we added in r184015 that has worked so far for the context menu, but doesn't really work now
24069         that we also attach popup menus to the web view. We really need to be able to show a popup menu, and then send
24070         events while the menu is open.
24072         * WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
24073         (WTR::EventSendingController::contextClick): Use WKBundlePageCopyContextMenuAtPointInWindow() also in GTK+ port.
24074         * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
24075         (WTR::EventSenderProxy::dispatchEvent): Stop calling PlatformWebView::dismissAllPopupMenus().
24077 2017-06-12  Miguel Gomez  <magomez@igalia.com>
24079         [GTK][WPE] Enable GStreamer GL on development builds
24080         https://bugs.webkit.org/show_bug.cgi?id=173248
24082         Enable GStreamer GL for GTK and WPE.
24084         Reviewed by Carlos Garcia Campos.
24086         * Scripts/webkitperl/FeatureList.pm:
24088 2017-06-12  Carlos Garcia Campos  <cgarcia@igalia.com>
24090         Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/notification after r216641.
24092         Notifications are no longer cleared on page navigation.
24094         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
24095         (testWebViewNotification):
24097 2017-06-11  Carlos Garcia Campos  <cgarcia@igalia.com>
24099         Unreviewed. Fix GTK+ test /webkit2/WebKitAutomationSession/request-session after r217831.
24101         DBus interface and object path names were updated in r217831.
24103         * TestWebKitAPI/Tests/WebKit2Gtk/TestAutomationSession.cpp:
24105 2017-06-10  Dan Bernstein  <mitz@apple.com>
24107         Reverted r218056 because it made the IDE reindex constantly.
24109         * ContentExtensionTester/Configurations/DebugRelease.xcconfig:
24110         * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
24111         * ImageDiff/cg/Configurations/DebugRelease.xcconfig:
24112         * MiniBrowser/Configurations/DebugRelease.xcconfig:
24113         * MobileMiniBrowser/Configurations/DebugRelease.xcconfig:
24114         * TestWebKitAPI/Configurations/DebugRelease.xcconfig:
24115         * WebEditingTester/Configurations/DebugRelease.xcconfig:
24116         * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
24118 2017-06-10  Dan Bernstein  <mitz@apple.com>
24120         [Xcode] With Xcode 9 developer beta, everything rebuilds when switching between command-line and IDE
24121         https://bugs.webkit.org/show_bug.cgi?id=173223
24123         Reviewed by Sam Weinig.
24125         The rebuilds were happening due to a difference in the compiler options that the IDE and
24126         xcodebuild were specifying. Only the IDE was passing the -index-store-path option. To make
24127         xcodebuild pass that option, too, set CLANG_INDEX_STORE_ENABLE to YES if it is unset, and
24128         specify an appropriate path in CLANG_INDEX_STORE_PATH.
24130         * ContentExtensionTester/Configurations/DebugRelease.xcconfig:
24131         * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
24132         * ImageDiff/cg/Configurations/DebugRelease.xcconfig:
24133         * MiniBrowser/Configurations/DebugRelease.xcconfig:
24134         * MobileMiniBrowser/Configurations/DebugRelease.xcconfig:
24135         * TestWebKitAPI/Configurations/DebugRelease.xcconfig:
24136         * WebEditingTester/Configurations/DebugRelease.xcconfig:
24137         * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
24139 2017-06-10  Jonathan Bedard  <jbedard@apple.com>
24141         webkitpy: Reduce polling in ServerProcess
24142         https://bugs.webkit.org/show_bug.cgi?id=173116
24144         Reviewed by Ryosuke Niwa.
24146         We should be smarter about polling. We do not need to poll every time a line is read from
24147         stdout and stderr since lines are usually read from cached data. We should only poll
24148         when extracting that cached data from stdout and stderr.
24150         * Scripts/webkitpy/port/driver.py:
24151         (Driver._read_block): Rely on output of the ServerProcess to detect a crash or a timeout
24152         and on ServerProcess to poll the process if not data is available in stdout and stderr.
24153         * Scripts/webkitpy/port/driver_unittest.py:
24154         (DriverTest.test_read_block_crashed_process): Test that the Driver will handle a crashing
24155         ServerProcess.
24156         * Scripts/webkitpy/port/server_process.py:
24157         (ServerProcess._read): Allow for data to be read from _output even if the process has
24158         crashed. Only poll the process if data needs to be extracted from stdout or stderr. 
24159         * Scripts/webkitpy/port/server_process_mock.py:
24160         (MockServerProcess): Add number_of_times_polled.
24161         (MockServerProcess.poll): Increment number_of_times_polled.
24162         (MockServerProcess.has_crashed): Poll before returning crash state.
24163         (MockServerProcess.read_stdout_line): MockServerProcess should return None if it has crashed,
24164         just like a ServerProcess would.
24165         (MockServerProcess.read_stdout): Ditto.
24166         * Scripts/webkitpy/port/server_process_unittest.py:
24167         (TestServerProcess.test_basic): Use stdin.readline() instead of time.sleep() to prevent the
24168         process from ending before stdout and stderr are read. This is the reason this test was flakey.
24169         (TestServerProcess):
24170         (TestServerProcess.test_process_crashing): Test that when a process crashes, data can be read until
24171         the processes is polled.
24172         (TestServerProcess.test_process_crashing_no_data): Test that when a process which has not output any
24173         data to stdout and stderr crashes, ServerProcess._read(...) polls the process to detect the crash.
24175 2017-06-10  Andy Estes  <aestes@apple.com>
24177         [QuickLook] PreviewLoader needs to check if its ResourceLoader has reached the terminal state before calling didReceiveResponse() and friends
24178         https://bugs.webkit.org/show_bug.cgi?id=173190
24179         <rdar://problem/31360659>
24181         Reviewed by Brady Eidson.
24182         
24183         Added a release assert that tries to create a proper test failure if the web process crashes.
24185         * TestWebKitAPI/Tests/WebKit2Cocoa/QuickLook.mm:
24186         (-[QuickLookDecidePolicyDelegate _webViewWebProcessDidCrash:]):
24188 2017-06-09  Wenson Hsieh  <wenson_hsieh@apple.com>
24190         [iOS DnD] Add a hook to perform two-step drops in editable content
24191         https://bugs.webkit.org/show_bug.cgi?id=172992
24192         <rdar://problem/32590174>
24194         Reviewed by Tim Horton.
24196         Adds 2 new API tests to cover using the injected editing bundle to override performTwoStepDrop.
24197         Tests:  DataInteractionTests.InjectedBundleOverridePerformTwoStepDrop
24198                 DataInteractionTests.InjectedBundleAllowPerformTwoStepDrop
24200         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegatePlugIn.mm:
24201         (-[BundleEditingDelegatePlugIn webProcessPlugIn:didCreateBrowserContextController:]):
24202         (-[BundleEditingDelegatePlugIn _webProcessPlugInBrowserContextController:performTwoStepDrop:atDestination:isMove:]):
24204         Allow the BundleOverridePerformTwoStepDrop bundle parameter to determine whether or not two-step drops should
24205         be overridden. Currently, this is overridden to just return true.
24207         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
24208         (TestWebKitAPI::TEST):
24209         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
24210         (WTR::InjectedBundlePage::InjectedBundlePage):
24212 2017-06-09  Zan Dobersek  <zdobersek@igalia.com>
24214         [WPE] Enable ENCRYPTED_MEDIA for build-webkit builds
24215         https://bugs.webkit.org/show_bug.cgi?id=173103
24217         Reviewed by Xabier Rodriguez-Calvar.
24219         * Scripts/webkitperl/FeatureList.pm: Enable ENCRYPTED_MEDIA flag
24220         when building the WPE port through build-webkit.
24222 2017-06-09  Zan Dobersek  <zdobersek@igalia.com>
24224         [WPE] Enable MEDIA_SOURCE for build-webkit builds
24225         https://bugs.webkit.org/show_bug.cgi?id=173136
24227         Reviewed by Xabier Rodriguez-Calvar.
24229         * Scripts/webkitperl/FeatureList.pm: Enable the MEDIA_SOURCE feature for WPE.
24231 2017-06-08  Carlos Garcia Campos  <cgarcia@igalia.com>
24233         [GTK] Use API::FormClient instead of the C API in WebKitFormClient
24234         https://bugs.webkit.org/show_bug.cgi?id=173098
24236         Reviewed by Žan Doberšek.
24238         Fix memory leak and runtime warning when running /webkit2/WebKitWebView/submit-form. The web extension is
24239         assuming that all tests containing forms define ids for the form elements like
24240         /webkit2/WebKitWebExtension/form-controls-associated-signal does.
24242         * TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:
24243         (formControlsAssociatedCallback):
24245 2017-06-08  Jonathan Bedard  <jbedard@apple.com>
24247         webkitpy: Run sample/spindump on iOS devices
24248         https://bugs.webkit.org/show_bug.cgi?id=171881
24249         <rdar://problem/32084602>
24251         Reviewed by Daniel Bates.
24253         * Scripts/webkitpy/port/darwin.py:
24254         (DarwinPort.sample_process): Only add sudo prefix if the platform is Mac, which
24255         requires sudo to run spindump.
24256         * Scripts/webkitpy/port/ios_device.py:
24257         (IOSDevicePort.look_for_new_samples): Deleted.
24258         (IOSDevicePort.sample_process): Deleted.
24259         * Scripts/webkitpy/port/ios_device_unittest.py:
24260         (IOSDeviceTest): iOS devices use 'ios' and their os_name.
24261         (IOSDeviceTest.test_spindump):
24262         (IOSDeviceTest.test_sample_process):
24263         (IOSDeviceTest.test_sample_process_exception):
24264         * Scripts/webkitpy/port/ios_simulator_unittest.py:
24265         (IOSSimulatorTest): iOS Simulators run on Mac and use 'mac' as their os_name.
24267 2017-06-08  Keith Miller  <keith_miller@apple.com>
24269         WebAssembly: We should only create wrappers for functions that can be exported
24270         https://bugs.webkit.org/show_bug.cgi?id=173088
24272         Reviewed by Saam Barati.
24274         Add quick mode for wasm tests.
24276         * Scripts/run-jsc-stress-tests:
24278 2017-06-08  Darin Adler  <darin@apple.com>
24280         WTF tests have incorrect RefLogger lifetimes making it impossible to test with Address Sanitizer
24281         https://bugs.webkit.org/show_bug.cgi?id=173106
24283         Reviewed by Sam Weinig.
24285         * TestWebKitAPI/Tests/WTF/HashCountedSet.cpp: Define RefLogger objects first, so they are
24286         destroyed last.
24287         * TestWebKitAPI/Tests/WTF/HashMap.cpp: Ditto.
24288         * TestWebKitAPI/Tests/WTF/HashSet.cpp: Ditto.
24290 2017-06-07  Dan Bernstein  <mitz@apple.com>
24292         [Cocoa] additionalReadAccessAllowedURLs doesn’t preserve non-Latin1 paths
24293         https://bugs.webkit.org/show_bug.cgi?id=173086
24295         Reviewed by Andy Estes.
24297         * TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLs.mm:
24298         (TEST):
24300 2017-06-07  Alexey Proskuryakov  <ap@apple.com>
24302         Add High Sierra support to WebKit tools
24303         https://bugs.webkit.org/show_bug.cgi?id=173080
24305         Rubber-stamped by Daniel Bates.
24307         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/HighSierra.png: Added.
24308         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/HighSierra@2x.png: Added.
24309         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
24310         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
24311         Added dashboard support.
24313         * BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
24314         * BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
24315         Trigger the right build queues on check-in.
24317         * Scripts/webkitpy/common/system/platforminfo.py:
24318         * Scripts/webkitpy/common/system/platforminfo_unittest.py:
24319         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
24320         * Scripts/webkitpy/port/mac.py:
24321         * Scripts/webkitpy/port/mac_unittest.py:
24322         * TestResultServer/static-dashboards/flakiness_dashboard.js:
24323         Added cases for Sierra, and updated tests for new baseline search paths.
24325 2017-06-07  Ryan Haddad  <ryanhaddad@apple.com>
24327         Unreviewed, rolling out r217902.
24329         This change appears to have caused imported/w3c/web-platform-
24330         tests/fetch/api/cors tests to fail on El Capitan.
24332         Reverted changeset:
24334         "Teach run-webkit-tests how to run HTTPS Web Platform Tests"
24335         https://bugs.webkit.org/show_bug.cgi?id=172930
24336         http://trac.webkit.org/changeset/217902
24338 2017-06-07  Daniel Bates  <dabates@apple.com>
24340         Teach run-webkit-tests how to run HTTPS Web Platform Tests
24341         https://bugs.webkit.org/show_bug.cgi?id=172930
24342         <rdar://problem/32570201>
24344         Reviewed by Youenn Fablet.
24346         Some web platform tests need to be run from an HTTPS server in order to exercise functionality
24347         that is conditioned on the page being delivered over a secure protocol. One example of such
24348         a test is LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/secure_context/crypto-subtle-secure-context-available.https.sub.html.
24350         Ideally we should look to use wptrunner to run Web Platform Tests. For now, modify run-webkit-tests
24351         to access web platform tests from an HTTPS server when the filename of the test contains ".https.".
24352         This makes run-webkit-test match the behavior of wptrunner: <https://github.com/w3c/web-platform-tests/blob/7ce469d1c46dd45aacfe1b408bf2ad36a630e089/tools/manifest/item.py#L42>.
24354         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
24355         (https_base_url): Parses the Web Platform Tests JSON configuration and returns the base URL
24356         to the Web Platform Tests HTTPS server.
24357         * Scripts/webkitpy/port/base.py:
24358         (Port.to.web_platform_test_server_https_base_url): Turns around and calls https_base_url().
24359         * Scripts/webkitpy/port/driver.py:
24360         (Driver.__init__): Caches the base URL to the Web Platform Tests HTTPS server. Also rename
24361         instance variables web_platform_test_server_doc_root, web_platform_test_server_base_url to
24362         _web_platform_test_server_doc_root and _web_platform_test_server_base_url, respectively to
24363         indicate that they should be considered private instance variables.
24364         (Driver.is_web_platform_test): Update code for renamed instance variables.
24365         (Driver):
24366         (Driver._web_platform_test_base_url_for_test): Returns the URL to access the specified test.
24367         (Driver.test_to_uri): Modified to use Driver._web_platform_test_base_url_for_test() to
24368         determine the base URL to use to access the test.
24369         (Driver.uri_to_test): Added logic to compute the filesystem local test name from a Web
24370         Platform Tests HTTPS URL. Also updated code for renamed instance variables.
24372 2017-06-07  Per Arne Vollan  <pvollan@apple.com>
24374         Support removal of authentication data through the Website data store API.
24375         https://bugs.webkit.org/show_bug.cgi?id=171217
24377         Reviewed by Brady Eidson.
24379         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
24380         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
24381         (WTR::InjectedBundle::didReceiveMessageToPage):
24382         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
24383         (WTR::TestRunner::removeAllSessionCredentials):
24384         (WTR::TestRunner::callDidRemoveAllSessionCredentialsCallback):
24385         * WebKitTestRunner/InjectedBundle/TestRunner.h:
24386         * WebKitTestRunner/TestController.h:
24387         * WebKitTestRunner/TestInvocation.cpp:
24388         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
24389         (WTR::TestInvocation::didRemoveAllSessionCredentials):
24390         * WebKitTestRunner/TestInvocation.h:
24391         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
24392         (WTR::TestController::removeAllSessionCredentials):
24394 2017-06-07  Charlie Turner  <cturner@igalia.com>
24396         Add Charlie Turner as contributor
24397         https://bugs.webkit.org/show_bug.cgi?id=173055
24399         Reviewed by Carlos Alberto Lopez Perez.
24401         I also ran the Tools/Scripts/validate-committer-lists --canonicalize command at the suggestion
24402         of webkit-patch upload, which reordered some fields and removed a newline.
24404         * Scripts/webkitpy/common/config/contributors.json:
24406 2017-06-06  Chris Dumez  <cdumez@apple.com>
24408         RELEASE_ASSERT(static_cast<size_t>(enumerationValue) < WTF_ARRAY_LENGTH(values)) hit in convertEnumerationToJS<WebCore::History::ScrollRestoration>()
24409         https://bugs.webkit.org/show_bug.cgi?id=173033
24410         <rdar://problem/32591099>
24412         Reviewed by Simon Fraser.
24414         Add API test coverage to make sure History's scrollRestoration is properly saved / restored via the
24415         WKPageCopySessionState() / WKPageRestoreFromSessionState() C API.
24417         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
24418         * TestWebKitAPI/Tests/WebKit2/RestoreSessionState.cpp: Added.
24419         (TestWebKitAPI::didFinishLoadForFrame):
24420         (TestWebKitAPI::setPageLoaderClient):
24421         (TestWebKitAPI::createSessionStateDataContainingScrollRestoration):
24422         (TestWebKitAPI::TEST):
24424 2017-06-06  Andy Estes  <aestes@apple.com>
24426         REGRESSION (r199558): WKWebView upload file which name contains Chinese character results in garbled code
24427         https://bugs.webkit.org/show_bug.cgi?id=172849
24428         <rdar://problem/32567454>
24430         Reviewed by Darin Adler.
24432         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
24433         * TestWebKitAPI/Tests/WebKit2Cocoa/RunOpenPanel.mm: Added.
24434         (-[RunOpenPanelUIDelegate webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:]):
24435         (TestWebKitAPI::TEST):
24437 2017-06-06  Yoav Weiss  <yoav@yoav.ws>
24439         [preload] Conditional support for media preloading and align media `as` values.
24440         https://bugs.webkit.org/show_bug.cgi?id=172501
24442         Reviewed by Dean Jackson.
24444         Turn on media preloading preference for tests.
24446         * DumpRenderTree/mac/DumpRenderTree.mm: Turn on media preloading preference.
24447         * DumpRenderTree/win/DumpRenderTree.cpp: Turn on media preloading preference.
24448         * WebKitTestRunner/TestController.cpp: Turn on media preloading preference.
24450 2017-06-06  Jonathan Bedard  <jbedard@apple.com>
24452         webkitpy: Return correct process names from SimulatorProcess
24453         https://bugs.webkit.org/show_bug.cgi?id=172940
24455         Reviewed by Aakash Jain.
24457         * Scripts/webkitpy/port/darwin.py:
24458         (DarwinPort.plist_data_from_bundle): Share plist access code for accessing different plist entries.
24459         (DarwinPort.app_identifier_from_bundle): Use plist_data_from_bundle.
24460         (DarwinPort.app_executable_from_bundle): Access name of app executable from provided app bundle.
24461         * Scripts/webkitpy/port/driver.py:
24462         (Driver.has_crashed): Use _server_process.process_name() instead of _server_process.name() since
24463         _server_process.name() will not return the correct process name for iOS.
24464         (Driver._check_for_driver_crash_or_unresponsiveness): Ditto.
24465         (Driver._read_block): Ditto.
24466         * Scripts/webkitpy/port/driver_unittest.py:
24467         (DriverTest.test_check_for_driver_crash.FakeServerProcess.process_name): Update since Driver uses
24468         process_name() instead of name().
24469         * Scripts/webkitpy/port/server_process.py:
24470         (ServerProcess._start): Use process_name() instead of name().
24471         (ServerProcess.stop): Ditto.
24472         (ServerProcess.name): Deleted.
24473         * Scripts/webkitpy/port/simulator_process.py:
24474         (SimulatorProcess.process_name): Check the provided bundle for the process name.
24476 2017-06-06  Dean Johnson  <dean_johnson@apple.com>
24478         test-webkitpy: stop forking unsafely from within a spawned process
24479         https://bugs.webkit.org/show_bug.cgi?id=172774
24481         Reviewed by Darin Adler.
24483         * Scripts/webkitpy/common/net/buildbot/buildbot.py:
24484         (Builder.__init__): We don't use mechanize.Browser() as part of testing, so only initialize it when
24485         it's going to be used.
24486         (Builder.force_build):
24488 2017-06-06  Jonathan Bedard  <jbedard@apple.com>
24490         webkitpy: Process crash-logs for iOS devices
24491         https://bugs.webkit.org/show_bug.cgi?id=171976
24492         <rdar://problem/32134551>
24494         Reviewed by David Kilzer.
24496         When running layout tests on an iOS device, crash logs should be processed.
24497         Implement crash log searching and parsing for iOS devices.
24499         * Scripts/webkitpy/common/system/crashlogs.py:
24500         (CrashLogs): Moved process regular expression for Darwin to class variable.
24501         (CrashLogs.__init__): Accept optional list of crash logs to ignore.
24502         (CrashLogs.find_newest_log): Add iOS as a potential platform.
24503         (CrashLogs.find_all_logs): Ditto.
24504         (CrashLogs._parse_darwin_crash_log): Share code for parsing of Darwin crash logs.
24505         Do not assume that a Darwin crash log starts with the process.
24506         (CrashLogs._find_newest_log_darwin): Remove .app in process name for iOS, use
24507         shared code for parsing Darwin crash logs.
24508         (CrashLogs._find_newest_log_darwin.is_crash_log): Skip crash logs passed into this
24509         object so that crash logs already on the system before testing are not parsed.
24510         (CrashLogs._find_newest_log_win.is_crash_log): Ditto.
24511         (CrashLogs._find_all_logs_darwin.is_crash_log): Ditto.
24512         (CrashLogs._find_all_logs_darwin): Use shared code for parsing Darwin crash logs.
24513         * Scripts/webkitpy/common/system/crashlogs_unittest.py:
24514         (make_mock_crash_report_darwin): Crash logs may not have their process on the first line.
24515         * Scripts/webkitpy/common/system/systemhost.py:
24516         (SystemHost.symbolicate_crash_log_if_needed): The symbolicated crash log for most
24517         systems is just the crashlog, use this behavior by default.
24518         * Scripts/webkitpy/common/system/systemhost_mock.py:
24519         (MockSystemHost.symbolicate_crash_log_if_needed): The symbolicated crash log for most
24520         systems is just the crashlog, use this behavior by default.
24521         * Scripts/webkitpy/port/apple.py:
24522         (ApplePort): Add a dictionary mapping hosts to a list of crash logs to be skipped.
24523         (ApplePort.setup_test_run): Set the list of crash logs to be skipped to the crash logs on
24524         the system before testing begins
24525         * Scripts/webkitpy/port/base.py:
24526         (Port._get_crash_log): Pass optional target host when getting crash logs.
24527         * Scripts/webkitpy/port/darwin.py:
24528         (DarwinPort._look_for_all_crash_logs_in_log_dir): Pass list of crash logs to be skipped to
24529         CrashLogs object.
24530         (DarwinPort._get_crash_log): Pass optional target host when getting crash logs, pass list of crash
24531         logs to be skipped to CrashLogs object.
24532         * Scripts/webkitpy/port/darwin_testcase.py:
24533         (DarwinTest.test_get_crash_log): Removed unused local function.
24534         (DarwinTest.test_get_crash_log.fake_time_cb): Deleted.
24535         * Scripts/webkitpy/port/device.py:
24536         (Device.symbolicate_crash_log_if_needed): If the platform device has a function with this
24537         name, call it. Otherwise, assume the default behavior and read the file at the provided path.
24538         * Scripts/webkitpy/port/driver.py:
24539         (Driver._get_crash_log): Pass optional target host when getting crash logs.
24540         * Scripts/webkitpy/port/gtk.py:
24541         (GtkPort._get_crash_log): Pass optional target host when getting crash logs.
24542         * Scripts/webkitpy/port/ios.py: Ditto.
24543         (IOSPort.setup_test_run): Each device is treated as an independent host. Set the list of crash logs
24544         to be skipped for each host.
24545         * Scripts/webkitpy/port/ios_device.py:
24546         (IOSDevicePort.path_to_crash_logs): Consult apple_additions for the path to crash logs.
24547         (IOSDevicePort._look_for_all_crash_logs_in_log_dir): Search every connected device for
24548         crash logs and pass list of crash logs to ignore to each instance of CrashLogs.
24549         (IOSDevicePort._get_crash_log): Search the specified target host for a crash log if a target
24550         host is specified. Else, search all connected devices for the specified crash-log.
24551         (IOSDevicePort.look_for_new_crash_logs): Deleted.
24552         * Scripts/webkitpy/port/ios_device_unittest.py:
24553         (IOSDeviceTest.test_crashlog_path): Without apple_additions, an exception should be raised.
24554         (IOSDeviceTest.test_get_crash_log): Ditto.
24555         * Scripts/webkitpy/port/simulator_process.py:
24556         (SimulatorProcess.process_name): Check the provided bundle for the process name.
24557         * Scripts/webkitpy/port/win.py:
24558         (WinPort._get_crash_log): Pass optional target host when getting crash logs, pass list of crash
24559         logs to be skipped to CrashLogs object.
24560         * Scripts/webkitpy/port/wpe.py:
24561         (WPEPort._get_crash_log): Pass optional target host when getting crash logs.
24563 2017-06-06  David Kilzer  <ddkilzer@apple.com>
24565         Move WTF_ATTRIBUTE_PRINTF() from implementation to declaration
24566         <https://webkit.org/b/172804>
24568         Reviewed by Darin Adler.
24570         WTF_ATTRIBUTE_PRINTF() only works outside the current
24571         compilation unit if it's on the declaration, not the
24572         implementation, of a function or class method.
24574         * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp:
24575         * DumpRenderTree/TestNetscapePlugIn/PluginObject.h:
24576         * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
24577         * DumpRenderTree/TestNetscapePlugIn/PluginTest.h:
24578         - Move WTF_ATTRIBUTE_PRINTF() macro to declaration.
24579         * DumpRenderTree/TestNetscapePlugIn/main.cpp:
24580         - Remove redundant CRASH() macro definition.  Use the one from
24581           <wtf/Assertions.h> instead.
24583 2017-06-06  Joseph Pecoraro  <pecoraro@apple.com>
24585         Move Resource Timing / User Timing from experimental features into main preferences
24586         https://bugs.webkit.org/show_bug.cgi?id=172950
24588         Reviewed by Darin Adler.
24590         * DumpRenderTree/mac/DumpRenderTree.mm:
24591         (enableExperimentalFeatures):
24592         (resetWebPreferencesToConsistentValues):
24593         * DumpRenderTree/win/DumpRenderTree.cpp:
24594         (enableExperimentalFeatures):
24595         (resetWebPreferencesToConsistentValues):
24596         * WebKitTestRunner/TestController.cpp:
24597         (WTR::TestController::resetPreferencesToConsistentValues):
24598         Move out no longer experimental features to the main list.
24600 2017-06-06  Carlos Alberto Lopez Perez  <clopez@igalia.com>
24602         [WPE] Add an install-dependencies script
24603         https://bugs.webkit.org/show_bug.cgi?id=172948
24605         Reviewed by Žan Doberšek.
24607         It is based on the gtk/install-dependencies script.
24608         Includes support for Debian based distrubutions, Fedora and Arch.
24609         It has been tested on a minimal Debian 9 chroot.
24611         * wpe/install-dependencies: Added.
24613 2017-06-05  Wenson Hsieh  <wenson_hsieh@apple.com>
24615         Refactor -[WebItemProviderPasteboard valuesForPasteboardType:inItemSet:] to check readable types
24616         https://bugs.webkit.org/show_bug.cgi?id=172891
24617         <rdar://problem/32204540>
24619         Reviewed by Darin Adler.
24621         Adds 2 new API tests to exercise data interaction of HTML data and an attributed string into a rich
24622         contenteditable. See WebCore ChangeLog for more details.
24624         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
24625         (TestWebKitAPI::TEST):
24627 2017-06-05  Daniel Bates  <dabates@apple.com>
24629         webkitpy: Abstract Executive class
24630         https://bugs.webkit.org/show_bug.cgi?id=172928
24631         <rdar://problem/32569531>
24633         Reviewed by Ryosuke Niwa.
24635         Adds an AbstractExecutive class and makes Executive extend AbstractExecutive.
24636         This will make it straightforward to create additional derived classes that
24637         adhere to the same interface, say for iOS on-device testing.
24639         * Scripts/webkitpy/common/system/abstractexecutive.py: Added.
24640         (AbstractExecutive):
24641         (AbstractExecutive.run_and_throw_if_fail):
24642         (AbstractExecutive.cpu_count):
24643         (AbstractExecutive.interpreter_for_script):
24644         (AbstractExecutive.shell_command_for_script):
24645         (AbstractExecutive.kill_process):
24646         (AbstractExecutive.check_running_pid):
24647         (AbstractExecutive.running_pids):
24648         (AbstractExecutive.wait_newest):
24649         (AbstractExecutive.wait_limited):
24650         (AbstractExecutive.interrupt):
24651         (AbstractExecutive.default_error_handler):
24652         (AbstractExecutive.ignore_error):
24653         (AbstractExecutive._stringify_args):
24654         (AbstractExecutive.command_for_printing):
24655         (AbstractExecutive.run_command):
24656         (AbstractExecutive.popen):
24657         (AbstractExecutive.run_in_parallel):
24658         * Scripts/webkitpy/common/system/executive.py:
24659         (Executive):
24660         (Executive.cpu_count):
24661         (Executive.running_pids):
24662         (Executive.kill_all):
24663         (Executive._compute_stdin):
24664         (Executive.interpreter_for_script): Deleted.
24665         (Executive.shell_command_for_script): Deleted.
24666         (Executive.wait_newest): Deleted.
24667         (Executive.wait_limited): Deleted.
24668         (Executive.default_error_handler): Deleted.
24669         (Executive.ignore_error): Deleted.
24670         (Executive.command_for_printing): Deleted.
24672 2017-06-05  Jonathan Bedard  <jbedard@apple.com>
24674         webkitpy: Add iOS to platform
24675         https://bugs.webkit.org/show_bug.cgi?id=172931
24677         Reviewed by Daniel Bates.
24679         * Scripts/webkitpy/common/system/platforminfo.py:
24680         PlatformInfo.__init__): Use platform_module.release() as the os_version for iOS device.
24681         (PlatformInfo.is_ios): Added.
24682         (PlatformInfo._determine_os_name): A platform name of 'ios' means that the os name is 'ios'.
24683         * Scripts/webkitpy/common/system/platforminfo_mock.py:
24684         (MockPlatformInfo.is_ios): Added.
24686 2017-06-05  Carlos Alberto Lopez Perez  <clopez@igalia.com>
24688         [WPE][JHBuild] Switch github repository from git:// to https://
24689         https://bugs.webkit.org/show_bug.cgi?id=172921
24691         Reviewed by Alex Christensen.
24693         * wpe/jhbuild.modules:
24695 2017-06-05  Tim Horton  <timothy_horton@apple.com>
24697         ASSERTION FAILED: m_currentScriptCallbackID in UIScriptContext::requestUIScriptCompletion(JSStringRef) running fast/events/ios/autocorrect-with-range-selection.html
24698         https://bugs.webkit.org/show_bug.cgi?id=172887
24699         <rdar://problem/32546061>
24701         Reviewed by Sam Weinig.
24703         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
24704         (WTR::UIScriptController::applyAutocorrection):
24705         applyAutocorrection can call its completion handler synchronously,
24706         which makes UIScriptController unhappy (see bug 172884).
24708 2017-06-03  Jonathan Bedard  <jbedard@apple.com>
24710         webkitpy: Add contextmanager to disable logging for a block
24711         https://bugs.webkit.org/show_bug.cgi?id=172876
24713         Reviewed by Daniel Bates.
24715         Add a context manager which will use an OutputCapture object to capture logging
24716         in a block and hold it in a variable.
24718         * Scripts/webkitpy/common/system/outputcapture.py:
24719         (OutputCaptureScope):
24720         (OutputCaptureScope.__init__): Construct with OutputCapture object.
24721         (OutputCaptureScope.__enter__): Begin capturing output. 
24722         (OutputCaptureScope.__exit__): Restore output and save captured output to a variable.
24723         output and retain the resulting log.
24724         * Scripts/webkitpy/common/system/outputcapture_unittest.py:
24725         (OutputCaptureTest.test_output_capture_scope): Added.
24727 2017-06-02  Zalan Bujtas  <zalan@apple.com>
24729         Cleanup FrameView::autoSizeIfEnabled.
24730         https://bugs.webkit.org/show_bug.cgi?id=172889
24731         <rdar://problem/32550783>
24733         Reviewed by Tim Horton.
24735         * TestWebKitAPI/Tests/WebKit2Cocoa/AutoLayoutIntegration.mm:
24736         (-[AutoLayoutWKWebView load:withWidth:expectingContentSize:resettingWidth:]): progression.
24737         (TEST):
24739 2017-06-02  Chris Dumez  <cdumez@apple.com>
24741         ResourceLoadStatistics are not using unique paths during test runs
24742         https://bugs.webkit.org/show_bug.cgi?id=172861
24743         <rdar://problem/32442251>
24745         Reviewed by Darin Adler.
24747         Make sure WebKitTestRunner sets a temporary path for saving resource
24748         load statistics.
24750         * WebKitTestRunner/TestController.cpp:
24751         (WTR::TestController::generateContextConfiguration):
24753 2017-06-02  Brady Eidson  <beidson@apple.com>
24755         Prevent scheme handlers from handling all built-in URL schemes.
24756         <rdar://problem/32404790> and https://bugs.webkit.org/show_bug.cgi?id=172869
24758         Reviewed by Andy Estes.
24760         * TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:
24762 2017-06-02  Stephan Szabo  <stephan.szabo@am.sony.com>
24764         [JSCOnly] Build static jsc.exe on Windows
24765         https://bugs.webkit.org/show_bug.cgi?id=172833
24767         Reviewed by Konstantin Tokarev.
24769         * CMakeLists.txt:
24770         * Scripts/build-jsc:
24772 2017-06-02  Zalan Bujtas  <zalan@apple.com>
24774         Disable ViewportSizeForViewportUnits tests on iOS.
24775         https://bugs.webkit.org/show_bug.cgi?id=172872
24777         Reviewed by Tim Horton.
24779         * TestWebKitAPI/Tests/WebKit2/ViewportSizeForViewportUnits.mm:
24781 2017-06-02  Zalan Bujtas  <zalan@apple.com>
24783         Allow clients to override viewport size for CSS viewport units.
24784         https://bugs.webkit.org/show_bug.cgi?id=172838
24785         <rdar://problem/32523441>
24787         Reviewed by Tim Horton.
24789         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
24790         * TestWebKitAPI/Tests/WebKit2/ViewportSizeForViewportUnits.mm: Added.
24791         (TEST):
24793 2017-06-02  Simon Fraser  <simon.fraser@apple.com>
24795         Get <chrono> out of StdLibExtras.h
24796         https://bugs.webkit.org/show_bug.cgi?id=172744
24798         Reviewed by Zalan Bujtas.
24800         * TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
24802 2017-06-02  Zan Dobersek  <zdobersek@igalia.com>
24804         [WPE] Enable SUBTLE_CRYPTO
24805         https://bugs.webkit.org/show_bug.cgi?id=172756
24807         Reviewed by Michael Catanzaro.
24809         * Scripts/webkitperl/FeatureList.pm: Set ENABLE_SUBTLE_CRYPTO to 1 for WPE.
24810         * wpe/jhbuild.modules: Add libgpg-error and libgcrypt dependencies.
24811         * wpe/patches/libgcrypt-use-only-dev-urandom-for-testing.patch: Added. Prevents
24812         exhausting entropy when running the crypto layout tests.
24814 2017-06-01  Carlos Garcia Campos  <cgarcia@igalia.com>
24816         [GTK] Bump GTK+ and its dependencies in jhbuild
24817         https://bugs.webkit.org/show_bug.cgi?id=171918
24819         Reviewed by Carlos Alberto Lopez Perez.
24821         * WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
24822         (WTR::initializeGtkSettings):
24823         * gtk/jhbuild.modules:
24824         * gtk/patches/gtk+-configure-fix-detecting-CUPS-2.x.patch: Removed.
24825         * gtk/patches/librsvg-2.36.1-bump-up-config.guess-to-support-aarch64.patch: Removed.
24827 2017-06-01  Carlos Garcia Campos  <cgarcia@igalia.com>
24829         [GTK] Bump wayland and weston in jhbuild
24830         https://bugs.webkit.org/show_bug.cgi?id=171921
24832         Reviewed by Carlos Alberto Lopez Perez.
24834         * gtk/jhbuild.modules:
24835         * gtk/patches/weston-libweston-include-weston-egl-ext.h-in-drm-x11-and-wa.patch: Added.
24837 2017-06-01  Andy Estes  <aestes@apple.com>
24839         REGRESSION (r217626): ENABLE_APPLE_PAY_SESSION_V3 was disabled by mistake
24840         https://bugs.webkit.org/show_bug.cgi?id=172828
24842         Reviewed by Beth Dakin.
24844         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
24846 2017-06-01  Jonathan Bedard  <jbedard@apple.com>
24848         webkitpy: Remove unneeded simulator teardown
24849         https://bugs.webkit.org/show_bug.cgi?id=171891
24851         Reviewed by Aakash Jain.
24853         * Scripts/webkitpy/port/ios_simulator.py:
24854         (IOSSimulatorPort.clean_up_test_run): Remove FIFO deletion since TCP is used
24855         for communication between Python and WebKitTestRunner/DumpRenderTree.
24857 2017-06-01  Keith Miller  <keith_miller@apple.com>
24859         Undo rollout in r217638 with bug fix
24860         https://bugs.webkit.org/show_bug.cgi?id=172824
24862         Unreviewed, reland patch with unused set_state code removed.
24864         * TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:
24865         (runThreadMessageTest):
24866         (TEST):
24868 2017-06-01  Jonathan Bedard  <jbedard@apple.com>
24870         webkitpy: Do not send 0 or -1 as a pid to kill_process
24871         https://bugs.webkit.org/show_bug.cgi?id=172818
24873         Reviewed by Darin Adler.
24875         Sending a signal to process 0 will result in all processes in the group receiving 
24876         the signal. Sending a signal to process -1 will result in all non-system processes
24877         receiving the signal. Both Executive.kill_process and Executive.check_running_pid
24878         should consider these cases
24880         * Scripts/webkitpy/common/system/executive.py:
24881         (Executive.kill_process): Throw exception if pid is undefined, 0 or negative.
24882         (Executive.check_running_pid): An undefined pid, pid 0 or a negative pid will
24883         never be running, although os.kill may succeed.
24884         * Scripts/webkitpy/port/simulator_process.py:
24885         (SimulatorProcess.stop): Do not kill process if it is undefined.
24887 2017-05-31  Alexey Proskuryakov  <ap@apple.com>
24889         JSC EWS bot does not run on WTF only patches
24890         https://bugs.webkit.org/show_bug.cgi?id=172777
24891         rdar://problem/32495975
24893         Reviewed by Aakash Jain.
24895         * Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
24896         (CheckPatchRelevance): Add a missing comma.
24898 2017-05-31  Commit Queue  <commit-queue@webkit.org>
24900         Unreviewed, rolling out r217611 and r217631.
24901         https://bugs.webkit.org/show_bug.cgi?id=172785
24903         "caused wasm-hashset-many.html to become flaky." (Requested by
24904         keith_miller on #webkit).
24906         Reverted changesets:
24908         "Reland r216808, underlying lldb bug has been fixed."
24909         https://bugs.webkit.org/show_bug.cgi?id=172759
24910         http://trac.webkit.org/changeset/217611
24912         "Use dispatch queues for mach exceptions"
24913         https://bugs.webkit.org/show_bug.cgi?id=172775
24914         http://trac.webkit.org/changeset/217631
24916 2017-05-31  Ryan Haddad  <ryanhaddad@apple.com>
24918         EWS bots should reboot themselves more frequently
24919         https://bugs.webkit.org/show_bug.cgi?id=172402
24921         Reviewed by Alexey Proskuryakov.
24923         Instead of rebooting once a day, EWS bots will reboot after running 10 iterations.
24925         * EWSTools/start-queue-mac.sh: Remove the restriction placed on the time that the bot will perform a reboot.
24927 2017-05-31  Ryan Haddad  <ryanhaddad@apple.com>
24929         Reallocate hardware for iOS bots.
24930         https://bugs.webkit.org/show_bug.cgi?id=172657
24932         Reviewed by Alexey Proskuryakov.
24934         * BuildSlaveSupport/build.webkit.org-config/config.json:
24936 2017-05-31  Andy Estes  <aestes@apple.com>
24938         Rename ENABLE_APPLE_PAY_DELEGATE to ENABLE_APPLE_PAY_SESSION_V3 and bump the supported version number
24939         https://bugs.webkit.org/show_bug.cgi?id=172366
24941         Reviewed by Daniel Bates.
24943         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
24945 2017-05-31  Jiewen Tan  <jiewen_tan@apple.com>
24947         Unreviewed, add Jiewen Tan as a reviewer
24949         * Scripts/webkitpy/common/config/contributors.json:
24951 2017-05-31  Adrian Perez de Castro  <aperez@igalia.com>
24953         [GTK] MiniBrowser's browser_window_get_or_create_web_view_for_automation never creates new windows
24954         https://bugs.webkit.org/show_bug.cgi?id=172770
24956         Reviewed by Michael Catanzaro.
24958         * MiniBrowser/gtk/BrowserWindow.c:
24959         (browser_window_get_or_create_web_view_for_automation): Removed stray semicolon
24960         which caused the body of the if-clause to be accidentally empty.
24962 2017-05-31  Keith Miller  <keith_miller@apple.com>
24964         Reland r216808, underlying lldb bug has been fixed.
24965         https://bugs.webkit.org/show_bug.cgi?id=172759
24967         Unreviewed, relanding old patch. See: rdar://problem/31183352
24969         * TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:
24970         (runThreadMessageTest):
24971         (TEST):
24973 2017-05-31  Matt Lewis  <jlewis3@apple.com>
24975         Unreviewed, rolling out r217603.
24977         This patch broke the internal builds.
24979         Reverted changeset:
24981         "Get <chrono> out of StdLibExtras.h"
24982         https://bugs.webkit.org/show_bug.cgi?id=172744
24983         http://trac.webkit.org/changeset/217603
24985 2017-05-31  Brent Fulgham  <bfulgham@apple.com>
24987         Make ResourceLoadStatistics testing more reliable
24988         https://bugs.webkit.org/show_bug.cgi?id=172730
24989         <rdar://problem/32028373>
24991         Reviewed by Andy Estes.
24993         When we tell the UIProcess (WebKitTestRunner) to notify the system about statistics update notifications,
24994         we also need to tell the WebProcess to do so, too, or else the test system doesn't get messages.
24996         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
24997         (WTR::TestRunner::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
24999 2017-05-31  Carlos Alberto Lopez Perez  <clopez@igalia.com>
25001         [GTK][WPE] run-javascriptcore-tests should use the jhbuild
25002         https://bugs.webkit.org/show_bug.cgi?id=172757
25004         Reviewed by Xabier Rodriguez-Calvar.
25006         When needed, add the jhbuild wrapper at the beginning of the array
25007         that will be invoked to execute the run-jsc-stress-test or testapi
25008         commands.
25010         * Scripts/run-javascriptcore-tests:
25011         (runJSCStressTests):
25012         * Scripts/webkitdirs.pm:
25013         (shouldUseJhbuild):
25015 2017-05-31  Simon Fraser  <simon.fraser@apple.com>
25017         Get <chrono> out of StdLibExtras.h
25018         https://bugs.webkit.org/show_bug.cgi?id=172744
25020         Reviewed by Saam Barati.
25022         * TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
25024 2017-05-30  Tim Horton  <timothy_horton@apple.com>
25026         Keyboard autocorrections do not apply with an active selection (but keyboard acts like they did)
25027         https://bugs.webkit.org/show_bug.cgi?id=172735
25028         <rdar://problem/32015977>
25030         Reviewed by Enrica Casucci.
25032         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
25033         (WTR::UIScriptController::applyAutocorrection):
25034         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
25035         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
25036         (WTR::UIScriptController::applyAutocorrection):
25037         * TestRunnerShared/UIScriptContext/UIScriptController.h:
25038         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
25039         (WTR::UIScriptController::applyAutocorrection):
25040         Expose applyAutocorrection to UIScriptController. Use a WKTesting method
25041         because I don't know how to tap the button in the autocorrection bar from a test.
25043 2017-05-30  Daniel Bates  <dabates@apple.com>
25045         Add unit test for WebKit2 C SPI runBeforeUnloadConfirmPanel()
25046         https://bugs.webkit.org/show_bug.cgi?id=172671
25048         Reviewed by Alex Christensen.
25050         We should add a unit test to ensure we do not regress the WKPageUIClient runBeforeUnloadConfirmPanel() callback.
25051         For completeness, the callback runBeforeUnloadConfirmPanel() existed since inception of WKPageUIClient (WKPageUIClientV0).
25053         * TestWebKitAPI/Tests/WebKit2/ModalAlertsSPI.cpp:
25054         (TestWebKitAPI::analyzeDialogArguments): Test the runBeforeUnloadConfirmPanel() callback last as we need
25055         to trigger a navigation to test it.
25056         (TestWebKitAPI::runBeforeUnloadConfirmPanel): Added.
25057         (TestWebKitAPI::createNewPage): Wire up the runBeforeUnloadConfirmPanel callback.
25059 2017-05-30  Jonathan Bedard  <jbedard@apple.com>
25061         webkitpy: Start servers before setting-up for testing
25062         https://bugs.webkit.org/show_bug.cgi?id=172176
25063         <rdar://problem/32225538>
25065         Reviewed by Alexey Proskuryakov.
25067         On-device testing requires that servers are started before ports set-up their
25068         test environments.
25070         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
25071         (LayoutTestRunner.__init__): Start servers when initializing LayoutTestRunner.
25072         Servers are unconditionally stopped on exit.
25073         (LayoutTestRunner.run_tests): Move the starting of servers to the initializer. The
25074         Manager now stops servers.
25075         (LayoutTestRunner.start_servers): Set flag to indicate servers are running.
25076         (LayoutTestRunner.stop_servers): Check flag, only shutdown servers if they are shutdown.
25077         * Scripts/webkitpy/layout_tests/controllers/manager.py:
25078         (Manager.__init__): Delay construction of the test runner until we can determine
25079         if servers need to be started.
25080         (Manager.run): Determine if servers need to be started and construct the test runner.
25081         Shut servers down when the test run is finished.
25082         (Manager._run_tests): Move the determination of servers to run into Manager.run.
25083         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
25084         (is_wpt_server_running): Server is not running if no config is found.
25085         * Scripts/webkitpy/layout_tests/servers/websocket_server.py:
25086         (PyWebSocket.is_running): Check if this WebSocket server is running.
25087         * Scripts/webkitpy/port/base.py:
25088         (Port.__init__): Define secure WebSocket server.
25089         (Port.to.is_websocket_server_running): Check if WebSocket servers are defined.
25091 2017-05-30  Daniel Bates  <dabates@apple.com>
25093         [WK2] Add runBeforeUnloadConfirmPanel WKUIDelegate SPI; support onbeforeunload confirm panel in MiniBrowser
25094         https://bugs.webkit.org/show_bug.cgi?id=172603
25095         <rdar://problem/32471306>
25097         Reviewed by Brady Eidson.
25099         Implement the -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler: delegate
25100         method in MiniBrowser to show a confirm panel as to whether to allow the unloading of the page when
25101         unloading is initiated for a page that registered a onbeforeunload handler.
25103         Modify TestWebKitAPI/Tests/WebKit2Cocoa/ModalAlerts.mm to test that the -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:
25104         is called. Also fix style nit; pass YES instead of true to avoid implicit conversion from bool to BOOL
25105         when invoking the completion handler in -_webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:.
25107         Until we fix <https://bugs.webkit.org/show_bug.cgi?id=172614> the unit test in TestWebKitAPI/Tests/WebKit2Cocoa/ModalAlerts.mm
25108         for -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler: is only run on Mac
25109         as we do not have the infrastructure to simulate a click/tap on iOS and a click/tap on the page that
25110         registered an onbeforeunload handler is required to show a confirm panel when the page will be unloaded.
25112         * MiniBrowser/mac/WK2BrowserWindowController.m:
25113         (-[WK2BrowserWindowController _webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):
25114         * TestWebKitAPI/Tests/WebKit2/modal-alerts-in-new-about-blank-window.html:
25115         * TestWebKitAPI/Tests/WebKit2Cocoa/ModalAlerts.mm:
25116         (sawDialog):
25117         (-[ModalAlertsUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
25118         (-[ModalAlertsUIDelegate webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):
25119         (-[ModalAlertsUIDelegate _webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):
25121 2017-05-30  Alex Christensen  <achristensen@webkit.org>
25123         Update libwebrtc configuration
25124         https://bugs.webkit.org/show_bug.cgi?id=172727
25126         Reviewed by Geoffrey Garen.
25128         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
25130 2017-05-30  Fujii Hironori  <Hironori.Fujii@sony.com>
25132         [WinCairo] TestWebKitAPI: ASSERTION FAILED: m_eglDisplay == EGL_NO_DISPLAY
25133         https://bugs.webkit.org/show_bug.cgi?id=172702
25135         Reviewed by Alex Christensen.
25137         EGL PlatformDisplay needs to be shut down before existing a
25138         program on Windows.
25140         * TestWebKitAPI/Tests/WebKit/win/ScaleWebView.cpp:
25141         (TestWebKitAPI::ScaleWebView::TearDown): Call shutDownWebKit().
25142         * TestWebKitAPI/Tests/WebKit/win/WebViewDestruction.cpp:
25143         (TestWebKitAPI::WebViewDestruction::TearDown): Ditto.
25145 2017-05-30  Per Arne Vollan  <pvollan@apple.com>
25147         [Win] fast/shadow-dom/fullscreen-in-slot-fullscreenElement.html is flaky.
25148         https://bugs.webkit.org/show_bug.cgi?id=172709
25150         Reviewed by Brent Fulgham.
25152         Exit fullscreen mode after a fullscreen test.
25154         * DumpRenderTree/win/DumpRenderTree.cpp:
25155         (resetWebViewToConsistentStateBeforeTesting):
25157 2017-05-30  Antti Koivisto  <antti@apple.com>
25159         ASSERTION FAILED: !needsLayout() in com.apple.WebCore: WebCore::FrameView::paintContents in fast/events/tabindex-focus-blur-all.html on WK1
25160         https://bugs.webkit.org/show_bug.cgi?id=172713
25162         Reviewed by Zalan Bujtas.
25164         * DumpRenderTree/mac/ResourceLoadDelegate.mm:
25165         (-[ResourceLoadDelegate webView:plugInFailedWithError:dataSource:]):
25167             Remove forced display from plugin resource load delegate. It is testing some long-obsolete
25168             Safari WK1 behavior. Forcing display from this resource load delegate will hit the assertion
25169             because on Mac WK1 it may get invoked from middle of a layout.
25171             Painting code skips out after the assert so it doesn't indicate unsafe access of any sort.
25173 2017-05-30  Carlos Alberto Lopez Perez  <clopez@igalia.com>
25175         Add a WPE EWS queue
25176         https://bugs.webkit.org/show_bug.cgi?id=172693
25178         Reviewed by Carlos Garcia Campos.
25180         * QueueStatusServer/config/queues.py:
25181         * QueueStatusServer/model/queues.py: Capitalize the name of the
25182         port on the tooltip of the bubbles. Do the same for the GTK port.
25183         (Queue.display_name):
25184         * Scripts/webkitpy/common/config/ews.json: Update the watcher mail
25185         for the GTK+ EWS also. Set for both ports as watcher the alias
25186         bugs-noreply@webkitgtk.org that maintainers of both ports follow.
25187         * Scripts/webkitpy/common/config/ports.py:
25188         (DeprecatedPort.port):
25189         (WpePort):
25190         (WpePort.build_webkit_command):
25191         (WpePort.run_webkit_tests_command):
25192         * Scripts/webkitpy/common/config/ports_unittest.py:
25193         (DeprecatedPortTest):
25194         (DeprecatedPortTest.test_wpe_port):
25195         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
25196         (test_ews_name):
25198 2017-05-29  Zan Dobersek  <zdobersek@igalia.com>
25200         Unreviewed. Bumping the WPEBackend-mesa dependency version.
25202         * wpe/jhbuild.modules: Use the latest version that uses proper GLib
25203         priorities for IPC communication.
25205 2017-05-27  Yusuke Suzuki  <utatane.tea@gmail.com>
25207         [JSC] Map and Set constructors should have fast path for cloning
25208         https://bugs.webkit.org/show_bug.cgi?id=172413
25210         Reviewed by Saam Barati.
25212         * TestWebKitAPI/Tests/WTF/MathExtras.cpp:
25213         (TestWebKitAPI::TEST):
25215 2017-05-27  Zalan Bujtas  <zalan@apple.com>
25217         enclosingIntRect returns a rect with -1 width/height when the input FloatRect overflows integer.
25218         https://bugs.webkit.org/show_bug.cgi?id=172676
25220         Reviewed by Simon Fraser.
25222         * TestWebKitAPI/Tests/WebCore/FloatRect.cpp:
25223         (TestWebKitAPI::TEST):
25225 2017-05-26  Zalan Bujtas  <zalan@apple.com>
25227         TestWebKitAPI: EnclosingIntRect and RoundedIntRect should use EXPECT_EQ.
25228         https://bugs.webkit.org/show_bug.cgi?id=172674
25230         Reviewed by Simon Fraser.
25232         * TestWebKitAPI/Tests/WebCore/FloatRect.cpp:
25233         (TestWebKitAPI::TEST):
25235 2017-05-26  Wenson Hsieh  <wenson_hsieh@apple.com>
25237         Add test resources back into TestWebKitAPI Copy Resources phase
25239         Rubber-stamped by Beth Dakin.
25241         Add two files back into the Copy Resources phase after they were unintentionally
25242         removed in r217447 and r217496.
25244         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
25246 2017-05-26  Beth Dakin  <bdakin@apple.com>
25248         Media documents inside iframes should not get controls in the TouchBar unless the 
25249         video is playing
25250         https://bugs.webkit.org/show_bug.cgi?id=172620
25251         -and corresponding-
25252         rdar://problem/32165477
25254         Reviewed by Jon Lee.
25256         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
25257         * TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm:
25258         (TestWebKitAPI::TEST):
25259         * TestWebKitAPI/Tests/WebKit2Cocoa/offscreen-iframe-of-media-document.html: Added.
25261 2017-05-25  Joseph Pecoraro  <pecoraro@apple.com>
25263         _WKUserStyleSheet and WKUserScript leak string data
25264         https://bugs.webkit.org/show_bug.cgi?id=172583
25265         <rdar://problem/32395209>
25267         Reviewed by Sam Weinig.
25269         * TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:
25270         We should not have been adopting an autoreleased object.
25272 2017-05-25  Myles C. Maxfield  <mmaxfield@apple.com>
25274         [WK1] iframes in layer-backed NSViews are not cleared between successive draws
25275         https://bugs.webkit.org/show_bug.cgi?id=172554
25276         <rdar://problem/31247133>
25278         Reviewed by Simon Fraser.
25280         Previously, there was no way to make DumpRenderTree's views layer-backed. Unfortunately,
25281         simply setting [WebView setWantsLayer:] is insufficient; turning it on and then off again
25282         leaves some state around inside the NSWindow which isn't easily cleaned up. Instead,
25283         we should just tear down and rebuild the window whenever we need a layer-backed WebView.
25284         We can also use the "webkit-test-runner" header comment to trigger this new layer-backed
25285         codepath.
25287         * DumpRenderTree/TestOptions.h:
25288         * DumpRenderTree/TestOptions.mm:
25289         (TestOptions::TestOptions):
25290         (TestOptions::webViewIsCompatibleWithOptions):
25291         * DumpRenderTree/mac/DumpRenderTree.mm:
25292         (shouldIgnoreWebCoreNodeLeaks):
25293         (allowedFontFamilySet):
25294         (-[DRTMockScroller rectForPart:]):
25295         (-[DRTMockScroller drawKnob]):
25296         (-[DRTMockScroller drawRect:]):
25297         (createWebViewAndOffscreenWindow):
25298         (initializeGlobalsFromCommandLineOptions):
25299         (prepareConsistentTestingEnvironment):
25300         (dumpRenderTree):
25301         (dumpAudio):
25302         (dumpHistoryItem):
25303         (dumpBackForwardListForWebView):
25304         (resetWebViewToConsistentStateBeforeTesting):
25305         (WebThreadLockAfterDelegateCallbacksHaveCompleted):
25306         (runTest):
25308 2017-05-25  Sam Weinig  <sam@webkit.org>
25310         [WebIDL] Use the term 'operation' more consistently
25311         https://bugs.webkit.org/show_bug.cgi?id=172601
25313         Reviewed by Chris Dumez.
25315         We were using the term 'operation', a WebIDL term for function-like
25316         constructs, inconsistently in the code generator. Now, when we use
25317         'operation' when referring to the IDL concept (usually the object the
25318         parser produces) and 'function' when referring to code being generated.
25320         * DumpRenderTree/Bindings/CodeGeneratorDumpRenderTree.pm:
25321         * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:
25323 2017-05-25  Jer Noble  <jer.noble@apple.com>
25325         Unreviewed build fix after r217447; only run test where JSC's ObjC API is available.
25327         * TestWebKitAPI/Tests/mac/MediaPlaybackSleepAssertion.mm:
25329 2017-05-25  Jer Noble  <jer.noble@apple.com>
25331         System sleeps while playing to wireless target, ending stream.
25332         https://bugs.webkit.org/show_bug.cgi?id=172541
25334         Reviewed by Eric Carlson.
25336         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
25337         * TestWebKitAPI/Tests/mac/MediaPlaybackSleepAssertion.html: Added.
25338         * TestWebKitAPI/Tests/mac/MediaPlaybackSleepAssertion.mm: Added.
25339         (-[MediaPlaybackSleepAssertionLoadDelegate webView:didCreateJavaScriptContext:forFrame:]):
25340         (-[MediaPlaybackSleepAssertionPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
25341         (TestWebKitAPI::simulateKeyDown):
25342         (TestWebKitAPI::hasAssertionType):
25343         (TestWebKitAPI::TEST):
25345 2017-05-25  Commit Queue  <commit-queue@webkit.org>
25347         Unreviewed, rolling out r217423 and r217424.
25348         https://bugs.webkit.org/show_bug.cgi?id=172607
25350         These caused an api failure on all testers. (Requested by
25351         mlewis13 on #webkit).
25353         Reverted changesets:
25355         "REGRESSION (r216977): 4 leaks introduced in new
25356         WebKit2_WKHTTPCookieStoreWithoutProcessPool_Test"
25357         https://bugs.webkit.org/show_bug.cgi?id=172558
25358         http://trac.webkit.org/changeset/217423
25360         "REGRESSION (r217423): Fix last-second typo in 'auto'"
25361         http://trac.webkit.org/changeset/217424
25363 2017-05-25  Joanmarie Diggs  <jdiggs@igalia.com>
25365         [ATK] Expose doc-footnote ARIA role with ATK_ROLE_FOOTNOTE
25366         https://bugs.webkit.org/show_bug.cgi?id=172355
25368         Reviewed by Chris Fleizach.
25370         Add map ATK_ROLE_FOOTNOTE to "AXFootnote" and bump jhbuild minimum
25371         versions of atk, at-spi2-core, and at-spi2-atk to 2.25.2 (the earliest
25372         releases which support the new platform footnote accessibility role.
25374         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
25375         * gtk/jhbuild.modules:
25377 2017-05-25  David Kilzer  <ddkilzer@apple.com>
25379         REGRESSION (r217423): Fix last-second typo in 'auto'
25381         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
25382         (WebKit2_WKHTTPCookieStoreWithoutProcessPool_Test): Fix typo.
25384 2017-05-24  David Kilzer  <ddkilzer@apple.com>
25386         REGRESSION (r216977): 4 leaks introduced in new WebKit2_WKHTTPCookieStoreWithoutProcessPool_Test
25387         <https://webkit.org/b/172558>
25389         Reviewed by Sam Weinig.
25391         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
25392         (WebKit2_WKHTTPCookieStoreWithoutProcessPool_Test): Fix the leaks.
25394 2017-05-24  Don Olmstead  <don.olmstead@am.sony.com>
25396         [CMake] Consolidate CMake code related to Cairo
25397         https://bugs.webkit.org/show_bug.cgi?id=172568
25399         Reviewed by Alex Christensen.
25401         * DumpRenderTree/config.h:
25402         * TestWebKitAPI/config.h:
25404 2017-05-24  Wenson Hsieh  <wenson_hsieh@apple.com>
25406         Plumb additional image metadata to item providers when beginning data interaction on an image
25407         https://bugs.webkit.org/show_bug.cgi?id=172536
25408         <rdar://problem/32371300>
25410         Reviewed by Beth Dakin.
25412         Tweak existing image data interaction tests to check for suggested name and estimated size on the generated
25413         source item providers.
25415         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
25416         (checkSuggestedNameAndEstimatedSize):
25417         (TestWebKitAPI::TEST):
25419 2017-05-24  Per Arne Vollan  <pvollan@apple.com>
25421         [Win] Create unique network storage session for each DRT.
25422         https://bugs.webkit.org/show_bug.cgi?id=172540
25424         Reviewed by Brent Fulgham.
25426         During layout testing, each DRT instance should have its own network storage session.
25428         * DumpRenderTree/win/DumpRenderTree.cpp:
25429         (prepareConsistentTestingEnvironment):
25431 2017-05-24  Wenson Hsieh  <wenson_hsieh@apple.com>
25433         Respect image UTIs when writing to item providers when beginning data interaction on an image
25434         https://bugs.webkit.org/show_bug.cgi?id=172436
25435         <rdar://problem/31786569>
25437         Reviewed by Beth Dakin.
25439         Tweaks existing unit tests and adds a new test for image data interaction. See WebCore ChangeLog for more
25440         details.
25442         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
25443         * TestWebKitAPI/Tests/WebKit2Cocoa/apple.gif: Added.
25444         * TestWebKitAPI/Tests/WebKit2Cocoa/gif-and-file-input.html: Added.
25446         Create a new test page containing a GIF and a file input.
25448         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
25449         (checkTypeIdentifierIsRegisteredAtIndex):
25450         (TestWebKitAPI::TEST):
25452 2017-05-23  Per Arne Vollan  <pvollan@apple.com>
25454         [Win] Increase test timeout for slow tests.
25455         https://bugs.webkit.org/show_bug.cgi?id=172449
25457         Reviewed by Alexey Proskuryakov.
25459         Instead of using a fixed timeout of 30 seconds for all tests, we should use the
25460         timeout member in the TestRunner class.
25462         * DumpRenderTree/win/TestRunnerWin.cpp:
25463         (TestRunner::setWaitToDump):
25465 2017-05-15  Matt Rajca  <mrajca@apple.com>
25467         Replace autoplay events that fire at navigation with a DidAutoplayMediaPastThreshold event.
25468         https://bugs.webkit.org/show_bug.cgi?id=172138
25470         Reviewed by Alex Christensen.
25472         Added API tests.
25474         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
25475         * TestWebKitAPI/Tests/WebKit2/js-autoplay-audio.html: Added.
25476         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
25477         (TEST):
25478         * TestWebKitAPI/Tests/WebKit2Cocoa/silence-long.m4a: Added.
25480 2017-05-23  Simon Fraser  <simon.fraser@apple.com>
25482         Stop consulting -viewsNeedDisplay when doing layer flushing in WebKit1
25483         https://bugs.webkit.org/show_bug.cgi?id=172522
25484         rdar://problem/31071812
25486         Reviewed by Sam Weinig.
25488         Remove NSWindowStyleMaskFullSizeContentView which is no longer referenced in code.
25489         We set this in the .xib file now.
25491         * MiniBrowser/mac/MiniBrowser_Prefix.pch:
25493 2017-05-22  Simon Fraser  <simon.fraser@apple.com>
25495         Snapshotting via -renderInContext: should do synchronous image decodes
25496         https://bugs.webkit.org/show_bug.cgi?id=172485
25497         rdar://problem/32276146
25499         Reviewed by Tim Horton.
25501         New API test.
25503         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
25504         * TestWebKitAPI/Tests/WebKit/ios/SnapshotViaRenderInContext.mm: Added.
25505         (-[RenderInContextWebViewDelegate webViewDidFinishLoad:]):
25506         (-[RenderInContextWebViewDelegate webView:didFailLoadWithError:]):
25507         (TestWebKitAPI::getPixelIndex):
25508         (TestWebKitAPI::TEST):
25510 2017-05-23  Myles C. Maxfield  <mmaxfield@apple.com>
25512         Remove dead ENABLE(FONT_LOAD_EVENTS) code
25513         https://bugs.webkit.org/show_bug.cgi?id=172517
25515         Rubber-stamped by Simon Fraser.
25517         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
25519 2017-05-23  Wenson Hsieh  <wenson_hsieh@apple.com>
25521         Multiple links should be inserted separately when performing data interaction
25522         https://bugs.webkit.org/show_bug.cgi?id=172489
25523         <rdar://problem/31510832>
25525         Reviewed by Dan Bernstein.
25527         Adds a new test that performs data interaction in a contenteditable with multiple items containing URLs.
25529         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
25530         (TestWebKitAPI::TEST):
25532 2017-05-23  Tim Horton  <timothy_horton@apple.com>
25534         REGRESSION: API test WebKit2.WKObject is failing
25535         https://bugs.webkit.org/show_bug.cgi?id=172497
25536         <rdar://problem/31694641>
25538         Reviewed by Geoff Garen.
25540         * TestWebKitAPI/Tests/WebKit2Cocoa/WKObject.mm:
25541         (TestWebKitAPI::TEST):
25542         Add a test that ensures that we pretend to at least be *some* kind of
25543         NSString, which my first fix would not have passed.
25545 2017-05-23  youenn fablet  <youenn@apple.com>
25547         There should be an easy way to run HTTP/WPT served tests on a browser
25548         https://bugs.webkit.org/show_bug.cgi?id=172068
25550         Reviewed by Sam Weinig.
25552         Adding a new script open-layout-test to open a layout-test in a
25553         browser and making sure it is served as done through run-webkit-tests.
25554         In case tests should be run using a server, detecting whether the
25555         server are running. If not, calling run-webkit-httpd to run the
25556         servers and open the URL in a browser.
25557         Otherwise, open directly the URL.
25559         Adding an option in run-webkit-httpd to open an URL after having
25560         started the servers.
25562         Adding the --no-http-servers option in run-webkit-tests to not start any HTTP server.
25563         This allows running run-webkit-httpd once and not having to restart
25564         servers everytime a test should be served.
25566         Moving most of run-webkit-httpd logic in its own python file to reuse
25567         it in open-layout-test script.
25569         Adding routines to check whether HTTP and WPT servers are running.
25571         * Scripts/open-layout-test: Added.
25572         (parse_args):
25573         (main):
25574         * Scripts/run-webkit-httpd:
25575         (main):
25576         * Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
25577         (LayoutTestFinder.find_tests):
25578         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
25579         (LayoutTestRunner.run_tests):
25580         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
25581         (parse_args):
25582         * Scripts/webkitpy/layout_tests/servers/http_server_base.py:
25583         (HttpServerBase._is_server_running_on_all_ports):
25584         (HttpServerBase):
25585         (HttpServerBase._is_running_on_port):
25586         (HttpServerBase._check_that_all_ports_are_available):
25587         (is_http_server_running):
25588         * Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py: Copied from Tools/Scripts/run-webkit-httpd.
25589         (parse_args):
25590         (main):
25591         (run_server):
25592         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
25593         (is_wpt_server_running):
25594         * Scripts/webkitpy/port/base.py:
25595         (Port.to.is_http_server_running):
25596         (Port.to):
25597         (Port.to.is_wpt_server_running):
25598         (Port.to.start_web_platform_test_server):
25599         * Scripts/webkitpy/port/driver.py:
25600         (DriverProxy.is_web_platform_test):
25601         (DriverProxy):
25602         (DriverProxy.is_webkit_specific_web_platform_test):
25604 2017-05-23  Emilio Cobos Álvarez  <ecobos@igalia.com>
25606         Add a RuntimeEnabledFeature for display: contents, defaulted to false.
25607         https://bugs.webkit.org/show_bug.cgi?id=171984
25609         Reviewed by Antti Koivisto.
25611         * DumpRenderTree/mac/DumpRenderTree.mm:
25612         (enableExperimentalFeatures):
25613         * WebKitTestRunner/TestController.cpp:
25614         (WTR::TestController::resetPreferencesToConsistentValues):
25616 2017-05-20  Alex Christensen  <achristensen@webkit.org>
25618         REGRESSION(r215686): O(n^2) algorithm in CachedRawResource::addDataBuffer
25619         https://bugs.webkit.org/show_bug.cgi?id=172406
25620         <rdar://32109532>
25622         Reviewed by Brady Eidson.
25624         * TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
25625         (TestWebKitAPI::checkBuffer):
25626         (TestWebKitAPI::TEST_F):
25628 2017-05-22  Jason Marcell  <jmarcell@apple.com>
25630         Do not enter Subversion-specific logic when parsing Git-based Trac data.
25631         https://bugs.webkit.org/show_bug.cgi?id=172433
25632         <rdar://problem/32234188>
25634         Reviewed by Alexey Proskuryakov.
25636         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:
25637         (Trac.prototype._convertCommitInfoElementToObject):
25639 2017-05-22  Tim Horton  <timothy_horton@apple.com>
25641         ExplicitSnapshotsChangeUponNavigation API test often fails
25642         https://bugs.webkit.org/show_bug.cgi?id=172475
25643         <rdar://problem/31688322>
25645         Reviewed by Simon Fraser.
25647         * TestWebKitAPI/cocoa/TestWKWebView.mm:
25648         (-[TestWKWebView _setUpTestWindow:]):
25649         Make TestWKWebView's window layer-backed. This is now the default,
25650         and it's also easy to accidentally write a test that depends on it
25651         (for example, ExplicitSnapshotsChangeUponNavigation adds an NSBox,
25652         which becomes layer backed, just like the WKWebView, but with no
25653         common layer-backed ancestor).
25655 2017-05-22  youenn fablet  <youenn@apple.com>
25657         Resync web-platform-tests up to 8df7c9c215678328212f232ce0b5270c505a8563
25658         https://bugs.webkit.org/show_bug.cgi?id=172426
25660         Reviewed by Chris Dumez.
25662         * Scripts/webkitpy/w3c/test_importer.py:
25663         (TestImporter.remove_deleted_files): Outputting warning when trying to delete a file that no longer exists.
25665 2017-05-22  Konstantin Tokarev  <annulen@yandex.ru>
25667         Unreviewed, change my status to reviewer and fill "expertise" field
25669         * Scripts/webkitpy/common/config/contributors.json:
25671 2017-05-22  Tomas Popela  <tpopela@redhat.com>
25673         Remove some of the EFL port leftovers
25674         https://bugs.webkit.org/show_bug.cgi?id=172440
25676         Reviewed by Carlos Garcia Campos.
25678         * BuildSlaveSupport/built-product-archive:
25679         (archiveBuiltProduct):
25680         (extractBuiltProduct):
25681         * BuildSlaveSupport/test-result-archive:
25682         (archiveTestResults):
25683         * ImageDiff/PlatformEfl.cmake: Removed.
25684         * Scripts/run-efl-tests: Removed.
25685         * Scripts/webkit-build-directory:
25686         * Scripts/webkitpy/common/config/contributionareas.py:
25687         * Scripts/webkitpy/common/config/watchlist:
25688         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
25689         (parse_args):
25690         (_set_up_derived_options):
25691         * Scripts/webkitpy/performance_tests/perftestsrunner.py:
25692         (PerfTestsRunner.__init__):
25693         * Scripts/webkitpy/style/checker.py:
25694         * Scripts/webkitpy/style/checker_unittest.py:
25695         (GlobalVariablesTest.test_path_rules_specifier):
25696         * gtk/manifest.txt.in:
25697         * jhbuild/jhbuild-wrapper:
25699 2017-05-22  Carlos Garcia Campos  <cgarcia@igalia.com>
25701         Unreviewed. Do not include WPE files in GTK+ tarballs.
25703         * gtk/manifest.txt.in:
25705 2017-05-22  Carlos Garcia Campos  <cgarcia@igalia.com>
25707         [GTK] Add webkit_context_menu_item_new_from_gaction
25708         https://bugs.webkit.org/show_bug.cgi?id=159631
25710         Reviewed by Michael Catanzaro.
25712         Update context menu tests to check the new GAction API.
25714         * TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:
25715         (testContextMenuPopulateMenu):
25717 2017-05-21  Michael Catanzaro  <mcatanzaro@igalia.com>
25719         [GTK] Remove Firefox user agent quirk for Google domains
25720         https://bugs.webkit.org/show_bug.cgi?id=171941
25722         Reviewed by Carlos Garcia Campos.
25724         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
25725         (TestWebKitAPI::TEST):
25726         (TestWebKitAPI::assertUserAgentForURLHasFirefoxBrowserQuirk): Deleted.
25728 2017-05-20  Ting-Wei Lan  <lantw44@gmail.com>
25730         [GTK] gtkdoc-fixxref needs --module argument to work
25731         https://bugs.webkit.org/show_bug.cgi?id=172415
25733         Reviewed by Michael Catanzaro.
25735         * gtk/gtkdoc.py:
25736         (GTKDoc._run_gtkdoc_fixxref):
25738 2017-05-20  Alexey Proskuryakov  <ap@apple.com>
25740         make-new-script-test should create tests that use js-test.js, not js-test-pre.js
25741         https://bugs.webkit.org/show_bug.cgi?id=172416
25743         Reviewed by Daniel Bates.
25745         * Scripts/make-new-script-test:
25747 2017-05-19  Fujii Hironori  <Hironori.Fujii@sony.com>
25749         [Win] error LNK2005: WebCore::JSNode::checkSubClassPatchpoint() already defined in WebKit.lib
25750         https://bugs.webkit.org/show_bug.cgi?id=172267
25752         Reviewed by Per Arne Vollan.
25754         TestWebCoreLib and TestWebKitLib have linked both WebCore and WebKit.
25755         TestWebCoreLib should link only with WebCore. And, TestWebKitLib
25756         should link only with WebKit.
25758         Unfortunately, there is a layer violation at the moment.
25759         WebCore::Image::loadPlatformResource needs loadResourceIntoBuffer
25760         in WebKit. This change contains a stub of loadResourceIntoBuffer
25761         in TestWebCoreLib for the workaround.
25763         * TestWebKitAPI/PlatformWin.cmake: Do not link WebKit to
25764         TestWebCoreLib. Do not link WebCore to TestWebKitLib.
25765         * TestWebKitAPI/win/TestWebCoreStubs.cpp: Added.
25766         (loadResourceIntoBuffer): Added a stub.
25768 2017-05-19  Simon Fraser  <simon.fraser@apple.com>
25770         Fix dump-class-layout to handle different file architectures
25771         https://bugs.webkit.org/show_bug.cgi?id=172392
25773         Reviewed by Zalan Bujtas.
25775         Instead of using lldb.LLDB_ARCH_DEFAULT by default, run 'file' on the binary
25776         and use the first architecture reported. Also add a "--architecture" argument
25777         to allow the user to specify an architecture.
25779         * Scripts/dump-class-layout:
25780         (import_lldb):
25781         (verify_type_recursive):
25782         (get_first_file_architecture):
25783         (dump_class):
25784         (main):
25785         (find_build_directory): Deleted.
25787 2017-05-19  Jonathan Bedard  <jbedard@apple.com>
25789         Unreviewed infrastructure fix.
25791         * Scripts/webkitpy/port/ios_simulator.py:
25792         (IOSSimulatorPort._create_devices): Ignore failure to open Simulator.app.
25794 2017-05-19  Jonathan Bedard  <jbedard@apple.com>
25796         webkitpy: Use simctl boot to run multiple simulators at once
25797         https://bugs.webkit.org/show_bug.cgi?id=172374
25799         Reviewed by Alexey Proskuryakov.
25801         * Scripts/webkitpy/common/system/platforminfo.py:
25802         (PlatformInfo.xcode_version): Return the current version of Xcode.
25803         * Scripts/webkitpy/common/system/platforminfo_mock.py:
25804         (MockPlatformInfo.xcode_version): Return version 8.0 for testing.
25805         * Scripts/webkitpy/port/ios_simulator.py:
25806         (IOSSimulatorPort.use_multiple_simulator_apps): Return true if we need to
25807         run multiple Simulator.app instances.
25808         (IOSSimulatorPort._create_simulators): Only copy the simulator app for older
25809         versions of Xcode.
25810         (IOSSimulatorPort._create_devices): Use 'simctl boot' directly unless using
25811         an older version of Xcode.
25813 2017-05-19  Wenson Hsieh  <wenson_hsieh@apple.com>
25815         Unreviewed, fix the build on the latest internal SDK.
25817         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
25818         (TestWebKitAPI::TEST):
25820 2017-05-19  Filip Pizlo  <fpizlo@apple.com>
25822         arrayProtoPrivateFuncConcatMemcpy needs to be down with firstArray being undecided
25823         https://bugs.webkit.org/show_bug.cgi?id=172369
25825         Reviewed by Mark Lam.
25826         
25827         Because I wrote a test that relies on the NoCJIT config scribbling free cells, I thought it
25828         would be a good idea to write this down.
25830         * Scripts/run-jsc-stress-tests:
25832 2017-05-19  Jonathan Bedard  <jbedard@apple.com>
25834         webkitpy: Layout tests which have no output will succeed
25835         https://bugs.webkit.org/show_bug.cgi?id=172322
25836         <rdar://problem/32258350>
25838         Reviewed by David Kilzer.
25840         * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
25841         (SingleTestRunner._compare_text): Add FailreNotTested to failures if test has no output.
25842         * Scripts/webkitpy/layout_tests/models/test_failures.py:
25843         (determine_result_type): FailureNotTested means that the test could not be loaded. This
25844         is classified as a MISSING failure.
25845         (FailureNotTested): Added.
25846         (FailureNotTested.message):
25848 2017-05-19  Yusuke Suzuki  <utatane.tea@gmail.com>
25850         Add SixSpeed benchmark to PerformanceTests
25851         https://bugs.webkit.org/show_bug.cgi?id=172326
25853         Reviewed by Sam Weinig.
25855         * Scripts/run-jsc-benchmarks:
25857 2017-05-19  Wenson Hsieh  <wenson_hsieh@apple.com>
25859         [WK1] MiniBrowser should navigate when handling a dropped URL
25860         https://bugs.webkit.org/show_bug.cgi?id=172350
25862         Reviewed by Tim Horton.
25864         Allow all drop actions, including URL navigation, for WebKit1 MiniBrowser.
25866         * MiniBrowser/mac/WK1BrowserWindowController.m:
25867         (-[WK1BrowserWindowController webView:dragDestinationActionMaskForDraggingInfo:]):
25869 2017-05-18  Ryosuke Niwa  <rniwa@webkit.org>
25871         REGRESSION (r216694 - 216712): Performance test Speedometer/Full.html is failing
25872         https://bugs.webkit.org/show_bug.cgi?id=172077
25874         Reviewed by Chris Dumez.
25876         Fixed perftest.py by updating the lines to ignore in Speedometer.
25878         Also start report the results as "Speedometer" instead of "DoYouEvenBench/Full.html" to perf.webkit.org.
25880         * Scripts/webkitpy/performance_tests/perftest.py:
25881         (PerfTest._lines_to_ignore_in_parser_result): Updated for Speedometer 2.0.
25882         * Scripts/webkitpy/performance_tests/perftestsrunner.py:
25883         (PerfTestsRunner._collect_tests): Use "Speedometer" instead of "Speedometer/index.html" as the test name.
25884         (_generate_results_dict): Removed the workaround to keep reporting Speedometer as DoYouEvenBench.
25885         * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
25886         (MainTest.test_collect_tests_with_index_html_and_resources): Added.
25888 2017-05-18  Andy Estes  <aestes@apple.com>
25890         ENABLE(APPLE_PAY_DELEGATE) should be NO on macOS Sierra and earlier
25891         https://bugs.webkit.org/show_bug.cgi?id=172305
25893         Reviewed by Anders Carlsson.
25895         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
25897 2017-05-18  Wenson Hsieh  <wenson_hsieh@apple.com>
25899         Selection around attachment elements should not persist when beginning a drag
25900         https://bugs.webkit.org/show_bug.cgi?id=172319
25901         <rdar://problem/32283008>
25903         Reviewed by Tim Horton.
25905         Tests that temporary selection around an attachment does not persist longer than it needs to.
25907         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
25908         (TestWebKitAPI::TEST):
25910 2017-05-18  John Wilander  <wilander@apple.com>
25912         Resource Load Statistics: Grandfather domains for existing data records
25913         https://bugs.webkit.org/show_bug.cgi?id=172155
25914         <rdar://problem/24913532>
25916         Reviewed by Alex Christensen.
25918         Adds test infrastructure needed for the added functionality.
25920         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
25921         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
25922         (WTR::InjectedBundle::didReceiveMessageToPage):
25923         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
25924         (WTR::TestRunner::setStatisticsGrandfathered):
25925         (WTR::TestRunner::isStatisticsGrandfathered):
25926         (WTR::TestRunner::installStatisticsDidScanDataRecordsCallback):
25927         (WTR::TestRunner::statisticsDidScanDataRecordsCallback):
25928         (WTR::TestRunner::setStatisticsGrandfatheringTime):
25929         * WebKitTestRunner/InjectedBundle/TestRunner.h:
25930         * WebKitTestRunner/TestController.cpp:
25931         (WTR::TestController::setStatisticsGrandfathered):
25932         (WTR::TestController::isStatisticsGrandfathered):
25933         (WTR::TestController::setStatisticsGrandfatheringTime):
25934         * WebKitTestRunner/TestController.h:
25935         * WebKitTestRunner/TestInvocation.cpp:
25936         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
25938 2017-05-18  Saam Barati  <sbarati@apple.com>
25940         WebAssembly: perform stack checks
25941         https://bugs.webkit.org/show_bug.cgi?id=165546
25942         <rdar://problem/29760307>
25944         Reviewed by Filip Pizlo.
25946         Add some new testing modes for using and not using fast TLS wasm contexts.
25948         * Scripts/run-jsc-stress-tests:
25950 2017-05-18  Daniel Bates  <dabates@apple.com>
25952         REGRESSION (r209608): Cross-origin plugin document opened in child window blocked by parent
25953         window CSP when object-src 'none' is set
25954         https://bugs.webkit.org/show_bug.cgi?id=172038
25955         <rdar://problem/32258262>
25957         Reviewed by Andy Estes.
25959         Teach the test Netscape plugin to look for a URL that contains plugin-document-alert-and-notify-done.pl.
25960         When it sees this URL it will show a JavaScript alert and call testRunner.notifyDone().
25962         * DumpRenderTree/TestNetscapePlugIn/main.cpp:
25963         (NPP_New):
25965 2017-05-18  Per Arne Vollan  <pvollan@apple.com>
25967         [Win] Many layout tests are failing.
25968         https://bugs.webkit.org/show_bug.cgi?id=172286
25970         Reviewed by Brent Fulgham.
25972         Add a FIXME comment about unimplemented functions, instead of writing this to the test result file.
25974         * DumpRenderTree/win/TestRunnerWin.cpp:
25975         (TestRunner::grantWebNotificationPermission):
25976         (TestRunner::denyWebNotificationPermission):
25977         (TestRunner::removeAllWebNotificationPermissions):
25978         (TestRunner::simulateWebNotificationClick):
25980 2017-05-18  Don Olmstead  <don.olmstead@am.sony.com>
25982         [Win] Remove usage of _snprintf
25983         https://bugs.webkit.org/show_bug.cgi?id=172251
25985         Reviewed by Per Arne Vollan.
25987         * DumpRenderTree/TestNetscapePlugIn/PluginTest.h:
25988         * MiniBrowser/win/PageLoadTestClient.cpp:
25989         (PageLoadTestClient::dumpRunStatistics):
25991 2017-05-17  Ryan Haddad  <ryanhaddad@apple.com>
25993         Unreviewed, rolling out r217014.
25995         This change caused mac-wk2 LayoutTests to exit early due to
25996         crashes.
25998         Reverted changeset:
26000         "Resource Load Statistics: Grandfather domains for existing
26001         data records"
26002         https://bugs.webkit.org/show_bug.cgi?id=172155
26003         http://trac.webkit.org/changeset/217014
26005 2017-05-17  John Wilander  <wilander@apple.com>
26007         Resource Load Statistics: Grandfather domains for existing data records
26008         https://bugs.webkit.org/show_bug.cgi?id=172155
26009         <rdar://problem/24913532>
26011         Reviewed by Alex Christensen.
26013         Adds test infrastructure needed for the added functionality.
26015         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
26016         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
26017         (WTR::InjectedBundle::didReceiveMessageToPage):
26018         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
26019         (WTR::TestRunner::setStatisticsGrandfathered):
26020         (WTR::TestRunner::isStatisticsGrandfathered):
26021         (WTR::TestRunner::installStatisticsDidScanDataRecordsCallback):
26022         (WTR::TestRunner::statisticsDidScanDataRecordsCallback):
26023         (WTR::TestRunner::setStatisticsGrandfatheringTime):
26024         * WebKitTestRunner/InjectedBundle/TestRunner.h:
26025         * WebKitTestRunner/TestController.cpp:
26026         (WTR::TestController::setStatisticsGrandfathered):
26027         (WTR::TestController::isStatisticsGrandfathered):
26028         (WTR::TestController::setStatisticsGrandfatheringTime):
26029         * WebKitTestRunner/TestController.h:
26030         * WebKitTestRunner/TestInvocation.cpp:
26031         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
26033 2017-05-17  Alex Christensen  <achristensen@webkit.org>
26035         Fix ios-simulator API test after r216977
26036         https://bugs.webkit.org/show_bug.cgi?id=171987
26038         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
26039         (TEST):
26040         <rdar://problem/32260156> covers the investigation of this, but fixing it is 
26041         not as urgent as having the rest of this working. Notably the ephemeral part of the
26042         test works, so something is just wrong with the persistent part.
26044 2017-05-17  Ryan Haddad  <ryanhaddad@apple.com>
26046         Unreviewed, rolling out r216955.
26048         This change caused strange behavior with web-platform-tests
26049         locally and on EWS.
26051         Reverted changeset:
26053         "webkitpy: Start servers before setting-up for testing"
26054         https://bugs.webkit.org/show_bug.cgi?id=172176
26055         http://trac.webkit.org/changeset/216955
26057 2017-05-17  Wenson Hsieh  <wenson_hsieh@apple.com>
26059         A URL type is vended for a non-URL plain text string when starting data interaction
26060         https://bugs.webkit.org/show_bug.cgi?id=172228
26061         <rdar://problem/32166729>
26063         Reviewed by Andy Estes.
26065         Adds two new data interaction tests, SinglePlainTextWordTypeIdentifiers and SinglePlainTextURLTypeIdentifiers,
26066         to verify that a URL UTI is not vended when beginning a data interaction on a single word, but that a URL is
26067         still vended when beginning data interaction on something that resembles a link.
26069         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
26071 2017-05-17  David Kilzer  <ddkilzer@apple.com>
26073         BlobDataFileReference::generateReplacementFile() should use mkstemp()
26074         <https://webkit.org/b/172192>
26076         Reviewed by Brent Fulgham.
26078         * Scripts/webkitpy/style/checkers/cpp.py:
26079         (check_language): Add check for mktemp.
26080         (CppChecker): Add 'security/temp_file' category.
26081         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
26082         (CppStyleTest.test_insecure_temp_file): Add test.
26084 2017-05-17  Devin Rousso  <drousso@apple.com>
26086         Unreviewed, change my email.
26088         * Scripts/webkitpy/common/config/contributors.json:
26090 2017-05-17  Matt Lewis  <jlewis3@apple.com>
26092         Unreviewed, rolling out r216974.
26094         Revision caused consistent timeouts on all platforms.
26096         Reverted changeset:
26098         "Add a RuntimeEnabledFeature for display: contents, defaulted
26099         to false."
26100         https://bugs.webkit.org/show_bug.cgi?id=171984
26101         http://trac.webkit.org/changeset/216974
26103 2017-05-17  Alex Christensen  <achristensen@webkit.org>
26105         Interacting with WKHTTPCookieStores before creating WKWebViews and WKProcessPools should affect cookies used
26106         https://bugs.webkit.org/show_bug.cgi?id=171987
26108         Reviewed by Brady Eidson.
26110         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
26111         (-[CookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
26112         (TEST):
26114 2017-05-17  Emilio Cobos Álvarez  <ecobos@igalia.com>
26116         Add a RuntimeEnabledFeature for display: contents, defaulted to false.
26117         https://bugs.webkit.org/show_bug.cgi?id=171984
26119         Reviewed by Antti Koivisto.
26121         * DumpRenderTree/mac/DumpRenderTree.mm:
26122         (enableExperimentalFeatures):
26123         * WebKitTestRunner/TestController.cpp:
26124         (WTR::TestController::resetPreferencesToConsistentValues):
26126 2017-05-16  Timothy Horton  <timothy_horton@apple.com>
26128         Fix the build
26130         * TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:
26131         (TestWebKitAPI::PageVisibilityStateWithWindowChanges::runTest):
26133 2017-05-16  Tim Horton  <timothy_horton@apple.com>
26135         PageVisibilityStateWithWindowChanges tests sometimes time out
26136         https://bugs.webkit.org/show_bug.cgi?id=172202
26137         <rdar://problem/29653266>
26139         Reviewed by Dean Jackson.
26141         * TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:
26142         (TestWebKitAPI::PageVisibilityStateWithWindowChanges::runTest):
26143         Make sure the window is miniaturizable, otherwise, in some cases, miniaturize: will not work.
26145 2017-05-16  Jonathan Bedard  <jbedard@apple.com>
26147         webkitpy: Start servers before setting-up for testing
26148         https://bugs.webkit.org/show_bug.cgi?id=172176
26149         <rdar://problem/32225538>
26151         Reviewed by Alexey Proskuryakov.
26153         On-device testing requires that servers are started before ports set-up their
26154         test environments.
26156         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
26157         (LayoutTestRunner.__init__): Start servers when initializing LayoutTestRunner.
26158         (LayoutTestRunner.run_tests): Move the starting of servers to the initializer.
26159         * Scripts/webkitpy/layout_tests/controllers/manager.py:
26160         (Manager.__init__): Delay construction of the test runner until we can determine
26161         if servers need to be started.
26162         (Manager.run): Determine if servers need to be started and construct the test runner.
26163         (Manager._run_tests): Move the determination of servers to run into Manager.run.
26165 2017-05-16  Adrian Perez de Castro  <aperez@igalia.com>
26167         Unreviewed, adding myself to contributors.json
26169         * Scripts/webkitpy/common/config/contributors.json:
26171 2017-05-16  Claudio Saavedra  <csaavedra@igalia.com>
26173         [GTK] Tests that always pass when run alone, but fail in the bots
26174         https://bugs.webkit.org/show_bug.cgi?id=168572
26176         Reviewed by Michael Catanzaro.
26178         PlatformWebView::viewSupportsOptions() is basically a comparison
26179         that checks that the passed options are the ones supported by the
26180         web view. There is no reason for them to be implemented for each
26181         platform differently. In fact doing so causes issues each time a
26182         new option is added, if the corresponding platform implementation
26183         is not updated accordingly.
26185         A consequence of not updating the viewSupportOptions()
26186         implementations when new options are added is that tests that need
26187         these options might fail if they are executed after a test that
26188         didn't need the option, as the webview will be reused even if the
26189         option is not supported. This cannot be spotted when running the
26190         tests individually. See bug #165133 for other example of the same
26191         problem.
26193         Remove the platform implementations and make the comparison a
26194         method of the TestOptions structure, so that the check is in one
26195         place. For the time being, only include in the comparison the
26196         options that were checked in the mac platform, which seem to be
26197         the only ones relevant this far (unless newer ones have also been
26198         forgotten).
26200         * WebKitTestRunner/PlatformWebView.h:
26201         (WTR::PlatformWebView::viewSupportsOptions): Use the method
26202         defined below.
26203         * WebKitTestRunner/TestOptions.h:
26204         (WTR::TestOptions::hasSameInitializationOptions): Added.
26205         * WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
26206         (WTR::PlatformWebView::viewSupportsOptions): Deleted.
26207         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
26208         (WTR::PlatformWebView::viewSupportsOptions): Deleted.
26209         * WebKitTestRunner/mac/PlatformWebViewMac.mm:
26210         (WTR::PlatformWebView::viewSupportsOptions): Deleted.
26211         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
26212         (WTR::PlatformWebView::viewSupportsOptions): Deleted.
26214 2017-05-15  Yusuke Suzuki  <utatane.tea@gmail.com>
26216         [JSC] Build testapi in non Apple ports
26217         https://bugs.webkit.org/show_bug.cgi?id=172103
26219         Reviewed by Filip Pizlo.
26221         Now testapi is drived in JSCOnly, GTK and WPE ports too.
26223         * Scripts/build-jsc:
26224         * Scripts/run-javascriptcore-tests:
26226 2017-05-15  Youenn Fablet  <youenn@apple.com>
26228         WPT test importer should not account for slow manual tests
26229         https://bugs.webkit.org/show_bug.cgi?id=172127
26231         Reviewed by Ryosuke Niwa.
26233         Making sure manual tests are not triggering updating tests-options.json file.
26235         * Scripts/webkitpy/w3c/test_importer.py:
26236         (TestImporter.find_importable_tests):
26237         (TestImporter._already_identified_as_resource_file):
26238         (TestImporter.update_tests_options):
26239         * Scripts/webkitpy/w3c/test_importer_unittest.py:
26240         (test_manual_slow_test):
26242 2017-05-15  Jonathan Bedard  <jbedard@apple.com>
26244         webkitpy: Some versions of simctl do not place parenthesis around runtime identifiers
26245         https://bugs.webkit.org/show_bug.cgi?id=172142
26247         Reviewed by Tim Horton.
26249         * Scripts/webkitpy/xcode/simulator.py:
26250         (Simulator._parse_runtimes): Newer versions of simctl output do not put parenthesis
26251         around runtime identifiers.
26252         * Scripts/webkitpy/xcode/simulator_unittest.py: Add tests for new simctl output.
26254 2017-05-15  Ryosuke Niwa  <rniwa@webkit.org>
26256         Update ARES-6 plan file to use the latest version
26257         https://bugs.webkit.org/show_bug.cgi?id=172139
26259         Reviewed by Keith Miller.
26261         Include r216538.
26263         * Scripts/webkitpy/benchmark_runner/data/plans/ares6.plan:
26265 2017-05-15  Jeremy Jones  <jeremyj@apple.com>
26267         Disable Picture In Picture API tests on unsupported platforms.
26268         https://bugs.webkit.org/show_bug.cgi?id=172125
26269         rdar://problem/32199477
26271         Reviewed by Simon Fraser.
26273         The callbacks and allowing picture-in-picture require new SPI.
26275         * TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.mm:
26277 2017-05-15  Brady Eidson  <beidson@apple.com>
26279         [ios-simulator] API test WKWebView.ClearAppCache is failing.
26280         https://bugs.webkit.org/show_bug.cgi?id=172120
26282         Unreviewed test gardening.
26284         * TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm:
26285         (TEST): ios-sim needs explicit deleting of the app cache paths that I'd removed in 216805.
26286           Restoring that code fixes this.
26288 2017-05-15  Timothy Horton  <timothy_horton@apple.com>
26290         Null deref under WebContentReader::readURL when interacting with a file URL
26291         https://bugs.webkit.org/show_bug.cgi?id=172045
26292         <rdar://problem/25880647>
26294         Reviewed by Wenson Hsieh.
26296         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
26297         (TestWebKitAPI::TEST):
26298         The text of the file URL is pasted because a textual version of it gets
26299         onto the pasteboard. However, this test would have crashed before. Also
26300         tests that we don't make an <a>.
26302 2017-05-14  Per Arne Vollan  <pvollan@apple.com>
26304         [Win] fast/cookies/local-file-can-set-cookies.html is flaky.
26305         https://bugs.webkit.org/show_bug.cgi?id=172071
26307         Reviewed by Alexey Proskuryakov.
26309         * DumpRenderTree/win/DumpRenderTree.cpp:
26310         (resetWebPreferencesToConsistentValues):
26312 2017-05-14  Chris Dumez  <cdumez@apple.com>
26314         Drop PassRefPtr class from WTF
26315         https://bugs.webkit.org/show_bug.cgi?id=172091
26317         Reviewed by Alex Christensen.
26319         Drop API test coverage.
26321         * TestWebKitAPI/Tests/WTF/Ref.cpp:
26322         (TestWebKitAPI::TEST):
26323         (TestWebKitAPI::passWithPassRefPtr): Deleted.
26325 2017-05-13  Eric Carlson  <eric.carlson@apple.com>
26327         [MediaStream] deviceId constraint doesn't work with getUserMedia
26328         https://bugs.webkit.org/show_bug.cgi?id=171877
26329         <rdar://problem/31899730>
26331         Reviewed by Jer Noble.
26333         The device ID hash salt is now required for getUserMedia to check deviceId constraint, so
26334         implement the "checkUserMediaPermission" callback.
26335         * TestWebKitAPI/Tests/WebKit2/UserMedia.cpp:
26336         (TestWebKitAPI::decidePolicyForUserMediaPermissionRequestCallBack):
26337         (TestWebKitAPI::checkUserMediaPermissionCallback):
26338         (TestWebKitAPI::TEST):
26340         * TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm:
26341         (-[UserMediaUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
26343 2017-05-13  Chris Dumez  <cdumez@apple.com>
26345         Stop using RefPtr::release()
26346         https://bugs.webkit.org/show_bug.cgi?id=172074
26348         Reviewed by Geoffrey Garen.
26350         * TestWebKitAPI/Tests/WTF/RefPtr.cpp:
26351         (TestWebKitAPI::TEST):
26353 2017-05-13  Commit Queue  <commit-queue@webkit.org>
26355         Unreviewed, rolling out r216808.
26356         https://bugs.webkit.org/show_bug.cgi?id=172075
26358         caused lldb to hang when debugging (Requested by smfr on
26359         #webkit).
26361         Reverted changeset:
26363         "Use Mach exceptions instead of signals where possible"
26364         https://bugs.webkit.org/show_bug.cgi?id=171865
26365         http://trac.webkit.org/changeset/216808
26367 2017-05-12  Alex Christensen  <achristensen@webkit.org>
26369         Rename WKContentExtension to WKContentRuleList
26370         https://bugs.webkit.org/show_bug.cgi?id=172053
26371         <rdar://problem/32141005>
26373         Reviewed by Geoffrey Garen.
26375         * TestWebKitAPI/Tests/WebKit2Cocoa/WKContentExtensionStore.mm:
26376         (WKContentRuleListStoreTest::SetUp):
26377         (TEST_F):
26378         (-[ContentRuleListDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
26379         (WKContentExtensionStoreTest::SetUp): Deleted.
26380         (-[ContentExtensionDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): Deleted.
26382 2017-05-12  Keith Miller  <keith_miller@apple.com>
26384         Use Mach exceptions instead of signals where possible
26385         https://bugs.webkit.org/show_bug.cgi?id=171865
26387         Reviewed by Mark Lam.
26389         * TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:
26390         (runThreadMessageTest):
26391         (TEST):
26393 2017-05-12  Jeremy Jones  <jeremyj@apple.com>
26395         Add objc version of WK2 UIPageClient setHasVideoInPictureInPicture and rename it to hasVideoInPictureInPictureDidChange.
26396         https://bugs.webkit.org/show_bug.cgi?id=172048
26397         rdar://problem/32163054
26399         Reviewed by Simon Fraser.
26401         Add a WKWebView test for hasVideoInPictureInPictureDidChange UIDelegate callback.
26403         * TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.html:
26404         * TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.mm:
26405         (hasVideoInPictureInPictureDidChange):
26406         (-[PictureInPictureUIDelegate _webView:hasVideoInPictureInPictureDidChange:]):
26407         (-[PictureInPictureUIDelegate userContentController:didReceiveScriptMessage:]):
26408         (TestWebKitAPI::TEST):
26410 2017-05-12  Brady Eidson  <beidson@apple.com>
26412         REGRESSION (r216711): API test WKWebView.ClearAppCache is failing.
26413         https://bugs.webkit.org/show_bug.cgi?id=172030
26415         Unreviewed - Test gardening
26417         Try to resolve this once and for all by using the WebsiteDataStore API to nuke everything
26418         before the test starts.
26420         * TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm:
26421         (defaultWebsiteCacheDirectory):
26422         (defaultApplicationCacheDirectory):
26423         (TEST):
26424         (defaultWebsiteDataDirectory): Deleted.
26426 2017-05-12  David Quesada  <david_quesada@apple.com>
26428         Add SPI for overriding WKWebView's clipping behavior for _visibleContentRect
26429         https://bugs.webkit.org/show_bug.cgi?id=172000
26430         rdar://problem/32144756
26432         Reviewed by Simon Fraser.
26434         Added API tests to verify that WKWebView provides the expected value for
26435         _visibleContentRect in various configurations. (i.e. not inside a scrollview,
26436         inside a scrollview but not clipped, clipped by an ancestor scrollview,
26437         clipped by the webview's _enclosingViewForExposedRectComputation)
26439         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
26440         * TestWebKitAPI/Tests/WebKit2Cocoa/VisibleContentRect.mm: Added.
26441         (-[TestWKWebViewWithEnclosingView _enclosingViewForExposedRectComputation]):
26442         (TestWebKitAPI::TEST):
26444 2017-05-12  Brady Eidson  <beidson@apple.com>
26446         REGRESSION (r216711): API test WKWebView.ClearAppCache is failing.
26447         https://bugs.webkit.org/show_bug.cgi?id=172030
26449         Unreviewed - Test gardening, in effect...
26451         More exploration as to why this continues to fail on the bots.
26452         
26453         This change should give us a smoking gun.
26454         
26455         * TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm:
26456         (TEST):
26458 2017-05-12  Hyungwook Lee  <hyungwook.lee@navercorp.com>
26460         [GTK] Fix compile warnings in PlatformImageCairo.cpp
26461         https://bugs.webkit.org/show_bug.cgi?id=171850
26463         Reviewed by Michael Catanzaro.
26465         * ImageDiff/cairo/PlatformImageCairo.cpp:
26466         (ImageDiff::PlatformImage::createFromStdin):
26467         (ImageDiff::PlatformImage::writeAsPNGToStdout):
26469 2017-05-12  Jeremy Jones  <jeremyj@apple.com>
26471         Add UIClient callback for when picture-in-picture is activated.
26472         https://bugs.webkit.org/show_bug.cgi?id=172023
26474         Reviewed by Simon Fraser.
26476         Added a test for WKPageUIClientV10 setHasVideoInPictureInPicture.
26478         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
26479         * TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.html: Added.
26480         * TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.mm: Added.
26481         (onLoadedCompletedCallback):
26482         (waitUntilOnLoadIsCompleted):
26483         (didFinishLoadForFrame):
26484         (setHasVideoInPictureInPicture):
26485         (TestWebKitAPI::TEST):
26487 2017-05-12  Jonathan Bedard  <jbedard@apple.com>
26489         Unreviewed follow-up to r216776.
26491         * Scripts/webkitpy/port/base.py:
26492         (Port.path_to_crash_logs): Raise not implemented.
26493         * Scripts/webkitpy/port/test.py:
26494         (TestPort.path_to_crash_logs): Return results directory as the location of crash logs.
26495         * Scripts/webkitpy/port/win.py:
26496         (WinPort.path_to_crash_logs): Ditto.
26498 2017-05-12  Alexey Proskuryakov  <ap@apple.com>
26500         Bot watcher's dashboard shows results links twice sometimes
26501         https://bugs.webkit.org/show_bug.cgi?id=172043
26503         Reviewed by Tim Horton.
26505         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:
26506         (BuildbotTesterQueueView.prototype._presentPopoverForGenericTestFailures):
26508 2017-05-12  Brady Eidson  <beidson@apple.com>
26510         REGRESSION (r216711): API test WKWebView.ClearAppCache is failing.
26511         https://bugs.webkit.org/show_bug.cgi?id=172030
26513         Unreviewed - Test gardening, in effect...
26515         This failure is only being seen by the bots.
26516         
26517         I believe this test is utterly broken in the first place; when it checks the .wal file's
26518         size that is not actually an indicator that the records were deleted.
26519         
26520         But that isn't what's coming up as failure on the bots.
26521         
26522         This patch is an attempt to:
26523         1 - More forcefully clear the Website data directory of leftovers before the test starts.
26524         2 - Give an earlier indication of the failure that the bots are seeing, to possibly reveal more.
26526         * TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm:
26527         (defaultWebsiteDataDirectory):
26528         (defaultApplicationCacheDirectory):
26529         (TEST):
26531 2017-05-12  Jonathan Bedard  <jbedard@apple.com>
26533         webkitpy: Pass directory with crash logs into CrashLogs
26534         https://bugs.webkit.org/show_bug.cgi?id=172033
26535         <rdar://problem/32157616>
26537         Reviewed by Daniel Bates.
26539         Refactor CrashLogs and the callers of CrashLogs so that the port object owns
26540         the location of crash logs.
26542         * Scripts/webkitpy/common/system/crashlogs.py:
26543         (CrashLogs.__init__): Pass mandatory crash_log_directory when constructing.
26544         (CrashLogs._find_newest_log_darwin): Use self._crash_log_directory instead of
26545         generating one.
26546         (CrashLogs._find_newest_log_win): Use self._crash_log_directory instead of
26547         self._results_directory.
26548         (CrashLogs._find_all_logs_darwin): Use self._crash_log_directory instead of
26549         generating one.
26550         (CrashLogs._log_directory_darwin): Moved to port.
26551         * Scripts/webkitpy/common/system/crashlogs_unittest.py: Update tests since the path
26552         to the crash log is no longer owned by CrashLogs.
26553         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: Use the general
26554         directory for uploading crash logs. Note that crash logs are only supported on Mac
26555         and Windows.
26556         * Scripts/webkitpy/port/apple.py: Remove unneeded CrashLogs import.
26557         * Scripts/webkitpy/port/base.py:
26558         (Port.path_to_crash_logs): Unless ports declare otherwise, crash logs are assumed
26559         to be in the results directory.
26560         * Scripts/webkitpy/port/darwin.py:
26561         (DarwinPort.path_to_crash_logs): Moved from CrashLogs._log_directory_darwin.
26562         (DarwinPort._look_for_all_crash_logs_in_log_dir): Use port specific crash log path.
26563         (DarwinPort._get_crash_log): Ditto.
26564         * Scripts/webkitpy/port/darwin_testcase.py:
26565         (DarwinTest.test_crashlog_path): Test that the Darwin ports are correctly calculating
26566         the path to crash logs.
26567         * Scripts/webkitpy/port/ios_device.py:
26568         (IOSDevicePort.path_to_crash_logs): Currently, crash log retrieval is undefined for iOS.
26569         * Scripts/webkitpy/port/ios_device_unittest.py:
26570         (IOSDeviceTest.test_crashlog_path): Currently, crash log retrieval is undefined for iOS.
26571         * Scripts/webkitpy/port/ios_simulator.py: Remove unneeded CrashLogs import.
26572         * Scripts/webkitpy/port/mac.py: Ditto.
26573         * Scripts/webkitpy/port/test.py:
26574         (TestDriver.run_test): Use port specific crash log path when retrieving crash logs.
26575         * Scripts/webkitpy/port/win.py:
26576         (WinPort._get_crash_log): Ditto.
26577         * Scripts/webkitpy/tool/commands/queries.py:
26578         (execute): Construct a port object since this is the object which owns the path to crash logs.
26580 2017-05-12  Carlos Garcia Campos  <cgarcia@igalia.com>
26582         Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/create-navigation-data after r216615.
26584         In r216615 the custom code for window.open() was removed. The generated code now correctly handles the optional
26585         URL parameter using the default value "about:blank" when not provided.
26587         * TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:
26588         (testWebViewCreateNavigationData):
26590 2017-05-11  Youenn Fablet  <youenn@apple.com>
26592         Allow WPT server to serve specific WebKit test
26593         https://bugs.webkit.org/show_bug.cgi?id=171479
26595         Reviewed by Ryosuke Niwa.
26597         Adding a new mount point to WPT server.
26598         It points to LayoutTests/http/wpt folder and is triggered on "/WebKit" urls.
26600         Updating the webkitpy infrastructure to launch WPT server and do test url mapping for LayoutTests/wpt tests.
26602         * Scripts/webkitpy/layout_tests/controllers/manager.py:
26603         (Manager.__init__):
26604         (Manager._is_http_test):
26605         (Manager._needs_web_platform_test):
26606         (Manager._run_tests):
26607         (Manager._is_web_platform_test): Deleted.
26608         * Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:
26609         (build_routes):
26610         (main):
26611         * Scripts/webkitpy/port/driver.py:
26612         (Driver):
26613         (Driver.is_webkit_specific_web_platform_test):
26614         (Driver.test_to_uri):
26615         (Driver._command_from_driver_input):
26617 2017-05-11  Brady Eidson  <beidson@apple.com>
26619         [WKWebsiteDataStore removeDataOfTypes:...] doesn't work for IndexedDB if the data store has a custom IDB path.
26620         <rdar://problem/30612463> and https://bugs.webkit.org/show_bug.cgi?id=171994
26622         Reviewed by Andy Estes.
26623         Informal review by Maureen Daum.
26625         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
26626         (TEST):
26628 2017-05-11  Joseph Pecoraro  <pecoraro@apple.com>
26630         REGRESSION(r216217): lldb_webkit.py no longer prints out a WTFString, StringImpl needs to handle StringImplShape change
26631         https://bugs.webkit.org/show_bug.cgi?id=171989
26633         Reviewed by Brian Burg.
26635         * lldb/lldb_webkit.py:
26636         (WTFStringImplProvider.get_data8):
26637         (WTFStringImplProvider.get_data16):
26638         m_data8 and m_data16 are now part of the superclass StringImplShape
26639         instead of directly in StringImpl. So first get the shape by getting
26640         index 0, and the data properties are the same offset within that.
26642 2017-05-11  Joseph Pecoraro  <pecoraro@apple.com>
26644         Remove Vibration API
26645         https://bugs.webkit.org/show_bug.cgi?id=171766
26647         Rubber-stamped by Alexey Proskuryakov.
26649         * Scripts/webkitperl/FeatureList.pm:
26651 2017-05-11  Carlos Alberto Lopez Perez  <clopez@igalia.com>
26653         Add WPE release bots
26654         https://bugs.webkit.org/show_bug.cgi?id=171973
26656         Reviewed by Žan Doberšek.
26658         This adds a WPE Release Build bot (64-bit) and a WPE Release Test bot.
26659         It also adds a new WPE buildbot category.
26661         * BuildSlaveSupport/build.webkit.org-config/config.json:
26662         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
26663         (InstallWpeDependencies):
26664         (appendCustomBuildFlags):
26665         (Factory.__init__):
26666         (loadBuilderConfig):
26667         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
26668         * BuildSlaveSupport/build.webkit.org-config/templates/root.html:
26670 2017-05-09  Sam Weinig  <sam@webkit.org>
26672         Remove support for legacy Notifications
26673         https://bugs.webkit.org/show_bug.cgi?id=171487
26675         Reviewed by Jon Lee.
26677         * DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp:
26678         (DRTDesktopNotificationPresenter::checkNotificationPermission):
26679         * Scripts/webkitperl/FeatureList.pm:
26680         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
26681         Remove use and definition of ENABLE_LEGACY_NOTIFICATIONS.
26683 2017-05-10  Michael Catanzaro  <mcatanzaro@igalia.com>
26685         Remove user agent quirk for Slack
26686         https://bugs.webkit.org/show_bug.cgi?id=171869
26688         Reviewed by Carlos Garcia Campos.
26690         Remove the corresponding test.
26692         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
26693         (TestWebKitAPI::TEST):
26695 2017-05-10  Commit Queue  <commit-queue@webkit.org>
26697         Unreviewed, rolling out r216578.
26698         https://bugs.webkit.org/show_bug.cgi?id=171920
26700         Broke the GTK+ build with Wayland enabled (Requested by KaL on
26701         #webkit).
26703         Reverted changeset:
26705         "[GTK] Bump GTK+ and its dependencies in jhbuild"
26706         https://bugs.webkit.org/show_bug.cgi?id=171918
26707         http://trac.webkit.org/changeset/216578
26709 2017-05-10  Carlos Garcia Campos  <cgarcia@igalia.com>
26711         [GTK] Bump GTK+ and its dependencies in jhbuild
26712         https://bugs.webkit.org/show_bug.cgi?id=171918
26714         Reviewed by Carlos Alberto Lopez Perez.
26716         * WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
26717         (WTR::initializeGtkSettings):
26718         * gtk/jhbuild.modules:
26719         * gtk/patches/gtk+-configure-fix-detecting-CUPS-2.x.patch: Removed.
26720         * gtk/patches/librsvg-2.36.1-bump-up-config.guess-to-support-aarch64.patch: Removed.
26722 2017-05-10  Don Olmstead  <don.olmstead@am.sony.com>
26724         [Win] Set CMake args in build-webkit
26725         https://bugs.webkit.org/show_bug.cgi?id=171436
26727         Reviewed by Per Arne Vollan.
26729         * Scripts/build-webkit:
26731 2017-05-10  Carlos Garcia Campos  <cgarcia@igalia.com>
26733         ImageDiff: Add CG implementation for new ImageDiff
26734         https://bugs.webkit.org/show_bug.cgi?id=170608
26736         Reviewed Alex Christensen.
26738         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
26739         * DumpRenderTree/win/ImageDiffCairo.cpp: Removed.
26740         * DumpRenderTree/win/ImageDiffWin.cpp: Removed.
26741         * ImageDiff/CMakeLists.txt:
26742         * ImageDiff/Cairo.cmake:
26743         * ImageDiff/ImageDiff.cpp:
26744         (main):
26745         * ImageDiff/ImageDiff.xcodeproj/project.pbxproj:
26746         * ImageDiff/PlatformImage.cpp:
26747         * ImageDiff/PlatformImage.h:
26748         * ImageDiff/cairo/PlatformImageCairo.cpp:
26749         * ImageDiff/cg/ImageDiff.cpp: Removed.
26750         * ImageDiff/cg/PlatformImageCG.cpp: Added.
26751         (ImageDiff::PlatformImage::createFromStdin):
26752         (ImageDiff::PlatformImage::createFromDiffData):
26753         (ImageDiff::PlatformImage::PlatformImage):
26754         (ImageDiff::PlatformImage::~PlatformImage):
26755         (ImageDiff::PlatformImage::width):
26756         (ImageDiff::PlatformImage::height):
26757         (ImageDiff::PlatformImage::rowBytes):
26758         (ImageDiff::PlatformImage::hasAlpha):
26759         (ImageDiff::PlatformImage::pixels):
26760         (ImageDiff::PlatformImage::writeAsPNGToStdout):
26762 2017-05-10  Zan Dobersek  <zdobersek@igalia.com>
26764         Enable FTL JIT by default on AArch64
26765         https://bugs.webkit.org/show_bug.cgi?id=144039
26767         Reviewed by Yusuke Suzuki.
26769         * Scripts/build-jsc: Enable the FTL JIT option by default on ARM64.
26770         * Scripts/run-jsc-stress-tests: Unmark the ARM64 and Linux combination
26771         as an unsupported FTL platform.
26772         * Scripts/webkitdirs.pm:
26773         (isARM64): Returns 1 if the determined architecture is 'arm64'.
26774         * Scripts/webkitperl/FeatureList.pm: Enable FTL_JIT and WEBASSEMBLY on ARM64.
26776 2017-05-09  Jonathan Bedard  <jbedard@apple.com>
26778         webkitpy: Remove unneeded crash log retrieval, refactor Darwin crash retrieval
26779         https://bugs.webkit.org/show_bug.cgi?id=170857
26780         <rdar://problem/31635373>
26782         Reviewed by Aakash Jain.
26784         Since LayoutTestRelay has been removed, iOS Simulators and Macs can use the same
26785         code to search for crash logs.
26787         * Scripts/webkitpy/port/darwin.py:
26788         (DarwinPort._get_crash_log): Moved from MacPort.
26789         * Scripts/webkitpy/port/darwin_testcase.py:
26790         (DarwinTest.test_get_crash_log): Moved from MacTest.
26791         * Scripts/webkitpy/port/ios_device.py:
26792         (IOSDevicePort._get_crash_log): Implement pass-through for iOS device, since iOS
26793         devices must search for crash-logs remotely.
26794         * Scripts/webkitpy/port/ios_simulator.py:
26795         (IOSSimulatorPort._get_crash_log): Deleted.
26796         * Scripts/webkitpy/port/ios_simulator_unittest.py:
26797         (IOSSimulatorTest.test_get_crash_log): Deleted.
26798         * Scripts/webkitpy/port/mac.py:
26799         (MacPort._get_crash_log): Moved to DarwinPort
26800         * Scripts/webkitpy/port/mac_unittest.py:
26801         (MacTest.test_get_crash_log): Moved to DarwinTest.
26803 2017-05-09  Jonathan Bedard  <jbedard@apple.com>
26805         build ImageDiff with host SDK from Make
26806         https://bugs.webkit.org/show_bug.cgi?id=171835
26808         Reviewed by Alexey Proskuryakov.
26810         ImageDiff should be built for the default SDK and default architecture when
26811         the SDKROOT is set to either iOS device or iOS simulator. Check the
26812         DO_NOT_BUILD_IMAGE_DIFF flag to skip the ImageDiff build.
26814         * ImageDiff/Makefile: Use Mac SDK when building for iOS Simulator or iOS device.
26815         * Makefile: Do not build ImageDiff if the DO_NOT_BUILD_IMAGE_DIFF flag is set.
26817 2017-05-09  Matt Lewis  <jlewis3@apple.com>
26819         Unreviewed, adding myself to contributors.json
26821         * Scripts/webkitpy/common/config/contributors.json:
26823 2017-05-09  Jonathan Bedard  <jbedard@apple.com>
26825         REGRESSION: ImageDiff not building with make
26826         https://bugs.webkit.org/show_bug.cgi?id=171788
26828         Reviewed by Alex Christensen.
26830         * Makefile: Build ImageDiff for all platforms.
26832 2017-05-09  Fujii Hironori  <Hironori.Fujii@sony.com>
26834         [Win] ImageDiff isn't built since Bug 168945
26835         https://bugs.webkit.org/show_bug.cgi?id=171847
26837         Reviewed by Alex Christensen.
26839         * CMakeLists.txt: Add 'ImageDiff' sub-directory to build if WIN32.
26840         * ImageDiff/ImageDiff.cpp: Include some header files to fix compilation errors.
26841         * ImageDiff/PlatformWin.cmake: Define USE_CAIRO if WinCairo port.
26843 2017-05-09  Zan Dobersek  <zdobersek@igalia.com>
26845         Upstream the WPE port
26846         https://bugs.webkit.org/show_bug.cgi?id=171110
26848         Reviewed by Alex Christensen.
26850         webkit-dev thread:
26851         https://lists.webkit.org/pipermail/webkit-dev/2017-April/028923.html
26853         Add WPE support to various tooling scripts, TestWebKitAPI and WebKitTestRunner.
26854         In-file changes removed from this ChangeLog entry for brevity.
26856         * BuildSlaveSupport/built-product-archive:
26857         * BuildSlaveSupport/test-result-archive:
26858         * CMakeLists.txt:
26859         * ImageDiff/PlatformWPE.cmake: Added.
26860         * Scripts/build-dumprendertree:
26861         * Scripts/build-webkit:
26862         * Scripts/build-webkittestrunner:
26863         * Scripts/update-webkit-libs-jhbuild:
26864         * Scripts/update-webkitwpe-libs: Added.
26865         * Scripts/webkitdirs.pm:
26866         * Scripts/webkitperl/FeatureList.pm:
26867         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
26868         * Scripts/webkitpy/port/factory.py:
26869         * Scripts/webkitpy/port/wpe.py: Added.
26870         * TestWebKitAPI/PlatformWPE.cmake: Added.
26871         * TestWebKitAPI/wpe/InjectedBundleControllerWPE.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
26872         * TestWebKitAPI/wpe/PlatformUtilitiesWPE.cpp: Added.
26873         * TestWebKitAPI/wpe/main.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
26874         * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
26875         * WebKitTestRunner/InjectedBundle/AccessibilityController.h:
26876         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
26877         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
26878         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
26879         * WebKitTestRunner/InjectedBundle/TestRunner.h:
26880         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityControllerWPE.cpp: Added.
26881         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp: Added.
26882         * WebKitTestRunner/InjectedBundle/wpe/ActivateFontsWPE.cpp: Added.
26883         * WebKitTestRunner/InjectedBundle/wpe/InjectedBundleWPE.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
26884         * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
26885         * WebKitTestRunner/PlatformWPE.cmake: Added.
26886         * WebKitTestRunner/PlatformWebView.h:
26887         * WebKitTestRunner/TestController.cpp:
26888         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp: Added.
26889         * WebKitTestRunner/wpe/HeadlessViewBackend.cpp: Added.
26890         * WebKitTestRunner/wpe/HeadlessViewBackend.h: Copied from Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h.
26891         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp: Added.
26892         * WebKitTestRunner/wpe/TestControllerWPE.cpp: Added.
26893         * WebKitTestRunner/wpe/main.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
26894         * jhbuild/jhbuild-wrapper:
26895         * wpe/generate-inspector-gresource-manifest.py: Added.
26896         * wpe/jhbuild.modules: Added.
26897         * wpe/jhbuildrc: Added.
26898         * wpe/patches/cairo-egl-device-create-for-egl-surface.patch: Added.
26899         * wpe/patches/fontconfig-C-11-requires-a-space-between-literal-and-identifier.patch: Added.
26900         * wpe/patches/freetype6-2.4.11-truetype-font-height-fix.patch: Added.
26901         * wpe/patches/gdate-suppress-string-format-literal-warning.patch: Added.
26902         * wpe/patches/glib-warning-fix.patch: Added.
26903         * wpe/patches/gst-plugins-bad-0001-dtls-port-to-OpenSSL-1.1.0.patch: Added.
26904         * wpe/patches/gst-plugins-bad-0002-dtlscertificate-Fix-error-checking-in-RSA_generate_k.patch: Added.
26905         * wpe/patches/gst-plugins-good-Revert-qtdemux-expose-streams-with-first-moof-for-fr.patch: Added.
26906         * wpe/patches/gst-plugins-good-use-the-tfdt-decode-time.patch: Added.
26907         * wpe/patches/gstreamer-typefind-Only-push-a-CAPS-event-downstream-if-the-.patch: Added.
26909 2017-05-08  Jonathan Bedard  <jbedard@apple.com>
26911         Implement PlatformWebView::windowSnapshotImage and createBitmapContextFromWebView for iOS devices
26912         https://bugs.webkit.org/show_bug.cgi?id=169421
26913         <rdar://problem/30950171>
26915         Reviewed by Tim Horton.
26917         * DumpRenderTree/ios/PixelDumpSupportIOS.mm:
26918         (createBitmapContextFromWebView): Implement for IOSurface.
26919         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
26920         (WTR::PlatformWebView::windowSnapshotImage): Use snapshot API for device.
26922 2017-05-08  Jonathan Bedard  <jbedard@apple.com>
26924         buildbot: Cleanup simulators after running tests
26925         https://bugs.webkit.org/show_bug.cgi?id=171679
26927         Reviewed by Aakash Jain.
26929         simctl is partitioned for each user. Since kill-old-processes
26930         is run as root, we need to specify the buildbot user when tearing
26931         down simulators between steps.
26933         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
26934         (KillOldProcesses): Pass buildbot user to kill-old-processes.
26935         * BuildSlaveSupport/kill-old-processes:
26936         (main): Specify the user for simctl if one has been provided.
26938 2017-05-08  Carlos Alberto Lopez Perez  <clopez@igalia.com>
26940         REGRESSION(r216179): [GTK] Script install-dependencies misses liborc
26941         https://bugs.webkit.org/show_bug.cgi?id=171681
26943         Reviewed by Carlos Garcia Campos.
26945         * gtk/install-dependencies:
26947 2017-05-08  Carlos Garcia Campos  <cgarcia@igalia.com>
26949         Unreviewed. Fix GTK+ test /webkit2/WebKitConsoleMessage/network-error after r215556.
26951         Glib uses now Unicode quotes in error messages.
26953         * TestWebKitAPI/Tests/WebKit2Gtk/TestConsoleMessage.cpp:
26954         (testWebKitConsoleMessageNetworkError):
26956 2017-05-08  Carlos Garcia Campos  <cgarcia@igalia.com>
26958         Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/javascript-dialogs after r215404.
26960         Sending down+up keys is no longer enough to simulate a real user interaction after r215404, the key events now
26961         should be handled by the web process to be considered a user interaction. So, add an input to the HTML and send
26962         characters to the input. Also fix typo in the function name.
26964         * TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:
26965         (testWebViewJavaScriptDialogs):
26967 2017-05-07  Michael Catanzaro  <mcatanzaro@igalia.com>
26969         [GTK] Cannot sign in with new Google sign-in page
26970         https://bugs.webkit.org/show_bug.cgi?id=171770
26972         Unreviewed. This just adds a test.
26974         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
26975         (TestWebKitAPI::TEST):
26977 2017-05-06  Simon Fraser  <simon.fraser@apple.com>
26979         [iOS WK2] Make rotation tests more reliable
26980         https://bugs.webkit.org/show_bug.cgi?id=171778
26982         Reviewed by Tim Horton.
26984         Switching between "safari-style" rotation and normal rotation left state on the WKWebView
26985         that would cause later viewport-sensitive tests to fail. The WKWebView would be left
26986         with override layout parameters, and an override orientation, and these caused viewport
26987         size to leak into later tests, and WebCore orientation to not get reset correctly.
26989         Also, WKWebView was unregistering for UIWindowDidRotateNotification notifications when
26990         an override orientation was set, and would never re-register, causing lost orientationchanged
26991         events.
26993         Fix by exposing WKWebView SPI to clear the various bits of overide state. Also don't unregister
26994         from the UIWindowDidRotateNotification notification; it's already ignored anyway if it fires.
26996         Also wait for a visible content rect update after resizing the WKWebVeiw between tests, to make sure
26997         the WebProcess is caught up before proceeding with the test.
26999         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
27000         (-[PlatformWebViewController viewWillTransitionToSize:withTransitionCoordinator:]):
27001         * WebKitTestRunner/ios/TestControllerIOS.mm:
27002         (WTR::TestController::platformResetStateToConsistentValues):
27003         (WTR::TestController::platformConfigureViewForTest):
27005 2017-05-06  Csaba Osztrogonác  <ossy@webkit.org>
27007         [Mac][cmake] Buildfix after r216047
27008         https://bugs.webkit.org/show_bug.cgi?id=171769
27010         Unreviewed buildfix.
27012         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
27014 2017-05-05  Brady Eidson  <beidson@apple.com>
27016         API test WebKit2.WebsiteDataStoreCustomPaths is failing on ios-simulator.
27017         <rdar://problem/31977294> and https://bugs.webkit.org/show_bug.cgi?id=171513
27019         Reviewed by Andy Estes.
27021         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
27022         (TEST):
27024 2017-05-05  Brian Burg  <bburg@apple.com>
27026         [Cocoa] Converting from WebCore::Cookie to NSHTTPCookie always marks cookies as session cookies
27027         https://bugs.webkit.org/show_bug.cgi?id=171748
27028         <rdar://problem/32027327>
27030         Reviewed by Michael Catanzaro.
27032         Remove temporary workaround now that the assertion failure is fixed.
27034         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
27035         (TEST):
27037 2017-05-05  Simon Fraser  <simon.fraser@apple.com>
27039         Make it possible to test rotation in iOS WebKitTestRunner
27040         https://bugs.webkit.org/show_bug.cgi?id=171755
27042         Reviewed by Tim Horton.
27044         Add to UIScriptController:
27045             void simulateRotation(DeviceOrientation orientation, object callback);
27046             void simulateRotationLikeSafari(DeviceOrientation orientation, object callback);
27048         The former just does a view resize, as a simple WKWebView app would do. The second does
27049         animation more like MobileSafari, using _begin/_endAnimatedResize. and associated override
27050         layout size and interface orientation. The two behaviors produce different resize and
27051         orientationchange events and sizes, and both need to be tested.
27053         Rotation is initiated by a call on UIDevice, and responded to by the root view controller,
27054         which is now a custom subclass (PlatformWebViewController).
27056         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
27057         (WTR::UIScriptController::simulateRotation):
27058         (WTR::UIScriptController::simulateRotationLikeSafari):
27059         * DumpRenderTree/mac/UIScriptControllerMac.mm:
27060         (WTR::UIScriptController::simulateRotation):
27061         (WTR::UIScriptController::simulateRotationLikeSafari):
27062         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
27063         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
27064         (WTR::toDeviceOrientation):
27065         (WTR::UIScriptController::simulateRotation):
27066         (WTR::UIScriptController::simulateRotationLikeSafari):
27067         * TestRunnerShared/UIScriptContext/UIScriptController.h:
27068         * WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
27069         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
27070         (-[TestRunnerWKWebView dealloc]):
27071         (-[TestRunnerWKWebView _didEndRotation]):
27072         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
27073         (-[PlatformWebViewController viewWillTransitionToSize:withTransitionCoordinator:]):
27074         (WTR::PlatformWebView::PlatformWebView):
27075         * WebKitTestRunner/ios/TestControllerIOS.mm:
27076         (WTR::TestController::platformResetStateToConsistentValues):
27077         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
27078         (WTR::toUIDeviceOrientation):
27079         (WTR::UIScriptController::simulateRotation):
27080         (WTR::UIScriptController::simulateRotationLikeSafari):
27081         (WTR::UIScriptController::platformClearAllCallbacks):
27082         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
27083         (WTR::UIScriptController::simulateRotation):
27084         (WTR::UIScriptController::simulateRotationLikeSafari):
27086 2017-05-05  Jonathan Bedard  <jbedard@apple.com>
27088         Use ImageDiff built by host SDK and remove ImageDiff from DumpRenderTree
27089         https://bugs.webkit.org/show_bug.cgi?id=168945
27090         <rdar://problem/30745695>
27092         Reviewed by David Kilzer.
27094         Use ImageDiff built with the host machine's SDK and stop building ImageDiff with the
27095         target SDK. These two changes must happen simultaneously because some archives will
27096         clobber the ImageDiff from the host SDK with the ImageDiff from the target SDK.
27098         * DumpRenderTree/mac/Configurations/ImageDiff.xcconfig: Remove ImageDiff from project.
27099         * DumpRenderTree/PlatformWin.cmake: Remove ImageDiff. Note that the CMakeLists.txt in the
27100         tools directory still includes ImageDiff.
27101         * DumpRenderTree/cg/ImageDiffCG.cpp: Removed.
27102         * DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig: Removed.
27103         * Scripts/webkitpy/port/darwin.py: 
27104         (DarwinPort._path_to_image_diff): Return the correct path to ImageDiff when building
27105         locally or when running archives.
27106         * Scripts/webkitpy/port/image_diff.py:
27107         (IOSSimulatorImageDiffer): Deleted.
27108         * Scripts/webkitpy/port/ios_simulator.py:
27109         (IOSSimulatorPort.diff_image): Deleted.
27111 2017-05-05  Brian Burg  <bburg@apple.com>
27113         API test WebKit2.WKHTTPCookieStore fails due to possible issue with handling non-session cookies
27114         https://bugs.webkit.org/show_bug.cgi?id=171748
27116         Unreviewed test gardening.
27118         The assertion failure will be investigated separately in order to avoid rolling out
27119         the fix for "secure" cookies. This assertion fails even without r216258 applied.
27121         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
27122         (TEST):
27124 2017-05-05  Jonathan Bedard  <jbedard@apple.com>
27126         Unreviewed, rolling out r216260.
27128         Breaks internal iOS testers
27130         Reverted changeset:
27132         "Use ImageDiff built by host SDK and remove ImageDiff from
27133         DumpRenderTree"
27134         https://bugs.webkit.org/show_bug.cgi?id=168945
27135         http://trac.webkit.org/changeset/216260
27137 2017-05-05  Jonathan Bedard  <jbedard@apple.com>
27139         Use ImageDiff built by host SDK and remove ImageDiff from DumpRenderTree
27140         https://bugs.webkit.org/show_bug.cgi?id=168945
27141         <rdar://problem/30745695>
27143         Reviewed by David Kilzer.
27145         Use ImageDiff built with the host machine's SDK and stop building ImageDiff with the
27146         target SDK. These two changes must happen simultaneously because some archives will
27147         clobber the ImageDiff from the host SDK with the ImageDiff from the target SDK.
27149         * DumpRenderTree/mac/Configurations/ImageDiff.xcconfig: Remove ImageDiff from project.
27150         * DumpRenderTree/PlatformWin.cmake: Remove ImageDiff. Note that the CMakeLists.txt in the
27151         tools directory still includes ImageDiff.
27152         * DumpRenderTree/cg/ImageDiffCG.cpp: Removed.
27153         * DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig: Removed.
27154         * Scripts/webkitpy/port/darwin.py: 
27155         (DarwinPort._path_to_image_diff): Return the correct path to ImageDiff when building
27156         locally or when running archives.
27157         * Scripts/webkitpy/port/image_diff.py:
27158         (IOSSimulatorImageDiffer): Deleted.
27159         * Scripts/webkitpy/port/ios_simulator.py:
27160         (IOSSimulatorPort.diff_image): Deleted.
27162 2017-05-05  Brian Burg  <bburg@apple.com>
27164         [Cocoa] Converting from WebCore::Cookie to NSHTTPCookie always marks cookies as secure
27165         https://bugs.webkit.org/show_bug.cgi?id=171700
27166         <rdar://problem/32017975>
27168         Reviewed by Brady Eidson.
27170         Fix a mistake in the test that should have caught this bug.
27172         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
27173         (TEST):
27174         The assertions that were meant to check round-tripping were actually checking
27175         the properties of the original cookie objects, not the round-tripped ones.
27176         This test now fails without the bugfix and passes when it is applied.
27178 2017-05-05  Daniel Bates  <dabates@apple.com>
27180         Use EXPECT_EQ() when comparing strings in TestWebKitAPI tests
27181         https://bugs.webkit.org/show_bug.cgi?id=171698
27183         Reviewed by Darin Adler.
27185         We should use EXPECT_EQ() instead of EXPECT_TRUE() to compare WTF::String() objects
27186         so that we get pretty diff output when the actual string differs from the expected
27187         string as opposed to seeing a boolean result. The former makes makes it straightforward
27188         to diagnose a regression without reading the code for the test or instrumenting it to
27189         determine the actual string that was compared.
27191         * TestWebKitAPI/Tests/WTF/WTFString.cpp:
27192         (TestWebKitAPI::TEST):
27193         * TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm:
27194         (TestWebKitAPI::TEST_F):
27195         * TestWebKitAPI/Tests/WebCore/mac/GPULibrary.mm:
27196         (TestWebKitAPI::TEST_F):
27198 2017-05-05  Chris Dumez  <cdumez@apple.com>
27200         Rename webProcessDidCrashWithReason callback to webProcessDidTerminate and stop calling webProcessDidCrash for client terminations
27201         https://bugs.webkit.org/show_bug.cgi?id=171624
27203         Reviewed by Dan Bernstein.
27205         Extend API test coverage to cover crashes in addition to terminations requested by the client.
27207         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
27208         * TestWebKitAPI/Tests/WebKit2/ProcessDidTerminate.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2/ProcessDidCrashWithReason.cpp.
27209         (TestWebKitAPI::webProcessWasTerminatedByClient):
27210         (TestWebKitAPI::webProcessCrashed):
27211         (TestWebKitAPI::TEST):
27213 2017-05-04  Mark Lam  <mark.lam@apple.com>
27215         DRT's setAudioResultCallback() and IDBRequest::setResult() need to acquire the JSLock.
27216         https://bugs.webkit.org/show_bug.cgi?id=171716
27217         <rdar://problem/30878027>
27219         Reviewed by Saam Barati.
27221         setAudioResultCallback() needs to acquire the JSLock before calling toJS() (which
27222         does JS conversion and therefore, potentially JS allocations) and accessing
27223         methods of internal JS data structures (which may do JS invocation, etc).
27225         * DumpRenderTree/TestRunner.cpp:
27226         (setAudioResultCallback):
27228 2017-05-05  Jonathan Bedard  <jbedard@apple.com>
27230         buildbot: Cleanup simulators after running tests
27231         https://bugs.webkit.org/show_bug.cgi?id=171679
27232         <rdar://problem/31994361>
27234         Reviewed by Aakash Jain.
27236         We shutdown the simulator process between tests, but in some cases, this is not
27237         sufficient. Explicitly shutdown every booted simulator.
27239         * BuildSlaveSupport/kill-old-processes:
27240         (main): Shutdown all booted simulators.
27242 2017-05-05  Carlos Garcia Campos  <cgarcia@igalia.com>
27244         [GTK] Assertion failure in Inspector::RemoteInspector::setRemoteInspectorClient when disposing WebKitWebContext
27245         https://bugs.webkit.org/show_bug.cgi?id=171644
27247         Reviewed by Michael Catanzaro.
27249         Check that only one WebKitWebContext can have automation enabled.
27251         * TestWebKitAPI/Tests/WebKit2Gtk/TestAutomationSession.cpp:
27252         (testAutomationSessionRequestSession):
27254 2017-05-05  Carlos Garcia Campos  <cgarcia@igalia.com>
27256         [GTK] TestController timeout source callback should return G_SOURCE_REMOVE
27257         https://bugs.webkit.org/show_bug.cgi?id=171724
27259         Reviewed by Michael Catanzaro.
27261         It's currently returning CONTINUE which causes it to be called again even if the run loop has been stopped.
27263         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
27264         (WTR::timeoutSource):
27266 2017-05-05  Carlos Garcia Campos  <cgarcia@igalia.com>
27268         Unreviewed. Fix wrong assert after r215176.
27270         Cairo surface received by computeMD5HashStringForCairoSurface() doesn't need to be ARGB32 since r215176, it
27271         could also be RGB24 when created from a web view snapshot.
27273         * WebKitTestRunner/cairo/TestInvocationCairo.cpp:
27274         (WTR::computeMD5HashStringForCairoSurface):
27276 2017-05-04  Brian Burg  <bburg@apple.com>
27278         lldb_webkit.py should provide a type summary for WebCore::URL
27279         https://bugs.webkit.org/show_bug.cgi?id=171670
27281         Reviewed by Jer Noble.
27283         Just print out the underlying string using the WTFString provider.
27285         * lldb/lldb_webkit.py:
27286         (__lldb_init_module):
27287         (WebCoreURL_SummaryProvider):
27288         (WebCoreURLProvider):
27289         (WebCoreURLProvider.__init__):
27290         (WebCoreURLProvider.to_string):
27292 2017-05-04  Commit Queue  <commit-queue@webkit.org>
27294         Unreviewed, rolling out r216206.
27295         https://bugs.webkit.org/show_bug.cgi?id=171714
27297         Multiple LayoutTests crashing in Document::page() (Requested
27298         by ap on #webkit).
27300         Reverted changeset:
27302         "Remove support for legacy Notifications"
27303         https://bugs.webkit.org/show_bug.cgi?id=171487
27304         http://trac.webkit.org/changeset/216206
27306 2017-05-04  Mark Lam  <mark.lam@apple.com>
27308         API test WTF.StaticStringImpl crashing in TestWebKitAPI::WTF_StaticStringImpl_Test::TestBody() + 3188
27309         https://bugs.webkit.org/show_bug.cgi?id=171702
27311         Reviewed by Filip Pizlo.
27313         The test was supposed to use the MAKE_STATIC_STRING_IMPL macro.  I had previously
27314         changed it to instantiate an automatic StaticStringImpl (i.e. stack allocated) to
27315         confirm that the test will detect a regression.  Unfortunately, I forgot to
27316         change it back to using MAKE_STATIC_STRING_IMPL before I landed the test.
27317         This patch fixes that.
27319         * TestWebKitAPI/Tests/WTF/StringImpl.cpp:
27320         (TestWebKitAPI::neverDestroyedString):
27322 2017-05-04  Ryan Haddad  <ryanhaddad@apple.com>
27324         Disable failing API test WebKit2.ResizeWithHiddenContentDoesNotHang.
27325         https://bugs.webkit.org/show_bug.cgi?id=170195
27327         Unreviewed test gardening.
27329         * TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm:
27330         (TEST):
27332 2017-05-04  Don Olmstead  <don.olmstead@am.sony.com>
27334         [Win] Remove redundant macros that are set in the CMake config
27335         https://bugs.webkit.org/show_bug.cgi?id=171571
27337         Reviewed by Brent Fulgham.
27339         * DumpRenderTree/config.h:
27340         * MiniBrowser/win/stdafx.h:
27341         * TestWebKitAPI/config.h:
27343 2017-05-04  Said Abou-Hallawa  <sabouhallawa@apple.com>
27345         Add testRunner.display() to force displaying the web page for testing
27346         https://bugs.webkit.org/show_bug.cgi?id=171694
27348         Reviewed by Simon Fraser.
27350         Unlike testRunner.displayAndTrackRepaints(), this new function forces 
27351         drawing the web page but without track repaints.
27353         * DumpRenderTree/TestRunner.cpp:
27354         (displayCallback):
27355         (TestRunner::staticFunctions):
27356         * DumpRenderTree/TestRunner.h:
27357         * DumpRenderTree/mac/TestRunnerMac.mm:
27358         (TestRunner::display):
27359         * DumpRenderTree/win/TestRunnerWin.cpp:
27360         (TestRunner::display):
27361         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
27362         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
27363         (WTR::TestRunner::display):
27364         * WebKitTestRunner/InjectedBundle/TestRunner.h:
27366 2017-05-04  Mark Lam  <mark.lam@apple.com>
27368         NeverDestroyed<String>(ASCIILiteral(...)) is not thread safe.
27369         https://bugs.webkit.org/show_bug.cgi?id=171586
27370         <rdar://problem/31873190>
27372         Reviewed by Yusuke Suzuki.
27374         API test for exercising StaticStringImpl and the MAKE_STATIC_STRING_IMPL macro.
27376         * TestWebKitAPI/Tests/WTF/StringImpl.cpp:
27377         (TestWebKitAPI::neverDestroyedString):
27378         (TestWebKitAPI::getNeverDestroyedStringAtStackDepth):
27379         (TestWebKitAPI::TEST):
27381 2017-05-04  Wenson Hsieh  <wenson_hsieh@apple.com>
27383         [WK2] Add support for keeping the selection in a focused editable element when dragging begins
27384         https://bugs.webkit.org/show_bug.cgi?id=171585
27385         <rdar://problem/31544320>
27387         Reviewed by Beth Dakin and Zalan Bujtas.
27389         Adds 1 new unit test and tweaks existing tests to check that when first responder status is lost after beginning
27390         a drag while editing, content is still moved (and not copied) when performing data interaction on a different
27391         element. ContentEditableMoveParagraphs checks that content can be shifted within a single element via a move
27392         operation rather than a copy.
27394         See WebCore ChangeLog for more details.
27396         Tests:  DataInteractionSimulator.ContentEditableToContentEditable
27397                 DataInteractionSimulator.ContentEditableToTextarea
27398                 DataInteractionSimulator.ContentEditableMoveParagraphs
27399                 DataInteractionSimulator.TextAreaToInput
27401         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
27402         * TestWebKitAPI/Tests/WebKit2Cocoa/two-paragraph-contenteditable.html: Added.
27403         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
27404         (TestWebKitAPI::TEST):
27405         * TestWebKitAPI/ios/DataInteractionSimulator.h:
27406         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
27407         (-[DataInteractionSimulator initWithWebView:]):
27408         (-[DataInteractionSimulator dealloc]):
27409         (-[DataInteractionSimulator _advanceProgress]):
27410         (-[DataInteractionSimulator waitForInputSession]):
27411         (-[DataInteractionSimulator _webView:focusShouldStartInputSession:]):
27412         (-[DataInteractionSimulator _webView:didStartInputSession:]):
27414 2017-05-04  Said Abou-Hallawa  <sabouhallawa@apple.com>
27416         Rename TestRunner.display() to TestRunner::displayAndTrackRepaints()
27417         https://bugs.webkit.org/show_bug.cgi?id=171641
27419         Reviewed by Simon Fraser.
27421         The plan is to add back the TestRunner.display() which does the display
27422         only without track repaints.
27424         * DumpRenderTree/DumpRenderTree.h:
27425         * DumpRenderTree/TestRunner.cpp:
27426         (displayAndTrackRepaintsCallback):
27427         (TestRunner::staticFunctions):
27428         (displayCallback): Deleted.
27429         (displayInvalidatedRegionCallback): Deleted.
27430         * DumpRenderTree/TestRunner.h:
27431         * DumpRenderTree/mac/DumpRenderTree.mm:
27432         (displayWebView):
27433         (displayAndTrackRepaintsWebView):
27434         * DumpRenderTree/mac/TestRunnerMac.mm:
27435         (TestRunner::displayAndTrackRepaints):
27436         (TestRunner::display): Deleted.
27437         * DumpRenderTree/win/TestRunnerWin.cpp:
27438         (TestRunner::displayAndTrackRepaints):
27439         (TestRunner::display): Deleted.
27440         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
27441         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
27442         (WTR::TestRunner::displayAndTrackRepaints):
27443         (WTR::TestRunner::display): Deleted.
27444         * WebKitTestRunner/InjectedBundle/TestRunner.h:
27446 2017-05-04  Brady Eidson  <beidson@apple.com>
27448         [ios-simulator] API test WebKit2.WebsiteDataStoreCustomPaths is failing.
27449         https://bugs.webkit.org/show_bug.cgi?id=171513
27451         Unreviewed gardening.
27453         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
27454         (TEST): Skip the failing parts of the test on iOS for now.
27456 2017-05-03  Jonathan Bedard  <jbedard@apple.com>
27458         Make ImageDiff stand-alone
27459         https://bugs.webkit.org/show_bug.cgi?id=168939
27461         Reviewed by David Kilzer.
27463         Create ImageDiff without dependencies on bmalloc and WTF so that it exists as a
27464         stand-alone project. Note that this change does not eliminate the ImageDiff inside
27465         the DumpRenderTree project.
27467         * ImageDiff/ImageDiff.xcodeproj: Added.
27468         * ImageDiff/ImageDiff.xcodeproj/project.pbxproj: Added.
27469         * ImageDiff/Makefile: Use ImageDiff project.
27470         * ImageDiff/PlatformMac.cmake: Added.
27471         * ImageDiff/PlatformWin.cmake: Added.
27472         * ImageDiff/cg: Added.
27473         * ImageDiff/cg/Configurations: Added.
27474         * ImageDiff/cg/Configurations/Base.xcconfig: Copied from Tools/DumpRenderTree/mac/Configurations/Base.xcconfig.
27475         * ImageDiff/cg/Configurations/DebugRelease.xcconfig: Copied from Tools/DumpRenderTree/mac/Configurations/DebugRelease.xcconfig.
27476         * ImageDiff/cg/Configurations/ImageDiff.xcconfig: Copied from Tools/DumpRenderTree/mac/Configurations/ImageDiff.xcconfig.
27477         * ImageDiff/cg/ImageDiff.cpp: Copied from Tools/DumpRenderTree/cg/ImageDiffCG.cpp.
27478         (createImageFromStdin): Stop using RetainPtr.
27479         (createDifferenceImage): Ditto.
27480         (main): Ditto.
27481         * Scripts/build-imagediff: Stop building WTF and bmalloc.
27483 2017-05-04  Sam Weinig  <sam@webkit.org>
27485         Remove support for legacy Notifications
27486         https://bugs.webkit.org/show_bug.cgi?id=171487
27488         Reviewed by Jon Lee.
27490         * DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp:
27491         (DRTDesktopNotificationPresenter::checkNotificationPermission):
27492         * Scripts/webkitperl/FeatureList.pm:
27493         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
27494         Remove use and definition of ENABLE_LEGACY_NOTIFICATIONS.
27496 2017-05-04  Andy Estes  <aestes@apple.com>
27498         Give +testwebkitapi_configurationWithTestPlugInClassName: a shorter name
27499         https://bugs.webkit.org/show_bug.cgi?id=171673
27501         Reviewed by Dan Bernstein.
27503         * TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLs.mm:
27504         (TEST):
27505         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegate.mm:
27506         (TEST):
27507         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleParameters.mm:
27508         (TEST):
27509         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm:
27510         (TEST):
27511         * TestWebKitAPI/Tests/WebKit2Cocoa/CancelFontSubresource.mm:
27512         (TEST):
27513         * TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.mm:
27514         (configurationWithContentFilterSettings):
27515         (-[LazilyLoadPlatformFrameworksController init]):
27516         * TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistry.mm:
27517         (TEST):
27518         * TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptions.mm:
27519         (runTestWithWidth):
27520         * TestWebKitAPI/Tests/WebKit2Cocoa/UserContentWorld.mm:
27521         (TEST):
27522         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
27523         (TestWebKitAPI::TEST):
27524         * TestWebKitAPI/WKWebViewConfigurationExtras.h:
27525         * TestWebKitAPI/WKWebViewConfigurationExtras.mm:
27526         (+[WKWebViewConfiguration _test_configurationWithTestPlugInClassName:]):
27527         (+[WKWebViewConfiguration testwebkitapi_configurationWithTestPlugInClassName:]): Renamed to
27528         +_test_configurationWithTestPlugInClassName:
27530 2017-05-04  Eric Carlson  <eric.carlson@apple.com>
27532         [MediaStream] Allow host application to enable/disable media capture
27533         https://bugs.webkit.org/show_bug.cgi?id=171292
27534         <rdar://problem/31821492>
27536         Reviewed by Jer Noble.
27538         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
27539         * TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm: Added.
27540         (-[UserMediaMessageHandler userContentController:didReceiveScriptMessage:]):
27541         (-[UserMediaUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
27542         (-[UserMediaUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
27543         (MediaCaptureDisabledTest::SetUp):
27544         (MediaCaptureDisabledTest::loadTestAndWaitForMessage):
27545         (TEST_F):
27546         * TestWebKitAPI/Tests/WebKit2Cocoa/disableGetUserMedia.html: Added.
27548 2017-05-04  Caio Lima  <ticaiolima@gmail.com>
27550         Unreviewed, Adding self to contributors.json
27552         * Scripts/webkitpy/common/config/contributors.json: Added name.
27554 2017-05-04  Konstantin Tokarev  <annulen@yandex.ru>
27556         Fix compilation with ICU 59.1
27557         https://bugs.webkit.org/show_bug.cgi?id=171612
27559         Reviewed by Mark Lam.
27561         ICU 59.1 has broken source compatibility. Now it defines UChar as
27562         char16_t, which does not allow automatic type conversion from unsigned
27563         short in C++ code.
27565         * TestRunnerShared/UIScriptContext/UIScriptContext.cpp:
27566         (UIScriptContext::tryToCompleteUIScriptForCurrentParentCallback):
27568 2017-05-04  Andy Estes  <aestes@apple.com>
27570         [Cocoa] Add an optional width parameter to -[WKWebProcessPlugInNodeHandle renderedImageWithOptions:]
27571         https://bugs.webkit.org/show_bug.cgi?id=171646
27572         <rdar://problem/30306321>
27574         Reviewed by Tim Horton.
27576         * TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptions.mm:
27577         (runTestWithWidth):
27578         (TEST):
27579         (-[RenderedImageWithOptionsObject didRenderImageWithSize:]): Deleted.
27580         * TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptionsPlugIn.mm:
27581         (-[RenderedImageWithOptionsPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
27582         (-[RenderedImageWithOptionsPlugIn webProcessPlugInBrowserContextController:didFinishLoadForFrame:]):
27583         (-[RenderedImageWithOptionsPlugIn renderImageWithWidth:completionHandler:]):
27584         * TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptionsProtocol.h:
27586 2017-05-04  Adrian Perez de Castro  <aperez@igalia.com>
27588         [GTK] Fontconfig 2.11.2 in JHBuild does not build with glibc 2.25+ or gperf 3.1+
27589         https://bugs.webkit.org/show_bug.cgi?id=171649
27591         Reviewed by Carlos Garcia Campos.
27593         Add two patches picked from the upstream repository to fix building of
27594         the Fontconfig module in JHBuild. Additionally, this needed a patch to
27595         add "autogen.sh" as it is not included in release tarballs. Also:
27596         building the module with srcdir!=builddir prevents "fcobjshash.gperf"
27597         being regenerated (which is needed) so this is disabled for the
27598         Fontconfig module.
27600         * gtk/jhbuild.modules:
27601         * gtk/patches/fontconfig-2.11.1-add-autogen.patch: Added.
27602         * gtk/patches/fontconfig-Avoid-conflicts-with-integer-width-macros-from-TS-18661-1-2014.patch: Added.
27603         * gtk/patches/fontconfig-Fix-the-build-issue-with-gperf-3.1.patch: Added.
27605 2017-05-04  Commit Queue  <commit-queue@webkit.org>
27607         Unreviewed, rolling out r216172.
27608         https://bugs.webkit.org/show_bug.cgi?id=171654
27610         FTBFS for iOS due to missing WebPageProxy::stopMediaCapture()
27611         implementation. (Requested by ddkilzer on #webkit).
27613         Reverted changeset:
27615         "[MediaStream] Allow host application to enable/disable media
27616         capture"
27617         https://bugs.webkit.org/show_bug.cgi?id=171292
27618         http://trac.webkit.org/changeset/216172
27620 2017-05-04  Carlos Garcia Campos  <cgarcia@igalia.com>
27622         [GTK] Bump GStreamer version to 1.10.4 in jhbuild
27623         https://bugs.webkit.org/show_bug.cgi?id=171595
27625         Reviewed by Xabier Rodriguez-Calvar.
27627         * gtk/jhbuild.modules:
27628         * gtk/patches/gst-plugins-bad-0001-dtls-port-to-OpenSSL-1.1.0.patch: Removed.
27629         * gtk/patches/gst-plugins-bad-0002-dtlscertificate-Fix-error-checking-in-RSA_generate_k.patch: Removed.
27630         * gtk/patches/gst-plugins-good-0001-rtpbin-pipeline-gets-an-EOS-when-any-rtpsources-byes.patch: Removed.
27631         * gtk/patches/gst-plugins-good-0002-rtpbin-avoid-generating-errors-when-rtcp-messages-ar.patch: Removed.
27632         * gtk/patches/gst-plugins-good-0004-qtdemux-add-context-for-a-preferred-protection.patch:
27633         * gtk/patches/gst-plugins-good-Revert-qtdemux-expose-streams-with-first-moof-for-fr.patch: Removed.
27634         * gtk/patches/gst-plugins-good-use-the-tfdt-decode-time.patch: Removed.
27636 2017-05-03  Saam Barati  <sbarati@apple.com>
27638         How we build polymorphic cases is wrong when making a call from Wasm
27639         https://bugs.webkit.org/show_bug.cgi?id=171527
27641         Reviewed by JF Bastien.
27643         * Scripts/run-jsc-stress-tests:
27645 2017-05-03  Eric Carlson  <eric.carlson@apple.com>
27647         [MediaStream] Allow host application to enable/disable media capture
27648         https://bugs.webkit.org/show_bug.cgi?id=171292
27649         <rdar://problem/31821492>
27651         Reviewed by Jer Noble.
27653         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
27654         * TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm: Added.
27655         (-[UserMediaMessageHandler userContentController:didReceiveScriptMessage:]):
27656         (-[UserMediaUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
27657         (-[UserMediaUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
27658         (MediaCaptureDisabledTest::SetUp):
27659         (MediaCaptureDisabledTest::loadTestAndWaitForMessage):
27660         (TEST_F):
27661         * TestWebKitAPI/Tests/WebKit2Cocoa/disableGetUserMedia.html: Added.
27663 2017-05-03  John Wilander  <wilander@apple.com>
27665         Resource Load Statistics: Remove all statistics for modifiedSince website data removals
27666         https://bugs.webkit.org/show_bug.cgi?id=171584
27667         <rdar://problem/24702576>
27669         Reviewed by Brent Fulgham.
27671         New function to call the clear function that takes a modifiedSince parameter.
27673         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
27674         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
27675         (WTR::TestRunner::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
27676         * WebKitTestRunner/InjectedBundle/TestRunner.h:
27677         * WebKitTestRunner/TestController.cpp:
27678         (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
27679         * WebKitTestRunner/TestController.h:
27680         * WebKitTestRunner/TestInvocation.cpp:
27681         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
27683 2017-05-03  Commit Queue  <commit-queue@webkit.org>
27685         Unreviewed, rolling out r216160 and r216161.
27686         https://bugs.webkit.org/show_bug.cgi?id=171640
27688         These changes broke the iOS build. (Requested by mlewis13 on
27689         #webkit).
27691         Reverted changesets:
27693         "[MediaStream] Allow host application to enable/disable media
27694         capture"
27695         https://bugs.webkit.org/show_bug.cgi?id=171292
27696         http://trac.webkit.org/changeset/216160
27698         "[MediaStream] Allow host application to enable/disable media
27699         capture"
27700         https://bugs.webkit.org/show_bug.cgi?id=171292
27701         http://trac.webkit.org/changeset/216161
27703 2017-05-03  Eric Carlson  <eric.carlson@apple.com>
27705         [MediaStream] Allow host application to enable/disable media capture
27706         https://bugs.webkit.org/show_bug.cgi?id=171292
27707         <rdar://problem/31821492>
27709         Reviewed by Jer Noble.
27711         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
27712         * TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm: Added.
27713         (-[UserMediaMessageHandler userContentController:didReceiveScriptMessage:]):
27714         (-[UserMediaUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
27715         (-[UserMediaUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
27716         (MediaCaptureDisabledTest::SetUp):
27717         (MediaCaptureDisabledTest::loadTestAndWaitForMessage):
27718         (TEST_F):
27719         * TestWebKitAPI/Tests/WebKit2Cocoa/disableGetUserMedia.html: Added.
27721 2017-04-26  Jiewen Tan  <jiewen_tan@apple.com>
27723         [WebCrypto] Add an api test for testing wrapping/unwrapping serialized crypto keys
27724         https://bugs.webkit.org/show_bug.cgi?id=171350
27725         <rdar://problem/28600836>
27727         Patched by Brady Eidson.
27729         Reviewed by Brent Fulgham.
27731         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
27732         * TestWebKitAPI/Tests/WebKit2/NavigationClientDefaultCrypto.cpp: Added.
27733         (TestWebKitAPI::runJavaScriptAlert):
27734         (TestWebKitAPI::decidePolicyForNavigationAction):
27735         (TestWebKitAPI::decidePolicyForNavigationResponse):
27736         (TestWebKitAPI::TEST):
27737         * TestWebKitAPI/Tests/WebKit2/navigation-client-default-crypto.html: Added.
27739 2017-05-03  Simon Fraser  <simon.fraser@apple.com>
27741         Have WKWebView call _updateVisibleContentRects for the current transaction if possible, rather than always delaying
27742         https://bugs.webkit.org/show_bug.cgi?id=171619
27743         https://bugs.webkit.org/show_bug.cgi?id=170195
27745         Reviewed by Tim Horton.
27747         Re-enable WebKit2.ResizeWithHiddenContentDoesNotHang.
27749         * TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm:
27750         (TEST):
27752 2017-05-03  Michael Catanzaro  <mcatanzaro@igalia.com>
27754         YouTube user agent quirk breaks new YouTube
27755         https://bugs.webkit.org/show_bug.cgi?id=171603
27757         Reviewed by Carlos Garcia Campos.
27759         Remove the YouTube quirk test.
27761         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
27762         (TestWebKitAPI::TEST):
27764 2017-05-03  Said Abou-Hallawa  <sabouhallawa@apple.com>
27766         Async image decoding should be disabled for snapshots, printing and preview
27767         https://bugs.webkit.org/show_bug.cgi?id=171467
27769         Reviewed by Simon Fraser.
27771         Add a API test for snapshotting with large images. Ensure the images are
27772         drawn correctly which implies they should have been synchronously decoded.
27774         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
27775         * TestWebKitAPI/Tests/WebKit2/large-red-square-image.html: Added.
27776         * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewSnapshot.mm:
27777         (TEST):
27779 2017-05-03  Chris Dumez  <cdumez@apple.com>
27781         [WK2] Extend processDidCrash delegate to let the client know the reason for the crash
27782         https://bugs.webkit.org/show_bug.cgi?id=171565
27783         <rdar://problem/31204417>
27785         Reviewed by Sam Weinig.
27787         Add API test coverage.
27789         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
27790         * TestWebKitAPI/Tests/WebKit2/ProcessDidCrashWithReason.cpp: Added.
27791         (TestWebKitAPI::didFinishNavigation):
27792         (TestWebKitAPI::didCrashWithReason):
27793         (TestWebKitAPI::TEST):
27795 2017-05-02  David Kilzer  <ddkilzer@apple.com>
27797         check-webkit-style should also keep js-test-post[-async].js in sync
27798         <https://webkit.org/b/171568>
27800         Reviewed by Joseph Pecoraro.
27802         * Scripts/webkitpy/style/checker.py:
27803         (_NEVER_SKIPPED_JS_FILES): Add new list that just contains
27804         JavaScript files not to be skipped.
27805         (_NEVER_SKIPPED_FILES): Update to use _NEVER_SKIPPED_JS_FILES.
27806         (CheckerDispatcher._create_checker): Update to use
27807         _NEVER_SKIPPED_JS_FILES.
27809         * Scripts/webkitpy/style/checkers/jstest.py:
27810         (ALL_JS_TEST_FUNCTION_FILES): Rename from ALL_JS_TEST_FILES.
27811         This is the list of files containing functions that need to be
27812         kept in sync.
27813         (KEEP_JS_TEST_FILES_IN_SYNC): Change to list-of-lists format so
27814         we can keep more sets of files in sync between
27815         LayoutTests/resources and LayoutTests/http/tests/resources.
27816         (JSTestChecker.check): Update to use KEEP_JS_TEST_FILES_IN_SYNC
27817         as list of lists.  Update for ALL_JS_TEST_FUNCTION_FILES rename.
27818         (JSTestChecker.check_js_test_files): Add 'file_group' argument
27819         for list of files to check instead of using
27820         KEEP_JS_TEST_FILES_IN_SYNC.
27821         (JSTestChecker.check_js_test_functions): Update for
27822         ALL_JS_TEST_FUNCTION_FILES rename.
27824         * Scripts/webkitpy/style/checkers/jstest_unittest.py:
27825         (JSTestCheckerTestCase):
27826         (JSTestCheckerTestCase.test_map_functions_to_dict):
27827         - Add test case for map_functions_to_dict() in jstest.py.
27829 2017-05-02  Aakash Jain  <aakash_jain@apple.com>
27831         ews should indicate in logs when it fails to fetch the attachment
27832         https://bugs.webkit.org/show_bug.cgi?id=171583
27834         Reviewed by Alexey Proskuryakov.
27836         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
27837         (Bugzilla.fetch_attachment): Added log statement.
27839 2017-05-02  David Kilzer  <ddkilzer@apple.com>
27841         Rolling out jstest_unittest.py so it can be reviewed
27843         Follow-up fix for:
27844         check-webkit-style should keep JavaScript test functions in sync
27845         <https://webkit.org/b/171424>
27847         * Scripts/webkitpy/style/checkers/jstest_unittest.py: Remove.
27849 2017-05-02  David Kilzer  <ddkilzer@apple.com>
27851         check-webkit-style should keep JavaScript test functions in sync
27852         <https://webkit.org/b/171424>
27854         Reviewed by Joseph Pecoraro.
27856         Add a new JSTestChecker for check-webkit-style that keeps these
27857         two files in sync:
27859             LayoutTests/http/tests/resources/js-test-pre.js
27860             LayoutTests/resources/js-test-pre.js
27862         And keeps implementations of shouldBe(), shouldNotBe(),
27863         shouldNotThrow(), and shouldThrow() in sync across multiple
27864         files (with the ability to add more functions later):
27866             JSTests/stress/resources/standalone-pre.js
27867             LayoutTests/http/tests/resources/js-test-pre.js
27868             LayoutTests/resources/js-test-pre.js
27869             LayoutTests/resources/js-test.js
27870             LayoutTests/resources/standalone-pre.js
27872         * Scripts/webkitpy/style/checker.py: Remove unused import.  Add
27873         import for JSTestChecker.
27874         (_NEVER_SKIPPED_FILES): Add array of file names that are never
27875         skipped regardless of other rules.
27876         (_all_categories): Add JSTestChecker categories.
27877         (CheckerDispatcher.should_skip_without_warning): Use
27878         _NEVER_SKIPPED_FILES.
27879         (CheckerDispatcher._create_checker): Return JSTestChecker for
27880         the files to check.
27882         * Scripts/webkitpy/style/checkers/jstest.py: Add.
27883         (map_functions_to_dict): Parse JavaScript source by splitting on
27884         /^function\s+/ regex.  This is good enough for the sanity checks
27885         to keep function implementations in sync.
27886         (strip_blank_lines_and_comments): Strips blank lines and lines
27887         with comments from the end of a chunk of text representing a
27888         function.
27889         (JSTestChecker): New checker.
27890         (JSTestChecker.__init__):
27891         (JSTestChecker.check):
27892         (JSTestChecker.check_js_test_files): Keeps whole files in sync.
27893         (JSTestChecker.check_js_test_functions): Keeps individual
27894         functions in sync.
27896         * Scripts/webkitpy/style/checkers/jstest_unittest.py: Add test
27897         case.
27898         (JSTestTestCase):
27899         (JSTestTestCase.test_map_functions_to_dict):
27901 2017-05-02  Joanmarie Diggs  <jdiggs@igalia.com>
27903         AX: Update implementation of aria-orientation
27904         https://bugs.webkit.org/show_bug.cgi?id=171166
27906         Reviewed by Chris Fleizach.
27908         Return "AXUnknownOrientation" when ATK_STATE_VERTICAL and ATK_STATE_HORIZONTAL
27909         are both absent from the state set. Before we were returning an empty string
27910         which was not consistent with what the Mac port does, thus making shared tests
27911         harder.
27913         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
27914         (WTR::AccessibilityUIElement::orientation):
27916 2017-05-01  David Kilzer  <ddkilzer@apple.com>
27918         Stop using sprintf() in JavaScriptCore debugger
27919         <https://webkit.org/b/171512>
27921         Reviewed by Keith Miller.
27923         * Scripts/webkitpy/style/checker.py:
27924         (_PATH_RULES_SPECIFIER): Ignore some formatting checkers since
27925         Source/JavaScriptCore/disassembler/udis86/ is generated code.
27927 2017-05-01  Timothy Horton  <timothy_horton@apple.com>
27929         Expose viewport-fit instead of clip-to-safe-area
27930         https://bugs.webkit.org/show_bug.cgi?id=171503
27931         <rdar://problem/31918249>
27933         Reviewed by Simon Fraser.
27935         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
27936         (WTR::UIScriptController::setSafeAreaInsets):
27937         (WTR::UIScriptController::setObscuredInsets): Deleted.
27938         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
27939         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
27940         (WTR::UIScriptController::setSafeAreaInsets):
27941         (WTR::UIScriptController::setObscuredInsets): Deleted.
27942         * TestRunnerShared/UIScriptContext/UIScriptController.h:
27943         * WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
27944         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
27945         (-[TestRunnerWKWebView setOverrideSafeAreaInsets:]):
27946         (-[TestRunnerWKWebView _safeAreaInsetsForFrame:inSuperview:]):
27947         * WebKitTestRunner/ios/TestControllerIOS.mm:
27948         (WTR::TestController::platformResetStateToConsistentValues):
27949         * WebKitTestRunner/ios/UIKitSPI.h:
27950         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
27951         (WTR::UIScriptController::setSafeAreaInsets):
27952         (WTR::UIScriptController::setObscuredInsets): Deleted.
27953         Expose a safe area inset setter instead of obscured insets.
27955 2017-05-01  Wenson Hsieh  <wenson_hsieh@apple.com>
27957         Unreviewed, fix the build on a new internal SDK
27959         Replace usages of NSItemProviderRepresentationVisibilityAll with
27960         UIItemProviderRepresentationOptionsVisibilityAll.
27962         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
27963         (-[UIItemProvider registerDataRepresentationForTypeIdentifier:withData:]):
27964         (TestWebKitAPI::TEST):
27966 2017-05-01  David Kilzer  <ddkilzer@apple.com>
27968         [Cocoa] Replace uses of [get…Class() alloc] in TestWebKitAPI
27969         <https://webkit.org/b/171493>
27971         Reviewed by Dan Bernstein.
27973         * TestWebKitAPI/Tests/WebKit/ios/AudioSessionCategoryIOS.mm:
27974         Remove UIKit soft-link since TestWebKitAPI links to
27975         UIKit.framework.
27976         (TestWebKitAPI::WebKit1_AudioSessionCategoryIOS_Test): Use
27977         UIWindow and UIWebView classes directly.
27978         * TestWebKitAPI/Tests/WebKit2Cocoa/RequiresUserActionForPlayback.mm:
27979         Remove UIKit soft-link since TestWebKitAPI links to
27980         UIKit.framework.
27981         (RequiresUserActionForPlaybackTest::createWebView): Use UIWindow
27982         class directly.
27984 2017-05-01  Brady Eidson  <beidson@apple.com>
27986         Update names in WKURLSchemeHandler/WKURLSchemeHandlerTask APIs.
27987         <rdar://problem/31824838> and https://bugs.webkit.org/show_bug.cgi?id=171508
27989         Reviewed by Andy Estes.
27991         * TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:
27992         (-[SchemeHandler webView:startURLSchemeTask:]):
27993         (-[SchemeHandler webView:stopURLSchemeTask:]):
27994         (-[SchemeHandler webView:startTask:]): Deleted.
27995         (-[SchemeHandler webView:stopTask:]): Deleted.
27997 2017-05-01  Jason Marcell  <jmarcell@apple.com>
27999         Add a new function for getting the Git hash for a pure git directory.
28000         https://bugs.webkit.org/show_bug.cgi?id=171450
28002         Reviewed by David Kilzer.
28004         * Scripts/VCSUtils.pm:
28005         (gitHashForDirectory):
28007 2017-05-01  Joanmarie Diggs  <jdiggs@igalia.com>
28009         [ATK] Expose values of aria-rowcount, aria-colcount, aria-rowindex, aria-colindex, aria-rowspan, and aria-colspan as object attributes
28010         https://bugs.webkit.org/show_bug.cgi?id=171496
28012         Reviewed by Chris Fleizach.
28014         Add new attribute names so that the values of the object attributes can be tested.
28016         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
28017         (WTR::AccessibilityUIElement::numberAttributeValue):
28019 2017-05-01  Beth Dakin  <bdakin@apple.com>
28021         On-screen panel for candidate bar is in the wrong place when the caret is at the 
28022         start of a paragraph
28023         https://bugs.webkit.org/show_bug.cgi?id=171453
28024         -and corresponding-
28025         rdar://problem/29779764
28027         Reviewed by Tim Horton.
28029         This test hard-codes the y-coordinate for the expected candidateRect. 
28030         * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewCandidateTests.mm:
28031         (TEST):
28033 2017-05-01  David Kilzer  <ddkilzer@apple.com>
28035         check-webkit-style: Enable sprintf(), strcat(), strcpy() and printf() format checks
28036         <https://webkit.org/b/171494>
28038         Reviewed by Brent Fulgham.
28040         * Scripts/webkitpy/style/checkers/cpp.py:
28041         (check_language): Change categories for certain checkers from
28042         'runtime/printf' to 'security/printf' so they are no longer
28043         filtered.
28044         (CppChecker.categories): Add 'security/printf'.
28045         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
28046         (CppStyleTest.test_insecure_string_operations): Add new test for
28047         sprintf(), strcat() and strcpy().
28048         (CppStyleTest.test_format_strings): Update test results for new
28049         'security/printf' category use.
28051 2017-05-01  Joanmarie Diggs  <jdiggs@igalia.com>
28053         AX: [GTK] Add support to query for aria-current
28054         https://bugs.webkit.org/show_bug.cgi?id=149016
28056         Reviewed by Chris Fleizach.
28058         Implement support for "AXARIACurrent" string attribute value.
28060         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
28062 2017-05-01  David Kilzer  <ddkilzer@apple.com>
28064         REGRESSION (r216000): test-webkitpy fails after adding new soft-linked class checker
28066         Unreviewed.
28068         Follow-up fix for:
28069         [Cocoa] Have check-webkit-style advise against use of [get…Class() alloc]
28070         https://bugs.webkit.org/show_bug.cgi?id=171486
28072         * Scripts/webkitpy/style/checkers/cpp.py:
28073         (check_soft_link_class_alloc): Use (\w+) instead of ([^\s]+) to
28074         match and capture the function name.  The latter also mistakenly
28075         matches C-preprocessor directives.
28076         (CppChecker.categories): Add 'runtime/soft-linked-alloc', which
28077         is a requirement for the CppChecker class.
28079 2017-05-01  Carlos Garcia Campos  <cgarcia@igalia.com>
28081         [GTK] Add automation session API
28082         https://bugs.webkit.org/show_bug.cgi?id=171428
28084         Reviewed by Carlos Alberto Lopez Perez.
28086         Add an automation mode to MiniBrowser using the new API and add a unit test too.
28088         * MiniBrowser/gtk/BrowserWindow.c:
28089         (webViewTitleChanged):
28090         (webViewDecidePolicy):
28091         (newTabCallback):
28092         (openPrivateWindow):
28093         (browserWindowFinalize):
28094         (browser_window_init):
28095         (browser_window_get_or_create_web_view_for_automation):
28096         * MiniBrowser/gtk/BrowserWindow.h:
28097         * MiniBrowser/gtk/main.c:
28098         (createBrowserTab):
28099         (createWebViewForAutomationCallback):
28100         (automationStartedCallback):
28101         (main):
28102         * TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
28103         * TestWebKitAPI/Tests/WebKit2Gtk/TestAutomationSession.cpp: Added.
28104         (testAutomationSessionRequestSession):
28105         (beforeAll):
28106         (afterAll):
28108 2017-04-30  Dan Bernstein  <mitz@apple.com>
28110         [Cocoa] Have check-webkit-style advise against use of [get…Class() alloc]
28111         https://bugs.webkit.org/show_bug.cgi?id=171486
28113         Reviewed by Sam Weinig.
28115         * Scripts/webkitpy/style/checkers/cpp.py:
28116         (check_soft_link_class_alloc): Added. Looks for [get…Class() alloc] and suggests
28117           alloc…Instance() instead.
28118         (check_style): Invoke new check.
28120 2017-04-30  Brady Eidson  <beidson@apple.com>
28122         More fixing after r215991
28123         https://bugs.webkit.org/show_bug.cgi?id=171483
28125         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
28126         (TEST):
28128 2017-04-30  Brady Eidson  <beidson@apple.com>
28130         Updates to _WKWebsiteDataStoreConfiguration cookie storage location SPI.
28131         <rdar://problem/31906397> and https://bugs.webkit.org/show_bug.cgi?id=171483
28133         Reviewed by Geoff Garen (and kind of Andy Estes).
28135         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
28136         (TEST):
28138 2017-04-30  Joanmarie Diggs  <jdiggs@igalia.com>
28140         [ATK] Implement support for aria-autocomplete
28141         https://bugs.webkit.org/show_bug.cgi?id=171167
28143         Reviewed by Chris Fleizach.
28145         Add "AXSupportsAutoCompletion" attribute so the presence of
28146         ATK_STATE_SUPPORTS_AUTOCOMPLETION can be tested.
28148         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
28149         (WTR::AccessibilityUIElement::boolAttributeValue):
28151 2017-04-30  Joanmarie Diggs  <jdiggs@igalia.com>
28153         [ATK] ARIA treegrid role should be exposed as ATK_ROLE_TREE_TABLE; not ATK_ROLE_TABLE
28154         https://bugs.webkit.org/show_bug.cgi?id=171170
28156         Reviewed by Chris Fleizach.
28158         Add "AXInterfaceTable" attribute to test which elements implement AtkTable.
28160         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
28161         (WTR::AccessibilityUIElement::boolAttributeValue):
28163 2017-04-30  Joanmarie Diggs  <jdiggs@igalia.com>
28165         [ATK] Emit object:state-changed:busy event when aria-busy value changes
28166         https://bugs.webkit.org/show_bug.cgi?id=171181
28168         Reviewed by Chris Fleizach.
28170         Add handler for AXElementBusyChanged notifications.
28172         * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
28174 2017-04-29  Aakash Jain  <aakash_jain@apple.com>
28176         Use PEP8 style guide for raising exceptions in webkitpy.
28177         https://bugs.webkit.org/show_bug.cgi?id=171439
28179         Reviewed by Daniel Bates.
28181         As per https://www.python.org/dev/peps/pep-0008/
28182         "When raising an exception in Python 2, use raise ValueError('message') 
28183         instead of the older form raise ValueError, 'message'"
28185         * Scripts/webkitpy/common/net/irc/ircbot.py: Using new style for raising exceptions.
28186         * Scripts/webkitpy/common/thread/messagepump.py: Same.
28187         * Scripts/webkitpy/tool/bot/queueengine.py: Same.
28188         * Scripts/webkitpy/tool/commands/queues.py: Same.
28189         * Scripts/webkitpy/tool/commands/stepsequence.py: Same.
28190         * Scripts/webkitpy/tool/multicommandtool.py: Same.
28191         * Scripts/webkitpy/tool/steps/abstractstep.py: Same.
28193 2017-04-28  Simon Fraser  <simon.fraser@apple.com>
28195         Add system trace points for Document::updateTouchEventRegions()
28196         https://bugs.webkit.org/show_bug.cgi?id=171470
28197         rdar://problem/31901239
28199         Reviewed by Tim Horton.
28201         Add trace markers for updateTouchEventRegions.
28203         * Tracing/SystemTracePoints.plist:
28205 2017-04-28  Jonathan Bedard  <jbedard@apple.com>
28207         webkitpy: Add apple_additions to webkitpy to insert Internal tools
28208         https://bugs.webkit.org/show_bug.cgi?id=170461
28209         <rdar://problem/31433077>
28211         Reviewed by Daniel Bates.
28213         Allow a package to be pulled in by run-webkit-tests which provides an interface to
28214         run layout tests on an iOS device.  If this package is not available, throw an
28215         exception when attempting to run layout tests on an iOS device.
28217         * Scripts/webkitpy/port/config.py:
28218         (apple_additions): Import apple_additions package.
28219         * Scripts/webkitpy/port/device.py:
28220         (Device.install_dylibs): Pass a directory with all the frameworks and dylibs to be
28221         installed on a device.
28222         (Device.prepare_for_testing): Pass a list of ports to forward from the device to the
28223         host, the bundle id of the app to be used for testing and a path to the layout test
28224         directory to be mounted on the device.
28225         (Device.finished_testing):
28226         * Scripts/webkitpy/port/factory.py:
28227         (platform_options): Add apple_additions platform options if apple_additions exists.
28228         * Scripts/webkitpy/port/ios.py:
28229         (IOSPort.setup_test_run): Install dylibs and frameworks on the device, pass ports
28230         to forward, the bundle ID of the testing app and the layout tests directory to
28231         each device.
28232         * Scripts/webkitpy/port/ios_device.py:
28233         (IOSDevicePort):
28234         (IOSDevicePort.default_child_processes): Query apple_additions for the number of child
28235         processes to be run.
28236         (IOSDevicePort.using_multiple_devices): Always assume multiple devices are used. When
28237         a single device is used, it is still accessed through an array.
28238         (IOSDevicePort._device_for_worker_number_map): Query apple_additions for the device
28239         for worker number map.
28240         (IOSDevicePort._driver_class): Query apple_additions for the test driver.
28241         (IOSDevicePort.determine_full_port_name): Use class variable over hard-coded string.
28242         (IOSDevicePort.check_for_leaks): No implementation for iOSDevicePort.
28243         (IOSDevicePort.look_for_new_crash_logs): Ditto.
28244         (IOSDevicePort.look_for_new_samples): Ditto.
28245         (IOSDevicePort.sample_process): Ditto.
28246         (IOSDevicePort._build_driver_flags): Use class variable over hard-coded string.
28247         (IOSDevicePort._create_devices): Check that devices are available for testing and check
28248         that we have enough devices for each child process.
28249         (IOSDevicePort.clean_up_test_run): Have apple_additions preform any needed clean up.
28250         * Scripts/webkitpy/port/ios_device_unittest.py:
28251         (IOSDeviceTest.test_operating_system):
28252         (IOSDeviceTest.test_spindump): Override method from DarwinTest.
28253         (IOSDeviceTest.test_sample_process): Ditto.
28254         (IOSDeviceTest.test_sample_process_exception): Ditto.
28256 2017-04-28  Wenson Hsieh  <wenson_hsieh@apple.com>
28258         Fix and re-enable data interaction unit tests
28259         https://bugs.webkit.org/show_bug.cgi?id=171446
28260         <rdar://problem/31820646>
28262         Reviewed by Tim Horton.
28264         Enables all DataInteractionTests, and adjusts file upload tests to no longer write to a temporary file before
28265         registering with the UIItemProvider, and instead just register data directly via
28266         -registerDataRepresentationForTypeIdentifier:visibility:loadHandler:.
28268         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
28269         (TestWebKitAPI::TEST):
28270         (temporaryURLForDataInteractionFileLoad): Deleted.
28271         (cleanUpDataInteractionTemporaryPath): Deleted.
28272         (-[UIItemProvider registerFileRepresentationForTypeIdentifier:withData:filename:]): Deleted.
28273         * TestWebKitAPI/ios/DataInteractionSimulator.h:
28274         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
28276 2017-04-28  Brady Eidson  <beidson@apple.com>
28278         Teach the DatabaseProcess to be fully SessionID aware
28279         https://bugs.webkit.org/show_bug.cgi?id=171451
28281         Reviewed by Geoffrey Garen.
28283         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
28285 2017-04-28  Jonathan Bedard  <jbedard@apple.com>
28287         Unreviewed follow-up to r214705.
28289         shut.copytree will fail if given a file as an argument instead of a directory.
28291         * Scripts/webkitpy/common/system/filesystem.py:
28292         (FileSystem.copy_to_base_host): Use copytree when source is a directory and copyfile
28293         when source is a file.
28294         (FileSystem.copy_from_base_host): Ditto.
28296 2017-04-28  Chris Dumez  <cdumez@apple.com>
28298         Update DOMTokenList.replace() to match the latest DOM specification
28299         https://bugs.webkit.org/show_bug.cgi?id=171388
28301         Reviewed by Alex Christensen.
28303         Add API test coverage for new Vector API.
28305         * TestWebKitAPI/Tests/WTF/Vector.cpp:
28306         (TestWebKitAPI::TEST):
28308 2017-04-28  Jonathan Bedard  <jbedard@apple.com>
28310         WebKitTestRunner/DumpRenderTree prevent device from sleeping
28311         https://bugs.webkit.org/show_bug.cgi?id=170731
28313         Reviewed by Alex Christensen.
28315         While running layout tests on a device, the device should not be put asleep.
28317         * DumpRenderTree/mac/DumpRenderTree.mm:
28318         (dumpRenderTree): Disable idle timer.
28319         * WebKitTestRunner/ios/TestControllerIOS.mm:
28320         (WTR::TestController::platformInitialize): Ditto.
28322 2017-04-28  Brady Eidson  <beidson@apple.com>
28324         Start of support for multiple WebsiteDataStore/SessionIDs per process
28325         https://bugs.webkit.org/show_bug.cgi?id=171422
28327         Reviewed by Geoffrey Garen.
28329         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
28330         (TEST):
28332 2017-04-28  Youenn Fablet  <youenn@apple.com>
28334         Adding a runtime flag specific to MediaDevices
28335         https://bugs.webkit.org/show_bug.cgi?id=171433
28337         Reviewed by Geoffrey Garen.
28339         Updating WTR and DRT as peer connection and media stream runtime flags are enabled by default.
28340         Setting media devices runtime flag to true for WTR and DRT.
28342         * DumpRenderTree/mac/DumpRenderTree.mm:
28343         (enableExperimentalFeatures):
28344         (resetWebPreferencesToConsistentValues):
28345         * TestWebKitAPI/Tests/WebKit2/EnumerateMediaDevices.cpp:
28346         (TestWebKitAPI::TEST):
28347         * TestWebKitAPI/Tests/WebKit2/UserMedia.cpp:
28348         (TestWebKitAPI::TEST):
28349         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
28350         (WTR::InjectedBundle::beginTesting):
28351         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
28352         (WTR::TestRunner::setMediaDevicesEnabled):
28353         (WTR::TestRunner::setMediaStreamEnabled): Deleted.
28354         (WTR::TestRunner::setPeerConnectionEnabled): Deleted.
28355         * WebKitTestRunner/InjectedBundle/TestRunner.h:
28356         * WebKitTestRunner/TestController.cpp:
28357         (WTR::TestController::resetPreferencesToConsistentValues):
28359 2017-04-28  Dean Jackson  <dino@apple.com>
28361         [WebGPU] Label MTLCommandQueues with a prefix for internal telemetry
28362         https://bugs.webkit.org/show_bug.cgi?id=171441
28363         <rdar://problem/31826915>
28365         Reviewed by Tim Horton.
28367         Add an API test for GPUCommandQueue, exercising creation
28368         and setting the label.
28370         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
28371         * TestWebKitAPI/Tests/WebCore/mac/GPUCommandQueue.mm: Added.
28372         (TestWebKitAPI::TEST_F):
28374 2017-04-28  Joanmarie Diggs  <jdiggs@igalia.com>
28376         [ATK] aria-modal="true" should be exposed via ATK_STATE_MODAL
28377         https://bugs.webkit.org/show_bug.cgi?id=171188
28379         Reviewed by Chris Fleizach.
28381         Add "AXModal" attribute string so that we can test the state's exposure.
28383         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
28384         (WTR::AccessibilityUIElement::boolAttributeValue):
28386 2017-04-28  Joanmarie Diggs  <jdiggs@igalia.com>
28388         [ATK] GridCellRole should implement AtkTableCell (regression?)
28389         https://bugs.webkit.org/show_bug.cgi?id=171179
28391         Reviewed by Chris Fleizach.
28393         Add new "AXInterfaceTableCell" attribute so that we can test whether or
28394         not there is an implementation of AtkTableCell (i.e. without risking false
28395         negatives from bugs in the interface's implementation).
28397         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
28398         (WTR::AccessibilityUIElement::boolAttributeValue):
28400 2017-04-27  Carlos Garcia Campos  <cgarcia@igalia.com>
28402         Move UUID from WebCore/platform to WTF
28403         https://bugs.webkit.org/show_bug.cgi?id=171372
28405         Reviewed by Michael Catanzaro.
28407         * WebKitTestRunner/TestController.cpp:
28409 2017-04-27  Alex Christensen  <achristensen@webkit.org>
28411         Add stub SPI for setting cookie storage path on _WKWebsiteDataStoreConfiguration
28412         https://bugs.webkit.org/show_bug.cgi?id=171399
28414         Reviewed by Brady Eidson.
28416         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.html:
28417         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
28418         (TEST):
28420 2017-04-27  Ryan Haddad  <ryanhaddad@apple.com>
28422         Disable flaky API test WKWebView.SetOverrideContentSecurityPolicyWithEmptyStringForPageWithCSP.
28423         https://bugs.webkit.org/show_bug.cgi?id=167914
28425         Unreviewed test gardening.
28427         * TestWebKitAPI/Tests/WebKit2Cocoa/OverrideContentSecurityPolicy.mm:
28428         (TEST):
28430 2017-04-26  Saam Barati  <sbarati@apple.com>
28432         Add some more testing modes for Wasm tests now that we have tier up
28433         https://bugs.webkit.org/show_bug.cgi?id=171360
28435         Reviewed by Keith Miller.
28437         Lets enable the FTL on all Wasm tests. Let's also run each
28438         test with and without CJIT.
28440         * Scripts/run-jsc-stress-tests:
28442 2017-04-26  Aakash Jain  <aakash_jain@apple.com>
28444         JSC EWS Patch Relevance skips few JSC scripts
28445         https://bugs.webkit.org/show_bug.cgi?id=171351
28447         Reviewed by Alexey Proskuryakov.
28449         * Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
28450         (CheckPatchRelevance): Added few jsc related scripts.
28452 2017-04-26  Youenn Fablet  <youenn@apple.com>
28454         Test importer should delete obsolete files based on w3c-import.log
28455         https://bugs.webkit.org/show_bug.cgi?id=171348
28457         Reviewed by Chris Dumez.
28459         * Scripts/webkitpy/w3c/test_importer.py:
28460         (TestImporter.do_import): Removing dangling -expected.txt files in regular import mode.
28461         (TestImporter.remove_deleted_files): Fixing according w3c-import.log current format.
28462         * Scripts/webkitpy/w3c/test_importer_unittest.py:
28463         (test_remove_obsolete_content):
28465 2017-04-26  Jonathan Bedard  <jbedard@apple.com>
28467         REGRESSION (r213926): We're sometimes trying to start WebKitTestRunner without proper DYLD variables
28468         <rdar://problem/31816459>
28470         Unreviewed infrastructure fix.
28472         Some of our iOS Simulator bots are slow and will register crashes due to an incorrect
28473         DYLD_FRAMEWORK_PATH when installing an app.
28475         * Scripts/webkitpy/port/ios.py:
28476         (IOSPort.setup_test_run): Pass DYLD_FRAMEWORK_PATH to app on install.
28478 2017-04-26  Joanmarie Diggs  <jdiggs@igalia.com>
28480         [ATK] Elements with a defined, non-false value for aria-current should expose ATK_STATE_ACTIVE
28481         https://bugs.webkit.org/show_bug.cgi?id=171163
28483         Reviewed by Chris Fleizach.
28485         Add support for state-change notifications for ATK_STATE_ACTIVE.
28487         * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
28489 2017-04-26  Jonathan Bedard  <jbedard@apple.com>
28491         webkitpy: Teardown iOS Simulators on exit if managed Simulators are still running
28492         https://bugs.webkit.org/show_bug.cgi?id=171293
28494         Reviewed by Aakash Jain.
28496         We should make an effort to teardown simulators which we booted even when an exception is
28497         thrown while booting. Make some IOSSimulatorPort functions into static methods and register
28498         one of these functions to be run at exit to ensure any devices webkitpy is managing gets
28499         torn down.
28501         * Scripts/webkitpy/layout_tests/controllers/manager.py:
28502         (Manager._set_up_run): Rely on exit handlers to teardown, not exceptions.
28503         * Scripts/webkitpy/port/ios_simulator.py:
28504         (IOSSimulatorPort._teardown_managed_simulators): Function run on exit which will kill all
28505         iOS simulators and teardown and managed devices.
28506         (IOSSimulatorPort._create_simulators): Register teardown function.
28507         (IOSSimulatorPort.clean_up_test_run): Move device teardown to _teardown_managed_simulators.
28508         (IOSSimulatorPort._remove_device): Deleted.
28510 2017-04-26  Joanmarie Diggs  <jdiggs@igalia.com>
28512         [ATK] Implement support for new ARIA 1.1 values of aria-haspopup
28513         https://bugs.webkit.org/show_bug.cgi?id=171164
28515         Reviewed by Chris Fleizach.
28517         hasPopup() should return whether or not ATK_STATE_HAS_POPUP is in the
28518         AtkStateSet; not what is found in the AtkObject's attributes.
28520         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
28521         (WTR::AccessibilityUIElement::hasPopup):
28523 2017-04-25  Alex Christensen  <achristensen@webkit.org>
28525         Encoded filename should be decoded for WKContentExtension.identifier
28526         https://bugs.webkit.org/show_bug.cgi?id=171316
28528         Reviewed by Andy Estes.
28530         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
28531         * TestWebKitAPI/Tests/WebKit2Cocoa/WKContentExtensionStore.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm.
28532         (TEST_F):
28533         * TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm: Removed.
28535 2017-04-25  Alex Christensen  <achristensen@webkit.org>
28537         REGRESSION(206450): WebKit2PlatformMouseEvent m_modifierFlags not set
28538         https://bugs.webkit.org/show_bug.cgi?id=171297
28539         <rdar://problem/31530719>
28541         Reviewed by Geoffrey Garen.
28543         * TestWebKitAPI/PlatformWebView.h:
28544         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
28545         * TestWebKitAPI/Tests/WebKit2/EventModifiers.cpp: Added.
28546         (TestWebKitAPI::didFinishLoadForFrame):
28547         (TestWebKitAPI::mouseDidMoveOverElement):
28548         (TestWebKitAPI::setClients):
28549         (TestWebKitAPI::TEST):
28550         * TestWebKitAPI/mac/PlatformWebViewMac.mm:
28551         (TestWebKitAPI::PlatformWebView::simulateRightClick):
28552         (TestWebKitAPI::PlatformWebView::simulateMouseMove):
28554 2017-04-25  Wenson Hsieh  <wenson_hsieh@apple.com>
28556         Unreviewed, temporarily disable the data interaction unit tests.
28558         The API around data interaction will change significantly in the near future, and
28559         these tests will begin to fail. These will be reenabled once the bots are on an SDK
28560         that supports the updated data interaction API.
28562         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
28563         * TestWebKitAPI/ios/DataInteractionSimulator.h:
28564         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
28566 2017-04-25  Brent Fulgham  <bfulgham@apple.com>
28568         Limit allowed size of document.title to avoid locking WebKit clients
28569         https://bugs.webkit.org/show_bug.cgi?id=165113
28570         <rdar://problem/28324389>
28572         Reviewed by Darin Adler.
28574         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new files.
28575         * TestWebKitAPI/Tests/WebKit2/LimitTitleSize.cpp: Added.
28576         * TestWebKitAPI/Tests/WebKit2/set-long-title.html: Added.
28577         * TestWebKitAPI/Tests/mac/LimitTitleSize.mm: Added.
28579 2017-04-25  John Wilander  <wilander@apple.com>
28581         Resource Load Statistics: Introduce shorter time-to-live for cookie partition whitelisting
28582         https://bugs.webkit.org/show_bug.cgi?id=171295
28583         <rdar://problem/31823818>
28585         Reviewed by Brent Fulgham.
28587         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
28588         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
28589         (WTR::TestRunner::setStatisticsTimeToLiveCookiePartitionFree):
28590         (WTR::TestRunner::statisticsFireShouldPartitionCookiesHandler):
28591         (WTR::TestRunner::statisticsFireShouldPartitionCookiesHandlerForOneDomain):
28592         * WebKitTestRunner/InjectedBundle/TestRunner.h:
28593         * WebKitTestRunner/TestController.cpp:
28594         (WTR::TestController::setStatisticsTimeToLiveCookiePartitionFree):
28595         (WTR::TestController::statisticsFireShouldPartitionCookiesHandler):
28596         (WTR::TestController::statisticsFireShouldPartitionCookiesHandlerForOneDomain):
28597         * WebKitTestRunner/TestController.h:
28598         * WebKitTestRunner/TestInvocation.cpp:
28599         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
28601 2017-04-25  Tim Horton  <timothy_horton@apple.com>
28603         Try to fix the WKTR build after r215758
28605         * Scripts/build-webkittestrunner:
28607 2017-04-25  Daniel Bates  <dabates@apple.com>
28609         Remove more EFL code
28610         https://bugs.webkit.org/show_bug.cgi?id=171288
28612         Rubber-stamped by Simon Fraser.
28614         The EFL port is no longer in the WebKit OpenSource Project repository. Remove more code
28615         that was part of the EFL port.
28617         * CMakeLists.txt:
28618         * DumpRenderTree/AccessibilityController.h:
28619         * DumpRenderTree/AccessibilityUIElement.cpp:
28620         (AccessibilityUIElement::getJSClass):
28621         * DumpRenderTree/AccessibilityUIElement.h:
28622         * DumpRenderTree/DumpRenderTree.h:
28623         * DumpRenderTree/cairo/PixelDumpSupportCairo.h:
28624         * ImageDiff/efl/ImageDiff.cpp: Removed.
28625         * MiniBrowser/efl/CMakeLists.txt: Removed.
28626         * MiniBrowser/efl/main.c: Removed.
28627         * Scripts/build-dumprendertree:
28628         * Scripts/build-jsc:
28629         * Scripts/build-webkit:
28630         * Scripts/build-webkittestrunner:
28631         * Scripts/run-minibrowser:
28632         * Scripts/update-webkit-libs-jhbuild:
28633         * Scripts/update-webkitefl-libs: Removed.
28634         * Scripts/webkitdirs.pm:
28635         (argumentsForConfiguration):
28636         (extractNonMacOSHostConfiguration):
28637         (executableProductDir):
28638         (builtDylibPathForName):
28639         (determinePortName):
28640         (launcherPath):
28641         (launcherName):
28642         (getJhbuildPath):
28643         (wrapperPrefixIfNeeded):
28644         (generateBuildSystemFromCMakeProject):
28645         (buildCMakeProjectOrExit):
28646         (isEfl): Deleted.
28647         * Scripts/webkitperl/FeatureList.pm:
28648         * Scripts/webkitperl/webkitdirs_unittest/extractNonMacOSHostConfiguration.pl:
28649         * Scripts/webkitpy/common/config/ports.py:
28650         (DeprecatedPort.port):
28651         (GtkWK2Port.run_webkit_tests_command):
28652         (EflWK2Port): Deleted.
28653         (EflWK2Port.build_webkit_command): Deleted.
28654         * Scripts/webkitpy/port/builders.py:
28655         * Scripts/webkitpy/port/efl.py: Removed.
28656         * Scripts/webkitpy/port/efl_unittest.py: Removed.
28657         * Scripts/webkitpy/port/factory.py:
28658         (platform_options):
28659         (PortFactory):
28660         * Scripts/webkitpy/style/checkers/test_expectations_unittest.py:
28661         (TestExpectationsTestCase.test_determine_port_from_expectations_path):
28662         * Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
28663         (TestRebaselineTest.test_baseline_directory):
28664         (TestRebaselineExpectations.test_rebaseline_expectations):
28665         * TestWebKitAPI/PlatformEfl.cmake: Removed.
28666         * TestWebKitAPI/PlatformWebView.h:
28667         * TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:
28668         (TestWebKitAPI::TEST):
28669         * TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp: Removed.
28670         * TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks_Bundle.cpp: Removed.
28671         * TestWebKitAPI/Tests/WebKit2/efl/WKViewScrollTo.cpp: Removed.
28672         * TestWebKitAPI/Tests/WebKit2/efl/scrollTo.html: Removed.
28673         * TestWebKitAPI/efl/InjectedBundleController.cpp: Removed.
28674         * TestWebKitAPI/efl/PlatformUtilities.cpp: Removed.
28675         * TestWebKitAPI/efl/PlatformWebView.cpp: Removed.
28676         * TestWebKitAPI/efl/main.cpp: Removed.
28677         * WebKitTestRunner/EventSenderProxy.h:
28678         * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
28679         * WebKitTestRunner/InjectedBundle/AccessibilityController.h:
28680         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
28681         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
28682         * WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
28683         (WTR::EventSendingController::contextClick):
28684         * WebKitTestRunner/InjectedBundle/TestRunner.h:
28685         * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
28686         (WTR::AccessibilityNotificationHandler::setNotificationFunctionCallback):
28687         (WTR::AccessibilityNotificationHandler::removeAccessibilityNotificationHandler):
28688         * WebKitTestRunner/InjectedBundle/efl/ActivateFontsEfl.cpp: Removed.
28689         * WebKitTestRunner/InjectedBundle/efl/FontManagement.cpp: Removed.
28690         * WebKitTestRunner/InjectedBundle/efl/FontManagement.h: Removed.
28691         * WebKitTestRunner/InjectedBundle/efl/InjectedBundleEfl.cpp: Removed.
28692         * WebKitTestRunner/InjectedBundle/efl/TestRunnerEfl.cpp: Removed.
28693         * WebKitTestRunner/PlatformEfl.cmake: Removed.
28694         * WebKitTestRunner/PlatformWebView.h:
28695         * WebKitTestRunner/TestController.cpp:
28696         (WTR::TestController::resetStateToConsistentValues):
28697         * WebKitTestRunner/efl/EventSenderProxyEfl.cpp: Removed.
28698         * WebKitTestRunner/efl/PlatformWebViewEfl.cpp: Removed.
28699         * WebKitTestRunner/efl/TestControllerEfl.cpp: Removed.
28700         * WebKitTestRunner/efl/main.cpp: Removed.
28701         * efl/install-dependencies: Removed.
28702         * efl/jhbuild-optional.modules: Removed.
28703         * efl/jhbuild.modules: Removed.
28704         * efl/jhbuildrc: Removed.
28705         * efl/patches/evas-fix-build-with-giflib5.patch: Removed.
28706         * efl/patches/fontconfig-C-11-requires-a-space-between-literal-and-identifier.patch: Removed.
28707         * efl/patches/gst-libav.patch: Removed.
28708         * efl/patches/gst-plugins-base-rtp-rtcpbuffer-fix-typo-in-enum.patch: Removed.
28709         * efl/patches/gst-plugins-good-Revert-qtdemux-expose-streams-with-first-moof-for-fr.patch: Removed.
28710         * efl/patches/gst-plugins-good-use-the-tfdt-decode-time.patch: Removed.
28711         * efl/patches/openwebrtc-gst-plugins-clang-warning-fix.patch: Removed.
28712         * gtk/manifest.txt.in:
28714 2017-04-25  Daniel Bates  <dabates@apple.com>
28716         [Cocoa][Win] Enable of X-Content-Type-Options: nosniff header
28717         https://bugs.webkit.org/show_bug.cgi?id=136452
28718         <rdar://problem/23412620>
28720         Reviewed by Brent Fulgham.
28722         Enable X-Content-Type-Options: nosniff on Mac, iOS and Windows platforms.
28724         * Scripts/webkitperl/FeatureList.pm: Also do not enable nosniff on EFL
28725         as the EFL port is no longer in the WebKit OpenSource repository.
28726         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
28728 2017-04-25  Zan Dobersek  <zdobersek@igalia.com>
28730         Unreviewed follow-up to r215739 and r215740.
28732         * gtk/jhbuild.modules: List the libgcrypt patch that has to be applied.
28733         This (and r215740) was supposed to land in r215739, but I managed to
28734         specify the previous version of the patch.
28736 2017-04-25  Zan Dobersek  <zdobersek@igalia.com>
28738         Unreviewed follow-up to r215739.
28740         * gtk/patches/libgcrypt-use-only-dev-urandom-for-testing.patch: Add the missing
28741         libgcrypt patch that enforces the use of /dev/urandom.
28743 2017-04-25  Zan Dobersek  <zdobersek@igalia.com>
28745         [GTK] Add libgpg-error, libgcrypt libraries to JHBuild
28746         https://bugs.webkit.org/show_bug.cgi?id=171270
28748         Reviewed by Michael Catanzaro.
28750         * gtk/jhbuild.modules: Add the latest stable versions of libgpg-error and libgcrypt
28751         libraries to the webkitgtk-testing-dependencies metamodule. This will help people
28752         that use systems that don't yet provide libgcrypt >= 1.7.0.
28754 2017-04-25  Carlos Alberto Lopez Perez  <clopez@igalia.com>
28756         [GTK] Improve an unit test for the JHBuild wrapper.
28757         https://bugs.webkit.org/show_bug.cgi?id=168036
28759         Unreviewed follow-up patch after r215727
28761         * Scripts/webkitpy/port/base_unittest.py:
28762         (test_jhbuild_wrapper): Improve the unit test by ensuring the directory
28763         wasn't there before calling MockFileSystem.maybe_make_directory(), and
28764         also that it exists after calling it.
28766 2017-04-25  Carlos Alberto Lopez Perez  <clopez@igalia.com>
28768         [GTK] ImageDiff should be run by jhbuild-wrapper in case of using jhbuild
28769         https://bugs.webkit.org/show_bug.cgi?id=168036
28771         Reviewed by Michael Catanzaro.
28773         Call ImageDiff with the JHBuild wrapper if we should use it.
28774         Also add some unit tests for the JHBuild wrapper feature.
28776         * Scripts/webkitpy/port/base.py:
28777         (Port._should_use_jhbuild): Use self._filesystem instead of os.path to allow mock testing.
28778         * Scripts/webkitpy/port/base_unittest.py:
28779         (test_jhbuild_wrapper): Add a test for port._should_use_jhbuild()
28780         * Scripts/webkitpy/port/image_diff.py:
28781         (ImageDiffer._start): The actual fix, use the wrapper if we should.
28782         * Scripts/webkitpy/port/image_diff_unittest.py: Removed. This two tests are now integrated in port_testcase
28783         * Scripts/webkitpy/port/port_testcase.py:
28784         (PortTestCase):
28785         (PortTestCase.test_diff_image): Test the command with wrapper and without it.
28786         (PortTestCase.test_diff_image_passed): Moved from image_diff_unittest.py
28787         (PortTestCase.test_diff_image_failed): Moved from image_diff_unittest.py
28789 2017-04-25  Wenson Hsieh  <wenson_hsieh@apple.com>
28791         Support reading NSURL titles from the pasteboard when performing data interaction
28792         https://bugs.webkit.org/show_bug.cgi?id=171156
28793         <rdar://problem/31356937>
28795         Reviewed by Tim Horton.
28797         Adds a new unit test, DataInteractionTests.ExternalSourceTitledNSURL.
28799         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
28800         (TestWebKitAPI::TEST):
28802 2017-04-24  Wenson Hsieh  <wenson_hsieh@apple.com>
28804         Respect fidelity order when reading web content from item providers
28805         https://bugs.webkit.org/show_bug.cgi?id=171155
28806         <rdar://problem/31356937>
28808         Reviewed by Tim Horton.
28810         Adds a new unit test (DataInteractionTests.RespectsExternalSourceFidelityRankings). See WebCore ChangeLog for
28811         more details.
28813         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
28814         (TestWebKitAPI::TEST):
28816 2017-04-24  Carlos Alberto Lopez Perez  <clopez@igalia.com>
28818         SyntaxError fix after r215702.
28819         https://bugs.webkit.org/show_bug.cgi?id=168944
28821         Unreviewed "build" fix.
28823         * BuildSlaveSupport/built-product-archive:
28824         (archiveBuiltProduct):
28826 2017-04-24  Jonathan Bedard  <jbedard@apple.com>
28828         Package ImageDiff built with host SDK
28829         https://bugs.webkit.org/show_bug.cgi?id=168944
28830         <rdar://problem/30745642>
28832         Reviewed by David Kilzer.
28834         iOS Simulator and iOS device should archive the ImageDiff built for the host
28835         machine.
28837         * BuildSlaveSupport/built-product-archive:
28838         (determineWebKitBuildDirectories): Add _hostBuildDirectory for iOS.
28839         (archiveBuiltProduct): Archive Mac products for iOS so that ImageDiff is included.
28841 2017-04-24  Keith Miller  <keith_miller@apple.com>
28843         ThreadMessage API tests failing on release bots
28844         https://bugs.webkit.org/show_bug.cgi?id=171246
28846         Reviewed by Saam Barati.
28848         Need to make sure that C++ doesn't optimize away our spin loop.
28850         * TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:
28851         (runThreadMessageTest):
28852         (TEST):
28854 2017-04-24  Alex Christensen  <achristensen@webkit.org>
28856         Reduce copies and allocations in SharedBuffer::append
28857         https://bugs.webkit.org/show_bug.cgi?id=170956
28859         Reviewed by Andreas Kling.
28861         * TestWebKitAPI/Tests/WebCore/cocoa/SharedBuffer.mm:
28862         (TestWebKitAPI::TEST_F):
28864 2017-04-24  Carlos Garcia Campos  <cgarcia@igalia.com>
28866         [GTK] Switch to use ENABLE_REMOTE_INSPECTOR instead of ENABLE_INSPECTOR_SERVER for the remote inspector
28867         https://bugs.webkit.org/show_bug.cgi?id=166680
28869         Reviewed by Michael Catanzaro.
28871         Update remote inspector unit tests.
28873         * TestWebKitAPI/Tests/WebKit2Gtk/InspectorTestServer.cpp:
28874         (main):
28875         * TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp:
28876         (connectToInspectorServer):
28877         (waitUntilInspectorServerIsReady):
28878         (startTestServer):
28879         (testInspectorServerPageList):
28880         (beforeAll):
28882 2017-04-23  Youenn Fablet  <youenn@apple.com>
28884         Add a tool to update expected.txt files from EWS bot results
28885         https://bugs.webkit.org/show_bug.cgi?id=169538
28887         Reviewed by Ryosuke Niwa.
28889         This script updates expected-txt files from bugzilla posted EWS results.
28890         It uses mac-wk2 as the generic baseline and adds platform-specific results if other ports
28891         have results different from the generic baseline.
28893         * Scripts/update-test-expectations-from-bugzilla: Added.
28894         * Scripts/webkitpy/common/net/bugzilla/test_expectation_updater.py: Added.
28895         * Scripts/webkitpy/common/net/bugzilla/test_expectation_updater_unittest.py: Added.
28896         * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: Adding helper routines.
28898 2017-04-22  Youenn Fablet  <youenn@apple.com>
28900         Add an option to import tip-of-tree WPT tests
28901         https://bugs.webkit.org/show_bug.cgi?id=171152
28903         Reviewed by Joseph Pecoraro.
28905         Adding a '-t' option to import tip of tree WPT tests.
28906         Updating importer based on the fact that csswg-test is no longer a thing. 
28908         * Scripts/webkitpy/w3c/test_downloader.py:
28909         (TestDownloader.download_tests):
28910         * Scripts/webkitpy/w3c/test_importer.py:
28911         (configure_logging):
28912         (TestImporter.do_import):
28913         (TestImporter.write_import_log):
28915 2017-04-22  Wenson Hsieh  <wenson_hsieh@apple.com>
28917         File inputs only accept UTI types that can be inserted into contenteditable areas when dropping
28918         https://bugs.webkit.org/show_bug.cgi?id=171177
28919         <rdar://problem/31765379>
28921         Reviewed by Andy Estes.
28923         Tests uploading a JSON file to a file input.
28925         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
28926         (TestWebKitAPI::TEST):
28928 2017-04-21  Wenson Hsieh  <wenson_hsieh@apple.com>
28930         Support writing link titles to the pasteboard when beginning data interaction on a link
28931         https://bugs.webkit.org/show_bug.cgi?id=171154
28932         <rdar://problem/31356937>
28934         Reviewed by Andy Estes.
28936         Augments an existing unit test, DataInteractionTests.LinkToInput, to also check that the fetching the NSURL from
28937         the source UIItemProvider generated by performing data interaction results in an NSURL with the _title attribute
28938         matching the title of the link.
28940         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
28941         (TestWebKitAPI::TEST):
28943 2017-04-21  Michael Catanzaro  <mcatanzaro@igalia.com>
28945         Unreviewed, rolling out r215608.
28947         Hundreds of test failures on GTK bot
28949         Reverted changeset:
28951         "Reduce copies and allocations in SharedBuffer::append"
28952         https://bugs.webkit.org/show_bug.cgi?id=170956
28953         http://trac.webkit.org/changeset/215608
28955 2017-04-21  Wenson Hsieh  <wenson_hsieh@apple.com>
28957         [WK2] Add delegate hooks for overriding unhanded data interaction operations
28958         https://bugs.webkit.org/show_bug.cgi?id=171005
28959         <rdar://problem/31669646>
28961         Reviewed by Tim Horton.
28963         Adds a new API test checking that normal WebKit behavior when vending updated data interaction operations may
28964         be overridden, resulting in a data interaction operation being performed when it otherwise would not have. Also
28965         adjusts for some changes in WebKit2 (See WebKit2 ChangeLog for more details).
28967         New API test:
28968         DataInteractionTests.OverrideDataInteractionOperation
28970         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
28971         (-[UIItemProvider registerDataRepresentationForTypeIdentifier:withData:]):
28972         (TestWebKitAPI::TEST):
28973         * TestWebKitAPI/ios/DataInteractionSimulator.h:
28974         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
28975         (-[DataInteractionSimulator initWithWebView:]):
28976         (-[DataInteractionSimulator dealloc]):
28977         (-[DataInteractionSimulator _webView:dataInteractionOperationWasHandled:forSession:itemProviders:]):
28978         (-[DataInteractionSimulator _webView:willUpdateDataInteractionOperationToOperation:forSession:]):
28979         (-[DataInteractionSimulator webViewDidPerformDataInteractionControllerOperation:]): Deleted.
28981 2017-04-21  Ryan Haddad  <ryanhaddad@apple.com>
28983         Temporarily disable two flaky API tests.
28985         Unreviewed test gardening.
28987         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm:
28988         (TEST):
28989         * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
28990         (TEST):
28992 2017-04-21  Keith Miller  <keith_miller@apple.com>
28994         Unreviewed, rolling out r215634.
28996         underlying build issues should have been fixed
28998         Reverted changeset:
29000         "Unreviewed, rolling out r215620 and r215623."
29001         https://bugs.webkit.org/show_bug.cgi?id=171139
29002         http://trac.webkit.org/changeset/215634
29004 2017-04-21  Aakash Jain  <aakash_jain@apple.com>
29006         Bubbles on dashboard doesn't turn red for test262 failures
29007         https://bugs.webkit.org/show_bug.cgi?id=171129
29009         Reviewed by Alexey Proskuryakov.
29011         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js: Added test262-test.
29013 2017-04-21  Commit Queue  <commit-queue@webkit.org>
29015         Unreviewed, rolling out r215620 and r215623.
29016         https://bugs.webkit.org/show_bug.cgi?id=171139
29018         broke arm64 build (Requested by keith_miller on #webkit).
29020         Reverted changesets:
29022         "Add signaling API"
29023         https://bugs.webkit.org/show_bug.cgi?id=170976
29024         http://trac.webkit.org/changeset/215620
29026         "Unreviewed, fix Cloop build."
29027         http://trac.webkit.org/changeset/215623
29029 2017-04-20  Keith Miller  <keith_miller@apple.com>
29031         Add signaling API
29032         https://bugs.webkit.org/show_bug.cgi?id=170976
29034         Reviewed by Filip Pizlo.
29036         Add tests for ThreadMessages.
29038         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
29039         * TestWebKitAPI/Tests/WTF/ThreadMessages.cpp: Added.
29040         (runThreadMessageTest):
29041         (TEST):
29043 2017-04-20  Conrad Shultz  <conrad_shultz@apple.com>
29045         commit-log-editor should respect the git editor if one is set
29046         https://bugs.webkit.org/show_bug.cgi?id=171085
29047         <rdar://problem/31745506>
29049         Reviewed by Daniel Bates.
29051         * Scripts/commit-log-editor:
29052         If Git is available, consider GIT_LOG_EDITOR and any global Git editor preference when
29053         deciding which editor to present. We examine the global editor preference since that may be
29054         set automatically by installers or third-party tools.
29056 2017-04-21  Alex Christensen  <achristensen@webkit.org>
29058         Reduce copies and allocations in SharedBuffer::append
29059         https://bugs.webkit.org/show_bug.cgi?id=170956
29061         Reviewed by Andreas Kling.
29063         * TestWebKitAPI/Tests/WebCore/cocoa/SharedBuffer.mm:
29064         (TestWebKitAPI::TEST_F):
29066 2017-04-20  Konstantin Tokarev  <annulen@yandex.ru>
29068         [cmake] Define FORWARDING_HEADERS_DIR in WebKitFS and use it everywhere
29069         https://bugs.webkit.org/show_bug.cgi?id=171071
29071         Reviewed by Michael Catanzaro.
29073         "${DERIVED_SOURCES_DIR}/ForwardingHeaders" path occurs very often in the
29074         build system files. GTK-specifc FORWARDING_HEADERS_DIR variable should
29075         be available for all ports.
29077         * DumpRenderTree/PlatformMac.cmake:
29078         * MiniBrowser/mac/CMakeLists.txt:
29079         * MiniBrowser/win/CMakeLists.txt:
29080         * TestWebKitAPI/PlatformJSCOnly.cmake:
29081         * TestWebKitAPI/PlatformMac.cmake:
29082         * TestWebKitAPI/PlatformWin.cmake:
29083         * WebKitTestRunner/PlatformMac.cmake:
29085 2017-04-20  Joseph Pecoraro  <pecoraro@apple.com>
29087         Test262 bot does not go red with failures
29088         https://bugs.webkit.org/show_bug.cgi?id=171044
29090         Reviewed by Aakash Jain.
29092         The piped output of run-jsc-stress-tests is different from
29093         its non-piped output. Switch to parsing the correct output.
29095         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
29096         (RunTest262Tests.countFailures):
29097         Just count the number of lines that start with "FAIL:".
29099         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
29100         (RunTest262TestsTest.test_no_regressions_output):
29101         (test_failure_output):
29102         (test_failures_output):
29103         Updated tests with new sample output produced partially from bots and
29104         locally. In cases of failure the return code of run-jsc-stress-tests
29105         is still 0 so update the expected return code in the tests.
29107 2017-04-20  Brady Eidson  <beidson@apple.com>
29109         WebContent process becomes unresponsive after returning nil from async version of -webView:createWebViewWithConfiguration:...
29110         <rdar://problem/31739023> and https://bugs.webkit.org/show_bug.cgi?id=171090
29112         Reviewed by Andy Estes.
29114         * TestWebKitAPI/Tests/WebKit2/open-and-close-window.html:
29115         * TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm:
29116         (resetToConsistentState):
29117         (-[OpenAndCloseWindowUIDelegate webViewDidClose:]):
29118         (-[OpenAndCloseWindowUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
29119         (TEST):
29120         (-[OpenAndCloseWindowUIDelegateAsync _webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:completionHandler:]):
29122 2017-04-20  Wenson Hsieh  <wenson_hsieh@apple.com>
29124         [ios-simulator] PositionInformationTests API tests are timing out
29125         https://bugs.webkit.org/show_bug.cgi?id=171089
29127         Rubber-stamped by Tim Horton.
29129         Addresses failures observed in the new position information tests added in r215573 by only running them if the
29130         DATA_INTERACTION feature flag is enabled.
29132         * TestWebKitAPI/Tests/ios/PositionInformationTests.mm:
29134 2017-04-20  Brady Eidson  <beidson@apple.com>
29136         Skip WebKit2.OpenAndCloseWindowAsyncCallbackException for now.
29137         https://bugs.webkit.org/show_bug.cgi?id=171083
29139         Unreviewed.
29141         * TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm:
29143 2017-04-20  Brady Eidson  <beidson@apple.com>
29145         Add CompletionHandlerCallChecker to SPI added in r215545.
29146         https://bugs.webkit.org/show_bug.cgi?id=171067
29148         Reviewed by Dan Bernstein.
29150         * TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm:
29151         (TEST):
29152         (-[OpenAndCloseWindowUIDelegateAsync _webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:completionHandler:]):
29154 2017-04-20  Wenson Hsieh  <wenson_hsieh@apple.com>
29156         [WK2] -[WKContentView doAfterPositionInformationUpdate:atPosition:] should be robust against synchronous reentrancy
29157         https://bugs.webkit.org/show_bug.cgi?id=170922
29158         <rdar://problem/31634990>
29160         Reviewed by Tim Horton.
29162         Adds six new unit tests for retrieving interaction information at a given position in the UI process. See
29163         WebKit2 ChangeLog for more details.
29165         * TestWebKitAPI/Tests/ios/PositionInformationTests.mm:
29166         (-[_WKDraggableElementInfo expectToBeLink:image:atPoint:]):
29167         (TestWebKitAPI::TEST):
29168         (TestWebKitAPI::expectCGPointsToBeEqual): Deleted.
29170 2017-04-20  Xan Lopez  <xlopez@igalia.com>
29172         [GTK][jhbuild] Update glib and glib-networking to the latest stable versions
29173         https://bugs.webkit.org/show_bug.cgi?id=170942
29175         Reviewed by Carlos Garcia Campos.
29177         Update glib and glib-networking to the last stable releases. This
29178         is needed to get working TLS certificate verification at all at
29179         least in Fedora.
29181         * gtk/install-dependencies: add libmount, needed for newer glib.
29182         * gtk/jhbuild.modules: update glib and glib-networking to last
29183         stable releases.
29185 2017-04-20  Joanmarie Diggs  <jdiggs@igalia.com>
29187         [ATK] Implement support for DPub ARIA roles
29188         https://bugs.webkit.org/show_bug.cgi?id=170679
29190         Reviewed by Chris Fleizach.
29192         Add DPub ARIA landmark roles to roleToString().
29194         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
29196 2017-04-19  Joseph Pecoraro  <pecoraro@apple.com>
29198         Remove WebKitTestRunner code for enabling features that are already enabled by default
29199         https://bugs.webkit.org/show_bug.cgi?id=171033
29201         Reviewed by Ryosuke Niwa.
29203         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
29204         (WTR::InjectedBundle::beginTesting):
29205         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
29206         (WTR::TestRunner::setShadowDOMEnabled): Deleted.
29207         (WTR::TestRunner::setCustomElementsEnabled): Deleted.
29208         (WTR::TestRunner::setFetchAPIEnabled): Deleted.
29209         (WTR::TestRunner::setDownloadAttributeEnabled): Deleted.
29210         * WebKitTestRunner/InjectedBundle/TestRunner.h:
29212 2017-04-19  Youenn Fablet  <youenn@apple.com>
29214         [Mac] Allow customizing H264 encoder
29215         https://bugs.webkit.org/show_bug.cgi?id=170829
29217         Reviewed by Alex Christensen.
29219         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
29221 2017-04-19  Brady Eidson  <beidson@apple.com>
29223         Add asynchronous equivalent of -[<WKUIDelegate> webView:createWebViewWithConfiguration:...].
29224         <rdar://problem/30699851> and https://bugs.webkit.org/show_bug.cgi?id=171018
29226         Reviewed by Tim Horton.
29228         * TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm:
29229         (TEST):
29230         (-[OpenAndCloseWindowUIDelegateAsync webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
29231         (-[OpenAndCloseWindowUIDelegateAsync _webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:completionHandler:]):
29233 2017-04-19  Brady Eidson  <beidson@apple.com>
29235         REGRESSION (r213168): An extra Web Content process is spun up on launch and is never closed.
29236         <rdar://problem/30774839> and https://bugs.webkit.org/show_bug.cgi?id=171002
29238         Reviewed by Alex Christensen.
29240         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
29241         * TestWebKitAPI/Tests/WebKit2Cocoa/InitialWarmedProcessUsed.mm: Added.
29243 2017-04-19  Brent Fulgham  <bfulgham@apple.com>
29245         [WK2] Run tests with ResourceLoadStatistics enabled
29246         https://bugs.webkit.org/show_bug.cgi?id=170952
29248         Reviewed by Andy Estes.
29250         Excercise the load statistics code during tests.
29252         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
29253         (WTR::initializeWebViewConfiguration):
29255 2017-04-19  Bill Ming  <mbbill@gmail.com>
29257         close_fds should be set to False on Windows.
29258         https://bugs.webkit.org/show_bug.cgi?id=170838
29260         Reviewed by Brent Fulgham.
29262         * Scripts/webkitpy/common/system/executive.py:
29263         (Executive._should_close_fds):
29265 2017-04-19  David Kilzer  <ddkilzer@apple.com>
29267         Stop using strcpy() in WebKit::EnvironmentUtilities::stripValuesEndingWithString()
29268         <https://webkit.org/b/170994>
29269         <rdar://problem/29889932>
29271         Reviewed by Brent Fulgham.
29273         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
29274         (EnvironmentUtilitiesTest.cpp): Add to TestWebKitAPILibrary
29275         target.
29276         * TestWebKitAPI/Tests/WebKit2/EnvironmentUtilitiesTest.cpp: Add.
29277         (TestWebKitAPI::strip): Helper method to set/get environment
29278         variable for testing.
29279         (TestWebKitAPI::WebKit2_StripValuesEndingWithString_Test): Add
29280         tests.
29282 2017-04-19  JF Bastien  <jfbastien@apple.com>
29284         WebAssembly: add script which can import GCC torture tests
29285         https://bugs.webkit.org/show_bug.cgi?id=170740
29287         Reviewed by Saam Barati.
29289         Add a script which can import the GCC torture tests and create a
29290         yaml file to run them as part of jsc's WebAssembly regression
29291         tests.
29293         This patch doesn't commit the tests themselves because they're
29294         licensed differently.
29296         * Scripts/run-jsc-stress-tests: learn how to run
29297         Emscripten-generated .js+.wasm files, and do a bit of cleanup on
29298         the options because WebAssembly is enabled by default.
29299         * Scripts/update-wasm-gcc-torture.py: Added.
29300         (parse_args):
29301         (update_lkgr):
29302         (untar_torture):
29303         (list_js_files):
29304         (waterfall_known_failures):
29305         (create_yaml):
29306         (main):
29308 2017-04-19  Youenn Fablet  <youenn@apple.com>
29310         Import web-platform-tests/tools
29311         https://bugs.webkit.org/show_bug.cgi?id=170718
29313         Reviewed by Alex Christensen.
29315         * Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:
29316         (main):
29317         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
29318         (WebPlatformTestServer.ports_to_forward):
29319         (WebPlatformTestServer._prepare_config):
29320         (WebPlatformTestServer._install_modules): Deleted.
29321         * Scripts/webkitpy/w3c/test_importer.py:
29322         (TestImporter.write_html_files_for_templated_js_tests):
29324 2017-04-18  Wenson Hsieh  <wenson_hsieh@apple.com>
29326         [WK2] Add infrastructure and unit tests for file uploads using data interaction
29327         https://bugs.webkit.org/show_bug.cgi?id=170903
29328         <rdar://problem/31314689>
29330         Reviewed by Tim Horton.
29332         Adds 5 new unit tests covering different cases of uploading files through data interaction, as well as
29333         infrastructure for simulating UIItemProviders that load file data. Makes a few adjustments to the
29334         DataInteractionSimulator along the way, detailed in the per-method annotations below. See
29335         <https://bugs.webkit.org/show_bug.cgi?id=170880> for more details about the change this patch is testing.
29337         New tests:
29338         DataInteractionTests.ExternalSourceImageToFileInput
29339         DataInteractionTests.ExternalSourceHTMLToUploadArea
29340         DataInteractionTests.ExternalSourceImageAndHTMLToSingleFileInput
29341         DataInteractionTests.ExternalSourceImageAndHTMLToMultipleFileInput
29342         DataInteractionTests.ExternalSourceImageAndHTMLToUploadArea
29344         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
29345         (testIconImage):
29346         (temporaryURLForDataInteractionFileLoad):
29347         (cleanUpDataInteractionTemporaryPath):
29349         Creates and tears down temporary file directories for testing data interaction.
29351         (-[UIItemProvider registerFileRepresentationForTypeIdentifier:withData:filename:]):
29352         (TestWebKitAPI::TEST):
29353         * TestWebKitAPI/ios/DataInteractionSimulator.h:
29354         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
29356         Make necessary changes to be able to test what happens when data interaction ends over an element with no
29357         operation. Previously, we would always simulate performing a data interaction operation when ending the
29358         simulation, but this causes us to wait indefinitely for a data operation response to arrive in the UI process.
29359         Instead, we need to note whether or not the content view is allowing data interaction, and only perform an
29360         operation and wait for the -didPerform call if the operation was allowed. Otherwise, we immediately transition
29361         the phase to Cancelled and end the run.
29363         (-[DataInteractionSimulator _resetSimulatedState]):
29364         (-[DataInteractionSimulator runFrom:to:]):
29365         (-[DataInteractionSimulator _concludeDataInteractionAndPerformOperationIfNecessary]):
29366         (-[DataInteractionSimulator _advanceProgress]):
29367         (-[DataInteractionSimulator externalItemProviders]):
29368         (-[DataInteractionSimulator setExternalItemProviders:]):
29370         Previously, we hard-coded DataInteractionSimulator to only support a single external item provider. In order to
29371         test the scenario where multiple files are being "data interacted" into a file-type input, we generalize this to
29372         take multiple item providers.
29374         (-[DataInteractionSimulator externalItemProvider]): Deleted.
29375         (-[DataInteractionSimulator setExternalItemProvider:]): Deleted.
29377 2017-04-18  John Wilander  <wilander@apple.com>
29379         Make WebCore::topPrivatelyControlledDomain() return "localhost" for localhost
29380         https://bugs.webkit.org/show_bug.cgi?id=170798
29381         <rdar://problem/31595108>
29383         Reviewed by Alex Christensen.
29385         * TestWebKitAPI/Tests/mac/PublicSuffix.mm:
29386         (TestWebKitAPI::TEST_F):
29387             Added two negative test cases for WebCore::isPublicSuffix().
29388             Added test cases with mixed case domains, localhost, and
29389             non-ASCII for WebCore::topPrivatelyControlledDomain().
29391 2017-04-18  Jonathan Bedard  <jbedard@apple.com>
29393         Unreviewed, rolling out r215346 and 215361.
29395         The problem these changes were fixing was addressed in
29396         <https://trac.webkit.org/changeset/215416/webkit>.
29398         Reverted changesets:
29400         "webkitpy: Ignore previously launched pid when system is under
29401         stress"
29402         https://bugs.webkit.org/show_bug.cgi?id=170741
29403         http://trac.webkit.org/changeset/215346
29404         http://trac.webkit.org/changeset/215361
29406 2017-04-17  Alex Christensen  <achristensen@webkit.org>
29408         Allow Variants of RetainPtrs
29409         https://bugs.webkit.org/show_bug.cgi?id=170923
29411         Reviewed by Tim Horton and Sam Weinig.
29413         * TestWebKitAPI/Tests/WTF/Variant.cpp:
29414         (TestWebKitAPI::TEST):
29415         Add tests for RetainPtr and for another class with overloaded operator& to verify such classes can
29416         work in Variants.
29418 2017-04-17  Brady Eidson  <beidson@apple.com>
29420         Make WKHTTPCookieStore public.
29421         <rdar://problem/31024691> and https://bugs.webkit.org/show_bug.cgi?id=170920
29423         Reviewed by Geoffrey Garen.
29425         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
29426         (TEST):
29428 2017-04-17  Youenn Fablet  <youenn@apple.com>
29430         Disable outdated WritableStream API
29431         https://bugs.webkit.org/show_bug.cgi?id=170749
29432         <rdar://problem/31446233>
29434         Reviewed by Alex Christensen.
29436         Replacing READABLE_STREAM_API, READABLE_BYTE_STREAM_API and WRITABLE_STREAM_API compilation flag by:
29437         - A STREAMS_API compilation flag.
29438         - A ReadableByteStreamAPI and WritableStreamAPI runtime flags, turned off except for RWT and DRT.
29440         * DumpRenderTree/mac/DumpRenderTree.mm:
29441         (enableExperimentalFeatures):
29442         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
29443         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
29444         (WTR::InjectedBundle::beginTesting):
29445         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
29446         (WTR::TestRunner::setFetchAPIEnabled):
29447         (WTR::TestRunner::setWritableStreamAPIEnabled):
29448         (WTR::TestRunner::setReadableByteStreamAPIEnabled):
29449         * WebKitTestRunner/InjectedBundle/TestRunner.h:
29451 2017-04-17  Tim Horton  <timothy_horton@apple.com>
29453         Provide a viewport parameter to disable clipping to the safe area
29454         https://bugs.webkit.org/show_bug.cgi?id=170766
29455         <rdar://problem/31564634>
29457         Reviewed by Beth Dakin.
29459         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
29460         (WTR::UIScriptController::setObscuredInsets):
29461         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
29462         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
29463         (WTR::UIScriptController::setObscuredInsets):
29464         * TestRunnerShared/UIScriptContext/UIScriptController.h:
29465         * WebKitTestRunner/ios/TestControllerIOS.mm:
29466         (WTR::TestController::platformResetStateToConsistentValues):
29467         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
29468         (WTR::UIScriptController::setObscuredInsets):
29469         Add a UIScriptController mechanism to install obscured insets
29470         on the web view.
29472 2017-04-17  Dan Bernstein  <mitz@apple.com>
29474         [Cocoa] Move isNullFunctionPointer down into WTF
29475         https://bugs.webkit.org/show_bug.cgi?id=170892
29477         Reviewed by Sam Weinig.
29479         * TestWebKitAPI/Configurations/TestWTF.xcconfig:
29480         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
29481         * TestWebKitAPI/Tests/WTF/darwin/WeakLinking.cpp: Added.
29482         (TestWebKitAPI::TEST):
29483         * TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS-v2.tbd: Added.
29484         * TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS.tbd: Added.
29485         * TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-macOS-v2.tbd: Added.
29486         * TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-macOS.tbd: Added.
29488 2017-04-17  Jonathan Bedard  <jbedard@apple.com>
29490         webkitpy: Correct poll when killing ServerProcess
29492         Unreviewed infrastructure fix.
29494         * Scripts/webkitpy/port/server_process.py:
29495         (ServerProcess._kill): A polled process equaling 'None' means the process is running.
29497 2017-04-17  Eric Carlson  <eric.carlson@apple.com>
29499         [MediaStream] Enable getUserMedia API test
29500         https://bugs.webkit.org/show_bug.cgi?id=170901
29501         <rdar://problem/31656594>
29503         Reviewed by Youenn Fablet.
29505         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add test.
29507         * TestWebKitAPI/Tests/WebKit2/UserMedia.cpp:
29508         (TestWebKitAPI::decidePolicyForUserMediaPermissionRequestCallBack):
29509         (TestWebKitAPI::TEST): Enable capture with mock devices.
29510         * TestWebKitAPI/Tests/WebKit2/getUserMedia.html: Update to mediaDevices.getUserMedia
29512 2017-04-17  Xan Lopez  <xan@igalia.com>
29514         [GTK] Update the Fedora dependencies for WebKitGTK+
29515         https://bugs.webkit.org/show_bug.cgi?id=170590
29517         Reviewed by Carlos Alberto Lopez Perez.
29519         * gtk/install-dependencies: add a bunch of modules necessary to
29520         get a proper set of GStreamer codecs for WebRTC.
29522 2017-04-16  Sam Weinig  <sam@webkit.org>
29524         [WebIDL] Switch IDLAttributes.txt over to a more structured format so that more information can be added for each attribute
29525         https://bugs.webkit.org/show_bug.cgi?id=170843
29527         Reviewed by Chris Dumez.
29529         * DumpRenderTree/DerivedSources.make:
29530         * WebKitTestRunner/DerivedSources.make:
29531         * Scripts/webkitpy/bindings/main.py:
29532         (BindingsTests.generate_from_idl):
29533         Pass IDLAttributes.json, as it is now mandatory to have one.
29535 2017-04-14  Mark Lam  <mark.lam@apple.com>
29537         Update architectures in xcconfig files.
29538         https://bugs.webkit.org/show_bug.cgi?id=170867
29539         <rdar://problem/31628104>
29541         Reviewed by Joseph Pecoraro.
29543         * DumpRenderTree/mac/Configurations/Base.xcconfig:
29544         * MobileMiniBrowser/Configurations/Base.xcconfig:
29545         * TestWebKitAPI/Configurations/Base.xcconfig:
29546         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
29547         * WebKitTestRunner/Configurations/Base.xcconfig:
29549 2017-04-14  Brady Eidson  <beidson@apple.com>
29551         Fix basic WKURLSchemeHandler bugs.
29552         <rdar://problem/30647559> and https://bugs.webkit.org/show_bug.cgi?id=170862
29554         Reviewed by Andy Estes.
29556         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
29557         * TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm: Added.
29558         (-[SchemeHandler initWithData:mimeType:]):
29559         (-[SchemeHandler dealloc]):
29560         (-[SchemeHandler webView:startTask:]):
29561         (-[SchemeHandler webView:stopTask:]):
29562         (TEST):
29564 2017-04-14  Bill Ming  <mbbill@gmail.com>
29566         webkit-patch failed to detect git repository
29567         https://bugs.webkit.org/show_bug.cgi?id=170859
29569         Reviewed by Daniel Bates.
29571         Windows cmd does not accept single quoted path. So, using
29572         double quotes here will provide better platform compatibility.
29574         * Scripts/VCSUtils.pm:
29575         (isGitDirectory):
29576         (isGitSVNDirectory):
29577         (svnRevisionForDirectory):
29578         (svnInfoForPath):
29580 2017-04-14  Ryan Haddad  <ryanhaddad@apple.com>
29582         Unreviewed, rolling out r215374.
29584         This change causes LayoutTests to exit early with crashes on
29585         Sierra.
29587         Reverted changeset:
29589         "webkitpy: Ignore previously launched pid when system is under
29590         stress"
29591         https://bugs.webkit.org/show_bug.cgi?id=170741
29592         http://trac.webkit.org/changeset/215374
29594 2017-04-14  Dan Bernstein  <mitz@apple.com>
29596         [ios-simulator] API test WebKit2.AdditionalReadAccessAllowedURLs is failing
29597         https://bugs.webkit.org/show_bug.cgi?id=170856
29599         Disabled the newly-added test in the Simulator, which doesn’t enforce sandboxing.
29601         * TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLs.mm:
29603 2017-04-14  Jonathan Bedard  <jbedard@apple.com>
29605         webkitpy: Ignore previously launched pid when system is under stress
29606         https://bugs.webkit.org/show_bug.cgi?id=170741
29608         Unreviewed infrastructure fix.
29610         Drivers are destroyed between failing layout tests, which is not necessary and
29611         prevents the work-around implemented in https://bugs.webkit.org/show_bug.cgi?id=170741.
29613         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
29614         (Worker._kill_driver): Do not destroy drivers when they are stopped.
29615         * Scripts/webkitpy/port/driver.py:
29616         (Driver.stop): Reset driver values set in initializer.
29618 2017-04-14  Andy Estes  <aestes@apple.com>
29620         [ios-simulator] API test WebKit2.WKWebProcessPlugInRangeHandle timing out
29621         https://bugs.webkit.org/show_bug.cgi?id=167594
29623         Re-enabled this API test now that webkit.org/b/161967 is fixed.
29625         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm:
29626         (TEST):
29628 2017-04-14  Andy Estes  <aestes@apple.com>
29630         [ios-simulator] API test WebKit2.DataDetectionReferenceDate timing out
29631         https://bugs.webkit.org/show_bug.cgi?id=161967
29633         Reviewed by Alexey Proskuryakov.
29635         * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
29636         (TEST): Re-enabled WebKit2.DataDetectionReferenceDate.
29638 2017-04-14  Ryan Haddad  <ryanhaddad@apple.com>
29640         Unreviewed, rolling out r215363.
29642         This change causes LayoutTests to exit early with crashes.
29644         Reverted changeset:
29646         "webkitpy: Ignore previously launched pid when system is under
29647         stress"
29648         https://bugs.webkit.org/show_bug.cgi?id=170741
29649         http://trac.webkit.org/changeset/215363
29651 2017-04-14  Jonathan Bedard  <jbedard@apple.com>
29653         webkitpy: Ignore previously launched pid when system is under stress
29654         https://bugs.webkit.org/show_bug.cgi?id=170741
29656         Unreviewed infrastructure fix.
29658         Drivers are destroyed between failing layout tests, which is not necessary and
29659         prevents the work-around implemented in https://bugs.webkit.org/show_bug.cgi?id=170741.
29661         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
29662         (Worker._kill_driver): Do not destroy drivers when they are stopped.
29664 2017-04-14  Jonathan Bedard  <jbedard@apple.com>
29666         webkitpy: Ignore previously launched pid when system is under stress
29667         https://bugs.webkit.org/show_bug.cgi?id=170741
29669         Unreviewed infrastructure fix.
29671         Server processes are destroyed in the driver, which is not necessary and prevents
29672         the work-around implemented in https://bugs.webkit.org/show_bug.cgi?id=170741.
29674         * Scripts/webkitpy/port/driver.py:
29675         (Driver.run_test): Do not destroy server process.
29676         (Driver._start): Only create the server process if it is None.
29677         (Driver.stop): Do not destroy server process.
29679 2017-04-13  Dan Bernstein  <mitz@apple.com>
29681         [Cocoa] Allow clients to specify in _WKProcessPoolConfiguration additional directory sandbox extensions
29682         https://bugs.webkit.org/show_bug.cgi?id=170387
29684         Reviewed by Sam Weinig.
29686         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
29687         * TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLs.mm: Added.
29688         (TEST):
29689         * TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLsPlugin.mm: Added.
29690         (-[AdditionalReadAccessAllowedURLsPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
29691         (-[AdditionalReadAccessAllowedURLsPlugIn dealloc]):
29692         (-[AdditionalReadAccessAllowedURLsPlugIn readStringFromURL:completionHandler:]):
29693         * TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLsProtocol.h: Added.
29695 2017-04-13  Jonathan Bedard  <jbedard@apple.com>
29697         webkitpy: Ignore previously launched pid when system is under stress
29698         https://bugs.webkit.org/show_bug.cgi?id=170741
29700         Reviewed by David Kilzer.
29702         We have seen cases where xcrun simctl launch will return a pid of a previous
29703         process and the process will appear to be running even though it is crashing.
29704         Ensure that the PID that simulator_process is receiving is not the pid of the
29705         previously run process.
29707         * Scripts/webkitpy/port/simulator_process.py:
29708         (SimulatorProcess._start): Check to make sure we aren't receiving an old PID.
29710 2017-04-13  Jonathan Bedard  <jbedard@apple.com>
29712         Build ImageDiff with host SDK
29713         https://bugs.webkit.org/show_bug.cgi?id=168531
29715         Reviewed by David Kilzer.
29717         ImageDiff should be built and run with the host SDK, not the target SDK.
29718         Build ImageDiff twice, once for the target SDK and once for the host
29719         as an intermediate step towards building for only the host SDK.
29721         * ImageDiff/Makefile: Added.
29722         * Makefile: Add ImageDiff to list of targets.
29723         * Scripts/build-imagediff: Build bmalloc and WTF for the host.
29724         * Scripts/build-webkit: Build ImageDiff for host.
29725         * Scripts/webkitdirs.pm: Export extractNonMacOSHostConfiguration.
29726         (extractNonMacOSHostConfiguration): Remove non-host configuration data from the array.
29727         * Scripts/webkitperl/webkitdirs_unittest/extractNonMacOSHostConfiguration.pl: Added.
29728         * Scripts/webkitpy/port/base.py:
29729         (Port.check_build): Attempt to build image diff if not found.
29730         (Port.check_image_diff): Enable logging flag.
29731         (Port._build_image_diff): Allow webkitpy to build image-diff during testing.
29733 2017-04-12  Alex Christensen  <achristensen@webkit.org>
29735         Clean up SharedBuffer public functions
29736         https://bugs.webkit.org/show_bug.cgi?id=170795
29738         Reviewed by Andreas Kling.
29740         * TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
29741         (TestWebKitAPI::TEST_F):
29743 2017-04-12  Dan Bernstein  <mitz@apple.com>
29745         [Mac] Future-proof .xcconfig files
29746         https://bugs.webkit.org/show_bug.cgi?id=170802
29748         Reviewed by Tim Horton.
29750         * DumpRenderTree/mac/Configurations/Base.xcconfig:
29751         * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
29752         * MiniBrowser/Configurations/Base.xcconfig:
29753         * MiniBrowser/Configurations/DebugRelease.xcconfig:
29754         * TestWebKitAPI/Configurations/Base.xcconfig:
29755         * TestWebKitAPI/Configurations/DebugRelease.xcconfig:
29756         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
29757         * WebKitTestRunner/Configurations/Base.xcconfig:
29758         * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
29760 2017-04-12  Alex Christensen  <achristensen@webkit.org>
29762         Remove unused SharedBuffer::wrapCFDataArray
29763         https://bugs.webkit.org/show_bug.cgi?id=170794
29765         Reviewed by Brady Eidson.
29767         * TestWebKitAPI/Tests/WebCore/cocoa/SharedBuffer.mm:
29768         (TestWebKitAPI::TEST_F):
29770 2017-04-12  Yusuke Suzuki  <utatane.tea@gmail.com>
29772         [WTF] Introduce Thread class and use RefPtr<Thread> and align Windows Threading implementation semantics to Pthread one
29773         https://bugs.webkit.org/show_bug.cgi?id=170502
29775         Reviewed by Mark Lam.
29777         Mechanical change. Use Thread:: APIs.
29779         * DumpRenderTree/JavaScriptThreading.cpp:
29780         (runJavaScriptThread):
29781         (startJavaScriptThreads):
29782         (stopJavaScriptThreads):
29783         * DumpRenderTree/mac/DumpRenderTree.mm:
29784         (testThreadIdentifierMap):
29785         * TestWebKitAPI/Tests/WTF/Condition.cpp:
29786         * TestWebKitAPI/Tests/WTF/Lock.cpp:
29787         (TestWebKitAPI::runLockTest):
29788         * TestWebKitAPI/Tests/WTF/ParkingLot.cpp:
29790 2017-04-12  Alex Christensen  <achristensen@webkit.org>
29792         Modernize vector adoption
29793         https://bugs.webkit.org/show_bug.cgi?id=170758
29795         Reviewed by Geoffrey Garen.
29797         * TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
29798         (TestWebKitAPI::TEST_F):
29800 2017-04-11  Dean Jackson  <dino@apple.com>
29802         Disable outdated WritableStream API
29803         https://bugs.webkit.org/show_bug.cgi?id=170749
29804         <rdar://problem/31446233>
29806         Reviewed by Tim Horton.
29808         The API we implement is no longer accurate. Disable it until we
29809         are compatible with the new specification
29811         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
29813 2017-04-11  David Quesada  <david_quesada@apple.com>
29815         Add SPI for handling geolocation authorization requests
29816         https://bugs.webkit.org/show_bug.cgi?id=170362
29817         rdar://problem/17508627
29819         Reviewed by Alex Christensen.
29821         Add API tests for the new WKUIDelegate SPI for allowing or denying websites permission
29822         to use geolocation. Adopt the new WKProcessPool._coreLocationProvider property to
29823         provide a stub object to simulate the various configurations of geolocation permissions:
29824         1. The app doesn't have permission to use geolocation.
29825         2. The app is allowed to use geolocation, but the UI delegate denies the web view permission.
29826         3. The app is allowed to use geolocation, and the UI delegate allows the web view permission.
29828         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
29829         * TestWebKitAPI/Tests/WebKit2Cocoa/Geolocation.mm: Added.
29830         (-[TestCoreLocationProvider setListener:]):
29831         (-[TestCoreLocationProvider requestGeolocationAuthorization]):
29832         (-[TestCoreLocationProvider start]):
29833         (-[TestCoreLocationProvider stop]):
29834         (-[TestCoreLocationProvider setEnableHighAccuracy:]):
29835         (expectException):
29836         (-[GeolocationTestUIDelegate _webView:requestGeolocationAuthorizationForURL:frame:decisionHandler:]):
29837         (-[GeolocationTestUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
29838         (TestWebKitAPI::TEST):
29839         * TestWebKitAPI/Tests/WebKit2Cocoa/GeolocationGetCurrentPositionResult.html: Added.
29841 2017-04-10  Matt Rajca  <mrajca@apple.com>
29843         Change autoplay state to "prevented" when media is paused due to restrictions.
29844         https://bugs.webkit.org/show_bug.cgi?id=170686
29846         Reviewed by Alex Christensen.
29848         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
29849         * TestWebKitAPI/Tests/WebKit2/autoplay-muted-with-controls.html: Added test.
29850         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
29851         (TEST):
29853 2017-04-11  Yusuke Suzuki  <utatane.tea@gmail.com>
29855         [WebCore][JSC] ResourceUsageData.{timeOfNextEdenCollection,timeOfNextFullCollection} should be MonotonicTime
29856         https://bugs.webkit.org/show_bug.cgi?id=170725
29858         Reviewed by Sam Weinig.
29860         * TestWebKitAPI/Tests/WTF/Time.cpp:
29861         (TestWebKitAPI::TEST):
29863 2017-04-10  Alex Christensen  <achristensen@webkit.org>
29865         Revert r215217
29866         https://bugs.webkit.org/show_bug.cgi?id=170703
29868         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
29870 2017-04-10  Alex Christensen  <achristensen@webkit.org>
29872         Continue enabling WebRTC
29873         https://bugs.webkit.org/show_bug.cgi?id=170703
29875         Reviewed by Youenn Fablet.
29877         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
29879 2017-04-10  Kocsen Chung  <kocsen_chung@apple.com>
29881         Have parseRevisionProperty use default repo name as the Buildbot key.
29882         https://bugs.webkit.org/show_bug.cgi?id=170696
29884         Reviewed by Daniel Bates.
29886         Previously, we needed to set a key and a fallbackKey when addressing
29887         Buildbot data for Internal. That is no longer necessary as we can make a safe assumption
29888         that the repo name maps exactly to that key for every repository other
29889         than WebKit.
29891         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
29892         Set `key = repositoryName` and only use fallback keys when dealing with WebKit.
29894 2017-04-10  Aakash Jain  <aakash_jain@apple.com>
29896         Add test262 JavaScriptCore tests to dashboard
29897         https://bugs.webkit.org/show_bug.cgi?id=170711
29899         Rubber-stamped by Joseph Pecoraro.
29901         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
29902         (WebKitBuildbot): Added test262 JSC tests to dashboard.
29904 2017-04-10  Alex Christensen  <achristensen@webkit.org>
29906         REGRESSION(r195479) First main resource load in new WebProcess bypasses content extensions
29907         https://bugs.webkit.org/show_bug.cgi?id=170707
29908         <rdar://problem/27788755>
29910         Reviewed by Tim Horton.
29912         * TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm:
29913         (-[ContentExtensionDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
29914         (TEST_F):
29915         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
29916         (-[ContentBlockingWebsitePoliciesDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
29917         (-[ContentBlockingWebsitePoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
29918         (TEST):
29920 2017-04-10  Alex Christensen  <achristensen@webkit.org>
29922         Add API to get available content extension identifiers in a WKContentExtensionStore
29923         https://bugs.webkit.org/show_bug.cgi?id=170093
29925         Reviewed by Geoffrey Garen.
29927         * TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm:
29928         (TEST_F):
29930 2017-04-10  Wenson Hsieh  <wenson_hsieh@apple.com>
29932         Refactor DataInteractionTests.UnresponsivePageDoesNotHangUI to not check against a fixed time interval
29933         https://bugs.webkit.org/show_bug.cgi?id=170658
29935         Reviewed by Tim Horton.
29937         Uses ignoreSynchronousMessagingTimeoutsForTesting to ensure that this test times out if data interaction
29938         preparation is synchronous, or passes if it is asynchronous.
29940         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
29941         (TestWebKitAPI::TEST):
29942         * TestWebKitAPI/cocoa/TestWKWebView.h:
29943         * TestWebKitAPI/cocoa/TestWKWebView.mm:
29944         (-[TestWKWebView initWithFrame:]):
29945         (-[TestWKWebView initWithFrame:configuration:processPoolConfiguration:]):
29946         (-[TestWKWebView _setUpTestWindow:]):
29948 2017-04-10  Brent Fulgham  <bfulgham@apple.com>
29950         [WK2][macOS] Block access to Apple Events before launch.
29951         https://bugs.webkit.org/show_bug.cgi?id=170626
29952         <rdar://problem/16079334>
29954         Reviewed by Alexey Proskuryakov.
29956         Add a new TestWebKitAPI test that fails if Apple Events are sent.
29958         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new files.
29959         * TestWebKitAPI/Tests/WebKit2/mac/InjectedBundleAppleEvent.cpp: Added.
29960         (TestWebKitAPI::didReceiveMessageFromInjectedBundle):
29961         (TestWebKitAPI::didFinishLoadForFrame):
29962         (TestWebKitAPI::TEST):
29963         * TestWebKitAPI/Tests/WebKit2/mac/InjectedBundleAppleEvent_Bundle.cpp: Added.
29964         (TestWebKitAPI::InjectedBundleAppleEventTest::InjectedBundleAppleEventTest):
29965         (TestWebKitAPI::InjectedBundleAppleEventTest::didCreatePage):
29967 2017-04-10  Guillaume Emont  <guijemont@igalia.com>
29969         [JSC] Do not run FTL stress tests on MIPS
29970         https://bugs.webkit.org/show_bug.cgi?id=170684
29972         Reviewed by Carlos Alberto Lopez Perez.
29974         run-jsc-stress-tests does not correctly detect MIPS platforms, and its
29975         logic to detect if the platform supports FTL ignores that MIPS does
29976         not support FTL. This adds detection of MIPS (with the magic number
29977         determined empirically) and fixes the determination of whether we
29978         support FTL.
29980         * Scripts/run-jsc-stress-tests:
29982 2017-04-10  Jonathan Bedard  <jbedard@apple.com>
29984         webkitpy: Increase estimate for processes run by iOS Simulators
29985         https://bugs.webkit.org/show_bug.cgi?id=170678
29986         <rdar://problem/31534061>
29988         Reviewed by Aakash Jain.
29990         Previously, it was estimated that each simulated iOS device would run about 100
29991         processes.  With newer versions of iOS, this is closer to 125.
29993         * Scripts/webkitpy/port/ios_simulator.py:
29994         (IOSSimulatorPort): Increase process estimate from 100 to 125.
29996 2017-04-10  Adrian Perez de Castro  <aperez@igalia.com>
29998         [GTK] Misplaced right click menu on web page due to deprecated gtk_menu_popup()
29999         https://bugs.webkit.org/show_bug.cgi?id=170553
30001         Reviewed by Michael Catanzaro.
30003         Use gtk_menu_popup_at_pointer() and gtk_menu_popup_at_rect() when
30004         building with GTK+ 3.22 or newer. This allows the Wayland GTK+ backend
30005         to properly position popup menus, and also avoids using functions
30006         which were deprecated starting at that GTK+ release.
30008         * MiniBrowser/gtk/BrowserSearchBar.c:
30009         (searchEntryMenuIconPressedCallback):
30010         Update MiniBrowser to use gtk_menu_popup_at_pointer().
30012 2017-04-10  Wenson Hsieh  <wenson_hsieh@apple.com>
30014         REGRESSION (r214403): fast/events/drag-to-navigate.html and fast/events/only-valid-drop-targets-receive-file-drop.html failing
30015         https://bugs.webkit.org/show_bug.cgi?id=170677
30016         <rdar://problem/31512633>
30018         Reviewed by Tim Horton.
30020         Fixes two drag and drop LayoutTests by introducing and enabling a TestOptions switch (enableDragDestinationActionLoad)
30021         to allow dropping URLs to trigger page navigation.
30023         * DumpRenderTree/TestOptions.h:
30024         * DumpRenderTree/TestOptions.mm:
30025         (TestOptions::TestOptions):
30026         * DumpRenderTree/mac/DumpRenderTree.mm:
30027         (resetWebViewToConsistentStateBeforeTesting):
30028         * DumpRenderTree/mac/UIDelegate.h:
30029         * DumpRenderTree/mac/UIDelegate.mm:
30030         (-[UIDelegate resetToConsistentStateBeforeTesting:]):
30031         (-[UIDelegate webView:dragDestinationActionMaskForDraggingInfo:]):
30033 2017-04-10  Fujii Hironori  <Hironori.Fujii@sony.com>
30035         update-webkit-dependency should report $response->message for diagnose
30036         https://bugs.webkit.org/show_bug.cgi?id=170666
30038         Reviewed by Alex Christensen.
30040         * Scripts/update-webkit-dependency: Print $response->message to STDERR if an error happens.
30042 2017-04-10  Wenson Hsieh  <wenson_hsieh@apple.com>
30044         Data interaction on an image enclosed by an anchor should vend the anchor's URL
30045         https://bugs.webkit.org/show_bug.cgi?id=170660
30046         <rdar://problem/31043220>
30048         Reviewed by Tim Horton.
30050         Adds two new unit tests covering cases where data interaction is triggered from an image nested underneath an
30051         anchor. In one of the tests, the link has an href, and in the other, its href is missing, in which case we
30052         should fall back to the image URL instead. Also fixes a related unit test that was trying to check selection
30053         rects, but should not be.
30055         See WebCore ChangeLog for more details.
30057         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
30058         * TestWebKitAPI/Tests/WebKit2Cocoa/image-in-link-and-input.html: Added.
30059         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
30060         (TestWebKitAPI::TEST):
30062 2017-04-10  Carlos Garcia Campos  <cgarcia@igalia.com>
30064         [GTK] Remove the GDK dependency from ImageDiff
30065         https://bugs.webkit.org/show_bug.cgi?id=85299
30067         Reviewed by Žan Doberšek.
30069         Add a cairo only implementation of ImageDiff. We currently have 3 different implementations of ImageDiff: the
30070         Gdk based one used by GTK+ port, the cairo based one used by WinCairo and the CG based one. Most of the code is
30071         actually common in all of them, but it's duplicated. So, I've taken advantage of this patch to refactor the
30072         ImageDiff code to share the common implementation. This patch adds the cross-platform code, and the cairo
30073         implementation and enables it in the GTK+ port. In follow up patches we can move WinCairo to this implementation
30074         and also add CG implementation.
30076         * ImageDiff/CMakeLists.txt:
30077         * ImageDiff/Cairo.cmake: Added.
30078         * ImageDiff/ImageDiff.cpp: Added.
30079         (main):
30080         * ImageDiff/PlatformGTK.cmake:
30081         * ImageDiff/PlatformImage.cpp: Added.
30082         (ImageDiff::PlatformImage::isCompatible):
30083         (ImageDiff::PlatformImage::difference):
30084         * ImageDiff/PlatformImage.h: Added.
30085         * ImageDiff/cairo/PlatformImageCairo.cpp: Added.
30086         (ImageDiff::PlatformImage::createFromStdin):
30087         (ImageDiff::PlatformImage::createFromDiffData):
30088         (ImageDiff::PlatformImage::PlatformImage):
30089         (ImageDiff::PlatformImage::~PlatformImage):
30090         (ImageDiff::PlatformImage::width):
30091         (ImageDiff::PlatformImage::height):
30092         (ImageDiff::PlatformImage::rowBytes):
30093         (ImageDiff::PlatformImage::hasAlpha):
30094         (ImageDiff::PlatformImage::pixels):
30095         (ImageDiff::PlatformImage::writeAsPNGToStdout):
30096         * ImageDiff/gtk/ImageDiff.cpp: Removed.
30098 2017-04-10  Carlos Garcia Campos  <cgarcia@igalia.com>
30100         REGRESSION(r214426): [GTK] Test media/video-click-dblckick-standalone.html started to fail in the bots after r214426
30101         https://bugs.webkit.org/show_bug.cgi?id=170667
30103         Reviewed by Žan Doberšek.
30105         In r214666 we disabled modern media controls runtime feature for the GTK+ port, but layout tests still override
30106         that value.
30108         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
30109         (WTR::TestController::updatePlatformSpecificTestOptionsForTest): Disable modern media controls.
30111 2017-04-10  Carlos Garcia Campos  <cgarcia@igalia.com>
30113         WTR: Avoid conversion from platform image to WKImage and then to platform image again when dumping pixel results
30114         https://bugs.webkit.org/show_bug.cgi?id=170653
30116         Reviewed by Tim Horton.
30118         When dumping pixels from a web view snapshot, we create a platform image that is then converted to a WKImage,
30119         which is a ShareableBitmap, so the image is rendered into a graphics context. Then we immediately extract the
30120         platform image back from the WKImage to dump the pixels. We could avoid that conversion by taking the web
30121         snapshot from TestInvocation::dumpPixelsAndCompareWithExpected().
30123         * WebKitTestRunner/PlatformWebView.h: Add PlatformImage typedef and use it as return value of windowSnapshotImage().
30124         * WebKitTestRunner/TestInvocation.cpp:
30125         (WTR::TestInvocation::dumpResults): Pass the WKImage to dumpPixelsAndCompareWithExpected() only when pixel
30126         results were created in the web process.
30127         * WebKitTestRunner/TestInvocation.h: Make WKImage a default paramater of dumpPixelsAndCompareWithExpected().
30128         * WebKitTestRunner/cairo/TestInvocationCairo.cpp:
30129         (WTR::TestInvocation::dumpPixelsAndCompareWithExpected): Create the cairo surface from the given WKimage in case
30130         of web contents snapshot, and use PlatformWebView::windowSnapshotImage() in case of web view snapshot.
30131         * WebKitTestRunner/cg/TestInvocationCG.cpp:
30132         (WTR::createCGContextFromCGImage): Changed to receive a CGImageRef and renamed.
30133         (WTR::createCGContextFromImage): Get the CGImageRef from the WKImage and call createCGContextFromCGImage().
30134         (WTR::paintRepaintRectOverlay): It receives now the image size instead of the WKImage.
30135         (WTR::TestInvocation::dumpPixelsAndCompareWithExpected): Create the CGContextRef from the WKImage in case of web
30136         contents snpashot, and use PlatformWebView::windowSnapshotImage() in case of web view snapshot.
30137         * WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
30138         (WTR::PlatformWebView::windowSnapshotImage): Return the cairo surface instead of creating a WKImage. Also use
30139         RGB24 format to match what mac does (kCGWindowImageShouldBeOpaque).
30140         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
30141         (WTR::PlatformWebView::windowSnapshotImage): Return the CGImageRef instead of creating a WKImage.
30142         * WebKitTestRunner/mac/PlatformWebViewMac.mm:
30143         (WTR::PlatformWebView::windowSnapshotImage): Ditto.
30145 2017-04-10  Chris Dumez  <cdumez@apple.com>
30147         Drop Timer::startOneShot() overload taking a double
30148         https://bugs.webkit.org/show_bug.cgi?id=170659
30150         Reviewed by Yusuke Suzuki.
30152         Drop Timer::startOneShot() overload taking a double as people should use Seconds type now.
30154         * TestWebKitAPI/Tests/WTF/RunLoop.cpp:
30155         (TestWebKitAPI::TEST):
30156         * WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
30157         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
30159 2017-04-09  Wenson Hsieh  <wenson_hsieh@apple.com>
30161         [WK2] Add infrastructure to perform actions after an asynchronous position information request finishes
30162         https://bugs.webkit.org/show_bug.cgi?id=170658
30163         <rdar://problem/31431450>
30165         Reviewed by Tim Horton.
30167         Adds a new test verifying that when a web page is unresponsive, the process of preparing for data interaction
30168         does not also cause the UI process to spin. We assume here that the call to prepare must be asynchronous, so it
30169         should complete before the unresponsiveness timeout is triggered.
30171         See WebKit2 ChangeLog for more details.
30173         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
30174         (TestWebKitAPI::TEST):
30176 2017-04-09  Chris Dumez  <cdumez@apple.com>
30178         Drop Timer::startRepeating() overload taking a double
30179         https://bugs.webkit.org/show_bug.cgi?id=170656
30181         Reviewed by Yusuke Suzuki.
30183         Drop Timer::startRepeating() overload taking a double as people should use Seconds type now.
30185         * TestWebKitAPI/Tests/WTF/RunLoop.cpp:
30186         (TestWebKitAPI::TEST):
30188 2017-04-09  Youenn Fablet  <youenn@apple.com>
30190         Resync WPT tests up to 23cd07d4685d81024b7440e042f8bbdb33e7ddec
30191         https://bugs.webkit.org/show_bug.cgi?id=170647
30193         Reviewed by Sam Weinig.
30195         * Scripts/webkitpy/common/checkout/scm/git.py:
30196         (Git.fetch): Fetching origin remote in case there is more than one.
30198 2017-04-08  Simon Fraser  <simon.fraser@apple.com>
30200         Update CSSProperties.json with correct fill-and-stroke status, and other cleanup
30201         https://bugs.webkit.org/show_bug.cgi?id=170643
30203         Reviewed by Chris Dumez.
30204         
30205         Update the CSSProperties.json style checker to allow:
30206             - comments in codegen_properties
30207             - obsolete-category and obsolete-url in specification blocks
30208             - renamed "done" to "supported"
30209             
30210         Fix some references to codegen_properties to be codegen-properties.
30212         * Scripts/webkitpy/style/checkers/jsonchecker.py:
30213         (JSONCSSPropertiesChecker.validate_status_type):
30214         (JSONCSSPropertiesChecker.validate_property_specification):
30215         (JSONCSSPropertiesChecker.check_codegen_properties):
30217 2017-04-08  Youenn Fablet  <youenn@apple.com>
30219         WebRTC tests gardening
30220         https://bugs.webkit.org/show_bug.cgi?id=170508
30222         Reviewed by Eric Carlson.
30224         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
30226 2017-04-07  Keith Miller  <keith_miller@apple.com>
30228         Add a PriorityQueue class
30229         https://bugs.webkit.org/show_bug.cgi?id=170579
30231         Reviewed by Saam Barati.
30233         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
30234         * TestWebKitAPI/Tests/WTF/PriorityQueue.cpp: Added.
30235         (operator  _z ):
30236         (enqueue):
30237         (dequeue):
30238         (TEST):
30239         (compareMove):
30241 2017-04-07  Ryosuke Niwa  <rniwa@webkit.org>
30243         Replace ES6SampleBench by ARES-6 in run-benchmark
30244         https://bugs.webkit.org/show_bug.cgi?id=170585
30246         Reviewed by Saam Barati.
30248         Updated the plan file for ES6SampleBench to run ARES-6 instead. Also increased the number of iterations
30249         from 4 to 8 to match teh default, and reduced the number of browser instances to use from 5 to 3.
30251         * Scripts/webkitpy/benchmark_runner/data/patches/ARES-6.patch: Renamed from ES6SampleBench.patch.
30252         * Scripts/webkitpy/benchmark_runner/data/plans/ares6.plan: Renamed from es6bench.plan.
30254 2017-04-07  Myles C. Maxfield  <mmaxfield@apple.com>
30256         REGRESSION(r211382): Complex text with justification erroneously overflows containers
30257         https://bugs.webkit.org/show_bug.cgi?id=170399
30258         <rdar://problem/31442008>
30260         Reviewed by Simon Fraser.
30262         Check for the invariant that the sum of the advances is equal to m_totalWidth.
30264         * TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
30265         (TestWebKitAPI::TEST_F):
30267 2017-04-07  Ryan Haddad  <ryanhaddad@apple.com>
30269         [ios-simulator] API test WebKit2.WKWebProcessPlugInRangeHandle timing out
30270         https://bugs.webkit.org/show_bug.cgi?id=167594
30272         Unreviewed test gardening.
30274         Disable this test because it is still timing out on the bots.
30276         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm:
30277         (TEST):
30279 2017-04-07  Jonathan Bedard  <jbedard@apple.com>
30281         REGRESSION (r214553): Allow layout-tests to be run from Xcode without re-directing stdout, stdin and stderr
30282         https://bugs.webkit.org/show_bug.cgi?id=170601
30283         <rdar://problem/31492696>
30285         Reviewed by Simon Fraser.
30287         * TestRunnerShared/IOSLayoutTestCommunication.cpp:
30288         (setUpIOSLayoutTestCommunication): Skip TCP setup if no port is in the environment.
30289         (tearDownIOSLayoutTestCommunication): Only teardown if TCP was used.
30291 2017-04-07  Aakash Jain  <aakash_jain@apple.com>
30293         Add support for test262 JavaScriptCore tests
30294         https://bugs.webkit.org/show_bug.cgi?id=170523
30296         Reviewed by Daniel Bates.
30298         * BuildSlaveSupport/build.webkit.org-config/config.json: Added bot433 and bot434.
30299         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
30300         (RunTest262Tests): Added class to run Test262 tests.
30301         (RunTest262Tests.start): Added.
30302         (RunTest262Tests.countFailures): Method to count the failures.
30303         (Test262Factory): Added Test262 factory class.
30304         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
30305         (RunTest262TestsTest): Added unit tests.
30306         (RunTest262TestsTest.assertResults): Helper method.
30307         (RunTest262TestsTest.test_no_regressions_output): Added test case.
30308         (test_failure_output): Same. 
30309         (test_failures_output): Same.
30311 2017-04-07  Caio Lima  <ticaiolima@gmail.com>
30313         [JSC] Change --debug option to --debugger
30314         https://bugs.webkit.org/show_bug.cgi?id=170587
30316         Reviewed by Keith Miller.
30318         * Scripts/run-jsc:
30320         This patch is changing the new debugger flag for Tools/Scripts/run-jsc
30321         to --debugger to avoid shadowing --debug flag used to run JSC with
30322         Debug build.
30324 2017-04-07  Brent Fulgham  <bfulgham@apple.com>
30326         WebKit should percent encode single quotes in query strings
30327         https://bugs.webkit.org/show_bug.cgi?id=170561
30328         <rdar://problem/7415154>
30330         Reviewed by Alex Christensen.
30332         Add a test case for single-quote in the URL query string.
30334         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
30336 2017-04-06  Myles C. Maxfield  <mmaxfield@apple.com>
30338         Make FontWithFeatures test font pass OTS
30339         https://bugs.webkit.org/show_bug.cgi?id=169788
30341         Reviewed by Tim Horton.
30343         OTS, or the OpenType Sanitizer, is a check which tells if fonts are properly formed.
30344         Previously, our FontWithFeatures test font did not pass this check. This patch updates
30345         the font to pass the checks. Now, we can use this font on other platforms, and
30346         contribute the font to the W3C for testing the CSS Fonts level 3 spec.
30348         * FontWithFeatures/FontWithFeatures/FontCreator.cpp:
30349         (Generator::appendCFFTable):
30350         (Generator::Feature::operator<):
30351         (Generator::appendGSUBTable):
30352         (Generator::appendOS2Table):
30353         (Generator::appendFormat4CMAPTable):
30354         (Generator::appendHEADTable):
30355         (Generator::appendHHEATable):
30356         (Generator::NameRecord::operator<):
30357         (Generator::appendNameSubtable):
30358         (Generator::appendNAMETable):
30360 2017-04-06  Alexey Proskuryakov  <ap@apple.com>
30362         Disable flaky WebKit2.ResizeWithHiddenContentDoesNotHang
30363         for https://bugs.webkit.org/show_bug.cgi?id=170195
30365         * TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm:
30367 2017-04-06  Ryan Haddad  <ryanhaddad@apple.com>
30369         Unreviewed, rolling out r215046.
30371         This change broke internal builds.
30373         Reverted changeset:
30375         "WebRTC tests gardening"
30376         https://bugs.webkit.org/show_bug.cgi?id=170508
30377         http://trac.webkit.org/changeset/215046
30379 2017-04-06  Youenn Fablet  <youenn@apple.com>
30381         WebRTC tests gardening
30382         https://bugs.webkit.org/show_bug.cgi?id=170508
30384         Reviewed by Eric Carlson.
30386         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
30388 2017-04-06  Jonathan Bedard  <jbedard@apple.com>
30390         REGRESSION: Simulators failing to install after launch_app times out
30391         <rdar://problem/31478107>
30393         Unreviewed infrastructure fix.
30395         * Scripts/webkitpy/xcode/simulated_device.py:
30396         (SimulatedDevice.launch_app._install_timeout): Raise RuntimeError, not Exception.
30398 2017-04-05  Joseph Pecoraro  <pecoraro@apple.com>
30400         test262: module test progressions need updated expectations (@@iterator changes)
30401         https://bugs.webkit.org/show_bug.cgi?id=170535
30403         Reviewed by Saam Barati.
30405         * Scripts/run-jsc-stress-tests:
30406         Add :failDueToOutdatedOrBadTest to distinguish between a test failure
30407         in JavaScriptCore or an outdated or incorrect test262 test.
30409 2017-04-05  Joseph Pecoraro  <pecoraro@apple.com>
30411         Remove run-jsc-stress-tests benign warning about otool '-S' switch
30412         https://bugs.webkit.org/show_bug.cgi?id=170527
30414         Reviewed by Aakash Jain.
30416         * Scripts/run-jsc-stress-tests:
30417         The switch is not necessary and produces an error.
30419 2017-04-05  Jonathan Bedard  <jbedard@apple.com>
30421         webkitpy: Add pid logging for simulator processes
30422         https://bugs.webkit.org/show_bug.cgi?id=170505
30424         Reviewed by Alexey Proskuryakov.
30426         * Scripts/webkitpy/port/simulator_process.py:
30427         (SimulatorProcess._start.handler): Add pid to exception.
30428         (SimulatorProcess._start): Ditto.
30429         * Scripts/webkitpy/xcode/simulated_device.py:
30430         (SimulatedDevice.launch_app): Log pid when the process fails to launch and when
30431         a pid is successfully returned.
30433 2017-04-05  Ryan Haddad  <ryanhaddad@apple.com>
30435         Unreviewed, rolling out r214932.
30437         This change broke an internal build.
30439         Reverted changeset:
30441         "[ios-simulator] API test WebKit2.DataDetectionReferenceDate
30442         timing out"
30443         https://bugs.webkit.org/show_bug.cgi?id=161967
30444         http://trac.webkit.org/changeset/214932
30446 2017-04-05  Ryan Haddad  <ryanhaddad@apple.com>
30448         Unreviewed, rolling out r214962.
30450         Roll r214937 back in because it wasn't at fault for the build
30451         breakage.
30453         Reverted changeset:
30455         "Unreviewed, rolling out r214937."
30456         https://bugs.webkit.org/show_bug.cgi?id=170365
30457         http://trac.webkit.org/changeset/214962
30459 2017-04-05  Ryan Haddad  <ryanhaddad@apple.com>
30461         Unreviewed, rolling out r214937.
30463         This change broke an internal build.
30465         Reverted changeset:
30467         "REGRESSION (r202472): Data Detection overwrites existing
30468         links in detected ranges"
30469         https://bugs.webkit.org/show_bug.cgi?id=170365
30470         http://trac.webkit.org/changeset/214937
30472 2017-04-05  Jonathan Bedard  <jbedard@apple.com>
30474         Increase timeouts for simulator testing
30475         Unreviewed infrastructure fix.
30477         r214895 was not sufficient, increasing timeouts again.
30479         * Scripts/webkitpy/xcode/simulated_device.py:
30480         (SimulatedDevice.install_app): Increase timeout from 3 to 10 seconds.
30482 2017-04-05  Aakash Jain  <aakash_jain@apple.com>
30484         Formatting fix to remove extra space.
30486         Unreviewed formatting fix.
30488         * Scripts/webkitdirs.pm:
30489         (isEmbeddedWebKit): Remove extra space.
30491 2017-04-05  Aakash Jain  <aakash_jain@apple.com>
30493         Rename isIOSLikeWebKit to isEmbeddedWebKit.
30495         Rubber-stamped by Alexey Proskuryakov. 
30497         * Scripts/webkitdirs.pm:
30498         (isEmbeddedWebKit): Added
30499         (isIOSLikeWebKit): Deleted.
30501 2017-04-05  Alex Christensen  <achristensen@webkit.org>
30503         Fix CMake build.
30505         * TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm:
30506         * TestRunnerShared/spi/CoreGraphicsSPI.h: Removed.
30507         * TestRunnerShared/spi/CoreGraphicsTestSPI.h: Copied from Tools/TestRunnerShared/spi/CoreGraphicsSPI.h.
30508         There is a CoreGraphicsSPI.h in WebCore and the CMake build was finding the wrong one.
30509         Since we just inherit the include paths from WebCore in the CMake build and since this SPI is only used for testing,
30510         I just renamed CoreGraphicsSPI.h to CoreGraphicsTestSPI.h to avoid any name collisions.
30511         * WebKitTestRunner/PlatformMac.cmake:
30512         Add some missing files.
30513         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
30515 2017-04-05  Keith Miller  <keith_miller@apple.com>
30517         Add debug option to run-jsc script
30518         https://bugs.webkit.org/show_bug.cgi?id=170503
30520         Reviewed by Yusuke Suzuki.
30522         Adds a new option to the run-jsc script so that when passed
30523         "--debug" it will wrap the jsc call with an lldb invocation. If
30524         someone wishes to use a different debugger they can set the
30525         DEBUGGER environment variable. Additionally, run-jsc now exits
30526         with the exit status of the jsc call.
30528         * Scripts/run-jsc:
30530 2017-04-05  Andy Estes  <aestes@apple.com>
30532         REGRESSION (r202472): Data Detection overwrites existing links in detected ranges
30533         https://bugs.webkit.org/show_bug.cgi?id=170365
30534         <rdar://problem/29205721>
30536         Reviewed by Tim Horton.
30538         * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
30539         (expectLinkCount): Changed to only query links with the x-apple-data-detectors attribute.
30540         (TEST): Re-enabled the test, which now passes.
30542 2017-04-05  Andy Estes  <aestes@apple.com>
30544         [ios-simulator] API test WebKit2.WKWebProcessPlugInRangeHandle timing out
30545         https://bugs.webkit.org/show_bug.cgi?id=167594
30547         Re-enabled this API test now that webkit.org/b/161967 is fixed.
30549         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm:
30550         (TEST):
30552 2017-04-05  Andy Estes  <aestes@apple.com>
30554         [ios-simulator] API test WebKit2.DataDetectionReferenceDate timing out
30555         https://bugs.webkit.org/show_bug.cgi?id=161967
30557         Reviewed by Alexey Proskuryakov.
30559         * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
30560         (TEST): Re-enabled WebKit2.DataDetectionReferenceDate.
30562 2017-04-04  Simon Fraser  <simon.fraser@apple.com>
30564         Various settings in Minibrowser are off by default, and should be on
30565         https://bugs.webkit.org/show_bug.cgi?id=170465
30566         rdar://problem/31421543
30568         Reviewed by Tim Horton.
30570         Explicitly set preferences that should be on by default to enabled, if they have not been
30571         set previously.
30573         * MiniBrowser/mac/SettingsController.m:
30574         (-[SettingsController init]):
30576 2017-04-04  JF Bastien  <jfbastien@apple.com>
30578         Add JF Bastien as reviewer
30579         https://bugs.webkit.org/show_bug.cgi?id=170481
30581         Reviewed by Mark Lam.
30583         * Scripts/webkitpy/common/config/contributors.json:
30585 2017-04-04  Jonathan Bedard  <jbedard@apple.com>
30587         Increase timeouts for simulator testing
30589         Unreviewed infrastructure fix.
30591         * Scripts/webkitpy/port/simulator_process.py:
30592         (SimulatorProcess._start): Increase timeout from 3 to 6 seconds.
30593         * Scripts/webkitpy/xcode/simulated_device.py:
30594         (SimulatedDevice.install_app): Increase timeout from 1 to 3 seconds.
30596 2017-04-04  Tim Horton  <timothy_horton@apple.com>
30598         [Mac] -[WKWebView findMatchesForString:relativeToMatch:findOptions:maxResults:resultCollector:] invokes the resultCollector with didWrap = NO even when it wraps
30599         https://bugs.webkit.org/show_bug.cgi?id=165801
30600         <rdar://problem/29649535>
30602         Reviewed by Wenson Hsieh.
30604         * TestWebKitAPI/Tests/WebKit2Cocoa/FindInPage.mm:
30605         (TEST):
30606         Add some tests for wrapping finds.
30608 2017-04-03  Joseph Pecoraro  <pecoraro@apple.com>
30610         Add some new patterns to filter-build-webkit
30611         https://bugs.webkit.org/show_bug.cgi?id=170429
30613         Reviewed by Alexey Proskuryakov.
30615         * Scripts/filter-build-webkit:
30616         (setOutputFormatOption):
30618 2017-04-03  Wenson Hsieh  <wenson_hsieh@apple.com>
30620         Data interaction should register type identifiers in order of priority
30621         https://bugs.webkit.org/show_bug.cgi?id=170428
30622         <rdar://problem/30633296>
30624         Reviewed by Tim Horton.
30626         Augments existing unit tests to check for the existence and priority of type identifiers in the UIItemProviders
30627         created upon starting data interaction. Also fixes a race condition in one of the unit tests and adds a new unit
30628         test for data interaction from a textarea to an input.
30630         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
30631         (checkTypeIdentifierPrecedesOtherTypeIdentifier):
30632         (TestWebKitAPI::TEST):
30633         * TestWebKitAPI/ios/DataInteractionSimulator.h:
30634         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
30635         (-[DataInteractionSimulator _advanceProgress]):
30636         (-[DataInteractionSimulator sourceItemProviders]):
30637         (-[DataInteractionSimulator _webView:showCustomSheetForElement:]):
30639 2017-04-03  Carlos Alberto Lopez Perez  <clopez@igalia.com>
30641         [GTK][JHBuild] Update mesa repository url for tarballs
30642         https://bugs.webkit.org/show_bug.cgi?id=170431
30644         Reviewed by Michael Catanzaro.
30646         * gtk/jhbuild.modules:
30648 2017-04-03  Joseph Pecoraro  <pecoraro@apple.com>
30650         TestWebKitAPI: Warning: Multiple build commands for Ahem.ttf
30651         https://bugs.webkit.org/show_bug.cgi?id=170430
30653         Reviewed by Alexey Proskuryakov.
30655         * TestWebKitAPI/Tests/mac/Ahem.ttf: Removed.
30656         Eliminate one of the copies of Ahem.ttf.
30658         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
30659         Once eliminated, there is now only one Ahem.ttf that is copied
30660         to the Resources bundle. Drive-by sort the project file.
30662 2017-04-03  Simon Fraser  <simon.fraser@apple.com>
30664         Allow MiniBrowser windows to receive local file drags again
30665         https://bugs.webkit.org/show_bug.cgi?id=170422
30667         Reviewed by Wenson Hsieh.
30669         Adopt the new UIDelegate SPI to allow drops.
30671         * MiniBrowser/mac/WK2BrowserWindowController.m:
30672         (-[WK2BrowserWindowController _webView:dragDestinationActionMaskForDraggingInfo:]):
30674 2017-04-03  Carlos Alberto Lopez Perez  <clopez@igalia.com>
30676         [GTK][JHBuild] Fetch libvpx from a release tarball instead of git
30677         https://bugs.webkit.org/show_bug.cgi?id=170426
30679         Reviewed by Michael Catanzaro.
30681         * gtk/jhbuild.modules:
30683 2017-04-03  Nan Wang  <n_wang@apple.com>
30685         AX: Expose link children when doing search predication on iOS
30686         https://bugs.webkit.org/show_bug.cgi?id=170424
30687         <rdar://problem/31413335>
30689         Reviewed by Chris Fleizach.
30691         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
30692         (AccessibilityUIElement::uiElementForSearchPredicate):
30693         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
30694         (WTR::AccessibilityUIElement::uiElementForSearchPredicate):
30696 2017-04-03  Brian Burg  <bburg@apple.com>
30698         run-safari should support launching with custom language and locale
30699         https://bugs.webkit.org/show_bug.cgi?id=170397
30701         Reviewed by Alexey Proskuryakov.
30703         Hook up -AppleLanguages and -AppleLocale to command line options.
30705         * Scripts/webkitdirs.pm:
30706         (printHelpAndExitForRunAndDebugWebKitAppIfNeeded):
30707         (argumentsForRunAndDebugMacWebKitApp):
30709 2017-04-03  Jonathan Bedard  <jbedard@apple.com>
30711         webkitpy: Provide option to skip install
30712         https://bugs.webkit.org/show_bug.cgi?id=170344
30714         Reviewed by Alexey Proskuryakov.
30716         Installing can take time for on device testing.  Provide an option to skip install
30717         and use whatever driver is currently installed on the device or simulator.
30719         * Scripts/webkitpy/port/base.py:
30720         (Port.check_build): Do not check driver if skipping install.
30721         * Scripts/webkitpy/port/factory.py:
30722         (platform_options): Add '--no-install' option.
30723         * Scripts/webkitpy/port/ios.py:
30724         (IOSPort.setup_test_run): Check install option before installing.
30726 2017-04-03  Keith Miller  <keith_miller@apple.com>
30728         WebAssembly: Update spec tests
30729         https://bugs.webkit.org/show_bug.cgi?id=170361
30731         Rubber-stamped by Saam Barati.
30733         Update the runner to know the new wasm spec test harness code.
30735         * Scripts/run-jsc-stress-tests:
30737 2017-04-01  Alexey Proskuryakov  <ap@apple.com>
30739         Rolling back <https://trac.webkit.org/r214697>, as it made WebKit2.DataDetectionReferenceDate time out.
30741         Was REGRESSION (r202472): Data Detection overwrites existing links in detected ranges
30742         https://bugs.webkit.org/show_bug.cgi?id=170365
30744         * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
30746 2017-04-01  Csaba Osztrogonác  <ossy@webkit.org>
30748         Mac cmake buildfix after 214586.
30749         https://bugs.webkit.org/show_bug.cgi?id=170381
30751         Unreviewed speculative buildfix.
30753         * WebKitTestRunner/PlatformMac.cmake:
30755 2017-04-01  Csaba Osztrogonác  <ossy@webkit.org>
30757         Unreviewed speculative Mac cmake buildfix after r214586, just for fun.
30758         https://bugs.webkit.org/show_bug.cgi?id=161675
30760         * WebKitTestRunner/PlatformMac.cmake:
30762 2017-03-31  Jonathan Bedard  <jbedard@apple.com>
30764         webkitpy: Add target host concept
30765         https://bugs.webkit.org/show_bug.cgi?id=170186
30766         <rdar://problem/31301797>
30768         Reviewed by Alexey Proskuryakov.
30770         Adding the idea of a target host. Target hosts are objects conforming to the
30771         structure of the SystemHost object in Scripts/webkitpy/common/system/systemhost.py
30772         Target hosts are the hosts associated with a worker process.
30774         * Scripts/webkitpy/common/system/filesystem.py:
30775         (FileSystem.map_base_host_path): Convert a path from an absolute path on the base
30776         host to an absolute path on this host.
30777         (FileSystem.move_to_base_host): Move file from this host to the base host.
30778         (FileSystem.move_from_base_host): Move file from the base host to this host.
30779         (FileSystem.copy_to_base_host): Copy file from this host to the base host.
30780         (FileSystem.copy_from_base_host): Copy file from the base host to this host.
30781         * Scripts/webkitpy/common/system/filesystem_mock.py:
30782         (MockFileSystem.map_base_host_path): Convert a path from an absolute path on the base
30783         host to an absolute path on this host.
30784         (MockFileSystem.move_to_base_host): Move file from this host to the base host.
30785         (MockFileSystem.move_from_base_host): Move file from the base host to this host.
30786         (MockFileSystem.copy_to_base_host): Copy file from this host to the base host.
30787         (MockFileSystem.copy_from_base_host): Copy file from the base host to this host.
30788         * Scripts/webkitpy/port/base.py:
30789         (Port.target_host): Return host determined by worker number.
30790         (Port.abspath_for_test): Accept optional target_host argument to return location
30791         of test on a target host.
30792         (Port._driver_tempdir): Accept optional target_host argument to return a temporary
30793         directory on a target host.
30794         (Port.sample_process): Accept optional target_host argument to sample process on
30795         a target host.
30796         * Scripts/webkitpy/port/darwin.py:
30797         (DarwinPort.sample_process): Run sample process on target host.
30798         (DarwinPort.sample_file_path): Accept directory for file.
30799         (DarwinPort.spindump_file_path): Ditto.
30800         * Scripts/webkitpy/port/darwin_testcase.py:
30801         (DarwinTest.test_spindump): Check file movement.
30802         (DarwinTest.test_sample_process): Ditto.
30803         (DarwinTest.test_sample_process_exception):
30804         * Scripts/webkitpy/port/driver.py:
30805         (Driver.__init__): Add and set self._target_host variable.
30806         (Driver._start): Pass target host to _driver_tempdir().
30807         (Driver.stop): Call the target host's rmtree.
30808         (Driver._check_for_driver_timeout): Pass target host to sample_process.
30809         (Driver._check_for_driver_crash_or_unresponsiveness): Ditto.
30810         (Driver._command_from_driver_input): Pass target host to abspath_for_test and map
30811         layout test directory to target host.
30812         * Scripts/webkitpy/port/ios.py:
30813         (IOSPort):
30814         (IOSPort.target_host): Replaced device_for_worker_number.
30815         (IOSPort.setup_test_run): Replace device_for_worker_number with target_host.
30816         (IOSPort.device_for_worker_number): Replaced with target_host.
30817         * Scripts/webkitpy/port/server_process.py:
30818         (ServerProcess.__init__): Accept target_host instead of worker_number.
30819         (ServerProcess._start): Replace _host with _target_host.
30820         (ServerProcess._handle_timeout): Ditto.
30821         (ServerProcess._kill): Ditto.
30822         * Scripts/webkitpy/port/simulator_process.py:
30823         (SimulatorProcess.__init__): Accept target_host instead of worker_number.
30824         (SimulatorProcess._start): Replace _device with _target_host.
30825         (SimulatorProcess.stop): Ditto.
30826         (SimulatorProcess._kill): Deleted.
30828 2017-03-31  Jonathan Bedard  <jbedard@apple.com>
30830         Unreviewed fix after r214569
30831         https://bugs.webkit.org/show_bug.cgi?id=170255
30833         Unreviewed infrastructure fix.
30835         * Scripts/webkitpy/port/ios.py:
30836         (IOSPort.clean_up_test_run): Check if the device is defined before teardown.
30838 2017-03-31  Andy Estes  <aestes@apple.com>
30840         REGRESSION (r202472): Data Detection overwrites existing links in detected ranges
30841         https://bugs.webkit.org/show_bug.cgi?id=170365
30842         <rdar://problem/29205721>
30844         Reviewed by Tim Horton.
30846         * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
30847         (expectLinkCount): Changed to only query links with the x-apple-data-detectors attribute.
30848         (TEST): Re-enabled the test, which now passes.
30850 2017-03-31  Tim Horton  <timothy_horton@apple.com>
30852         Mail can get stuck underneath FindController::findStringMatches after searching in a long message
30853         https://bugs.webkit.org/show_bug.cgi?id=170326
30854         <rdar://problem/30330395>
30856         Reviewed by Simon Fraser.
30858         * TestWebKitAPI/Tests/WebKit2Cocoa/FindInPage.mm:
30859         (TEST):
30861 2017-03-31  Carlos Garcia Campos  <cgarcia@igalia.com>
30863         Unreviewed. Fix WTR crashes in GTK+ port after r214413.
30865         Fixes: http/tests/ssl/upgrade-origin-usage.html
30866                http/tests/websocket/tests/hybi/network-process-crash-error.html
30867                http/tests/websocket/tests/hybi/simple-wss.html
30869         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
30870         (WTR::TestController::platformContext): Return the context.
30872 2017-03-30  Sam Weinig  <sam@webkit.org>
30874         Expose the WKView SPI, _prepareForMoveToWindow:withCompletionHandler as WKWebView SPI
30875         https://bugs.webkit.org/show_bug.cgi?id=170315
30877         Reviewed by Simon Fraser.
30879         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
30880         * TestWebKitAPI/Tests/WebKit2Cocoa/PrepareForMoveToWindow.mm: Added.
30881         Add test showing the completion handler is called.
30883 2017-03-30  Filip Pizlo  <fpizlo@apple.com>
30885         Air should support linear scan for optLevel<2
30886         https://bugs.webkit.org/show_bug.cgi?id=170161
30888         Reviewed by Saam Barati.
30889         
30890         This makes us run a bunch of JS tests at optLevel=1 to force testing of this new compiler
30891         pipeline.
30893         * Scripts/run-jsc-stress-tests:
30895 2017-03-30  Aakash Jain  <aakash_jain@apple.com>
30897         Support tvOS and watchOS in webkitdirs.pm
30898         https://bugs.webkit.org/show_bug.cgi?id=170267
30900         Reviewed by Alexey Proskuryakov.
30902         * Scripts/webkitdirs.pm:
30903         (determineXcodeSDK): Evaluate sdk for tvos and watchos.
30904         (xcodeSDKPlatformName): Added support for tvos and watchos.
30905         (determinePortName): Same.
30906         (isAppleCocoaWebKit): Same.
30907         (willUseAppleTVDeviceSDK): Added.
30908         (willUseAppleTVSimulatorSDK): Added.
30909         (willUseWatchDeviceSDK): Added.
30910         (willUseWatchSimulatorSDK): Added.
30911         (isTVOSWebKit): Added.
30912         (isWATCHOSWebKit): Added.
30913         (isIOSLikeWebKit): Added.
30915 2017-03-30  Wenson Hsieh  <wenson_hsieh@apple.com>
30917         [WK2] Touches should not cancel when showing a custom action sheet while data interaction is active
30918         https://bugs.webkit.org/show_bug.cgi?id=170291
30919         <rdar://problem/31301388>
30921         Reviewed by Tim Horton.
30923         Adds support for testing how the custom action sheet presentation codepath interacts with data interaction, as
30924         well as a new unit test. In this case, we force data interaction to fail if touches are canceled on the
30925         shared UIApplication, and verify that data interaction completes successfully.
30927         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
30928         (TestWebKitAPI::TEST):
30929         * TestWebKitAPI/ios/DataInteractionSimulator.h:
30930         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
30931         (-[DataInteractionSimulatorApplication _cancelAllTouches]):
30932         (-[DataInteractionSimulator initWithWebView:]):
30933         (-[DataInteractionSimulator simulateAllTouchesCanceled:]):
30934         (-[DataInteractionSimulator runFrom:to:]):
30935         (-[DataInteractionSimulator _advanceProgress]):
30936         (-[DataInteractionSimulator _webView:showCustomSheetForElement:]):
30938 2017-03-30  Per Arne Vollan  <pvollan@apple.com>
30940         [Win] Pass close_fds = True in Python popen call.
30941         https://bugs.webkit.org/show_bug.cgi?id=170172
30943         Reviewed by Brent Fulgham.
30945         This was previously not supported on Windows, but in Python 2.7.10 it is.
30947         * Scripts/webkitpy/common/system/executive.py:
30948         (Executive._should_close_fds):
30949         * Scripts/webkitpy/port/server_process.py:
30950         (ServerProcess._start):
30952 2017-03-30  Aakash Jain  <aakash_jain@apple.com>
30954         Change my status to be a WebKit reviewer.
30956         Unreviewed status update edit.
30958         * Scripts/webkitpy/common/config/contributors.json:
30960 2017-03-30  Carlos Alberto Lopez Perez  <clopez@igalia.com>
30962         Change my status to be a WebKit reviewer.
30964         Unreviewed status update edit.
30966         * Scripts/webkitpy/common/config/contributors.json:
30968 2017-03-29  Tim Horton  <timothy_horton@apple.com>
30970         Swipe gesture tests don't work on macOS Sierra
30971         https://bugs.webkit.org/show_bug.cgi?id=161675
30972         <rdar://problem/23379930>
30974         Reviewed by Darin Adler.
30976         * DumpRenderTree/mac/UIScriptControllerMac.mm:
30977         (WTR::UIScriptController::platformPlayBackEventStream):
30978         (WTR::UIScriptController::beginBackSwipe):
30979         (WTR::UIScriptController::completeBackSwipe):
30980         * TestRunnerShared/EventSerialization/mac/EventSerializerMac.h: Copied from Tools/DumpRenderTree/mac/UIScriptControllerMac.mm.
30981         * TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm: Added.
30982         (eventIsOfType):
30983         (eventIsOfTypes):
30984         (eventIsOfGestureType):
30985         (eventIsOfGestureTypes):
30986         (+[EventSerializer dictionaryForEvent:relativeToTime:]):
30987         (+[EventSerializer createEventForDictionary:inWindow:relativeToTime:]):
30988         (+[EventSerializer playEventStream:inWindow:completionHandler:]):
30989         * TestRunnerShared/EventSerialization/mac/SharedEventStreamsMac.h: Copied from Tools/WebKitTestRunner/mac/UIScriptControllerMac.mm.
30990         * TestRunnerShared/EventSerialization/mac/SharedEventStreamsMac.mm: Added.
30991         (beginSwipeBackEventStream):
30992         (completeSwipeBackEventStream):
30993         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
30994         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
30995         (WTR::UIScriptController::playBackEventStream):
30996         (WTR::UIScriptController::beginBackSwipe):
30997         (WTR::UIScriptController::completeBackSwipe):
30998         (WTR::UIScriptController::platformPlayBackEventStream):
30999         (WTR::UIScriptController::platformClearAllCallbacks): Deleted.
31000         * TestRunnerShared/UIScriptContext/UIScriptController.h:
31001         * TestRunnerShared/spi/CoreGraphicsSPI.h: Added.
31002         * TestRunnerShared/spi/IOKitSPI.h: Renamed from Tools/WebKitTestRunner/ios/IOKitSPI.h.
31003         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
31004         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
31005         (WTR::playBackEvents):
31006         (WTR::UIScriptController::beginBackSwipe):
31007         (WTR::UIScriptController::completeBackSwipe):
31008         (WTR::UIScriptController::platformPlayBackEventStream):
31010 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
31012         webkitpy: Robust test clean-up
31013         https://bugs.webkit.org/show_bug.cgi?id=170255
31015         Reviewed by Alexey Proskuryakov.
31017         On-device testing is the motivation for this change.  Failure to run clean-up functions can
31018         result in zombie processes, residual NFS mounts and other undesirable remnants from a failed
31019         test run.  Make an effort to clean-up even if exceptions are thrown during set-up or clean-up.
31021         * Scripts/webkitpy/layout_tests/controllers/manager.py:
31022         (Manager._set_up_run): Clean up test run if set-up fails.
31023         * Scripts/webkitpy/port/ios.py:
31024         (IOSPort.clean_up_test_run): Continue cleaning up devices even after an exception is thrown.
31026 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
31028         Simulator testing stops after the first crash
31029         <rdar://problem/31325362>
31031         Unreviewed infrastructure fix.
31033         * Scripts/webkitpy/xcode/simulated_device.py:
31034         (SimulatedDevice):
31035         (SimulatedDevice.launch_app): Increase timeout when attempting to launch app.
31037 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
31039         webkitpy: Standardize web-server port definitions
31040         https://bugs.webkit.org/show_bug.cgi?id=170144
31041         <rdar://problem/31284026>
31043         Reviewed by Daniel Bates.
31045         Default web-server ports should be declared in global variables.
31046         Add functions to web-servers which return the ports these servers
31047         are using so that other tools can forward them.
31049         * Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
31050         (LayoutTestApacheHttpd.__init__): Use shared constants in http_server_base.py.
31051         * Scripts/webkitpy/layout_tests/servers/apache_http_server_unittest.py:
31052         (TestLayoutTestApacheHttpd.test_start_cmd): Check port_to_forward for expected values.
31053         * Scripts/webkitpy/layout_tests/servers/http_server.py:
31054         (Lighttpd.__init__): Use shared constants in http_server_base.py.
31055         (Lighttpd._prepare_config): Ditto.
31056         * Scripts/webkitpy/layout_tests/servers/http_server_base.py:
31057         (HttpServerBase): Add default port constants.
31058         (HttpServerBase.ports_to_forward): Add function to return ports used for http server.
31059         * Scripts/webkitpy/layout_tests/servers/http_server_unittest.py:
31060         (TestHttpServer.test_start_cmd): Check port_to_forward for expected values.
31061         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
31062          (WebPlatformTestServer.ports_to_forward): Add function to return ports used for web-platform tests.
31063         * Scripts/webkitpy/layout_tests/servers/websocket_server.py:
31064         (PyWebSocket): Make default port values public.
31065         (PyWebSocket.__init__): Use public default port.
31066         (PyWebSocket.ports_to_forward): Return port used in an array.
31067         * Scripts/webkitpy/port/base.py:
31068         (Port.to.ports_to_forward): Return all ports used the various web-servers managed by the port object.
31069         (Port.to.start_websocket_server): Use PyWebSocket port constants.
31071 2017-03-29  Wenson Hsieh  <wenson_hsieh@apple.com>
31073         Links with empty hrefs should not be drag sources
31074         https://bugs.webkit.org/show_bug.cgi?id=170241
31075         <rdar://problem/31305505>
31077         Reviewed by Tim Horton.
31079         Adds a new API test: DataInteractionTests.LinkWithEmptyHREF.
31081         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
31082         (TestWebKitAPI::TEST):
31083         * TestWebKitAPI/ios/DataInteractionSimulator.h:
31085         Expose the current phase of the data interaction simulator for verifying behaviors in unit tests.
31087         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
31088         (-[DataInteractionSimulator phase]):
31090 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
31092         Use TCP instead of FIFOs for Simulator/Device communication
31093         https://bugs.webkit.org/show_bug.cgi?id=169419
31094         <rdar://problem/30949615>
31096         Reviewed by Alexey Proskuryakov.
31098         Using TCP instead of FIFOs when communicating with devices allows the device being tested
31099         to be on a different machine then the one handling the management of the test run.
31101         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
31102         * DumpRenderTree/mac/DumpRenderTree.mm:
31103         (dumpRenderTree): Call setUp/tearDownIOSLayoutTestCommunication() instead of using FIFOs.
31104         * Scripts/webkitpy/port/device.py:
31105         (Device.__init__): Initialize the listening_socket.
31106         (Device.listening_port): Return port of listening socket.
31107         (Device.prepare_for_testing): Open listening socket on an open port, prepare platform device
31108         fro testing.
31109         (Device.finished_testing): Close listening socket associated with this device, call the
31110         platform device's finished_testing function if it exists.
31111         * Scripts/webkitpy/port/ios.py:
31112         (IOSPort.setup_test_run): Prepare each device for testing.
31113         (IOSPort.clean_up_test_run): Notify each device that testing has completed.
31114         * Scripts/webkitpy/port/ios_simulator.py:
31115         (IOSSimulatorPort): Work around device persistence bug.
31116         (IOSSimulatorPort.__init__): Ditto.
31117         * Scripts/webkitpy/port/simulator_process.py:
31118         (SimulatorProcess):
31119         (SimulatorProcess.NonBlockingFileFromSocket): Add to work around shortcomings in
31120         Python 2’s makefile.
31121         (SimulatorProcess.NonBlockingFileFromSocket.__init__): Initialize file with socket.
31122         (SimulatorProcess.ReadFileSocket.close): Close file and then socket;
31123         (SimulatorProcess.__init__): Pass TCP port over environment, remove FIFO names.
31124         (SimulatorProcess.__getattr__): Expose all file attributes.
31125         (SimulatorProcess._accept_connection_create_file): Wait for connection from server and
31126         create and return a file-like object from the incoming connection.
31127         (SimulatorProcess._start): Use TCP connections instead of FIFOs.
31128         (SimulatorProcess._start.handler): Output server port in timeout exception.
31129         (SimulatorProcess._reset): Deleted.
31130         * TestRunnerShared/IOSLayoutTestCommunication.cpp: Added.
31131         (connectToServer): Return socket connected to the provided server address.
31132         (setupiOSLayoutTestCommunication): Connect stdin, stdout and stderr as socket to a
31133         TCP server running on localhost.
31134         (tearDownIOSLayoutTestCommunication): Close stdin, stdout and stderr TCP sockets.
31135         * TestRunnerShared/IOSLayoutTestCommunication.h: Added.
31136         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
31137         * WebKitTestRunner/ios/TestControllerIOS.mm:
31138         (WTR::TestController::platformInitialize): Call setUpIOSLayoutTestCommunication()
31139         instead of using FIFOs.
31140         (WTR::TestController::platformDestroy): Call tearDownIOSLayoutTestCommunication().
31142 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
31144         webkitpy: Add IOSDevicePort and IOSPort tests
31145         https://bugs.webkit.org/show_bug.cgi?id=170206
31146         <rdar://problem/31308364>
31148         Reviewed by Alexey Proskuryakov.
31150         * Scripts/webkitpy/port/darwin_testcase.py: Removed unused import.
31151         * Scripts/webkitpy/port/ios_device_unittest.py: Added.
31152         (iosDeviceTest): Contains tests for the IOSDevicePort.
31153         (iosDeviceTest.make_port): Creates an IOSDevicePort with arguments.
31154         (iosDeviceTest.test_operating_system): Check for the correct operating system.
31155         * Scripts/webkitpy/port/ios_simulator_unittest.py: Moved from Tools/Scripts/webkitpy/port/ios_unittest.py.
31156         (iosSimulatorTest): Inherit from ios_testcase.
31157         (iosSimulatorTest.make_port): Ditto.
31158         (iosSimulatorTest.test_get_crash_log): Ditto.
31159         * Scripts/webkitpy/port/ios_testcase.py: Added.
31160         (iOSTest): Contains shared tests for the IOSDevicePort and IOSSimulatorPort.
31161         (iOSTest.test_driver_name): Tests for iOS app driver.
31162         (iOSTest.test_baseline_searchpath): Check that ios and ios-wk1 are in the baseline search path.
31163         * Scripts/webkitpy/port/ios_unittest.py: Moved to ios_simulator_unittest.py.
31164         * Scripts/webkitpy/port/port_testcase.py:
31165         (PortTestCase): Rename is_simulator to disable_setup to more accurately describe it's meaning.
31166         (PortTestCase.test_diff_image): Use disable_setup instead of is_simulator.
31167         (PortTestCase.test_diff_image_crashed): Ditto.
31169 2017-03-28  Jason Marcell  <jmarcell@apple.com>
31171         Fix `index-expected.txt` for dashboard test results.
31172         https://bugs.webkit.org/show_bug.cgi?id=170214
31174         Reviewed by Alexey Proskuryakov.
31176         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/index-expected.txt:
31178 2017-03-28  Alexey Proskuryakov  <ap@apple.com>
31180         Bot watcher's dashboard has separate settings for "mac" and "macos"
31181         https://bugs.webkit.org/show_bug.cgi?id=170164
31183         Reviewed by Tim Horton.
31185         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Settings.js:
31186         (Settings.prototype.parsePlatformFamily): Aded a special case for "macos".
31188 2017-03-28  Alexey Proskuryakov  <ap@apple.com>
31190         Fix dashboard test results on the dashboard
31191         https://bugs.webkit.org/show_bug.cgi?id=170158
31193         Reviewed by Tim Horton.
31195         Link to result diff instead of stdio. Looking at the diff, I wonder if it can be
31196         further improved, as it's not super readable, but stdio is entirely useless in this context.
31198         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:
31199         (Buildbot.prototype.dashboardTestResultsURLForIteration): Generate formatted diff link.
31201         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
31202         Fixed a typo in step name, so that it's actually treated as productive.
31204         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:
31205         (BuildbotTesterQueueView.prototype.appendBuilderQueueStatus):
31206         (BuildbotTesterQueueView.prototype.update):
31207         (BuildbotTesterQueueView.prototype._presentPopoverForGenericTestFailures):
31208         Added special handling for dashboard test results.
31210 2017-03-28  Aakash Jain  <aakash_jain@apple.com>
31212         Fix Dashboard test _presentPopoverForJavaScriptCoreTestRegressions
31213         https://bugs.webkit.org/show_bug.cgi?id=170193
31215         Reviewed by Alexey Proskuryakov.
31217         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/tests.js:
31218         Fixed the order of arguments.
31220 2017-03-28  Aakash Jain  <aakash_jain@apple.com>
31222         Dashboard tests fails to fetch the revision from commits
31223         https://bugs.webkit.org/show_bug.cgi?id=170191
31225         Reviewed by Alexey Proskuryakov.
31227         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/MockTrac.js:
31228         Added recordedCommitIndicesByRevisionNumber.
31229         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/tests.js:
31230         (setup): Populated trac.recordedCommitIndicesByRevisionNumber since the dashboard code uses this variable.
31232 2017-03-28  Timothy Horton  <timothy_horton@apple.com>
31234         Safari crashes when attempting to close tab that is displaying PDF
31235         https://bugs.webkit.org/show_bug.cgi?id=170201
31236         <rdar://problem/31242019>
31238         Reviewed by Wenson Hsieh.
31240         * TestWebKitAPI/Tests/WebKit2Cocoa/DoAfterNextPresentationUpdateAfterCrash.mm:
31241         (TEST):
31242         Add a test for doAfterNextStablePresentationUpdate just like the existing
31243         non-stable one.
31245 2017-03-28  Jonathan Bedard  <jbedard@apple.com>
31247         webkitpy: Use host pattern for devices
31248         https://bugs.webkit.org/show_bug.cgi?id=170121
31250         Reviewed by Daniel Bates.
31252         Devices should be treated like hosts throughout webkitpy
31253         so that more code can be re-used.  Add the needed properties
31254         and use executive over custom implemented polling/killing
31255         functions.
31257         * Scripts/webkitpy/port/device.py:
31258         (Device):
31259         (Device.executive): Add optional executive property.
31260         (Device.filesystem): Add optional filesystem property.
31261         (Device.user): Add optional user property.
31262         (Device.platform): Add optional platform property.
31263         (Device.workspace): Add optional workspace property.
31264         (Device.poll): Deleted.
31265         * Scripts/webkitpy/port/simulator_process.py:
31266         (SimulatorProcess.Popen.poll): Use the devices executive.
31267         (SimulatorProcess.stop): Ditto.
31268         (SimulatorProcess._kill): Ditto.
31269         * Scripts/webkitpy/xcode/simulated_device.py:
31270         (SimulatedDevice.__init__): Add executive, filesystem, user, platform
31271         and workspace to the platform device.
31272         (SimulatedDevice.poll): Deleted.
31274 2017-03-28  Aakash Jain  <aakash_jain@apple.com>
31276         Dashboard test fails with error: latestIterationGetter is not a function
31277         https://bugs.webkit.org/show_bug.cgi?id=170167
31279         Reviewed by Alexey Proskuryakov.
31281         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/tests.js:
31282         (this.view._latestProductiveIteration): Configure _latestProductiveIteration in setup.
31284 2017-03-27  Lucas Forschler  <lforschler@apple.com>
31286         Another test v8.
31288 2017-03-27  Lucas Forschler  <lforschler@apple.com>
31290         Another test v7.
31292 2017-03-27  Lucas Forschler  <lforschler@apple.com>
31294         Another test v6.
31296 2017-03-27  Lucas Forschler  <lforschler@apple.com>
31298         Another test v5.
31300 2017-03-27  Lucas Forschler  <lforschler@apple.com>
31302         Another test v4.
31304 2017-03-27  Lucas Forschler  <lforschler@apple.com>
31306         Another test v3.
31308 2017-03-27  Lucas Forschler  <lforschler@apple.com>
31310         Another test v2.
31312 2017-03-27  Lucas Forschler  <lforschler@apple.com>
31314         Another test.
31316 2017-03-27  Lucas Forschler  <lforschler@apple.com>
31318         <rdar://problem/30949128>
31319         Update build.webkit.org to use port 16000 for PBChangeSource.
31320         
31321         Reviewed by Alexey Proskuryakov.
31323         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
31325 2017-03-27  Jason Marcell  <jmarcell@apple.com>
31327         Bots should run the dashboard tests
31328         https://bugs.webkit.org/show_bug.cgi?id=168994
31330         Reviewed by Daniel Bates and David Kilzer.
31332         We pull the `--results-directory` argument value out so that `RunDashboardTests` can override it so that we can separately run the dashboard layout tests.
31334         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
31335         (RunWebKitTests): Define a class variable called resultDirectory for the `--results-directory` argument so that subclasses can override this if needed.
31336         (RunWebKitTests.start): Set the `--results-directory` argument value to the value of self.resultDirectory.
31337         (RunDashboardTests): Subclass of RunWebKitTests in which we run the layout tests for the Bot Watcher's Dashboard.
31338         (RunDashboardTests.start): Override the `--layout-tests-directory` to point to the dashboard layout tests.
31339         (ExtractTestResults.addCustomURLs): Update the current results URL label to indicate that it links to layout tests results and add a new link to link to dashboard layout test results.
31340         (TestFactory.__init__): Update unit tests to account for new RunDashboardTests step.
31341         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
31342         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
31344 2017-03-27  Jonathan Bedard  <jbedard@apple.com>
31346         webkitpy: Look for 'ios' test expectations for IOSPorts
31347         https://bugs.webkit.org/show_bug.cgi?id=169413
31349         Reviewed by Alexey Proskuryakov.
31351         Test expectations for iOS tests should include the 'ios' folder.  Modify
31352         default_baseline_search_path to include 'ios' folder and derivatives for
31353         IOSPort.
31355         * Scripts/webkitpy/port/ios.py:
31356         (IOSPort._generate_all_test_configurations): Moved from IOSSimulatorPort.
31357         (IOSPort.default_baseline_search_path): Add ios expectations along with port specific expectations.
31358         (IOSPort.test_expectations_file_position): Added for testing.
31359         * Scripts/webkitpy/port/ios_simulator.py:
31360         (IOSSimulatorPort._generate_all_test_configurations): Moved to IOSPort.
31361         (IOSSimulatorPort.default_baseline_search_path): Moved to IOSPort.
31363 2017-03-27  Jonathan Bedard  <jbedard@apple.com>
31365         REGRESSION: Reseting _device_map on each child process
31366         <rdar://problem/31274476>
31368         Unreviewed infrastructure fix.
31370         * Scripts/webkitpy/port/ios_simulator.py:
31371         (IOSSimulatorPort): Add _DEVICE_MAP class variable.
31372         (IOSSimulatorPort.__init__): Use shared class variable
31373         (IOSSimulatorPort._device_for_worker_number_map): Use _DEVICE_MAP class variable
31374         (IOSSimulatorPort._create_devices): Ditto.
31375         (IOSSimulatorPort._quit_ios_simulator): Ditto.
31376         (IOSSimulatorPort.clean_up_test_run): Ditto.
31378 2017-03-27  Jonathan Bedard  <jbedard@apple.com>
31380         REGRESSION: Failing to iterate over Simulator.managed_devices map
31381         <rdar://problem/31274476>
31383         Unreviewed infrastructure fix.
31385         * Scripts/webkitpy/port/ios_simulator.py:
31386         (IOSSimulatorPort._create_devices): Iterate through managed_devices by worker number.
31388 2017-03-27  Alex Christensen  <achristensen@webkit.org>
31390         Make WebSockets work in network process
31391         https://bugs.webkit.org/show_bug.cgi?id=169930
31393         Reviewed by Youenn Fablet.
31395         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
31396         Add terminateNetworkProcess for the new test
31397         http/tests/websocket/tests/hybi/network-process-crash-error.html
31398         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
31399         (WTR::TestRunner::setAllowsAnySSLCertificate):
31400         (WTR::TestRunner::terminateNetworkProcess):
31401         * WebKitTestRunner/InjectedBundle/TestRunner.h:
31402         * WebKitTestRunner/TestController.cpp:
31403         (WTR::TestController::setAllowsAnySSLCertificate):
31404         (WTR::TestController::terminateNetworkProcess):
31405         * WebKitTestRunner/TestController.h:
31406         * WebKitTestRunner/TestInvocation.cpp:
31407         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
31408         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
31409         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
31410         (WTR::TestController::platformContext):
31411         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
31412         (WTR::TestController::platformContext):
31413         (WTR::TestController::platformLibraryPathForTesting):
31414         Add some infrastructure for http/tests/websocket/tests/hybi/simple-wss.html
31415         which calls testRunner.setAllowsAnySSLCertificate.  It used to only be effective
31416         for the WebProcess, but SocketStreamHandleImpl::createStreams is now in the NetworkProcess,
31417         and we need its call to Settings::allowsAnySSLCertificate to be loosened for this test,
31418         which tests that wss works, but our test certificate has an invalid certificate chain.
31419         We want production software to not have the ability to have its security weakened, so this
31420         is a test code path that is only implemented in WebKitTestRunner.
31422 2017-03-25  Jonathan Bedard  <jbedard@apple.com>
31424         webkitpy: Use generalized device instead of platform specific one
31425         https://bugs.webkit.org/show_bug.cgi?id=170078
31427         Reviewed by Daniel Bates.
31429         SimulatedDevice is re-created each time 'xcrun simctl list' is called.  Device
31430         should remain persistent.  Changing Device to a more explicit interface.
31431         SimulatedDevice no longer inherits from Device and IOSSimulator returns Devices
31432         wrapping SimulatedDevices.
31434         * Scripts/webkitpy/port/device.py: Added.
31435         (Device):
31436         (Device.__init__): Construct with platform device.
31437         (Device.install_app): Install app at app path on platform device.
31438         (Device.launch_app): Launch app with bundle ID on platform device.
31439         (Device.poll): Poll platform device.
31440         (Device.udid): Access platform device UDID.
31441         (Device.__nonzero__): Check if instantiated with a valid platform device.
31442         (Device.__eq__): Compare by udid.
31443         (Device.__ne__): Ditto.
31444         (Device.__repr__): Print out platform_device representation.
31445         * Scripts/webkitpy/port/ios_simulator.py:
31446         (IOSSimulatorPort.__init__): Initialize the _device_map to an empty dictionary.
31447         (IOSSimulatorPort._device_for_worker_number_map):  Return self._device_map.
31448         (IOSSimulatorPort._create_simulators): Call Simulator.managed_devices directly.
31449         (IOSSimulatorPort._create_devices): Place Simulator.managed_devices into the
31450         device map.
31451         (IOSSimulatorPort._quit_ios_simulator): Reset self._device_map.
31452         * Scripts/webkitpy/xcode/device.py: Removed.
31453         * Scripts/webkitpy/xcode/simulated_device.py:
31454         (SimulatedDevice):
31455         (SimulatedDevice.__init__): Move host, name and did to SimulatedDevice.
31456         (SimulatedDevice.__eq__): Compare two simulated devices.
31457         (SimulatedDevice.__ne__): Ditto.
31458         (SimulatedDevice.__repr__): Print name and udid.
31460 2017-03-25  Adrian Perez de Castro  <aperez@igalia.com>
31462         [GTK] No value returned from PrintCustomWidgetTest::createWebKitPrintOperation() in TestPrinting.cpp
31463         https://bugs.webkit.org/show_bug.cgi?id=170059
31465         Reviewed by Carlos Garcia Campos.
31467         * TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp: Use "void" as return type in the declaration,
31468         the only use of the method in this same file ignores the returned value anyway.
31470 2017-03-24  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
31472         webkitpy should be able to run API tests
31473         https://bugs.webkit.org/show_bug.cgi?id=170028
31475         Reviewed by Alexey Proskuryakov.
31477         * Scripts/webkitpy/common/config/ports.py:
31478         (DeprecatedPort.run_api_tests_command): Added.
31479         * Scripts/webkitpy/port/base.py:
31480         (Port.api_results_directory): Added.
31481         * Scripts/webkitpy/tool/steps/runtests.py:
31482         (RunTests.run): Check if we should be running API tests.
31483         (RunTests._run_api_tests): Generate script to run API tests with json output.
31484         * Scripts/webkitpy/tool/steps/steps_unittest.py: Unit tests.
31486 2017-03-24  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
31488         Add JSON results for API tests
31489         https://bugs.webkit.org/show_bug.cgi?id=170021
31491         Reviewed by Alexey Proskuryakov.
31493         * Scripts/run-api-tests:
31494         (runTestsBySuite): Appends failures and timeouts to JSON data.
31495         (writeJsonDataIfApplicable): Writes JSON data to a file.
31497 2017-03-24  Lucas Forschler  <lforschler@apple.com>
31499         update committer_auth.py to be python 2.7 compliant
31500         https://bugs.webkit.org/show_bug.cgi?id=170063
31501         
31502         Reviewed by Alexey Proskuryakov.
31504         * BuildSlaveSupport/build.webkit.org-config/committer_auth.py:
31505         (CommitterAuth.authenticate):
31506             convert e.message to e.args[0]
31508 2017-03-24  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
31510         webkitpy: Parse JSON results from run-api-tests
31511         https://bugs.webkit.org/show_bug.cgi?id=170062
31513         Reviewed by Alexey Proskuryakov.
31515         * Scripts/webkitpy/common/net/apitestresults.py: Added.
31516         (APITestResults): Structure to represent API test results.
31517         (APITestResults.__init__):
31518         (APITestResults.intersection): Return the failures common to both sets of results.
31519         (APITestResults.results_from_string): Create an APITestResults object from a JSON results string.
31520         (APITestResults.equals): Return True if both results were the same.
31521         (APITestResults.is_subset): Return True if failing tests are a subset of the other failing tests.
31522         (APITestResults.all_passed): Return True if everything passed.
31523         (APITestResults.failing_tests): List of tests that didn't pass.
31524         (APITestResults.did_exceed_test_failure_limit): Always False.
31525         * Scripts/webkitpy/common/net/apitestresults_unittest.py: Added.
31526         (APITestResultsTest): Unit tests.
31527         * Scripts/webkitpy/tool/bot/apitestresultsreader.py: Added.
31528         (APITestResultsReader): Read contents of JSON results file.
31530 2017-03-24  Alex Christensen  <achristensen@webkit.org>
31532         REGRESSION: Content Blocker: Blocking "a[href*=randomString]" doesn't work
31533         https://bugs.webkit.org/show_bug.cgi?id=169167
31535         Reviewed by Simon Fraser.
31537         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
31538         (TestWebKitAPI::TEST_F):
31539         Test an example of a selector that was incorrectly determined to be invalid.
31541 2017-03-24  Jonathan Bedard  <jbedard@apple.com>
31543         Increase timeout for booting simulators.
31544         <rdar://problem/31080009>
31546         Unreviewed infrastructure fix.
31548         * Scripts/webkitpy/xcode/simulator.py:
31549         (Simulator.wait_until_device_is_booted): Increase timeout.
31550         (Simulator.wait_until_device_is_in_state): Increase timeout.
31552 2017-03-24  Carlos Garcia Campos  <cgarcia@igalia.com>
31554         Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/javascript-dialogs after r214277.
31556         Since r214277 beforeunload events are not fired unless there's some user interaction, so we need to simulate it
31557         in our unit tests to work.
31559         * TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:
31560         (testWebViewJavaScriptDialogs):
31562 2017-03-24  Carlos Garcia Campos  <cgarcia@igalia.com>
31564         [GTK] Add MIMETypeRegistry implementation using xdgmime and remove the GTK+ one
31565         https://bugs.webkit.org/show_bug.cgi?id=170001
31567         Reviewed by Michael Catanzaro.
31569         Ignore style of xdgmime sources.
31571         * Scripts/webkitpy/tool/steps/checkstyle.py:
31573 2017-03-23  Wenson Hsieh  <wenson_hsieh@apple.com>
31575         Dragging on a large image should not revert to a file icon if data interaction is enabled
31576         https://bugs.webkit.org/show_bug.cgi?id=170018
31577         <rdar://problem/31184508>
31579         Reviewed by Tim Horton.
31581         Add new tests for data interaction. LargeImageToTargetDiv verifies the change made in this patch, while
31582         AttachmentElementItemProviders was a test that was previously removed due to <rdar://problem/31038797>.
31584         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
31585         * TestWebKitAPI/Tests/WebKit2Cocoa/large-red-square.png: Added.
31586         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
31587         (TestWebKitAPI::TEST):
31589 2017-03-23  Fujii Hironori  <Hironori.Fujii@sony.com>
31591         Update WinCairoRequirements.zip
31592         https://bugs.webkit.org/show_bug.cgi?id=169950
31594         Reviewed by Alex Christensen.
31596         * Scripts/update-webkit-wincairo-libs: Replace $winCairoLibsURL.
31598 == Rolled over to ChangeLog-2017-03-23 ==