REGRESSION (r224791): cookies are shared between ephemeral sessions in the same proce...
[WebKit-https.git] / Tools / ChangeLog
1 2017-11-30  Alex Christensen  <achristensen@webkit.org>
2
3         REGRESSION (r224791): cookies are shared between ephemeral sessions in the same process pool
4         https://bugs.webkit.org/show_bug.cgi?id=180235
5
6         Reviewed by Joseph Pecoraro.
7
8         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
9         * TestWebKitAPI/Tests/WebKitCocoa/CookiePrivateBrowsing.mm: Added.
10         (-[CookiePrivateBrowsingDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
11         (TEST):
12
13 2017-11-30  Stephan Szabo  <stephan.szabo@sony.com>
14
15         Make LegacyCustomProtocolManager optional for network process
16         https://bugs.webkit.org/show_bug.cgi?id=176230
17
18         Reviewed by Alex Christensen.
19
20         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
21
22 2017-11-30  Dewei Zhu  <dewei_zhu@apple.com>
23
24         HTTP server driver is responsible for ensuring the dependencies of HTTP server.
25         https://bugs.webkit.org/show_bug.cgi?id=180231
26
27         Reviewed by Stephanie Lewis.
28
29         Added the logic to ensure system environment meet the requirments of launching the http server.
30
31         * Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
32         (SimpleHTTPServerDriver.serve):
33         (SimpleHTTPServerDriver.set_device_id):
34         (SimpleHTTPServerDriver):
35         (SimpleHTTPServerDriver._ensure_http_server_dependencies):
36
37 2017-11-30  Basuke Suzuki  <Basuke.Suzuki@sony.com>
38
39         [WinCairo] Cannot build without Internet connection
40         https://bugs.webkit.org/show_bug.cgi?id=180068
41
42         Reviewed by Alex Christensen
43
44         With no Internet connection, if libraries has been downloaded
45         before, trust that version and keep building.
46
47         * Scripts/download-latest-github-release.py:
48         (Status):
49         (current_release):
50         (has_latest_release):
51         (main):
52
53 2017-11-30  Alex Christensen  <achristensen@webkit.org>
54
55         WKURLSchemeHandler.request should include HTTPBody
56         https://bugs.webkit.org/show_bug.cgi?id=180220
57
58         Reviewed by Brady Eidson.
59
60         * TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm:
61         (-[FormSubmissionDelegate webView:startURLSchemeTask:]):
62
63 2017-11-30  Carlos Alberto Lopez Perez  <clopez@igalia.com>
64
65         Add a script for automatically running the buildbot configurations on a test environment.
66         https://bugs.webkit.org/show_bug.cgi?id=169084
67
68         Reviewed by Michael Catanzaro.
69
70         This new script does the following:
71         - Creates a temporal workingdir.
72         - Installs buildbot and its dependencies there (very same version used by the webkit.org buildbot master https://build.webkit.org/about ).
73           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.
74         - Copies the buildmaster config files to the temporal workingdir.
75         - Performs the required steps to start a buildmaster.
76         - Creates the required config for each slave and starts all of them.
77
78         The test buildmaster should be accessible at http://localhost:8710/ allowing to trigger manual builds.
79         This allows to test any configuration changes on this test environment that is pretty much identical to the production one.
80
81         * BuildSlaveSupport/build.webkit.org-config/run-buildbot-test.py: Added.
82         (check_tcp_port_open):
83         (upgrade_db_needed):
84         (create_tempdir):
85         (print_if_error_stdout_stderr):
86         (setup_master_workdir):
87         (wait_for_master_ready):
88         (start_master):
89         (get_list_workers):
90         (start_worker):
91         (clean):
92         (cmd_exists):
93         (check_buildbot_installed):
94         (setup_virtualenv):
95         (configdir_is_valid):
96         (main):
97
98 2017-11-30  Aakash Jain  <aakash_jain@apple.com>
99
100         [build.webkit.org] Move python code from master.cfg in separate files
101         https://bugs.webkit.org/show_bug.cgi?id=180180
102
103         Reviewed by Alexey Proskuryakov.
104
105         * BuildSlaveSupport/build.webkit.org-config/master.cfg: Moved code to steps.py and master.cfg appropriately.
106         * BuildSlaveSupport/build.webkit.org-config/factories.py: Moved all factory related code from master.cfg.
107         * BuildSlaveSupport/build.webkit.org-config/steps.py: Moved all steps related code from master.cfg
108
109 2017-11-30  Wenson Hsieh  <wenson_hsieh@apple.com>
110
111         WKAttachmentTests.InPlaceImageAttachmentToggleDisplayMode times out on macOS bots
112         https://bugs.webkit.org/show_bug.cgi?id=180200
113
114         Reviewed by Alexey Proskuryakov.
115
116         Rewrites an API test to avoid checking against the hard-coded platform-dependent size of an attachment element.
117         Instead, first insert the attachment element as an icon and compute its size, and then check that the size of
118         the element is restored to this original value after toggling the display mode to in-place mode and back.
119
120         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
121         (-[TestWKWebView attachmentElementSize]):
122         (-[TestWKWebView waitForAttachmentElementSizeToBecome:]):
123         (TestWebKitAPI::TEST):
124         (platformAttachmentIconElementSize): Deleted.
125
126 2017-11-30  Michael Catanzaro  <mcatanzaro@igalia.com>
127
128         [WPE] Stop building Wayland in JHBuild moduleset
129         https://bugs.webkit.org/show_bug.cgi?id=179951
130
131         Reviewed by Žan Doberšek.
132
133         Since Wayland is not used for running tests, and since it does not seem to depend on
134         anything in the JHBuild moduleset, I think we can remove it safely without having to worry
135         that the system version of Wayland might use libraries in the JHBuild environment (which
136         would be unsafe).
137
138         * wpe/install-dependencies: Install Wayland.
139         * wpe/jhbuild.modules: Stop building Wayland.
140
141 2017-11-30  Alexey Proskuryakov  <ap@apple.com>
142
143         Silence the BitVector leak for
144         https://bugs.webkit.org/show_bug.cgi?id=121662
145
146         The out of line data pointer isn't stored directly, so the leaks tool cannot see it.
147
148         * Scripts/webkitpy/port/leakdetector.py:
149         (LeakDetector._callstacks_to_exclude_from_leaks):
150
151 2017-11-29  Aakash Jain  <aakash_jain@apple.com>
152
153         Fix build.webkit.org broken unit-test after r225080
154         https://bugs.webkit.org/show_bug.cgi?id=180176
155
156         Reviewed by Carlos Garcia Campos.
157
158         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Updated expected_build_steps.
159
160 2017-11-29  Wenson Hsieh  <wenson_hsieh@apple.com>
161
162         [Attachment Support] Implement SPI for clients to make an attachment element display in-place
163         https://bugs.webkit.org/show_bug.cgi?id=180153
164         <rdar://problem/35735252>
165
166         Reviewed by Tim Horton.
167
168         Adds new API tests to cover inserting in-place attachments and updating the display mode of existing attachments,
169         as well as performing a few editing operations (paragraph insertion, cut/paste, list insertion) on attachment
170         elements.
171
172         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
173         (platformAttachmentIconElementSize):
174         (testVideoData):
175         (testPDFData):
176         (displayOptionsWithMode):
177         (-[TestWKWebView waitForAttachmentElementSizeToBecome:]):
178         (-[_WKAttachment synchronouslySetDisplayOptions:error:]):
179         (TestWebKitAPI::TEST):
180
181 2017-11-29  Simon Fraser  <simon.fraser@apple.com>
182
183         API test fix after r225288.
184
185         Make the test work on iOS.
186
187         * TestWebKitAPI/Tests/WebKit/NoHistoryItemScrollToFragment.mm:
188         (-[DidScrollToFragmentScrollViewDelegate scrollViewDidScroll:]):
189         (TestWebKitAPI::TEST):
190
191 2017-11-29  Simon Fraser  <simon.fraser@apple.com>
192
193         REGRESSION (r213590): Scrolling to anchors broken in web views when content loaded via HTML string
194         https://bugs.webkit.org/show_bug.cgi?id=180155
195         rdar://problem/34220827
196
197         Reviewed by Zalan Bujtas.
198
199         API test that loads a page with a relative anchor, and simulates a click to scroll to it.
200
201         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
202         * TestWebKitAPI/Tests/WebKit/MediaStreamTrackDetached.mm:
203         (TestWebKitAPI::TEST):
204         * TestWebKitAPI/Tests/WebKit/NoHistoryItemScrollToFragment.mm: Added.
205         (-[DidScrollToFragmentDelegate _webViewDidScroll:]):
206         (TestWebKitAPI::TEST):
207         * TestWebKitAPI/Tests/WebKit/scroll-to-anchor.html: Added.
208
209 2017-11-29  Ryan Haddad  <ryanhaddad@apple.com>
210
211         webkitpy EWS should be present on the dashboard.
212         https://bugs.webkit.org/show_bug.cgi?id=179801
213
214         Reviewed by Aakash Jain.
215
216         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
217         (BubbleQueueServer): Add Webkitpy EWS.
218
219 2017-11-29  Simon Fraser  <simon.fraser@apple.com>
220
221         Viewport unit values affected by Comand-+ zoom
222         https://bugs.webkit.org/show_bug.cgi?id=145614
223
224         Reviewed by Zalan Bujtas.
225         
226         Fix Command+ and Command- in MiniBrowser to do zooming, rather than being tied
227         to editing commands.
228
229         * MiniBrowser/mac/MainMenu.xib:
230
231 2017-11-29  Alex Christensen  <achristensen@webkit.org>
232
233         Add test for _WKVisitedLinkStore.addVisitedLinkWithString
234         https://bugs.webkit.org/show_bug.cgi?id=180152
235
236         Reviewed by Chris Dumez.
237
238         * TestWebKitAPI/Tests/WebKitCocoa/VisitedLinkStore.mm:
239         (TestWebKitAPI::TEST):
240
241 2017-11-29  Jonathan Bedard  <jbedard@apple.com>
242
243         webkitpy: Trying to use iOS versions from machines without iOS SDKs doesn't make sense
244         https://bugs.webkit.org/show_bug.cgi?id=179534
245         <rdar://problem/35469509>
246
247         Reviewed by Brent Fulgham.
248
249         Provide more specific information in builders.py so that machines do not try and calculate
250         an iOS SDK version while running tests.
251
252         * Scripts/webkitpy/port/builders.py: Explicitly specify a version for iOS Simulator.
253         * Scripts/webkitpy/port/ios_simulator.py:
254         (IOSSimulatorPort._version_from_name): Attempt to extract the iOS version from the name
255         of the port.
256         (IOSSimulatorPort.ios_version): Use specified iOS version if a version is detected in
257         in the provided name string (just like Mac).
258
259 2017-11-29  Robin Morisset  <rmorisset@apple.com>
260
261         The recursive tail call optimisation is wrong on closures
262         https://bugs.webkit.org/show_bug.cgi?id=179835
263
264         Reviewed by Saam Barati.
265
266         This just includes merge-sort-cps.js to the list of benchmarks ran by run-jsc-benchmarks --tail-bench
267
268         * Scripts/run-jsc-benchmarks:
269
270 2017-11-28  Carlos Garcia Campos  <cgarcia@igalia.com>
271
272         WebDriver: add an option to dump test results to a json file
273         https://bugs.webkit.org/show_bug.cgi?id=180082
274
275         Reviewed by Brian Burg.
276
277         Add --json-output command line option to run-webdriver-tests to dump test results to a json file in a format
278         compatible with the W3C report. WebDriverTestResult now represents a test file and contains a list of
279         subtests, instead of having one WebDriverTestResult per subtest. This way we can store also the harness result
280         and dump the results to different formats.
281
282         * Scripts/run-webdriver-tests:
283         * Scripts/webkitpy/webdriver_tests/webdriver_test_result.py:
284         (WebDriverTestResult.__init__):
285         (WebDriverTestResult):
286         (WebDriverTestResult.add_subtest_results):
287         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
288         (WebDriverTestRunner.print_results):
289         (WebDriverTestRunner):
290         (WebDriverTestRunner.dump_results_to_json_file):
291         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
292         (WebDriverTestRunnerW3C.run):
293
294 2017-11-28  Alexey Proskuryakov  <ap@apple.com>
295
296         Stop silencing leaks in TextCodecICU::registerCodecs, as the problem was fixed a while ago.
297         https://bugs.webkit.org/show_bug.cgi?id=118505
298
299         Reviewed by Joseph Pecoraro.
300
301         * Scripts/valgrind/suppressions.txt:
302         * Scripts/webkitpy/port/leakdetector.py:
303         (LeakDetector._callstacks_to_exclude_from_leaks):
304
305 2017-11-28  Ms2ger  <Ms2ger@igalia.com>
306
307         Stop modifying self.expectations in TestExpectationLine.expected_behavior.
308         https://bugs.webkit.org/show_bug.cgi?id=180074
309
310         Reviewed by Simon Fraser.
311
312         In particular, getting the property multiple times on a skipped test
313         expectation line (which happens when using
314         `Tools/Scripts/run-webkit-tests --print-expectations` if a directory
315         containing multiple tests is skipped) would yield [pass, skip], then
316         [pass, skip, skip], then [pass, skip, skip, skip], and so on.
317
318         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
319         (TestExpectationLine.expected_behavior): copy self.expectations before modifying it.
320
321 2017-11-14  Carlos Garcia Campos  <cgarcia@igalia.com>
322
323         Move JSONValues to WTF and convert uses of InspectorValues.h to JSONValues.h
324         https://bugs.webkit.org/show_bug.cgi?id=173793
325
326         Reviewed by Joseph Pecoraro.
327
328         * TestWebKitAPI/CMakeLists.txt:
329         * TestWebKitAPI/PlatformGTK.cmake:
330         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
331         * TestWebKitAPI/Tests/WTF/JSONValue.cpp: Renamed from Tools/TestWebKitAPI/Tests/JavaScriptCore/InspectorValue.cpp.
332         (TestWebKitAPI::TEST):
333
334 2017-11-28  Ryan Haddad  <ryanhaddad@apple.com>
335
336         Bugs filed from the flakiness dashboard should include a link to the dashboard
337         https://bugs.webkit.org/show_bug.cgi?id=180090
338
339         Reviewed by Aakash Jain.
340
341         * TestResultServer/static-dashboards/flakiness_dashboard.js:
342         (createBugHTML):
343         Open the bug compose page in a new tab and include a link
344         to the flakiness dashboard results for the selected test.
345
346 2017-11-28  Jonathan Bedard  <jbedard@apple.com>
347
348         webkitpy: Standardize Version representation
349         https://bugs.webkit.org/show_bug.cgi?id=179677
350         <rdar://problem/35711277>
351
352         Reviewed by Alex Christensen.
353
354         Standardize a single method of representing versions in the Version object
355         constructor. Provide static methods for converting string and lists/tuples
356         to Version objects.
357
358         * Scripts/webkitpy/common/system/platforminfo.py:
359         (PlatformInfo.__init__): Parse Version object from string instead of using
360         the constructor.
361         (PlatformInfo.xcode_sdk_version): Ditto.
362         (PlatformInfo.xcode_version): Ditto.
363         (PlatformInfo._win_version): Construct Version object from list.
364         * Scripts/webkitpy/common/system/platforminfo_mock.py:
365         (MockPlatformInfo.xcode_sdk_version):
366         (MockPlatformInfo.xcode_version):
367         * Scripts/webkitpy/common/version.py:
368         (Version):
369         (Version.from_string): Parse string of the form 'x.x.x'.
370         (Version.from_iterable): Construct a version object from a list, tuple or
371         other indexable object.
372         (Version.__init__): Construct a Version object from integers.
373         * Scripts/webkitpy/common/version_name_map.py:
374         (VersionNameMap.__init__): Use integer Version constructor.
375         (VersionNameMap._automap_to_major_version): Ditto.
376         (VersionNameMap.to_name):
377         (VersionNameMap.strip_name_formatting): Construct Version from string.
378         * Scripts/webkitpy/common/version_name_map_unittest.py:
379         (VersionMapTestCase.test_mac_version_by_name): Use integer Version constructor.
380         (VersionMapTestCase.test_mac_name_by_version): Ditto.
381         (VersionMapTestCase.test_ios_name_by_version): Ditto.
382         * Scripts/webkitpy/common/version_unittest.py:
383         (VersionTestCase.test_string_constructor):
384         (VersionTestCase.test_from_list):
385         (VersionTestCase.test_from_tuple):
386         (VersionTestCase.test_int_constructor):
387         (VersionTestCase.test_len):
388         (VersionTestCase.test_set_by_int):
389         (VersionTestCase.test_set_by_string):
390         (VersionTestCase.test_get_by_int):
391         (VersionTestCase.test_get_by_string):
392         (VersionTestCase.test_string):
393         (VersionTestCase.test_contained_in):
394         (VersionTestCase.test_compare_versions):
395         (VersionTestCase.test_list_constructor): Deleted.
396         (VersionTestCase.test_tuple_constructor): Deleted.
397         (VersionTestCase.test_copy_constructor): Deleted.
398         (VersionTestCase.test_none_constructor): Deleted.
399         * Scripts/webkitpy/port/ios.py:
400         (IOSPort.default_baseline_search_path): Handle case where ios_version is None.
401         * Scripts/webkitpy/port/ios_device.py:
402         (IOSDevicePort.ios_version): Return None rather than an empty version.
403         * Scripts/webkitpy/port/ios_simulator.py:
404         (IOSSimulatorPort.simulator_runtime): Parse Version object from string instead
405         of using the constructor.
406         (IOSSimulatorPort.ios_version): Return None rather than an empty version.
407         * Scripts/webkitpy/xcode/simulator.py:
408         (Simulator._parse_runtimes): Parse Version object from string instead of using
409         the constructor.
410         (Simulator._parse_devices): Ditto.
411         * Scripts/webkitpy/xcode/simulator_unittest.py:
412
413 2017-11-28  Daniel Bates  <dabates@apple.com>
414
415         [Cocoa] First pass at implementing alternative presentation button element
416         https://bugs.webkit.org/show_bug.cgi?id=179785
417         Part of <rdar://problem/34917108>
418
419         Reviewed by Brent Fulgham.
420
421         Add a test that substitutes the alternative presentation button for an element in
422         the page and clicks it.
423
424         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add test.
425         * TestWebKitAPI/Tests/WebKitCocoa/ClickAlternativePresentationButton.mm: Added.
426         (didClickAlternativePresentationButton):
427         (-[ClickAlternativePresentationButton webProcessPlugIn:didCreateBrowserContextController:]):
428         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
429         (TEST):
430         (-[AlternativePresentationButtonDelegate _webView:didClickAlternativePresentationButtonWithUserInfo:]):
431         (-[AlternativePresentationButtonDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
432
433 2017-11-28  Carlos Garcia Campos  <cgarcia@igalia.com>
434
435         REGRESSION(r225166): [GTK] Skipped unit tests are considered failures after glib upgrade
436         https://bugs.webkit.org/show_bug.cgi?id=180072
437
438         Reviewed by Michael Catanzaro.
439
440         This is a bug in GLib that has already been fixed. Backport the patch to fix it until there's a new GLib release
441         we can depend on.
442
443         * gtk/jhbuild.modules:
444         * gtk/patches/glib-gtester-do-not-consider-skipped-tests-as-failures.patch: Added.
445
446 2017-11-28  Fujii Hironori  <Hironori.Fujii@sony.com>
447
448         webkitpy: PlatformInfo raises AssertionError "assert self.os_version is not None" in Cygwin since Bug 179621
449         https://bugs.webkit.org/show_bug.cgi?id=180069
450
451         Reviewed by Daniel Bates.
452
453         "Version 10.0.16299" was interpreted as 0.0.16299. Fix the wrong
454         regexp for 'ver' command.
455
456         * Scripts/webkitpy/common/system/platforminfo.py:
457         (PlatformInfo._win_version_from_cmd): Replace \d with \d+.
458
459 2017-11-28  Carlos Garcia Campos  <cgarcia@igalia.com>
460
461         [GTK] WebDriver: disable XSS auditor when running WebDriver tests
462         https://bugs.webkit.org/show_bug.cgi?id=180075
463
464         Reviewed by Carlos Alberto Lopez Perez.
465
466         Some tests are now doing inline('<script>window.alert()</script>') which is rejected by the XSS auditor because
467         the script source is part of the request URL.
468
469         * Scripts/webkitpy/webdriver_tests/webdriver_driver_gtk.py:
470         (WebDriverGtk.capabilities): Disable XSS auditor.
471
472 2017-11-28  Carlos Garcia Campos  <cgarcia@igalia.com>
473
474         WebDriver: add timeout option to run-webdriver-tests script
475         https://bugs.webkit.org/show_bug.cgi?id=179940
476
477         Reviewed by Carlos Alberto Lopez Perez.
478
479         We need to handle timeouts to be able to run the tests in the bots. pytest doesn't support timeouts, but there's
480         a plugin pytest_timeout that can be used for that.
481
482         * Scripts/run-webdriver-tests: Add --timeout command line option.
483         * Scripts/webkitpy/thirdparty/__init__.py:
484         (AutoinstallImportHook.find_module): Check if pytest_timeout is imported to install it.
485         (AutoinstallImportHook._install_pytest_timeout): Install pytest_timeout from pypi.
486         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
487         (WebDriverTestRunnerW3C.__init__): Set PYTEST_TIMEOUT env var with the timeout given.
488         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
489         (WebDriverW3CExecutor.run): Clarify that the timeout received by do_wdspec() is ignored, and pass 0 instead of 25.
490
491 2017-11-27  Aakash Jain  <aakash_jain@apple.com>
492
493         Do not run webkitpy tests on multiple EWSes
494         https://bugs.webkit.org/show_bug.cgi?id=179834
495
496         Reviewed by Alexey Proskuryakov.
497
498         Do not run webkitpy tests in every EWS. We now have
499         a dedicated webkitpy test EWS.
500
501         * Scripts/webkitpy/tool/steps/runtests.py:
502         (RunTests.run): Do not run webkitpy tests in EWSes. These tests will still run
503         when --non-interactive option is not passed. 
504
505 2017-11-27  Jonathan Bedard  <jbedard@apple.com>
506
507         webkitpy: Better name-version mapping (Part 1)
508         https://bugs.webkit.org/show_bug.cgi?id=179621
509         <rdar://problem/35589585>
510
511         Reviewed by David Kilzer.
512
513         Mapping version numbers to version names should occur in a central location.
514         This has a few advantages. First, it makes iterating through versions easier.
515         Second, it allows for apple_additions to define an additional set of name
516         mappings. Lastly, it will allow, in a future patch, for us to track version
517         instead of version name, only mapping version to version name when required.
518
519         * Scripts/webkitpy/common/system/platforminfo.py:
520         (PlatformInfo.__init__):
521         (PlatformInfo._determine_os_name): Use VersionNameMap instead of custom functions
522         mapping version to name.
523         (PlatformInfo._determine_linux_version): Deleted.
524         (PlatformInfo._determine_mac_version): Deleted.
525         (PlatformInfo._determine_win_version): Deleted.
526         * Scripts/webkitpy/common/system/platforminfo_unittest.py:
527         (TestPlatformInfo.test_os_name_and_wrappers):
528         (TestPlatformInfo.test_os_version):
529         (TestPlatformInfo.test_display_name):
530         (TestPlatformInfo.test_total_bytes_memory):
531         * Scripts/webkitpy/common/version.py:
532         (Version.contained_in): Add partial version mapping.
533         * Scripts/webkitpy/common/version_name_map.py: Added.
534         (VersionNameMap): Holds a mapping of version name to version object.
535         (VersionNameMap.map): Don't re-create VersionNameMap every time.
536         (VersionNameMap.__init__): Initialize mapping, use platform to
537         define the default system platform.
538         (VersionNameMap._automap_to_major_version): Some operating systems, such
539         as iOS, have a naming scheme based on their major version and os name.
540         Automatically generate such mappings.
541         (VersionNameMap.to_name): Given a version object, platform name and
542         table, find the closest matching version name.
543         (VersionNameMap.strip_name_formatting): Remove spaces and extract the major version,
544         if a version string is included in the name.
545         (VersionNameMap.from_name): Return an os name and version given a version name.
546         * Scripts/webkitpy/common/version_name_map_unittest.py: Added.
547         (VersionMapTestCase):
548         (VersionMapTestCase.test_default_system_platform):
549         (VersionMapTestCase.test_mac_version_by_name):
550         (VersionMapTestCase.test_ios_version_by_name):
551         (VersionMapTestCase.test_mac_name_by_version):
552         (VersionMapTestCase.test_ios_name_by_version):
553         * Scripts/webkitpy/common/version_unittest.py:
554         (VersionTestCase.test_contained_in):
555         * Scripts/webkitpy/port/ios_device.py:
556         (IOSDevicePort.ios_version): Map os_version name to version number.
557
558 2017-11-27  Don Olmstead  <don.olmstead@sony.com>
559
560         [CMake][Win] Conditionally select DLL CRT or static CRT
561         https://bugs.webkit.org/show_bug.cgi?id=170594
562
563         Reviewed by Alex Christensen.
564
565         * DumpRenderTree/PlatformWin.cmake:
566         * MiniBrowser/win/CMakeLists.txt:
567
568 2017-11-27  Yacine Bandou  <yacine.bandou_ext@softathome.com>
569
570         [GTK][WPE] Add "enable-encrypted-media" property to WebKitWebSettings
571         https://bugs.webkit.org/show_bug.cgi?id=18005
572
573         Reviewed by Michael Catanzaro.
574
575         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
576         (testWebKitSettings):
577
578 2017-11-27  Tim Horton  <timothy_horton@apple.com>
579
580         One too many zeroes in macOS version number in FeatureDefines
581         https://bugs.webkit.org/show_bug.cgi?id=180011
582
583         Reviewed by Dan Bernstein.
584
585         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
586
587 2017-11-27  Per Arne Vollan  <pvollan@apple.com>
588
589         [Win] The number of webkit-patch iterations on EWS should be configurable.
590         https://bugs.webkit.org/show_bug.cgi?id=178517
591
592         Reviewed by Darin Adler.
593
594         Add a new RESET_AFTER_ITERATION argument to the EWS shell script.
595
596         * EWSTools/start-queue-win.sh:
597
598 2017-11-27  Per Arne Vollan  <pvollan@apple.com>
599
600         [Win] Switch to VS2017 on EWS bots.
601         https://bugs.webkit.org/show_bug.cgi?id=178516
602
603         Reviewed by Darin Adler.
604
605         * EWSTools/start-queue-win.sh:
606
607 2017-11-27  Carlos Garcia Campos  <cgarcia@igalia.com>
608
609         [SOUP] Layout test media/track/track-text-track-cue-list.html crash with g_source_set_ready_time: assertion 'source->ref_count > 0' failed
610         https://bugs.webkit.org/show_bug.cgi?id=176806
611
612         Reviewed by Carlos Alberto Lopez Perez.
613
614         This was caused by a GLib bug that has already been fixed. Upgrade glib to 2.54.2.
615
616         * gtk/jhbuild.modules:
617         * gtk/patches/gdate-suppress-string-format-literal-warning.patch: Removed.
618
619 2017-11-24  Darin Adler  <darin@apple.com>
620
621         * TestWebKitAPI/Tests/WTF/OptionSet.cpp:
622         (TestWebKitAPI::TEST): Added a test for OptionSet operator|.
623
624 2017-11-24  Mark Lam  <mark.lam@apple.com>
625
626         Move unsafe jsc shell test functions to the $vm object.
627         https://bugs.webkit.org/show_bug.cgi?id=179980
628
629         Reviewed by Yusuke Suzuki.
630
631         Always set --useDollarVM=true for jsc runs of benchmarks.  This is needed because
632         some microbenchmarks relies on createBuiltin().
633
634         Also set --useDollarVM=true for runExceptionFuzz and runExecutableAllocationFuzz.
635
636         * Scripts/run-jsc-benchmarks:
637         * Scripts/run-jsc-stress-tests:
638
639 2017-11-23  Darin Adler  <darin@apple.com>
640
641         Reduce WTF::String operations that do unnecessary Unicode operations instead of ASCII
642         https://bugs.webkit.org/show_bug.cgi?id=179907
643
644         Reviewed by Sam Weinig.
645
646         * DumpRenderTree/mac/DumpRenderTree.mm:
647         (changeWindowScaleIfNeeded): Use containsIgnoringASCIICase.
648         * WebKitTestRunner/TestInvocation.cpp:
649         (WTR::TestInvocation::urlContains const): Ditto.
650
651 2017-11-22  Ali Juma  <ajuma@chromium.org>
652
653         Implement VisualViewport API attributes
654         https://bugs.webkit.org/show_bug.cgi?id=179385
655
656         Reviewed by Frédéric Wang.
657
658         Enable the VisualViewportAPI in layout tests.
659
660         * DumpRenderTree/mac/DumpRenderTree.mm:
661         (enableExperimentalFeatures):
662         * DumpRenderTree/win/DumpRenderTree.cpp:
663         (enableExperimentalFeatures):
664
665 2017-11-22  Tim Horton <timothy_horton@apple.com> and Michael Catanzaro <mcatanzaro@igalia.com>
666
667         Remove build-webkit's notion of feature flags having a default value
668         https://bugs.webkit.org/show_bug.cgi?id=177338
669
670         Reviewed by Carlos Alberto Lopez Perez.
671
672         Delegate feature flag default values to the build system.
673         (FeatureDefines.xcconfig for Xcode, WebKitFeatures.cmake and Options*.cmake for CMake, and FeatureDefines.h for everyone)
674
675         * BuildSlaveSupport/build.webkit.org-config/config.json:
676         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
677         (Factory.__init__):
678         Update GTK and WPE buildbot configuration to use --no-experimental-features on old stable
679         bots instead of --default-cmake-features.
680  
681         * Scripts/build-webkit:
682         (cMakeArgsFromFeatures): Deleted.
683         Default feature values to 'undef'.
684         Remove the --default-cmake-features argument; it is now the default.
685         Add --no-experimental-features to replace it.
686         Stop printing the default feature flag value in the help.
687         Avoid propagating undefined values to the build system;
688         only mention flags that are overridden on the command line.
689
690         This has the nice side effect of using the default CMake features
691         for CMake builds, but still allowing toggling of them using the
692         prettier --FEATURE and --no-FEATURE arguments.
693
694         * Scripts/webkitdirs.pm:
695         (generateBuildSystemFromCMakeProject):
696         No longer need to suppress CMake warnings about unused arguments.
697
698         * Scripts/webkitperl/FeatureList.pm:
699         Remove the default values from the feature list.
700
701 2017-11-22  Mark Lam  <mark.lam@apple.com>
702
703         [Re-landing] Pass --useDollarVM=true to all JSC tests.
704         https://bugs.webkit.org/show_bug.cgi?id=179647
705
706         Reviewed by Saam Barati.
707
708         * Scripts/run-jsc-stress-tests:
709
710 2017-11-22  Commit Queue  <commit-queue@webkit.org>
711
712         Unreviewed, rolling out r225093.
713         https://bugs.webkit.org/show_bug.cgi?id=179938
714
715         Compilation failed on WinCairo 64-bit Release (Requested by
716         fredw on #webkit).
717
718         Reverted changeset:
719
720         "Implement VisualViewport API attributes"
721         https://bugs.webkit.org/show_bug.cgi?id=179385
722         https://trac.webkit.org/changeset/225093
723
724 2017-11-21  Ali Juma  <ajuma@chromium.org>
725
726         Implement VisualViewport API attributes
727         https://bugs.webkit.org/show_bug.cgi?id=179385
728
729         Reviewed by Frédéric Wang.
730
731         Enable the VisualViewportAPI in layout tests.
732
733         * DumpRenderTree/mac/DumpRenderTree.mm:
734         (enableExperimentalFeatures):
735         * DumpRenderTree/win/DumpRenderTree.cpp:
736         (enableExperimentalFeatures):
737
738 2017-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>
739
740         [WPE] Run unit tests in the bots
741         https://bugs.webkit.org/show_bug.cgi?id=179910
742
743         Reviewed by Michael Catanzaro.
744
745         Add a step to run unit tests in WPE test bots.
746
747         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
748         (RunGLibAPITests):
749         (RunGtkAPITests):
750         (RunWPEAPITests):
751         (TestFactory.__init__):
752         (RunGtkAPITests.start): Deleted.
753         (RunGtkAPITests.commandComplete): Deleted.
754         (RunGtkAPITests.evaluateCommand): Deleted.
755         (RunGtkAPITests.getText): Deleted.
756         (RunGtkAPITests.getText2): Deleted.
757         * wpe/jhbuild.modules: Upgrade WPEBackend-mesa to fix crashes when running unit tests.
758
759 2017-11-21  Tomas Popela  <tpopela@redhat.com>
760
761         Fix WebKitGTK+ compilation
762
763         Reviewed by Carlos Garcia Campos.
764
765         File "/builddir/build/BUILD/webkitgtk-2.19.2/Tools/gtk/generate-gtkdoc", line 31, in <module>
766         import common
767         ImportError: No module named common
768
769         * gtk/manifest.txt.in:
770         Add Tools/glib/common.py to the tarball.
771
772 2017-11-21  Ms2ger  <Ms2ger@igalia.com>
773
774         [GTK] Avoid warning in jhbuildrc.
775         https://bugs.webkit.org/show_bug.cgi?id=179913
776
777         Reviewed by Carlos Garcia Campos.
778
779         Apparently this is not quite a real python file; this declaration causes
780         warnings like
781           I: unknown keys defined in configuration file: top_level_directory
782         which break run-webkit-tests.
783
784         * gtk/jhbuildrc:
785
786 2017-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>
787
788         Unreviewed. Fix WPE make distcheck.
789
790         * wpe/manifest.txt.in: Add generate-inspector-gresource-manifest.py to the tarball.
791
792 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
793
794         Unreviewed. Fix GTK+ make distcheck.
795
796         * gtk/manifest.txt.in: Add generate-inspector-gresource-manifest.py to the tarball.
797
798 2017-11-20  Michael Catanzaro  <mcatanzaro@igalia.com>
799
800         [WPE] Disable ACCELERATED_2D_CANVAS in FeatureList.pm
801         https://bugs.webkit.org/show_bug.cgi?id=179889
802
803         Reviewed by Darin Adler.
804
805         * Scripts/webkitperl/FeatureList.pm:
806
807 2017-11-20  Michael Catanzaro  <mcatanzaro@igalia.com>
808
809         Unreviewed, speculative attempt to fix run-gtk-tests after r225047
810         https://bugs.webkit.org/show_bug.cgi?id=173772
811
812         * jhbuild/jhbuildutils.py:
813         (enter_jhbuild_environment_if_available):
814
815 2017-11-20  Mario Sanchez Prada  <mario@endlessm.com>
816
817         [GTK] New API to add, retrieve and delete cookies via WebKitCookieManager
818         https://bugs.webkit.org/show_bug.cgi?id=177932
819
820         Reviewed by Carlos Garcia Campos.
821
822         Added new test cases to cover the newly added API for WebKitCookieManager:
823         webkit_cookie_manager_add_cookie, webkit_cookie_manager_get_cookies and
824         webkit_cookie_manager_delete_cookie.
825
826         * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
827         (testCookieManagerAddCookie): Added.
828         (testCookieManagerGetCookies): Added.
829         (testCookieManagerDeleteCookie): Added.
830         (serverCallback): Small update to avoid hardcoding strings we reuse.
831         (beforeAll): Added the new test cases to the test suite.
832
833 2017-11-20  Stephan Szabo  <stephan.szabo@sony.com>
834
835         [Win] Update ruby JSC test writer for gigacage changes
836         https://bugs.webkit.org/show_bug.cgi?id=178757
837
838         Reviewed by Keith Miller.
839
840         * Scripts/webkitruby/jsc-stress-test-writer-ruby.rb:
841         Add additionalEnv to ruby test writer Plan
842
843 2017-11-20  Michael Catanzaro  <mcatanzaro@igalia.com>
844
845         Remove ENABLE_ALLINONE_BUILD option
846         https://bugs.webkit.org/show_bug.cgi?id=179823
847
848         Reviewed by Darin Adler.
849
850         * Scripts/webkitperl/FeatureList.pm:
851
852 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
853
854         Unreviewed. Fix WPE build after r225047.
855
856         Remove changes from an old patch committed by mistake in r225047.
857
858         * WebKitTestRunner/PlatformWebView.h:
859         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
860         (WTR::PlatformWebView::windowSnapshotImage):
861
862 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
863
864         [WPE] Add run-wpe-tests script to run WPE glib API tests
865         https://bugs.webkit.org/show_bug.cgi?id=173772
866
867         Reviewed by Michael Catanzaro.
868
869         Move common code from run-gtk-tests to api_test_runner.py, to be shared by both run-gtk-tests and un-wpe-tests.
870
871         * Scripts/run-gtk-tests:
872         (GtkTestRunner):
873         (GtkTestRunner.__init__):
874         (GtkTestRunner._start_accessibility_daemons):
875         (GtkTestRunner._setup_testing_environment):
876         (GtkTestRunner._tear_down_testing_environment):
877         (GtkTestRunner.is_glib_test):
878         (GtkTestRunner.is_google_test):
879         * Scripts/run-wpe-tests: Added.
880         (WPETestRunner):
881         (WPETestRunner.__init__):
882         (WPETestRunner.is_glib_test):
883         (WPETestRunner.is_google_test):
884         * Scripts/webkitpy/port/headlessdriver.py: Added.
885         (HeadlessDriver):
886         (HeadlessDriver._setup_environ_for_test):
887         (HeadlessDriver._start):
888         * Scripts/webkitpy/port/headlessdriver_unittest.py: Added.
889         (HeadlessDriverTest):
890         (HeadlessDriverTest.make_driver):
891         (HeadlessDriverTest.make_environment):
892         (HeadlessDriverTest.test_environment_needed_variables):
893         (HeadlessDriverTest.test_environment_forbidden_variables):
894         * Scripts/webkitpy/port/wpe.py:
895         (WPEPort._driver_class):
896         * WebKitTestRunner/PlatformWebView.h:
897         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
898         (WTR::PlatformWebView::windowSnapshotImage):
899         * glib/api_test_runner.py: Copied from Tools/Scripts/run-gtk-tests.
900         (SkippedTest):
901         (SkippedTest.__init__):
902         (SkippedTest.__str__):
903         (SkippedTest.skip_entire_suite):
904         (SkippedTest.skip_for_build_type):
905         (TestTimeout):
906         (TestRunner):
907         (TestRunner.__init__):
908         (TestRunner._test_programs_base_dir):
909         (TestRunner._get_tests_from_dir):
910         (TestRunner._get_tests):
911         (TestRunner._create_driver):
912         (TestRunner._setup_testing_environment):
913         (TestRunner._tear_down_testing_environment):
914         (TestRunner._test_cases_to_skip):
915         (TestRunner._should_run_test_program):
916         (TestRunner._kill_process):
917         (TestRunner._start_timeout):
918         (TestRunner._start_timeout._alarm_handler):
919         (TestRunner._stop_timeout):
920         (TestRunner._waitpid):
921         (TestRunner._run_test_glib):
922         (TestRunner._run_test_glib.parse_line):
923         (TestRunner._run_test_glib.parse_line.set_test_result):
924         (TestRunner._get_tests_from_google_test_suite):
925         (TestRunner._run_google_test):
926         (TestRunner._run_google_test_suite):
927         (TestRunner.is_glib_test):
928         (TestRunner.is_google_test):
929         (TestRunner._run_test):
930         (TestRunner.run_tests):
931         (add_options):
932         * glib/common.py: Renamed from Tools/gtk/common.py.
933         (get_build_path.is_valid_build_directory):
934         * gtk/generate-gtkdoc:
935         * gtk/jhbuildrc:
936         * gtk/ycm_extra_conf.py:
937
938 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
939
940         [WPE] Build C API tests
941         https://bugs.webkit.org/show_bug.cgi?id=179817
942
943         Reviewed by Michael Catanzaro.
944
945         * TestWebKitAPI/CMakeLists.txt:
946         * TestWebKitAPI/PlatformGTK.cmake:
947         * TestWebKitAPI/PlatformWPE.cmake:
948         * TestWebKitAPI/PlatformWebView.h:
949         * TestWebKitAPI/wpe/PlatformUtilitiesWPE.cpp:
950         (TestWebKitAPI::Util::URLForNonExistentResource):
951         (TestWebKitAPI::Util::isKeyDown):
952         * TestWebKitAPI/wpe/PlatformWebViewWPE.cpp: Added.
953         (TestWebKitAPI::PlatformWebView::PlatformWebView):
954         (TestWebKitAPI::PlatformWebView::~PlatformWebView):
955         (TestWebKitAPI::PlatformWebView::initialize):
956         (TestWebKitAPI::PlatformWebView::page const):
957         (TestWebKitAPI::PlatformWebView::resizeTo):
958         (TestWebKitAPI::PlatformWebView::simulateSpacebarKeyPress):
959         (TestWebKitAPI::PlatformWebView::simulateAltKeyPress):
960         (TestWebKitAPI::PlatformWebView::simulateRightClick):
961         (TestWebKitAPI::PlatformWebView::simulateMouseMove):
962
963 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
964
965         [WPE] Add env var WPE_USE_HEADLESS_VIEW_BACKEND
966         https://bugs.webkit.org/show_bug.cgi?id=173770
967
968         Reviewed by Michael Catanzaro.
969
970         Move HeadlessViewBackend implementation to a common place and build it as a private static library to be used by
971         WTR, GLib API tests and eventually C API tests too. WTR uses the HeadlessViewBackend unconditionally, but GLib
972         API tests use it only when WPE_USE_HEADLESS_VIEW_BACKEND environment variable is present and not "0".
973
974         * CMakeLists.txt: Include wpe/HeadlessViewBackend directory for developer builds.
975         * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
976         (testAutomationSessionRequestSession):
977         * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
978         (testCookieManagerEphemeral):
979         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
980         (testPrivateBrowsing):
981         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
982         (testWebContextProxySettings):
983         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
984         (testWebViewWebContext):
985         (testWebViewEphemeral):
986         * TestWebKitAPI/glib/PlatformWPE.cmake:
987         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
988         (Test::createWebViewBackend):
989         (Test::createWebView):
990         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
991         (WebViewTest::initializeWebView):
992         * WebKitTestRunner/PlatformWPE.cmake:
993         * wpe/HeadlessViewBackend/CMakeLists.txt: Added.
994         * wpe/HeadlessViewBackend/HeadlessViewBackend.cpp: Renamed from Tools/WebKitTestRunner/wpe/HeadlessViewBackend.cpp.
995         (HeadlessViewBackend::HeadlessViewBackend):
996         * wpe/HeadlessViewBackend/HeadlessViewBackend.h: Renamed from Tools/WebKitTestRunner/wpe/HeadlessViewBackend.h.
997
998 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
999
1000         [WPE] webkit_web_view_new() should enable specifying wpe_view_backend object
1001         https://bugs.webkit.org/show_bug.cgi?id=178655
1002
1003         Reviewed by Michael Catanzaro.
1004
1005         Update unit tests to create web views using helper methods that have a different implementation for GTK and
1006         WPE. Also add a new test case to check the new API to create a WebKitWebView with a WPE backend. Use
1007         WKViewCreate in WTR and fix a memory leak in HeadlessViewBackend.
1008
1009         * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
1010         (testAutomationSessionRequestSession):
1011         * TestWebKitAPI/Tests/WebKitGLib/TestBackForwardList.cpp:
1012         (testWebKitWebViewSessionState):
1013         (testWebKitWebViewSessionStateWithFormData):
1014         (testWebKitWebViewNavigationAfterSessionRestore):
1015         * TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp:
1016         * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
1017         (testWebResourceGetDataError):
1018         * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
1019         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
1020         (testWebViewNewWithUserContentManager):
1021         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
1022         (testWebContextEphemeral):
1023         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
1024         (testWebViewWebContext):
1025         (testWebViewWebContextLifetime):
1026         (testWebViewWebBackend):
1027         (testWebViewSettings):
1028         (beforeAll):
1029         * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
1030         (testWebsiteDataEphemeral):
1031         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
1032         (Test::createWebView):
1033         * WebKitTestRunner/wpe/HeadlessViewBackend.cpp:
1034         (HeadlessViewBackend::~HeadlessViewBackend):
1035         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
1036         (WTR::PlatformWebView::PlatformWebView):
1037
1038 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
1039
1040         [GTK][WPE] webkit_cookie_manager_delete_all_cookies doesn't delete the cookies if called before a web process is running
1041         https://bugs.webkit.org/show_bug.cgi?id=175265
1042
1043         Reviewed by Michael Catanzaro.
1044
1045         Add test case.
1046
1047         * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
1048         (testCookieManagerPersistentStorageDeleteAll):
1049         (serverCallback):
1050         (beforeAll):
1051
1052 2017-11-19  Tim Horton  <timothy_horton@apple.com>
1053
1054         Remove unused TOUCH_ICON_LOADING feature flag
1055         https://bugs.webkit.org/show_bug.cgi?id=179873
1056
1057         Reviewed by Simon Fraser.
1058
1059         * Scripts/webkitperl/FeatureList.pm:
1060         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1061
1062 2017-11-19  Tim Horton  <timothy_horton@apple.com>
1063
1064         Remove unused LEGACY_VENDOR_PREFIXES feature flag
1065         https://bugs.webkit.org/show_bug.cgi?id=179872
1066
1067         Reviewed by Darin Adler.
1068
1069         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1070
1071 2017-11-19  Yusuke Suzuki  <utatane.tea@gmail.com>
1072
1073         Unreviewed, rolling out r225016.
1074
1075         Break webkit-patch on Ubuntu and Debian Linux
1076
1077         Reverted changeset:
1078
1079         "webkitpy: Better name-version mapping (Part 1)"
1080         https://bugs.webkit.org/show_bug.cgi?id=179621
1081         https://trac.webkit.org/changeset/225016
1082
1083 2017-11-18  Jonathan Bedard  <jbedard@apple.com>
1084
1085         webkitpy: Better name-version mapping (Part 1)
1086         https://bugs.webkit.org/show_bug.cgi?id=179621
1087         <rdar://problem/35589585>
1088
1089         Reviewed by David Kilzer.
1090
1091         Mapping version numbers to version names should occur in a central location.
1092         This has a few advantages. First, it makes iterating through versions easier.
1093         Second, it allows for apple_additions to define an additional set of name
1094         mappings. Lastly, it will allow, in a future patch, for us to track version
1095         instead of version name, only mapping version to version name when required.
1096
1097         * Scripts/webkitpy/common/system/platforminfo.py:
1098         (PlatformInfo.__init__):
1099         (PlatformInfo._determine_os_name): Use VersionNameMap instead of custom functions
1100         mapping version to name.
1101         (PlatformInfo._determine_linux_version): Deleted.
1102         (PlatformInfo._determine_mac_version): Deleted.
1103         (PlatformInfo._determine_win_version): Deleted.
1104         * Scripts/webkitpy/common/system/platforminfo_unittest.py:
1105         (TestPlatformInfo.test_os_name_and_wrappers):
1106         (TestPlatformInfo.test_os_version):
1107         (TestPlatformInfo.test_display_name):
1108         (TestPlatformInfo.test_total_bytes_memory):
1109         * Scripts/webkitpy/common/version.py:
1110         (Version.contained_in): Add partial version mapping.
1111         * Scripts/webkitpy/common/version_name_map.py: Added.
1112         (VersionNameMap): Holds a mapping of version name to version object.
1113         (VersionNameMap.map): Don't re-create VersionNameMap every time.
1114         (VersionNameMap.__init__): Initialize mapping, use platform to
1115         define the default system platform.
1116         (VersionNameMap._automap_to_major_version): Some operating systems, such
1117         as iOS, have a naming scheme based on their major version and os name.
1118         Automatically generate such mappings.
1119         (VersionNameMap.to_name): Given a version object, platform name and
1120         table, find the closest matching version name.
1121         (VersionNameMap.strip_name_formatting): Remove spaces and extract the major version,
1122         if a version string is included in the name.
1123         (VersionNameMap.from_name): Return an os name and version given a version name.
1124         * Scripts/webkitpy/common/version_name_map_unittest.py: Added.
1125         (VersionMapTestCase):
1126         (VersionMapTestCase.test_default_system_platform):
1127         (VersionMapTestCase.test_mac_version_by_name):
1128         (VersionMapTestCase.test_ios_version_by_name):
1129         (VersionMapTestCase.test_mac_name_by_version):
1130         (VersionMapTestCase.test_ios_name_by_version):
1131         * Scripts/webkitpy/common/version_unittest.py:
1132         (VersionTestCase.test_contained_in):
1133
1134 2017-11-17  John Wilander  <wilander@apple.com>
1135
1136         Storage Access API: UI process should update network process about granted access
1137         https://bugs.webkit.org/show_bug.cgi?id=176943
1138         <rdar://problem/34440612>
1139
1140         Reviewed by Alex Christensen.
1141
1142         This adds the TestRunner function setStatisticsHasHadNonRecentUserInteraction()
1143         which enables testing of prevalent resources with user interaction outside the
1144         24 hour window.
1145
1146         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1147         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1148         (WTR::TestRunner::setStorageAccessAPIEnabled):
1149         (WTR::TestRunner::setStatisticsHasHadNonRecentUserInteraction):
1150         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1151         * WebKitTestRunner/TestController.cpp:
1152         (WTR::TestController::setStatisticsHasHadNonRecentUserInteraction):
1153         * WebKitTestRunner/TestController.h:
1154         * WebKitTestRunner/TestInvocation.cpp:
1155         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1156         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
1157         (WTR::initializeWebViewConfiguration):
1158         (WTR::TestController::setStatisticsHasHadNonRecentUserInteraction):
1159
1160 2017-11-17  Ryan Haddad  <ryanhaddad@apple.com>
1161
1162         Disable failing API tests for rdar://problem/35344202.
1163
1164         Unreviewed test gardening.
1165
1166         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
1167
1168 2017-11-17  Joanmarie Diggs  <jdiggs@igalia.com>
1169
1170         AX: [ATK] Fix WKTR's methods for testing row header and column header presence and count
1171         https://bugs.webkit.org/show_bug.cgi?id=179837
1172
1173         Reviewed by Chris Fleizach.
1174
1175         Add support to rowHeaders() for tables. Return an empty array in rowHeaders()
1176         and columnHeaders() upon failure. Rename getRowHeaders() and getColumnHeaders()
1177         to getTableRowHeaders() and getTableColumnHeaders() respectively.
1178
1179         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
1180         (WTR::AccessibilityUIElement::rowHeaders const):
1181         (WTR::AccessibilityUIElement::columnHeaders const):
1182         (WTR::AccessibilityUIElement::attributesOfColumnHeaders):
1183         (WTR::AccessibilityUIElement::attributesOfRowHeaders):
1184
1185 2017-11-16  Don Olmstead  <don.olmstead@sony.com>
1186
1187         [WinCairo] Update WinCairoRequirements
1188         https://bugs.webkit.org/show_bug.cgi?id=179790
1189
1190         Reviewed by Alex Christensen.
1191
1192         * TestWebKitAPI/PlatformWin.cmake:
1193
1194 2017-11-16  Daniel Bates  <dabates@apple.com>
1195
1196         Add feature define for alternative presentation button element
1197         https://bugs.webkit.org/show_bug.cgi?id=179692
1198         Part of <rdar://problem/34917108>
1199
1200         Reviewed by Andy Estes.
1201
1202         Only enabled on Cocoa platforms by default.
1203
1204         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1205
1206 2017-11-16  Per Arne Vollan  <pvollan@apple.com>
1207
1208         Win EWS bots should reboot after N webkit-patch iterations.
1209         https://bugs.webkit.org/show_bug.cgi?id=177970
1210
1211         Reviewed by Brent Fulgham.
1212
1213         * EWSTools/start-queue-win.sh:
1214
1215 2017-11-15  Carlos Garcia Campos  <cgarcia@igalia.com>
1216
1217         [WPE] Add initial support for WebDriver
1218         https://bugs.webkit.org/show_bug.cgi?id=179727
1219
1220         Reviewed by Michael Catanzaro.
1221
1222         Make it possible to run WebDriver tests with WPE.
1223
1224         * Scripts/run-webdriver-tests: Add --wpe alias for --platform=wpe.
1225         * Scripts/webkitpy/port/wpe.py:
1226         (WPEPort.__init__): Initialize _display_server from options.
1227         (WPEPort._driver_class): Use WaylandDriver when wayland is passed as display server option.
1228         * Scripts/webkitpy/webdriver_tests/webdriver_driver.py:
1229         (WebDriver.browser_env): Add virtual method to get the environment that should be used.
1230         * Scripts/webkitpy/webdriver_tests/webdriver_driver_wpe.py: Copied from Tools/Scripts/webkitpy/webdriver_tests/webdriver_driver.py.
1231         (WebDriverWPE):
1232         (WebDriverWPE.__init__):
1233         (WebDriverWPE.binary_path):
1234         (WebDriverWPE.browser_name):
1235         (WebDriverWPE.capabilities):
1236         (WebDriverWPE.browser_env):
1237         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
1238         (WebDriverW3CExecutor.__init__): Update the environment with the one provided by the driver.
1239         * wpe/jhbuild.modules: Upgrade dyz to newer version that supports automation.
1240
1241 2017-11-15  Alex Christensen  <achristensen@webkit.org>
1242
1243         WebViews scheduled in custom run loop modes should be able to do more than 50ms of work at a time
1244         https://bugs.webkit.org/show_bug.cgi?id=179742
1245         <rdar://problem/35519421>
1246
1247         Reviewed by Jer Noble.
1248
1249         * TestWebKitAPI/Tests/mac/WebViewScheduleInRunLoop.mm:
1250         (-[ScheduleInRunLoopDelegate webView:didFinishLoadForFrame:]):
1251         (TestWebKitAPI::TEST):
1252         Load more than one scheduled WebView to test work that typically takes more than 50 ms.
1253
1254 2017-11-15  Ryan Haddad  <ryanhaddad@apple.com>
1255
1256         Unreviewed, rolling out r223781.
1257
1258         The test is now returning false, so the FIXME is not needed
1259         anymore.
1260
1261         Reverted changeset:
1262
1263         "WebsiteDataStoreCustomPaths.mm is failing after r223718"
1264         https://bugs.webkit.org/show_bug.cgi?id=178596
1265         https://trac.webkit.org/changeset/223781
1266
1267 2017-11-15  Ryan Haddad  <ryanhaddad@apple.com>
1268
1269         Unreviewed, rolling out r224863.
1270
1271         Introduced LayoutTest crashes on iOS Simulator.
1272
1273         Reverted changeset:
1274
1275         "Move JSONValues to WTF and convert uses of InspectorValues.h
1276         to JSONValues.h"
1277         https://bugs.webkit.org/show_bug.cgi?id=173793
1278         https://trac.webkit.org/changeset/224863
1279
1280 2017-11-15  Michael Catanzaro  <mcatanzaro@igalia.com>
1281
1282         Remove GTK web inspector images
1283         https://bugs.webkit.org/show_bug.cgi?id=179716
1284
1285         Reviewed by Carlos Garcia Campos.
1286
1287         * Scripts/webkitdirs.pm:
1288         (shouldRemoveCMakeCache):
1289         * glib/generate-inspector-gresource-manifest.py:
1290         (get_filenames.should_ignore_resource):
1291         * gtk/manifest.txt.in:
1292         * wpe/manifest.txt.in:
1293
1294 2017-11-15  Jonathan Bedard  <jbedard@apple.com>
1295
1296         REGRESSION(r221877): 'future' handled incorrectly for mac
1297         https://bugs.webkit.org/show_bug.cgi?id=179711
1298         <rdar://problem/35546604>
1299
1300         Reviewed by Alex Christensen.
1301
1302         * Scripts/webkitpy/port/mac.py:
1303         (MacPort.default_baseline_search_path): Use platform/mac-<version> instead of
1304         platform/<version> as the baseline search path.
1305
1306 2017-11-14  Nan Wang  <n_wang@apple.com>
1307
1308         AX: AOM: Implement AccessibleNode class and support label and role attributes
1309         https://bugs.webkit.org/show_bug.cgi?id=179494
1310
1311         Reviewed by Ryosuke Niwa.
1312
1313         * DumpRenderTree/mac/DumpRenderTree.mm:
1314         (enableExperimentalFeatures):
1315         * WebKitTestRunner/TestController.cpp:
1316         (WTR::TestController::resetPreferencesToConsistentValues):
1317
1318 2017-11-14  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1319
1320         [Windows] Fix error while launching subprocess on Windows Python
1321         https://bugs.webkit.org/show_bug.cgi?id=179637
1322
1323         Reviewed by Alex Christensen.
1324
1325         To pass environment variables to subprocess.popen on Windows Python 2,
1326         the dict values must be str not unicode.
1327         Also is_native_win() method is added to port.
1328
1329         * Scripts/webkitpy/common/system/platforminfo.py:
1330         (PlatformInfo.is_native_win):
1331         * Scripts/webkitpy/common/system/platforminfo_mock.py:
1332         (MockPlatformInfo.is_native_win):
1333         * Scripts/webkitpy/common/system/platforminfo_unittest.py:
1334         (TestPlatformInfo.test_os_name_and_wrappers):
1335         * Scripts/webkitpy/port/server_process.py:
1336         (ServerProcess.__init__):
1337
1338 2017-11-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1339
1340         Move JSONValues to WTF and convert uses of InspectorValues.h to JSONValues.h
1341         https://bugs.webkit.org/show_bug.cgi?id=173793
1342
1343         Reviewed by Brian Burg.
1344
1345         * TestWebKitAPI/CMakeLists.txt:
1346         * TestWebKitAPI/PlatformGTK.cmake:
1347         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1348         * TestWebKitAPI/Tests/WTF/JSONValue.cpp: Renamed from Tools/TestWebKitAPI/Tests/JavaScriptCore/InspectorValue.cpp.
1349         (TestWebKitAPI::TEST):
1350
1351 2017-11-14  Jonathan Bedard  <jbedard@apple.com>
1352
1353         webkitpy: Use more verbose version info from simctl
1354         https://bugs.webkit.org/show_bug.cgi?id=179687
1355         <rdar://problem/35539392>
1356
1357         Reviewed by Tim Horton.
1358
1359         * Scripts/webkitpy/xcode/simulator.py:
1360         (Simulator): Address FIXME, use more verbose version.
1361         (Simulator._parse_runtimes): 'Internal' no longer stands along, check os for this
1362         string instead.
1363         * Scripts/webkitpy/xcode/simulator_unittest.py: Mock simctl output specifies iOS
1364         8.4.1, not iOS 8.4.
1365
1366 2017-11-14  Daniel Bates  <dabates@apple.com>
1367
1368         Update comment in FeatureDefines.xcconfig to reflect location of Visual Studio property files
1369         for feature defines
1370
1371         Following r195498 and r201917 the Visual Studio property files for feature defines have
1372         moved from directory WebKitLibraries/win/tools/vsprops to directory Source/cmake/tools/vsprops.
1373         Update the comment in FeatureDefines.xcconfig to reflect the new location and names of these
1374         files.
1375
1376         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1377
1378 2017-11-14  Jer Noble  <jer.noble@apple.com>
1379
1380         Enable Modern EME tests in DumpRenderTree
1381         https://bugs.webkit.org/show_bug.cgi?id=179544
1382
1383         Reviewed by Alex Christensen.
1384
1385         * DumpRenderTree/mac/DumpRenderTree.mm:
1386         (enableExperimentalFeatures):
1387
1388 2017-11-14  Commit Queue  <commit-queue@webkit.org>
1389
1390         Unreviewed, rolling out r224800.
1391         https://bugs.webkit.org/show_bug.cgi?id=179684
1392
1393         "Broke CLoop test mozilla/js1_6/Array/regress-304828.js"
1394         (Requested by mlam on #webkit).
1395
1396         Reverted changeset:
1397
1398         "Pass --useDollarVM=true to all JSC tests."
1399         https://bugs.webkit.org/show_bug.cgi?id=179647
1400         https://trac.webkit.org/changeset/224800
1401
1402 2017-11-14  Antti Koivisto  <antti@apple.com>
1403
1404         Enable display:contents by default
1405         https://bugs.webkit.org/show_bug.cgi?id=179655
1406
1407         Reviewed by Sam Weinig.
1408
1409         No need to enable this specifically for tests anymore.
1410
1411         * DumpRenderTree/mac/DumpRenderTree.mm:
1412         (enableExperimentalFeatures):
1413         * WebKitTestRunner/TestController.cpp:
1414         (WTR::TestController::resetPreferencesToConsistentValues):
1415
1416 2017-11-14  Tim Horton  <timothy_horton@apple.com>
1417
1418         Long pressing a phone number with spaces in it results in a link sheet instead of a data detectors sheet
1419         https://bugs.webkit.org/show_bug.cgi?id=179646
1420         <rdar://problem/35337288>
1421
1422         Reviewed by Simon Fraser.
1423
1424         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
1425         (-[ActionSheetObserver _dataDetectionContextForWebView:]):
1426         (TestWebKitAPI::TEST):
1427         Add a test that ensures that a phone number with spaces in it
1428         invokes a data detectors sheet, not a normal link sheet.
1429
1430 2017-11-14  Emilio Cobos Álvarez  <emilio@crisal.io>
1431
1432         Add committer status for Emilio Cobos Álvarez.
1433         https://bugs.webkit.org/show_bug.cgi?id=179667
1434
1435         Unreviewed.
1436
1437         * Scripts/webkitpy/common/config/contributors.json:
1438
1439 2017-11-13  Mark Lam  <mark.lam@apple.com>
1440
1441         Pass --useDollarVM=true to all JSC tests.
1442         https://bugs.webkit.org/show_bug.cgi?id=179647
1443
1444         Reviewed by Saam Barati.
1445
1446         * Scripts/run-jsc-stress-tests:
1447
1448 2017-11-13  Simon Fraser  <simon.fraser@apple.com>
1449
1450         When navigating back to a page, compositing layers may not use accelerated drawing
1451         https://bugs.webkit.org/show_bug.cgi?id=178749
1452         rdar://problem/35158946
1453
1454         Reviewed by Dean Jackson.
1455
1456         Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
1457         and use it to set the state of the web view.
1458
1459         * DumpRenderTree/TestOptions.h:
1460         * DumpRenderTree/TestOptions.mm:
1461         (TestOptions::TestOptions):
1462         * DumpRenderTree/mac/DumpRenderTree.mm:
1463         (setWebPreferencesForTestOptions):
1464         * WebKitTestRunner/TestController.cpp:
1465         (WTR::TestController::resetPreferencesToConsistentValues):
1466         (WTR::updateTestOptionsFromTestHeader):
1467         * WebKitTestRunner/TestOptions.h:
1468         (WTR::TestOptions::hasSameInitializationOptions const):
1469
1470 2017-11-13  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1471
1472         [Windows] Fix Python error for subprocess.popen with close_fds
1473         https://bugs.webkit.org/show_bug.cgi?id=179553
1474
1475         Reviewed by Per Arne Vollan.
1476
1477         * Scripts/webkitpy/port/server_process.py:
1478         (ServerProcess._start):
1479         (ServerProcess._should_close_fds):
1480
1481 2017-11-13  Michael Catanzaro  <mcatanzaro@igalia.com>
1482
1483         [GTK] Require woff2 1.0.2 and drop direct brotli dependency
1484         https://bugs.webkit.org/show_bug.cgi?id=179630
1485
1486         Reviewed by Frédéric Wang.
1487
1488         * gtk/jhbuild.modules:
1489
1490 2017-11-08  Keith Miller  <keith_miller@apple.com>
1491
1492         Async iteration should only fetch the next method once and add feature flag
1493         https://bugs.webkit.org/show_bug.cgi?id=179451
1494
1495         Reviewed by Geoffrey Garen.
1496
1497         Add feature flag for Async iteration.
1498
1499         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1500
1501 2017-11-13  Gabriel Ivascu  <givascu@igalia.com>
1502
1503         [GTK] Automatically adjust font size when gtk-xft-dpi changes
1504         https://bugs.webkit.org/show_bug.cgi?id=142673
1505
1506         Reviewed by Michael Catanzaro.
1507
1508         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
1509         (testWebKitSettings):
1510
1511 2017-11-13  Jonathan Bedard  <jbedard@apple.com>
1512
1513         check-webkit-style cannot construct valid iOS version without an iOS SDK
1514         https://bugs.webkit.org/show_bug.cgi?id=179616
1515         <rdar://problem/35507018>
1516
1517         Reviewed by David Kilzer.
1518
1519         Instead of throwing an exception when we ask for an unavailable SDK on Mac,
1520         we should return None.
1521
1522         * Scripts/webkitpy/common/system/platforminfo.py:
1523         (PlatformInfo.xcode_sdk_version): Return 'None' version if the machine does not
1524         have the requested SDK.
1525
1526 2017-11-13  Keith Miller  <keith_miller@apple.com>
1527
1528         Uninitialized variable in sort-Xcode-project-file
1529         https://bugs.webkit.org/show_bug.cgi?id=179581
1530
1531         Reviewed by Simon Fraser.
1532
1533         Previously all the unified source files were named
1534         UnifiedSource<some-number>.mm. This was changed to
1535         UnifiedSource<some-number>-mm.mm to stop Xcode from creating
1536         hashes for mm and cpp unified source files with the same
1537         number. This broke the expectations in sort-Xcode-project-file.
1538
1539         * Scripts/sort-Xcode-project-file:
1540         (sortChildrenByFileName):
1541         (sortFilesByFileName):
1542
1543 2017-11-13  JF Bastien  <jfbastien@apple.com>
1544
1545         std::expected: fix and test move
1546         https://bugs.webkit.org/show_bug.cgi?id=179617
1547
1548         Reviewed by Alex Christensen.
1549
1550         Test that unique_ptr can be moved around properly, both has a
1551         value and an error (and in a <void, unique> specialization).
1552
1553         * TestWebKitAPI/Tests/WTF/Expected.cpp:
1554         (TestWebKitAPI::snowflake::reset):
1555         (TestWebKitAPI::snowflake::snowflake):
1556         (TestWebKitAPI::snowflake::~snowflake):
1557         (TestWebKitAPI::TEST):
1558
1559 2017-11-13  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1560
1561         [Windows] Make the port's normalize_test_name() method platform independent.
1562         https://bugs.webkit.org/show_bug.cgi?id=179572
1563
1564         Reviewed by Alexey Proskuryakov.
1565
1566         * Scripts/webkitpy/port/base.py:
1567         (Port.normalize_test_name):
1568
1569 2017-11-13  Wenson Hsieh  <wenson_hsieh@apple.com>
1570
1571         [Attachment Support] Implement SPI for clients to request data for a given attachment
1572         https://bugs.webkit.org/show_bug.cgi?id=179586
1573         <rdar://problem/35355720>
1574
1575         Reviewed by Darin Adler.
1576
1577         Augments existing API tests in WKAttachmentTests to additionally check that -requestData: yields the correct
1578         result when performing various editing operations. Also adds a new API test that cuts and pastes an attachment
1579         inserted using WKWebView attachment SPI, and expects that the data of the attachment can still be fetched using
1580         the _WKAttachment SPI, as well as another test that inserts an empty NSData and expects that requestData: also
1581         yields an empty NSData result.
1582
1583         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1584         (-[NSData shortDescription]):
1585         (-[_WKAttachment synchronouslyRequestData:]):
1586         (-[_WKAttachment expectRequestedDataToBe:]):
1587         (TestWebKitAPI::TEST):
1588
1589 2017-11-12  Gabriel Ivascu  <givascu@igalia.com>
1590
1591         [GTK] Add functionality to handle font sizes in points
1592         https://bugs.webkit.org/show_bug.cgi?id=179285
1593
1594         Reviewed by Carlos Garcia Campos and Michael Catanzaro.
1595
1596         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
1597         (testWebKitSettings):
1598
1599 2017-11-10  Fujii Hironori  <Hironori.Fujii@sony.com>
1600
1601         check-webkit-style: AttributeError: 'NoneType' object has no attribute 'major'
1602         https://bugs.webkit.org/show_bug.cgi?id=179522
1603
1604         Reviewed by Aakash Jain.
1605
1606         IOSSimulatorPort.ios_version should return a Version object.
1607
1608         * Scripts/webkitpy/port/ios_simulator.py:
1609         (IOSSimulatorPort.ios_version): Return a Version object.
1610
1611 2017-11-10  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1612
1613         [Win] The way to detect Windows 10 is wrong
1614         https://bugs.webkit.org/show_bug.cgi?id=179344
1615
1616         Reviewed by Alex Christensen.
1617
1618         * Scripts/webkitpy/common/system/platforminfo.py:
1619         (PlatformInfo._determine_win_version):
1620
1621 2017-11-10  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1622
1623         [WinCairo] LayoutTests doesn't read TextExpectations files correctly
1624         https://bugs.webkit.org/show_bug.cgi?id=179219
1625
1626         Reviewed by Alex Christensen.
1627
1628         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
1629         (TestExpectationParser._parse_line):
1630         * Scripts/webkitpy/port/apple.py:
1631         (ApplePort.__init__):
1632         (ApplePort._allowed_port_names):
1633         (ApplePort):
1634         (ApplePort._future_port_name):
1635         (ApplePort._generate_all_test_configurations):
1636         * Scripts/webkitpy/port/win.py:
1637         (WinCairoPort.default_baseline_search_path):
1638         (WinCairoPort):
1639         (WinCairoPort._future_port_name):
1640
1641 2017-11-10  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1642
1643         [WinCairo] Treat 'future' version correctly
1644         https://bugs.webkit.org/show_bug.cgi?id=179345
1645
1646         Reviewed by Alex Christensen.
1647
1648         * Scripts/webkitpy/port/win.py:
1649         (WinCairoPort.default_baseline_search_path):
1650
1651 2017-11-10  Wenson Hsieh  <wenson_hsieh@apple.com>
1652
1653         Finish rolling out r224544
1654
1655         Rubber-stamped by Tim Horton.
1656
1657         Now that https://bugs.webkit.org/show_bug.cgi?id=179431 has been fixed, we can once again allow one of the API
1658         tests added in r224512 (WKAttachmentTests.AttachmentUpdatesWhenChangingFontStyles) to test toggling underline
1659         style with a selected attachment element.
1660
1661         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1662         (TestWebKitAPI::TEST):
1663
1664 2017-11-10  Alex Christensen  <achristensen@webkit.org>
1665
1666         _WKThumbnailView initialization with WKWebView needs to call correct initWithFrame
1667         https://bugs.webkit.org/show_bug.cgi?id=179537
1668         <rdar://problem/35275219>
1669
1670         Reviewed by Darin Adler.
1671
1672         * TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm:
1673         (-[WKThumbnailViewDelegate webView:didFinishNavigation:]):
1674         (TestWebKitAPI::TEST):
1675
1676 2017-11-10  Jonathan Bedard  <jbedard@apple.com>
1677
1678         webkitpy: Remove find_system_pid from port classes
1679         https://bugs.webkit.org/show_bug.cgi?id=179514
1680         <rdar://problem/35456900>
1681
1682         Reviewed by David Kilzer.
1683
1684         Removing dead code.
1685
1686         * Scripts/webkitpy/port/base.py:
1687         (Port.find_system_pid): Deleted.
1688         * Scripts/webkitpy/port/server_process.py:
1689         (ServerProcess._start):
1690         * Scripts/webkitpy/port/win.py:
1691         (WinPort.find_system_pid): Deleted.
1692
1693 2017-11-10  Aakash Jain  <aakash_jain@apple.com>
1694
1695         fix style failures in webkitpy: multiple statements on one line (semicolon)
1696         https://bugs.webkit.org/show_bug.cgi?id=179530
1697
1698         Reviewed by Alex Christensen.
1699
1700         * Scripts/webkitpy/common/net/buildbot/buildbot.py: Removed semicolon.
1701         * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: Ditto.
1702         * Scripts/webkitpy/tool/steps/runtests.py: Ditto.
1703
1704 2017-11-10  Aakash Jain  <aakash_jain@apple.com>
1705
1706         fix style failures in webkitpy: expected 2 blank lines found 1
1707         https://bugs.webkit.org/show_bug.cgi?id=179529
1708
1709         Reviewed by Alex Christensen.
1710
1711         * Scripts/webkitpy/benchmark_runner/run_benchmark.py: Added a blank line to follow style guidelines.
1712         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py: Ditto.
1713         * Scripts/webkitpy/common/system/platforminfo_mock.py: Ditto.
1714         * Scripts/webkitpy/common/version.py: Ditto.
1715         * Scripts/webkitpy/layout_tests/models/test_failures.py: Ditto.
1716         * Scripts/webkitpy/port/mac_unittest.py: Ditto.
1717         * Scripts/webkitpy/port/simulator_process.py: Ditto.
1718
1719 2017-11-10  Alex Christensen  <achristensen@webkit.org>
1720
1721         REGRESSION(r224267): WebViews scheduled with custom run loop modes don't load
1722         https://bugs.webkit.org/show_bug.cgi?id=179515
1723
1724         Reviewed by Andy Estes.
1725
1726         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1727         * TestWebKitAPI/Tests/mac/WebViewScheduleInRunLoop.mm: Added.
1728         (-[ScheduleInRunLoopDelegate webView:didFinishLoadForFrame:]):
1729         (TestWebKitAPI::TEST):
1730
1731 2017-11-10  Fujii Hironori  <Hironori.Fujii@sony.com>
1732
1733         [webkitpy] Fix PlatformInfo._win_version since r224657
1734         https://bugs.webkit.org/show_bug.cgi?id=179520
1735
1736         Reviewed by Aakash Jain.
1737
1738         There are two problems.
1739
1740         The return value of sys.getwindowsversion() doesn't match with
1741         Version.__init__ expects. Truncate the 4th and 5th of it.
1742
1743         _win_version_tuple_from_cmd was deleted in r224657. But, it is
1744         still needed for Cygwin Python.
1745
1746         * Scripts/webkitpy/common/system/platforminfo.py:
1747         (PlatformInfo._win_version): Return [0:3] of getwindowsversion().
1748         Call _win_version_from_cmd for Cygwin Python.
1749         (PlatformInfo._win_version_from_cmd): Restored.
1750
1751 2017-11-10  Guillaume Emont  <guijemont@igalia.com>
1752
1753         build-jsc: build testmasm for all platforms using cmake
1754         https://bugs.webkit.org/show_bug.cgi?id=179512
1755
1756         Reviewed by Michael Catanzaro.
1757
1758         * Scripts/build-jsc:
1759
1760 2017-11-09  Jonathan Bedard  <jbedard@apple.com>
1761
1762         webkitpy: Unify version parsing code
1763         https://bugs.webkit.org/show_bug.cgi?id=179426
1764         <rdar://problem/35415191>
1765
1766         Unreviewed fix to r224657.
1767
1768         * Scripts/webkitpy/common/version.py:
1769         (Version.__init__): Check if an object is iterable.
1770
1771 2017-11-09  Jonathan Bedard  <jbedard@apple.com>
1772
1773         webkitpy: Unify version parsing code
1774         https://bugs.webkit.org/show_bug.cgi?id=179426
1775         <rdar://problem/35415191>
1776
1777         Reviewed by David Kilzer.
1778
1779         webkitpy needs to parse version strings or version lists frequently. Rather than
1780         duplicate this code each time it's needed, unify it in a Version class.
1781
1782         * Scripts/webkitpy/common/system/platforminfo.py:
1783         (PlatformInfo.__init__): Convert mac version string to version object and
1784         use _win_version instead of _win_version_tuple.
1785         (PlatformInfo.xcode_sdk_version): Convert SDK version string to Version object
1786         before returning it.
1787         (PlatformInfo.xcode_version): Return Version object instead of version string.
1788         (PlatformInfo._determine_mac_version): Accept Version object instead of string,
1789         eliminate parsing.
1790         (PlatformInfo._determine_win_version): Accept Version object instead of tuple.
1791         (PlatformInfo._win_version): Return Version object instead of tuple, have Version
1792         object own version string parsing.
1793         (PlatformInfo._win_version_tuple): Renamed to _win_version().
1794         (PlatformInfo._win_version_tuple_from_cmd): Deleted.
1795         * Scripts/webkitpy/common/system/platforminfo_mock.py:
1796         (MockPlatformInfo.xcode_sdk_version): Return Version object instead of string.
1797         (MockPlatformInfo.xcode_version): Dittio.
1798         * Scripts/webkitpy/common/version.py: Added.
1799         (Version): Version object.
1800         (Version.__init__): Initialize the Version object with a string, integer,
1801         tuple of integers, list of integers or another Version object.
1802         (Version.__len__): Return 5 so that the Version object can be treated as
1803         a list or tuple.
1804         (Version.__getitem__): Get item in Version object by index or string.
1805         (Version.__setitem__): Set item in Version object by index or string.
1806         (Version.__str__): Convert version to printable string, omitting trailing 0's.
1807         (Version.__cmp__): Compare two version strings, major taking precedence over
1808         minor, minor taking precedence over build.
1809         * Scripts/webkitpy/common/version_unittest.py: Added.
1810         (VersionTestCase): Test behavior of Version object.
1811         * Scripts/webkitpy/port/ios.py:
1812         (IOSPort.default_baseline_search_path): ios_version now returns a Version object.
1813         (IOSPort._is_valid_ios_version): Deleted.
1814         (IOSPort.get_option): Deleted.
1815         * Scripts/webkitpy/port/ios_device.py:
1816         (IOSDevicePort.determine_full_port_name): Use Version object instead of owning parsing.
1817         (IOSDevicePort.ios_version): Return Version object instead of string.
1818         * Scripts/webkitpy/port/ios_simulator.py:
1819         (IOSSimulatorPort.simulator_runtime): Use from_version instead of from_version_string.
1820         (IOSSimulatorPort.ios_version): Return Version object instead of string.
1821         (IOSSimulatorPort.use_multiple_simulator_apps): Use Version object instead of string.
1822         * Scripts/webkitpy/xcode/simulator.py:
1823         (Runtime.from_version): Accept Version object instead of string.
1824         (Runtime.from_version_string): Replaced by from_version.
1825         (Runtime.__repr__): When printing, a runtime's version will be a Version object instead
1826         of a tuple.
1827         (Simulator._parse_runtimes): Use Version object instead of tuple.
1828         (Simulator._parse_devices): Ditto.
1829         * Scripts/webkitpy/xcode/simulator_unittest.py: Use Version object instead of tuples.
1830
1831 2017-11-09  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1832
1833         [WinCairo] Cannot find ImageDiff executable
1834         https://bugs.webkit.org/show_bug.cgi?id=179508
1835
1836         Reviewed by Per Arne Vollan.
1837
1838         * Scripts/webkitpy/port/win.py:
1839         (WinPort.is_cygwin):
1840         (WinPort._path_to_image_diff):
1841         (WinPort.find_system_pid):
1842
1843 2017-11-09  Fujii Hironori  <Hironori.Fujii@sony.com>
1844
1845         [WinCairo EWS] svn-apply: 'cp' is not recognized as an internal or external command
1846         https://bugs.webkit.org/show_bug.cgi?id=179469
1847
1848         Reviewed by Per Arne Vollan.
1849
1850         WinCairo EWS bots haven't installed Cygwin.
1851
1852         * Scripts/svn-apply:
1853         (scmCopy): Use 'copy' function instead of 'cp' command.
1854
1855 2017-11-09  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1856
1857         [WPE] Update dyz (WPE MiniBrowser)
1858         https://bugs.webkit.org/show_bug.cgi?id=179492
1859
1860         Reviewed by Michael Catanzaro.
1861
1862         Update it to the last version as of today.
1863         This version not longer uses the C API.
1864
1865         * wpe/jhbuild.modules:
1866
1867 2017-11-09  Christopher Reid  <chris.reid@sony.com>
1868
1869         Use enum classes within FileSystem
1870         https://bugs.webkit.org/show_bug.cgi?id=175172
1871
1872         Reviewed by Darin Adler.
1873
1874         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
1875         * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
1876
1877 2017-11-09  Brent Fulgham  <bfulgham@apple.com>
1878
1879         Test fix after r224609
1880         https://bugs.webkit.org/show_bug.cgi?id=178565
1881         <rdar://problem/11115901>
1882
1883         Unreviewed test fix after r224609.
1884
1885         Correct two test cases that attempt to push local file URLs in violation of our
1886         same origin policies. The fix is to grant universal file access, as we do for similar
1887         LayoutTests.
1888
1889         * TestWebKitAPI/Tests/WebKit/EphemeralSessionPushStateNoHistoryCallback.cpp:
1890         (TestWebKitAPI::TEST):
1891         * TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp:
1892         (TestWebKitAPI::TEST):
1893
1894 2017-11-09  Michael Catanzaro  <mcatanzaro@igalia.com>
1895
1896         Unreviewed, remove Dan from the soup network watchlist
1897
1898         Per his request. It's not Hotel California; we should probably let him leave.
1899
1900         * Scripts/webkitpy/common/config/watchlist:
1901
1902 2017-11-08  Don Olmstead  <don.olmstead@sony.com>
1903
1904         Add Windows powershell EWS script
1905         https://bugs.webkit.org/show_bug.cgi?id=179453
1906
1907         Reviewed by Brent Fulgham.
1908
1909         * EWSTools/Start-Queue.ps1: Added.
1910
1911 2017-11-08  Jeremy Jones  <jeremyj@apple.com>
1912
1913         HTMLMediaElement should not use element fullscreen on iOS
1914         https://bugs.webkit.org/show_bug.cgi?id=179418
1915         rdar://problem/35409277
1916
1917         Reviewed by Eric Carlson.
1918
1919         Add ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN to determine if HTMLMediaElement should use element full screen or not.
1920
1921         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1922
1923 2017-11-08  Tim Horton  <timothy_horton@apple.com>
1924
1925         [ios-simulator] API test WebKit.BundleParameters is a flaky failure
1926         https://bugs.webkit.org/show_bug.cgi?id=178363
1927         <rdar://problem/35043144>
1928
1929         Reviewed by Brent Fulgham.
1930
1931         * TestWebKitAPI/Tests/WTF/RefCounter.cpp:
1932         (TestWebKitAPI::TEST):
1933         Add a test.
1934
1935 2017-11-08  Wenson Hsieh  <wenson_hsieh@apple.com>
1936
1937         [Attachment Support] Implement delegate hooks for attachment element insertion and removal
1938         https://bugs.webkit.org/show_bug.cgi?id=179016
1939         <rdar://problem/35250890>
1940
1941         Reviewed by Tim Horton.
1942
1943         See WebCore/ChangeLog for more details.
1944
1945         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1946         (-[AttachmentUpdateObserver init]):
1947         (-[AttachmentUpdateObserver inserted]):
1948         (-[AttachmentUpdateObserver removed]):
1949         (-[AttachmentUpdateObserver _webView:didInsertAttachment:]):
1950         (-[AttachmentUpdateObserver _webView:didRemoveAttachment:]):
1951         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::ObserveAttachmentUpdatesForScope):
1952         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::~ObserveAttachmentUpdatesForScope):
1953         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::observer const):
1954         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
1955         (-[TestWKWebView _synchronouslyExecuteEditCommand:argument:]):
1956         (-[TestWKWebView expectUpdatesAfterCommand:withArgument:expectedRemovals:expectedInsertions:]):
1957         (TestWebKitAPI::TEST):
1958
1959 2017-11-08  Carlos Garcia Campos  <cgarcia@igalia.com>
1960
1961         Web Inspector: use JSON::{Array,Object,Value} instead of Inspector{Array,Object,Value}
1962         https://bugs.webkit.org/show_bug.cgi?id=173619
1963
1964         Reviewed by Brian Burg.
1965
1966         Update InspectorValue unit tests to use JSON namespace and add more basic tests to cover all the API.
1967
1968         * TestWebKitAPI/PlatformGTK.cmake:
1969         * TestWebKitAPI/Tests/JavaScriptCore/InspectorValue.cpp:
1970         (TestWebKitAPI::TEST):
1971
1972 2017-11-07  Carlos Garcia Campos  <cgarcia@igalia.com>
1973
1974         REGRESSION(r224179): [GTK] Several WebViewEditor tests are failing since r224179
1975         https://bugs.webkit.org/show_bug.cgi?id=179366
1976
1977         Reviewed by Michael Catanzaro.
1978
1979         Use always a toplevel window for WebViewEditor tests instead of creating and destroying one only to flush editor
1980         state.
1981
1982         * TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
1983
1984 2017-11-07  Carlos Garcia Campos  <cgarcia@igalia.com>
1985
1986         [GTK][WPE] Build inspector resources using copy-user-interface-resources.pl script
1987         https://bugs.webkit.org/show_bug.cgi?id=179317
1988
1989         Reviewed by Michael Catanzaro.
1990
1991         Move generate-inspector-gresource-manifest.py to glib dir to be shared by GTK+ and WPE ports and update it to
1992         receive an input directory instead of a list of patterns.
1993         File::Copy::Recursive is required by copy-user-interface-resources.pl, so make sure it's installed.
1994
1995         * glib/generate-inspector-gresource-manifest.py: Renamed from Tools/gtk/generate-inspector-gresource-manifest.py.
1996         (get_filenames):
1997         (get_filenames.should_ignore_resource):
1998         * gtk/install-dependencies:
1999         * wpe/generate-inspector-gresource-manifest.py: Removed.
2000         * wpe/install-dependencies:
2001
2002 2017-11-07  Don Olmstead  <don.olmstead@sony.com>
2003
2004         Fix webkitpy tests after rev 224549.
2005
2006         Unreviewed build fix.
2007
2008         * Scripts/webkitpy/common/config/ports.py:
2009         (WinCairoPort.run_webkit_tests_command):
2010         * Scripts/webkitpy/common/config/ports_unittest.py:
2011         (DeprecatedPortTest.test_wincairo_port):
2012
2013 2017-11-07  Aakash Jain  <aakash_jain@apple.com>
2014
2015         Enable webkitpy EWS bubbles
2016         https://bugs.webkit.org/show_bug.cgi?id=178539
2017
2018         Reviewed by Alexey Proskuryakov.
2019
2020         * QueueStatusServer/config/queues.py: Added webkitpy EWS.
2021
2022 2017-11-07  Don Olmstead  <don.olmstead@sony.com>
2023
2024         Add a WinCairo EWS queue
2025         https://bugs.webkit.org/show_bug.cgi?id=179390
2026
2027         Reviewed by Lucas Forschler.
2028
2029         * QueueStatusServer/config/queues.py:
2030         * QueueStatusServer/model/queues.py:
2031         * Scripts/webkitpy/common/config/ews.json:
2032         * Scripts/webkitpy/common/config/ports.py:
2033         * Scripts/webkitpy/common/config/ports_unittest.py:
2034         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
2035
2036 2017-11-07  Aakash Jain  <aakash_jain@apple.com>
2037
2038         fix check-webkit-style errors in webkitpy about not having two spaces before inline comment
2039         https://bugs.webkit.org/show_bug.cgi?id=171506
2040
2041         Reviewed by Alexey Proskuryakov.
2042
2043         * Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
2044         (SCMTest._shared_test_reverse_diff): Added two spaces before inline comment.
2045         (test_create_patch_is_full_patch): Ditto.
2046         * Scripts/webkitpy/common/thread/messagepump.py:
2047         (MessagePump): Ditto.
2048         * Scripts/webkitpy/layout_tests/servers/http_server.py:
2049         (Lighttpd._prepare_config): Ditto.
2050         * Scripts/webkitpy/style/checker.py: Ditto.
2051         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
2052         (OrderOfIncludesTest.test_check_preprocessor_in_include_section): Ditto.
2053
2054 2017-11-07  Aakash Jain  <aakash_jain@apple.com>
2055
2056         Add support for webkitpy tests EWS
2057         https://bugs.webkit.org/show_bug.cgi?id=178480
2058
2059         Reviewed by Alexey Proskuryakov.
2060
2061         * Scripts/webkitpy/common/config/ews.json: Added webkitpy EWS.
2062         * Scripts/webkitpy/common/net/generictestresults.py: Renamed from Scripts/webkitpy/common/net/bindingstestresults.py.
2063         * Scripts/webkitpy/common/net/generictestresults_unittest.py: Renamed from Scripts/webkitpy/common/net/bindingstestresults_unittest.py.
2064         * Scripts/webkitpy/tool/bot/patchanalysistask.py:
2065         (PatchAnalysisTask._test_patch): Do not retry webkitpy test since they are not flaky.
2066         * Scripts/webkitpy/tool/bot/bindingstestresultsreader.py: Updated import for BindingsTestResult.
2067         * Scripts/webkitpy/tool/bot/retrylogic_unittest.py: Ditto.
2068         * Scripts/webkitpy/tool/bot/webkitpytestresultsreader.py: Copied from Scripts/webkitpy/tool/bot/bindingstestresultsreader.py.
2069         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
2070         (AbstractEarlyWarningSystem.begin_work_queue): Added webkitpy test result reader.
2071         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py: Updated unit-tests.
2072         * Scripts/webkitpy/tool/steps/checkpatchrelevance.py: Run webkitpy EWS only for relevant changes.
2073         * Scripts/webkitpy/tool/steps/runtests.py:
2074         (RunTests.run): Run webkitpy tests when --group=webkitpy is passed.
2075         (RunTests._run_webkitpy_tests): Method to invoke webkitpy tests.
2076         * Scripts/webkitpy/tool/steps/steps_unittest.py:
2077         (test_runtests_webkitpy): Added unit-test.
2078
2079 2017-11-07  Commit Queue  <commit-queue@webkit.org>
2080
2081         Unreviewed, rolling out r224512 and r224521.
2082         https://bugs.webkit.org/show_bug.cgi?id=179388
2083
2084         An API test added with this change is failing an assertion on
2085         the bots. (Requested by ryanhaddad on #webkit).
2086
2087         Reverted changesets:
2088
2089         "[Attachment Support] Implement delegate hooks for attachment
2090         element insertion and removal"
2091         https://bugs.webkit.org/show_bug.cgi?id=179016
2092         https://trac.webkit.org/changeset/224512
2093
2094         "Remove stray logging from a newly added API test"
2095         https://trac.webkit.org/changeset/224521
2096
2097 2017-11-06  Wenson Hsieh  <wenson_hsieh@apple.com>
2098
2099         Remove stray logging from a newly added API test
2100
2101         This was only for debugging purposes, and should have been removed before landing.
2102
2103         Rubber-stamped by Tim Horton.
2104
2105         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2106         (TestWebKitAPI::TEST):
2107
2108 2017-11-06  Jonathan Bedard  <jbedard@apple.com>
2109
2110         Only build ImageDiff for mac
2111         https://bugs.webkit.org/show_bug.cgi?id=179349
2112         <rdar://problem/35376237>
2113
2114         Reviewed by Tim Horton.
2115
2116         * ImageDiff/Makefile:
2117
2118 2017-11-06  Wenson Hsieh  <wenson_hsieh@apple.com>
2119
2120         Unreviewed, fix the internal build after updating to a newer SDK
2121
2122         There shouldn't be any need to include and implement these method stubs anymore,
2123         even when building against the shipping iOS 11 SDK.
2124
2125         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
2126         (-[MockDropSession session]): Deleted.
2127
2128 2017-11-06  Wenson Hsieh  <wenson_hsieh@apple.com>
2129
2130         [Attachment Support] Implement delegate hooks for attachment element insertion and removal
2131         https://bugs.webkit.org/show_bug.cgi?id=179016
2132         <rdar://problem/35250890>
2133
2134         Reviewed by Tim Horton.
2135
2136         Introduces new API tests to check that various editing operations will or won't result in the new attachment
2137         insertion and removal delegate hooks being fired. Additionally refactors an existing test to verify that
2138         attachments insertion and removal is observable by the UI delegate.
2139
2140         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2141         (-[AttachmentUpdateObserver init]):
2142         (-[AttachmentUpdateObserver inserted]):
2143         (-[AttachmentUpdateObserver removed]):
2144         (-[AttachmentUpdateObserver _webView:didInsertAttachment:]):
2145         (-[AttachmentUpdateObserver _webView:didRemoveAttachment:]):
2146         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::ObserveAttachmentUpdatesForScope):
2147         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::~ObserveAttachmentUpdatesForScope):
2148         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
2149
2150         Implement a testing mechanism to temporarily bind a UI delegate to a given WKWebView and listen for inserted or
2151         removed attachments over the course of a particular scope. The API tests use this mechanism to check that the UI
2152         delegate hooks added in this patch are invoked with the right attachments when performing edit commands.
2153
2154         (-[TestWKWebView _synchronouslyExecuteEditCommand:argument:]):
2155         (-[TestWKWebView expectUpdatesAfterCommand:withArgument:expectedRemovals:expectedInsertions:]):
2156         (TestWebKitAPI::TEST):
2157
2158 2017-11-06  Christopher Reid  <chris.reid@sony.com>
2159
2160         Use enum classes within FileSystem
2161         https://bugs.webkit.org/show_bug.cgi?id=175172
2162
2163         Reviewed by Myles C. Maxfield.
2164
2165         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
2166         * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
2167
2168 2017-11-06  Michael Catanzaro  <mcatanzaro@igalia.com>
2169
2170         [WPE] -Wsign-compare warning in EventSenderProxyWPE.cpp
2171         https://bugs.webkit.org/show_bug.cgi?id=179039
2172
2173         Reviewed by Žan Doberšek.
2174
2175         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
2176         (WTR::EventSenderProxy::updateTouchPoint):
2177         (WTR::EventSenderProxy::releaseTouchPoint):
2178
2179 2017-11-06  Robin Morisset  <rmorisset@apple.com>
2180
2181         Add a third benchmark to TailBench
2182         https://bugs.webkit.org/show_bug.cgi?id=178815
2183
2184         Reviewed by Saam Barati.
2185
2186         Add a new benchmark to TailBench: a BF interpreter written in a weird kinda functional style
2187
2188         * Scripts/run-jsc-benchmarks:
2189
2190 2017-11-04  Michael Catanzaro  <mcatanzaro@igalia.com>
2191
2192         [GTK] Fix gtk-doc generation with gtk-doc master
2193         https://bugs.webkit.org/show_bug.cgi?id=179252
2194
2195         Reviewed by Carlos Garcia Campos.
2196
2197         gtkdoc-scangobj has changed to no longer use a shell when executing its subcommands. In
2198         particular, this means we can no longer rely on shell stuff in our run command that we use
2199         to run the scanner. We currently use the RUN envvar to set LD_LIBRARY_PATH, and the end
2200         result is gtkdoc-scangobj now attempts to execute our environment variable instead of the
2201         scanner itself. We can just set LD_LIBRARY_PATH directly, instead of using RUN, in order to
2202         make documentation generation work again.
2203
2204         * gtk/gtkdoc.py:
2205         (GTKDoc._run_gtkdoc_scangobj):
2206
2207 2017-11-04  Aishwarya Nirmal  <anirmal@apple.com>
2208
2209         [Touch Bar Web API] Add support for menuitem tag
2210         https://bugs.webkit.org/show_bug.cgi?id=179020
2211
2212         Reviewed by Ryosuke Niwa.
2213
2214         Defines flags for the menu item test so that the element is recognized
2215         only while its test is being run.
2216
2217         * DumpRenderTree/TestOptions.h:
2218         * DumpRenderTree/TestOptions.mm:
2219         (TestOptions::TestOptions):
2220         * DumpRenderTree/mac/DumpRenderTree.mm:
2221         (setWebPreferencesForTestOptions):
2222         * WebKitTestRunner/TestController.cpp:
2223         (WTR::TestController::resetPreferencesToConsistentValues):
2224         (WTR::updateTestOptionsFromTestHeader):
2225         * WebKitTestRunner/TestOptions.h:
2226         (WTR::TestOptions::hasSameInitializationOptions const):
2227
2228 2017-11-03  Andy Estes  <aestes@apple.com>
2229
2230         [iOS] Append the platform name to the product directory on all embedded platforms
2231         https://bugs.webkit.org/show_bug.cgi?id=179271
2232
2233         Reviewed by Joseph Pecoraro.
2234
2235         * Scripts/webkitdirs.pm:
2236         (determineConfigurationProductDir):
2237
2238 2017-11-03  Basuke Suzuki  <Basuke.Suzuki@sony.com>
2239
2240         [WinCairo] Add --wincairo option to run-webkit-tests
2241         https://bugs.webkit.org/show_bug.cgi?id=179217
2242
2243         Reviewed by Alex Christensen.
2244
2245         * Scripts/webkitpy/port/factory.py:
2246         (platform_options):
2247
2248 2017-11-03  Michael Catanzaro  <mcatanzaro@igalia.com>
2249
2250         [WPE][GTK] Avoid duplicating code for dist and distcheck targets
2251         https://bugs.webkit.org/show_bug.cgi?id=179154
2252
2253         Reviewed by Carlos Garcia Campos.
2254
2255         Move the script out of Tools/gtk because it is already used by WPE. Also, drop the .py
2256         prefix because it is executable.
2257
2258         * Scripts/make-dist: Renamed from Tools/gtk/make-dist.py.
2259
2260 2017-11-03  Jonathan Bedard  <jbedard@apple.com>
2261
2262         TestController platformAdjustContext should use provided WKContext for Mac
2263         https://bugs.webkit.org/show_bug.cgi?id=179124
2264         <rdar://problem/35295176>
2265
2266         Reviewed by Darin Adler.
2267
2268         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2269         (WTR::initializeWebViewConfiguration): Use the provided WKContext, since that is
2270         a WebProcessPool, instead of creating a second one.
2271
2272 2017-11-02  Christopher Reid  <chris.reid@sony.com>
2273
2274         Add a FileSystem namespace to FileSystem.cpp
2275         https://bugs.webkit.org/show_bug.cgi?id=179063
2276
2277         Reviewed by Darin Adler.
2278
2279         * DumpRenderTree/win/DumpRenderTree.cpp:
2280         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
2281         * TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
2282         * TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
2283         * TestWebKitAPI/Tests/WebCore/SharedBufferTest.cpp:
2284         * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
2285         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
2286
2287 2017-11-02  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2288
2289         [WPE][JHBuild] Update WPEBackend and WPEBackend-mesa
2290         https://bugs.webkit.org/show_bug.cgi?id=179169
2291
2292         Reviewed by Michael Catanzaro.
2293
2294         Update WPEBackend and WPEBackend-mesa to last master as of today.
2295
2296         * wpe/jhbuild.modules:
2297
2298 2017-11-02  Frederic Wang  <fwang@igalia.com>
2299
2300         Add references to bug 179167 in FIXME comments
2301         https://bugs.webkit.org/show_bug.cgi?id=179168
2302
2303         Reviewed by Daniel Bates.
2304
2305         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2306
2307 2017-11-01  Jeremy Jones  <jeremyj@apple.com>
2308
2309         Implement WKFullscreenWindowController for iOS.
2310         https://bugs.webkit.org/show_bug.cgi?id=178924
2311         rdar://problem/34697120
2312
2313         Reviewed by Simon Fraser.
2314
2315         Enable ENABLE_FULLSCREEN_API for iOS.
2316
2317         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2318
2319 2017-11-01  Simon Fraser  <simon.fraser@apple.com>
2320
2321         Misc display list and other cleanup
2322         https://bugs.webkit.org/show_bug.cgi?id=179150
2323
2324         Reviewed by Tim Horton.
2325
2326         Add system trace points for display list recording.
2327
2328         * Tracing/SystemTracePoints.plist:
2329
2330 2017-11-01  Stephan Szabo  <stephan.szabo@sony.com>
2331
2332         [Win] Detect Visual Studio 2017 location
2333         https://bugs.webkit.org/show_bug.cgi?id=175275
2334
2335         Reviewed by Yusuke Suzuki.
2336
2337         * Scripts/build-jsc:
2338         * Scripts/build-webkit:
2339         * Scripts/update-vswhere.py: Added.
2340         * Scripts/webkitdirs.pm:
2341         (requireModulesForVSWhere):
2342         (pickCurrentVisualStudioInstallation):
2343         (pickLegacyVisualStudioInstallation):
2344         (visualStudioInstallDir):
2345         (visualStudioInstallDirVSWhere):
2346         (visualStudioInstallDirLegacy):
2347         (visualStudioInstallDirFallback):
2348         (msBuildInstallDir):
2349         (visualStudioVersion):
2350         (visualStudioVersionFromInstallDir):
2351         (generateBuildSystemFromCMakeProject):
2352
2353 2017-11-01  Tim Horton  <timothy_horton@apple.com>
2354
2355         Fix the !USE(QUICKLOOK) build
2356         https://bugs.webkit.org/show_bug.cgi?id=179128
2357
2358         Reviewed by Wenson Hsieh.
2359
2360         * TestWebKitAPI/Tests/WebCore/ios/PreviewLoader.cpp:
2361
2362 2017-11-01  Frederic Wang  <fwang@igalia.com>
2363
2364         Make iOS Find UI reveal matches in scrollable elements
2365         https://bugs.webkit.org/show_bug.cgi?id=178789
2366
2367         Reviewed by Tim Horton.
2368
2369         This patch exposes WKWebView's findString function in order to test the fix for bug 178789.
2370
2371         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
2372         (WTR::UIScriptController::findString): Dummy implementation of findString.
2373         * DumpRenderTree/mac/UIScriptControllerMac.mm:
2374         (WTR::UIScriptController::findString): Ditto.
2375         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: Declare findString.
2376         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
2377         (WTR::UIScriptController::findString): Dummy implementation of findString.
2378         * TestRunnerShared/UIScriptContext/UIScriptController.h: Declare findString.
2379         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
2380         (WTR::UIScriptController::findString): Implement findString by forwarding the call to the
2381         web view.
2382         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
2383         (WTR::UIScriptController::findString): Dummy implementation of findString.
2384
2385 2017-11-01  Alex Christensen  <achristensen@webkit.org>
2386
2387         Add a test for _WKInputDelegate.willSubmitFormValues
2388         https://bugs.webkit.org/show_bug.cgi?id=179086
2389
2390         Reviewed by Darin Adler.
2391
2392         Hidden input types are not included in this submission because FormSubmission::create ignores them
2393         because input.isTextField() returns false.  This is existing behavior that wasn't shown by a test.
2394         HTTPBodies are also not sent to WKURLSchemeHandlers.  This is existing behavior that wasn't shown by a test.
2395
2396         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2397         * TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm: Added.
2398         (-[FormSubmissionDelegate _webView:willSubmitFormValues:userObject:submissionHandler:]):
2399         (TEST):
2400
2401 2017-10-31  Ross Kirsling  <ross.kirsling@sony.com>
2402
2403         Web Inspector: Add Inspector menu items to Mac MiniBrowser
2404         https://bugs.webkit.org/show_bug.cgi?id=65218
2405
2406         Reviewed by Joseph Pecoraro.
2407
2408         Add Option-Command-I shortcut and corresponding Show/Close Web Inspector menu item to Mac MiniBrowser.
2409         Only works when browser window is focused, but at least WI can be opened without having to Inspect Element.
2410
2411         * MiniBrowser/mac/BrowserWindowController.h:
2412         * MiniBrowser/mac/BrowserWindowController.m:
2413         (-[BrowserWindowController showHideWebInspector:]):
2414         * MiniBrowser/mac/MainMenu.xib:
2415         * MiniBrowser/mac/WK1BrowserWindowController.m:
2416         (-[WK1BrowserWindowController validateMenuItem:]):
2417         (-[WK1BrowserWindowController showHideWebInspector:]):
2418         * MiniBrowser/mac/WK2BrowserWindowController.m:
2419         (-[WK2BrowserWindowController validateMenuItem:]):
2420         (-[WK2BrowserWindowController showHideWebInspector:]):
2421
2422 2017-10-31  Alex Christensen  <achristensen@webkit.org>
2423
2424         Use asynchronous ResourceHandleClient calls for WebKit1
2425         https://bugs.webkit.org/show_bug.cgi?id=160677
2426
2427         Reviewed by Brady Eidson.
2428
2429         * TestWebKitAPI/Tests/mac/SimplifyMarkup.mm:
2430         (TestWebKitAPI::TEST):
2431         The HTML being loaded contains an iframe, so testing if the main resource has loaded doesn't necessarily mean all subresources are loaded.
2432         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.
2433
2434 2017-10-31  Commit Queue  <commit-queue@webkit.org>
2435
2436         Unreviewed, rolling out r224143.
2437         https://bugs.webkit.org/show_bug.cgi?id=179091
2438
2439         The patch requires non-standard perl modules in macOS and
2440         breaks AWFY (Requested by yusukesuzuki on #webkit).
2441
2442         Reverted changeset:
2443
2444         "[Win] Detect Visual Studio 2017 location"
2445         https://bugs.webkit.org/show_bug.cgi?id=175275
2446         https://trac.webkit.org/changeset/224143
2447
2448 2017-10-31  Tim Horton  <timothy_horton@apple.com>
2449
2450         Clean up some drag and drop feature flags
2451         https://bugs.webkit.org/show_bug.cgi?id=179082
2452
2453         Reviewed by Simon Fraser.
2454
2455         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2456         * TestWebKitAPI/ios/UIKitSPI.h:
2457
2458 2017-10-31  Tim Horton  <timothy_horton@apple.com>
2459
2460         Fix up some content filtering feature flags
2461         https://bugs.webkit.org/show_bug.cgi?id=179079
2462
2463         Reviewed by Simon Fraser.
2464
2465         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2466         * TestWebKitAPI/Tests/WebKitCocoa/ContentFilteringPlugIn.mm:
2467         (-[MockContentFilterEnabler initWithCoder:]):
2468         (-[MockContentFilterEnabler dealloc]):
2469
2470 2017-10-31  Youenn Fablet  <youenn@apple.com>
2471
2472         rwt should allow service worker to load localhost HTTPS resources with any certificate
2473         https://bugs.webkit.org/show_bug.cgi?id=179018
2474
2475         Reviewed by Chris Dumez.
2476
2477         * WebKitTestRunner/TestController.cpp:
2478         (WTR::TestController::resetStateToConsistentValues): allowing any SSL certificate for service workers.
2479
2480 2017-10-31  Wenson Hsieh  <wenson_hsieh@apple.com>
2481
2482         [Attachment Support] Implement WKWebView SPI for inserting attachment elements
2483         https://bugs.webkit.org/show_bug.cgi?id=179013
2484         <rdar://problem/35249668>
2485
2486         Reviewed by Tim Horton.
2487
2488         Adds a new API test suite to exercise attachment element insertion and manipulation.
2489
2490         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2491         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: Added.
2492         (webViewForTestingAttachments):
2493         (testHTMLData):
2494         (testImageData):
2495         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:options:]):
2496         (-[TestWKWebView valueOfAttribute:forQuerySelector:]):
2497         (TestWebKitAPI::TEST):
2498
2499 2017-10-31  Alex Christensen  <achristensen@webkit.org>
2500
2501         Fix custom header field setting with reloads and asynchronous navigation action policy decisions
2502         https://bugs.webkit.org/show_bug.cgi?id=179064
2503
2504         Reviewed by Tim Horton.
2505
2506         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
2507         (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
2508         (TEST):
2509
2510 2017-10-30  Michael Catanzaro  <mcatanzaro@igalia.com>
2511
2512         WKBundlePageWillSendSubmitEventCallback is called with incorrect frame parameter
2513         https://bugs.webkit.org/show_bug.cgi?id=176719
2514
2515         Reviewed by Chris Dumez.
2516
2517         Test that WKBundlePageWillSendSubmitEventCallback is called with separate frame and
2518         sourceFrame parameters when the target frame of the form submission is not the source frame.
2519
2520         * TestWebKitAPI/Tests/WebKit/WillSendSubmitEvent.cpp:
2521         (TestWebKitAPI::didReceiveMessageFromInjectedBundle):
2522         * TestWebKitAPI/Tests/WebKit/WillSendSubmitEvent_Bundle.cpp:
2523         (TestWebKitAPI::willSendSubmitEvent):
2524         * TestWebKitAPI/Tests/WebKit/auto-submitting-form.html:
2525
2526 2017-10-30  Alex Christensen  <achristensen@webkit.org>
2527
2528         ASSERTION FAILED: internalValuesConsistent(m_url) in WebCore::URLParser::URLParser
2529         https://bugs.webkit.org/show_bug.cgi?id=178861
2530
2531         Reviewed by Tim Horton.
2532
2533         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
2534         (TestWebKitAPI::TEST_F):
2535
2536 2017-10-30  Commit Queue  <commit-queue@webkit.org>
2537
2538         Unreviewed, rolling out r224078.
2539         https://bugs.webkit.org/show_bug.cgi?id=179026
2540
2541         MotionMark regression (Requested by shallawa on #webkit).
2542
2543         Reverted changeset:
2544
2545         "When navigating back to a page, compositing layers may not
2546         use accelerated drawing"
2547         https://bugs.webkit.org/show_bug.cgi?id=178749
2548         https://trac.webkit.org/changeset/224078
2549
2550 2017-10-30  Michael Catanzaro  <mcatanzaro@igalia.com>
2551
2552         [WPE] Fix build warnings
2553         https://bugs.webkit.org/show_bug.cgi?id=178899
2554
2555         Reviewed by Carlos Alberto Lopez Perez.
2556
2557         * TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:
2558         (testContextMenuDownloadActions):
2559         (testBlobDownload):
2560         (beforeAll):
2561         * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
2562         * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
2563         (testWebViewJavaScriptDialogs):
2564         * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
2565         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
2566         * WebKitTestRunner/PlatformWPE.cmake:
2567         * WebKitTestRunner/wpe/HeadlessViewBackend.cpp:
2568         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
2569         (WTR::threadDefaultContext): Deleted.
2570
2571 2017-10-30  Michael Catanzaro  <mcatanzaro@igalia.com>
2572
2573         [WPE] Upstream or stop using cairo-egl-device-create-for-egl-surface.patch
2574         https://bugs.webkit.org/show_bug.cgi?id=178898
2575
2576         Reviewed by Žan Doberšek.
2577
2578         This patch seems to be unused.
2579
2580         * wpe/jhbuild.modules:
2581         * wpe/patches/cairo-egl-device-create-for-egl-surface.patch: Removed.
2582
2583 2017-10-30  Michael Catanzaro  <mcatanzaro@igalia.com>
2584
2585         [WPE] Build more files under WebCore as unified sources and get rid of WebCorePlatformWPE build target
2586         https://bugs.webkit.org/show_bug.cgi?id=178964
2587
2588         Reviewed by Carlos Alberto Lopez Perez.
2589
2590         * TestWebKitAPI/PlatformWPE.cmake:
2591
2592 2017-10-12  Frederic Wang  <fwang@igalia.com>
2593
2594         Remove support for running safari on the iOS simulator with Xcode < 9.0
2595         https://bugs.webkit.org/show_bug.cgi?id=178203
2596
2597         Reviewed by Alexey Proskuryakov.
2598
2599         This is a follow-up of r223234. We no longer support iOS WebKit development for Xcode < 9.0
2600         and do not have any iOS simulator builders in our infrastructure. Hence we can remove the
2601         special case to calculate the iOS simulator applications path for these old versions.
2602
2603         * Scripts/webkitdirs.pm:
2604         (iosSimulatorApplicationsPath): Remove special case for XCode < 9.0
2605
2606 2017-10-30  Michael Catanzaro  <mcatanzaro@igalia.com>
2607
2608         [WPE][GTK] Expose availability of certain editing commands in WebKitEditorState
2609         https://bugs.webkit.org/show_bug.cgi?id=168219
2610
2611         Reviewed by Ryosuke Niwa.
2612
2613         Test it.
2614
2615         * TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
2616         (testWebViewEditorCutCopyPasteNonEditable):
2617         (testWebViewEditorCutCopyPasteEditable):
2618         (testWebViewEditorSelectAllNonEditable):
2619         (testWebViewEditorSelectAllEditable):
2620         (loadContentsAndTryToCutSelection):
2621         (testWebViewEditorNonEditable):
2622         (testWebViewEditorEditorStateTypingAttributes):
2623         (testWebViewEditorInsertImage):
2624         (testWebViewEditorCreateLink):
2625
2626 2017-10-28  Michael Catanzaro  <mcatanzaro@igalia.com>
2627
2628         [WPE] Build gst-plugins-base without pango support
2629         https://bugs.webkit.org/show_bug.cgi?id=178918
2630
2631         Reviewed by Carlos Garcia Campos.
2632
2633         We need to build gst-plugins-base without pango support for WPE. Let's use JHBuild
2634         conditions so we can make platform-specific changes in the shared GStreamer moduleset.
2635
2636         * gstreamer/jhbuild.modules:
2637         * gtk/jhbuildrc:
2638         * wpe/jhbuildrc:
2639
2640 2017-10-27  Stephan Szabo  <stephan.szabo@sony.com>
2641
2642         [Win] Detect Visual Studio 2017 location
2643         https://bugs.webkit.org/show_bug.cgi?id=175275
2644
2645         Reviewed by Per Arne Vollan.
2646
2647         * Scripts/build-jsc:
2648         * Scripts/build-webkit:
2649         * Scripts/update-vswhere.py: Added.
2650         * Scripts/webkitdirs.pm:
2651         (pickCurrentVisualStudioInstallation):
2652         (pickLegacyVisualStudioInstallation):
2653         (visualStudioInstallDir):
2654         (visualStudioInstallDirVSWhere):
2655         (visualStudioInstallDirLegacy):
2656         (visualStudioInstallDirFallback):
2657         (msBuildInstallDir):
2658         (visualStudioVersion):
2659         (visualStudioVersionFromInstallDir):
2660         (generateBuildSystemFromCMakeProject):
2661
2662 2017-10-27  Devin Rousso  <webkit@devinrousso.com>
2663
2664         Create watchlist for files related WebInspector Recording
2665         https://bugs.webkit.org/show_bug.cgi?id=178965
2666
2667         Reviewed by Joseph Pecoraro.
2668
2669         * Scripts/webkitpy/common/config/watchlist:
2670
2671 2017-10-27  Jonathan Bedard  <jbedard@apple.com>
2672
2673         Windows and WebViews are retained after re-configure
2674         https://bugs.webkit.org/show_bug.cgi?id=178902
2675         <rdar://problem/35211518>
2676
2677         Reviewed by Alexey Proskuryakov.
2678
2679         The test runner effectively leaks windows every time a test changes configuration.
2680         We give each test it's own AutoreleasePool to fix this problem.
2681
2682         * WebKitTestRunner/TestController.cpp:
2683         (WTR::TestController::runTest): Add an AutoRelease pool scoping a test run
2684         so that when a configuration changes, the old window and WebView are released.
2685
2686 2017-10-27  Eric Carlson  <eric.carlson@apple.com>
2687
2688         NowPlayingInfo should contain a unique identifier
2689         https://bugs.webkit.org/show_bug.cgi?id=178872
2690         <rdar://problem/34924012>
2691
2692         Unreviewed, fix a flakey test.
2693
2694         * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
2695         (-[NowPlayingTestWebView hasActiveNowPlayingSession]): Update _lastUpdatedElapsedTime.
2696         (-[NowPlayingTestWebView _handleActiveNowPlayingSessionInfoResponse:title:duration:elapsedTime:]): Deleted.
2697
2698 2017-10-27  Fujii Hironori  <Hironori.Fujii@sony.com>
2699
2700         autoinstall can't download from http://pypi.python.org
2701         https://bugs.webkit.org/show_bug.cgi?id=178925
2702
2703         Reviewed by Ryosuke Niwa.
2704
2705         The web server pypi.python.org rejects non secure http.
2706
2707         * Scripts/webkitpy/thirdparty/__init__.py:
2708         (AutoinstallImportHook._install_mechanize): Use https instead of http.
2709         (AutoinstallImportHook._install_pep8): Ditto.
2710         (AutoinstallImportHook._install_pylint): Ditto.
2711         (AutoinstallImportHook._install_buildbot): Ditto.
2712         (AutoinstallImportHook._install_coverage): Ditto.
2713
2714 2017-10-26  Fujii Hironori  <Hironori.Fujii@sony.com>
2715
2716         [GTK][WPE] install-dependencies can't find libapache2-mod-php7.0 on Ubuntu 17.10
2717         https://bugs.webkit.org/show_bug.cgi?id=178854
2718
2719         Reviewed by Michael Catanzaro.
2720
2721         * Scripts/webkitpy/port/base.py:
2722         (Port._debian_php_version): Return "-php7.1" if libphp7.1.so found.
2723         (Port._is_debian_php_version_7): Deleted.
2724         * gtk/install-dependencies: Install libapache2-mod-php instead of libapache2-mod-php7.0.
2725         * wpe/install-dependencies: Ditto.
2726
2727 2017-10-25  Simon Fraser  <simon.fraser@apple.com>
2728
2729         When navigating back to a page, compositing layers may not use accelerated drawing
2730         https://bugs.webkit.org/show_bug.cgi?id=178749
2731         rdar://problem/35158946
2732
2733         Reviewed by Dean Jackson.
2734
2735         Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
2736         and use it to set the state of the web view.
2737
2738         * DumpRenderTree/TestOptions.h:
2739         * DumpRenderTree/TestOptions.mm:
2740         (TestOptions::TestOptions):
2741         * DumpRenderTree/mac/DumpRenderTree.mm:
2742         (setWebPreferencesForTestOptions):
2743         * WebKitTestRunner/TestController.cpp:
2744         (WTR::TestController::resetPreferencesToConsistentValues):
2745         (WTR::updateTestOptionsFromTestHeader):
2746         * WebKitTestRunner/TestOptions.h:
2747         (WTR::TestOptions::hasSameInitializationOptions const):
2748
2749 2017-10-26  Alex Christensen  <achristensen@webkit.org>
2750
2751         Move WKWebViewConfiguration validation to WKWebView construction
2752         https://bugs.webkit.org/show_bug.cgi?id=178840
2753
2754         Reviewed by Tim Horton.
2755
2756         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2757         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm: Added.
2758         (TEST):
2759
2760 2017-10-26  Myles C. Maxfield  <mmaxfield@apple.com>
2761
2762         Demonstrate a possible structure of the WebGPU API
2763         https://bugs.webkit.org/show_bug.cgi?id=178874
2764
2765         Reviewed by Dean Jackson.
2766
2767         Over the past few weeks, we've been putting together an example showing that a WebGPU API
2768         which has implicit barriers can work on all three low-level graphics APIs. We've implemented
2769         it on top of Vulkan first, because this is the API which has the strictest requirements and
2770         is most difficult to use.
2771
2772         With this API, this is a valid WebGPU snippet:
2773
2774         auto device = WebGPU::Device::create(hInstance, hWnd);
2775         auto& commandQueue = device->getCommandQueue();
2776         auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { }, { }, { }, nullptr);
2777         
2778         … later, in the draw() function …
2779         
2780         auto renderPass = commandQueue->createRenderPass(nullptr);
2781         renderPass->setRenderState(renderState);
2782         renderPass->setViewport(0, 0, width, height);
2783         renderPass->setScissorRect(0, 0, width, height);
2784         renderPass->draw(3);
2785         commandQueue->commitRenderPass(std::move(renderPass));
2786         commandQueue->present();
2787
2788         This snippet doesn’t hook up any vertex attributes or resources, which means the vertex
2789         shader has to say something like ({vec4(…), vec4(…), vec4(…)})[gl_VertexIndex]. It also
2790         passes in “nullptr” when creating the render pass, which means “render to the screen, rather
2791         than to a frame buffer.” You can also see that it doesn’t attach any resources to the draw
2792         call.
2793
2794         In Direct3D 12 and Vulkan, resources are bound in sets, rather than individually. For
2795         example, a set might contain two uniform buffers, a texture, and another uniform buffer. At
2796         draw time, you swap in whole sets of resources with a single call. A shader invocation can
2797         access a collection of sets. Because all shader resource accesses are indirected through
2798         these sets, the shape of these sets needs to be supplied at the time you compile the render
2799         state. Here is a snippet which bounds a single set which contains a uniform buffer and a
2800         texture:
2801
2802         auto buffer = device->getBuffer(bufferInitialContents);
2803         auto texture = device->getTexture(buffer width, height, WebGPU::PixelFormat::RGBA8, textureInitialContents);
2804         // One resource set, which holds a single uniform buffer object and a single texture
2805         auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { }, { }, { { WebGPU::ResourceType::UniformBufferObject, WebGPU::ResourceType::Texture } }, nullptr);
2806         
2807         … later, in the draw() function …
2808         
2809         auto renderPass = commandQueue->createRenderPass(nullptr);
2810         renderPass->setRenderState(renderState);
2811         renderPass->setResources(0, { WebGPU::UniformBufferObjectReference(buffer.get()), WebGPU::TextureReference(texture.get()) });
2812         …
2813         renderPass->draw(3);
2814         commandQueue->commitRenderPass(std::move(renderPass));
2815         commandQueue->present();
2816         
2817         The first argument to the setResources() call identifies which set to populate with the supplied resources.
2818
2819         One tenant of the low-level graphics APIs is that, if you’ve enabled double buffering (or
2820         triple buffering), the GPU is executing one frame at the same time you are recording the
2821         next frame. This often means that you need duplicate resources so the CPU and GPU don’t step
2822         on each other’s toes. However, platforms have platform-specific requirements about whether
2823         or not they can be double / triple buffered, and we don’t want to expose this to the Web for
2824         fear of badly-authored programs.
2825
2826         To solve this, resources are reference counted, and the return type of getBuffer() is an
2827         RAII type called BufferHolder which increments and decrements the reference count
2828         automatically. The reference count is also incremented and decremented when the GPU is using
2829         the resource in a Pass. When the reference count reaches 0, the resource isn’t destroyed;
2830         instead, it’s simply moved to a “free list” which getBuffer() may pull from. Therefore,
2831         applications don’t need to know whether the frame buffer is double buffered or triple
2832         buffered; they can just getBuffer() each frame, and the correct number of buffers will be
2833         created and recycled.
2834         
2835         {
2836             auto buffer = device->getBuffer(bufferSize); // These get recycled
2837             … populate the buffer …
2838             auto renderPass = commandQueue->createRenderPass(nullptr);
2839             renderPass->setRenderState(renderState);
2840             renderPass->setResources(0, { WebGPU::UniformBufferObjectReference(buffer.get()) });
2841             …
2842             renderPass->draw(…);
2843             commandQueue->commitRenderPass(std::move(renderPass));
2844         }
2845         commandQueue->present();
2846
2847         In Direct3D and Vulkan, vertex buffers and index buffers are not part of the resource sets
2848         mentioned above. Instead, you tell the render state about the shape of the vertex and index
2849         buffers, and you swap them out independently in the draw loop. Metal and Vulkan have almost
2850         identical API to specify this shape of the vertex buffers, so I’ve mostly copied it. In this
2851         example, we have two vertex attributes, a vec2 and a vec3, which both come from the same
2852         buffer:
2853         
2854         // { Attribute format, offset within stride, buffer to pull from }
2855         std::vector<WebGPU::RenderState::VertexAttribute> vertexAttributes = { {WebGPU::RenderState::VertexFormat::Float2, 0, 0}, {WebGPU::RenderState::VertexFormat::Float3, sizeof(float) * 2, 0} };
2856         // A single vertex buffer, with a stride of 5 floats
2857         auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { sizeof(float) * 5 }, vertexAttributes, resourceTypes, nullptr);
2858         
2859         … later, in the draw() function …
2860         
2861         auto renderPass = commandQueue->createRenderPass(nullptr);
2862         renderPass->setRenderState(renderState);
2863         renderPass->setVertexAttributeBuffers({ vertexBuffer.get() }); // The one vertex buffer which both attributes pull from
2864         renderPass->setResources(…);
2865         …
2866         renderPass->draw(…);
2867         commandQueue->commitRenderPass(std::move(renderPass));
2868         commandQueue->present();
2869
2870         You can also tell the RenderState about how many render targets you have and their formats,
2871         and then when you create the RenderPass, you specify the specific textures you want to
2872         render into.
2873
2874         std::vector<WebGPU::PixelFormat> colorPixelFormats = { WebGPU::PixelFormat::RGBA8, WebGPU::PixelFormat::RGBA8 }; // Two render targets, with these formats
2875         auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", vertexBufferStrides, vertexAttributes, resourceTypes, &colorPixelFormats);
2876         
2877         … later, in the draw() function …
2878         
2879         std::vector<std::reference_wrapper<WebGPU::Texture>> destinationTextures = { texture1->get(), texture2->get() };
2880         auto renderPass = commandQueue->createRenderPass(&destinationTextures);
2881         renderPass->setRenderState(renderState);
2882         …
2883         renderPass->draw(…);
2884         commandQueue->commitRenderPass(std::move(renderPass));
2885         
2886         // Now, draw one of the textures to the screen. Note that no synchronization is necessary here!
2887         auto renderPass = commandQueue->createRenderPass(nullptr);
2888         renderPass->setRenderState(renderState2);
2889         renderPass->setResources(0, { WebGPU:: TextureReference(texture1.get()) });
2890         …
2891         renderPass->draw(…);
2892         commandQueue->commitRenderPass(std::move(renderPass));
2893         commandQueue->present();
2894
2895         Just like how in Metal has Render Encoders and Compute Encoders, WebGPU has RenderPasses
2896         and ComputePasses.
2897
2898         auto& computeState = device->getComputeState(computeShader, "main", resourceTypes);
2899         …
2900         auto computePass = commandQueue->createComputePass();
2901         computePass->setComputeState(computeState);
2902         computePass->setResources(0, resources);
2903         computePass->dispatch(width, height, depth);
2904         commandQueue->commitComputePass(std::move(computePass));
2905         
2906         // Now, draw the resources we just computed. Note that no synchronization is necessary here!
2907         auto renderPass = commandQueue->createRenderPass(nullptr);
2908         renderPass->setRenderState(renderState);
2909         renderPass->setResources(0, resources });
2910         …
2911         renderPass->draw(…);
2912         commandQueue->commitRenderPass(std::move(renderPass));
2913         commandQueue->present();
2914
2915         There are also two other types of passes: one that corresponds to a Metal blit encoder, and
2916         one that allows the CPU to change the contents of GPU buffers and textures. This last kind
2917         of pass is a little interesting: you can’t just change the contents of a buffer at any time
2918         you feel like it, because that resource might be in use by the GPU. Therefore, we need to do
2919         the same kind of synchronization that we already do at render pass boundaries.
2920
2921         In addition, both Vulkan and Direct3D have a concept of a memory heap. A resource might
2922         exist inside a heap which is fast, but invisible from the CPU, or in a heap which is slow,
2923         but visible by the CPU. Certain operations are not possible from some types of images (e.g.
2924         non-tiled textures may not be able to be sampled from). The usual way to get around this
2925         problem is to have two resources: a slow staging resource which the CPU can see, and a fast
2926         resource which the CPU can’t see. Uploading data is a two-pass algorithm, where the CPU
2927         memcpy()s into the slow staging resource, and then a blit command is enqueued on the GPU to
2928         copy the contents of the staging resource to the real resource. This requires that the
2929         upload have access to the commandQueue so it can possibly enqueue a blit between the staging
2930         and real resources. Therefore, a pass is the right level of abstraction for these facilities.
2931
2932         std::queue<boost::unique_future<std::vector<uint8_t>>> futureQueue; // Promises for data downloads from the GPU
2933         
2934         … later, in the draw() function …
2935         
2936         // See if any of the previously-enqueued downloads are finished
2937         while (!futureQueue.empty() && futureQueue.front(). has_value()) {
2938             std::vector<uint8_t>& data = futureQueue.front().get();
2939             // Use the downloaded data
2940             futureQueue.pop();
2941         }
2942         …
2943         auto hostAccessPass = commandQueue->createHostAccessPass();
2944         hostAccessPass->overwriteBuffer(buffer->get(), bufferContents); // Upload data to a resource
2945         
2946         futureQueue.emplace(hostAccessPass->getBufferContents(buffer->get()));
2947         commandQueue->commitHostAccessPass(std::move(hostAccessPass));
2948         
2949         You can also issue copy commands between resources entirely on the GPU:
2950         
2951         auto blitPass = commandQueue->createBlitPass();
2952         blitPass->copyTexture(source->get(), destination->get(), sourceX, sourceY, destinationX, destinationY, width, height);
2953         commandQueue->commitBlitPass(std::move(blitPass));
2954
2955         * Scripts/webkitpy/style/checker.py:
2956         * WebGPUAPIStructure/Example/Example.cpp: Added.
2957         (readFile):
2958         (drawWebGPU):
2959         (wWinMain):
2960         (MyRegisterClass):
2961         (InitInstance):
2962         (WndProc):
2963         * WebGPUAPIStructure/Example/Example.h: Added.
2964         * WebGPUAPIStructure/Example/Example.ico: Added.
2965         * WebGPUAPIStructure/Example/Example.rc: Added.
2966         * WebGPUAPIStructure/Example/Example.vcxproj: Added.
2967         * WebGPUAPIStructure/Example/Example.vcxproj.filters: Added.
2968         * WebGPUAPIStructure/Example/Example.vcxproj.user: Added.
2969         * WebGPUAPIStructure/Example/resource.h: Added.
2970         * WebGPUAPIStructure/Example/small.ico: Added.
2971         * WebGPUAPIStructure/Example/stdafx.cpp: Added.
2972         * WebGPUAPIStructure/Example/stdafx.h: Added.
2973         * WebGPUAPIStructure/Example/targetver.h: Added.
2974         * WebGPUAPIStructure/WebGPU-Common/WebGPU-Common.vcxproj: Added.
2975         * WebGPUAPIStructure/WebGPU-Common/WebGPU-Common.vcxproj.filters: Added.
2976         * WebGPUAPIStructure/WebGPU-Common/WebGPU.cpp: Added.
2977         (WebGPU::BufferHolder::BufferHolder):
2978         (WebGPU::BufferHolder::~BufferHolder):
2979         (WebGPU::TextureHolder::TextureHolder):
2980         (WebGPU::TextureHolder::~TextureHolder):
2981         (WebGPU::SamplerHolder::SamplerHolder):
2982         (WebGPU::SamplerHolder::~SamplerHolder):
2983         * WebGPUAPIStructure/WebGPU-Common/WebGPU.h: Added.
2984         (WebGPU::Queue::~Queue):
2985         (WebGPU::RenderState::~RenderState):
2986         (WebGPU::ComputeState::~ComputeState):
2987         (WebGPU::Buffer::~Buffer):
2988         (WebGPU::Texture::~Texture):
2989         (WebGPU::Sampler::~Sampler):
2990         (WebGPU::TextureReference::TextureReference):
2991         (WebGPU::TextureReference::get const):
2992         (WebGPU::SamplerReference::SamplerReference):
2993         (WebGPU::SamplerReference::get const):
2994         (WebGPU::UniformBufferObjectReference::UniformBufferObjectReference):
2995         (WebGPU::UniformBufferObjectReference::get const):
2996         (WebGPU::ShaderStorageBufferObjectReference::ShaderStorageBufferObjectReference):
2997         (WebGPU::ShaderStorageBufferObjectReference::get const):
2998         (WebGPU::RenderPass::~RenderPass):
2999         (WebGPU::ComputePass::~ComputePass):
3000         (WebGPU::BlitPass::~BlitPass):
3001         (WebGPU::HostAccessPass::~HostAccessPass):
3002         (WebGPU::BufferHolder::get):
3003         (WebGPU::TextureHolder::get):
3004         (WebGPU::SamplerHolder::get):
3005         (WebGPU::Device::~Device):
3006         * WebGPUAPIStructure/WebGPU-Vulkan/BlitPassImpl.cpp: Added.
3007         (WebGPU::BlitPassImpl::BlitPassImpl):
3008         (WebGPU::BlitPassImpl::copyTexture):
3009         * WebGPUAPIStructure/WebGPU-Vulkan/BlitPassImpl.h: Added.
3010         * WebGPUAPIStructure/WebGPU-Vulkan/BufferImpl.cpp: Added.
3011         (WebGPU::BufferImpl::BufferImpl):
3012         (WebGPU::BufferImpl::decrementReferenceCount):
3013         * WebGPUAPIStructure/WebGPU-Vulkan/BufferImpl.h: Added.
3014         (WebGPU::BufferImpl::getBuffer const):
3015         (WebGPU::BufferImpl::getDeviceMemory const):
3016         (WebGPU::BufferImpl::incrementReferenceCount):
3017         (WebGPU::BufferImpl::getLength const):
3018         * WebGPUAPIStructure/WebGPU-Vulkan/ComputePassImpl.cpp: Added.
3019         (WebGPU::ComputePassImpl::ComputePassImpl):
3020         (WebGPU::ComputePassImpl::setComputeState):
3021         (WebGPU::ComputePassImpl::setResources):
3022         (WebGPU::ComputePassImpl::dispatch):
3023         * WebGPUAPIStructure/WebGPU-Vulkan/ComputePassImpl.h: Added.
3024         * WebGPUAPIStructure/WebGPU-Vulkan/ComputeStateImpl.cpp: Added.
3025         (WebGPU::ComputeStateImpl::ComputeStateImpl):
3026         * WebGPUAPIStructure/WebGPU-Vulkan/ComputeStateImpl.h: Added.
3027         (WebGPU::ComputeStateImpl::getPipeline const):
3028         (WebGPU::ComputeStateImpl::getPipelineLayout const):
3029         (WebGPU::ComputeStateImpl::getDescriptorSetLayouts const):
3030         * WebGPUAPIStructure/WebGPU-Vulkan/DeviceImpl.cpp: Added.
3031         (WebGPU::Device::create):
3032         (WebGPU::convertPixelFormat):
3033         (WebGPU::convertFormat):
3034         (WebGPU::debugReport):
3035         (WebGPU::DeviceImpl::DeviceImpl):
3036         (WebGPU::DeviceImpl::getCommandQueue):
3037         (WebGPU::DeviceImpl::prepareShader):
3038         (WebGPU::DeviceImpl::createPipelineLayout):
3039         (WebGPU::DeviceImpl::createCompatibleRenderPass):
3040         (WebGPU::convertVertexFormat):
3041         (WebGPU::DeviceImpl::getRenderState):
3042         (WebGPU::DeviceImpl::getComputeState):
3043         (WebGPU::DeviceImpl::getBuffer):
3044         (WebGPU::DeviceImpl::returnBuffer):
3045         (WebGPU::DeviceImpl::getTexture):
3046         (WebGPU::DeviceImpl::returnTexture):
3047         (WebGPU::DeviceImpl::getSampler):
3048         (WebGPU::DeviceImpl::returnSampler):
3049         (WebGPU::DeviceImpl::~DeviceImpl):
3050         * WebGPUAPIStructure/WebGPU-Vulkan/DeviceImpl.h: Added.
3051         (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::UniqueDebugReportCallbackEXT):
3052         (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::operator=):
3053         (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::~UniqueDebugReportCallbackEXT):
3054         (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::destroy):
3055         (WebGPU::DeviceImpl::TextureParameters::operator== const):
3056         (WebGPU::DeviceImpl::TextureParametersHash::operator() const):
3057         * WebGPUAPIStructure/WebGPU-Vulkan/HostAccessPassImpl.cpp: Added.
3058         (WebGPU::HostAccessPassImpl::HostAccessPassImpl):
3059         (WebGPU::HostAccessPassImpl::overwriteBuffer):
3060         (WebGPU::HostAccessPassImpl::getBufferContents):
3061         (WebGPU::HostAccessPassImpl::execute):
3062         * WebGPUAPIStructure/WebGPU-Vulkan/HostAccessPassImpl.h: Added.
3063         (WebGPU::HostAccessPassImpl::getFinishedEvent const):
3064         * WebGPUAPIStructure/WebGPU-Vulkan/PassImpl.cpp: Added.
3065         (WebGPU::PassImpl::PassImpl):
3066         (WebGPU::ResourceVisitor::operator()):
3067         (WebGPU::ResourceVisitor::getBindings const):
3068         (WebGPU::ResourceVisitor::releaseWriteDescriptorSets):
3069         (WebGPU::ResourceVisitor::getDescriptorImageInfos const):
3070         (WebGPU::ResourceVisitor::getDescriptorBufferInfos const):
3071         (WebGPU::ResourceVisitor::getBuffers const):
3072         (WebGPU::ResourceVisitor::getTextures const):
3073         (WebGPU::ResourceVisitor::getSamplers const):
3074         (WebGPU::ResourceVisitor::getImageCount const):
3075         (WebGPU::ResourceVisitor::getSamplerCount const):
3076         (WebGPU::ResourceVisitor::getUniformBufferCount const):
3077         (WebGPU::ResourceVisitor::getStorageBufferCount const):
3078         (WebGPU::PassImpl::setResources):
3079         (WebGPU::PassImpl::insertBuffer):
3080         (WebGPU::PassImpl::insertTexture):
3081         (WebGPU::PassImpl::insertSampler):
3082         * WebGPUAPIStructure/WebGPU-Vulkan/PassImpl.h: Added.
3083         (WebGPU::PassImpl::getCommandBuffer const):
3084         (WebGPU::PassImpl::iterateBuffers):
3085         (WebGPU::PassImpl::iterateTextures):
3086         (WebGPU::PassImpl::ResourceReference::ResourceReference):
3087         (WebGPU::PassImpl::ResourceReference::~ResourceReference):
3088         (WebGPU::PassImpl::ResourceReference::operator=):
3089         (WebGPU::PassImpl::ResourceReference::operator== const):
3090         (WebGPU::PassImpl::ResourceReference::get const):
3091         (WebGPU::PassImpl::ResourceReference::release):
3092         (WebGPU::PassImpl::ResourceReferenceHash::operator() const):
3093         * WebGPUAPIStructure/WebGPU-Vulkan/QueueImpl.cpp: Added.
3094         (WebGPU::QueueImpl::QueueImpl):
3095         (WebGPU::QueueImpl::prepareCurrentFrame):
3096         (WebGPU::QueueImpl::createSpecificRenderPass):
3097         (WebGPU::QueueImpl::createFramebuffer):
3098         (WebGPU::QueueImpl::createRenderPass):
3099         (WebGPU::QueueImpl::commitRenderPass):
3100         (WebGPU::QueueImpl::createComputePass):
3101         (WebGPU::QueueImpl::commitComputePass):
3102         (WebGPU::QueueImpl::createBlitPass):
3103         (WebGPU::QueueImpl::commitBlitPass):
3104         (WebGPU::QueueImpl::createHostAccessPass):
3105         (WebGPU::QueueImpl::commitHostAccessPass):
3106         (WebGPU::QueueImpl::present):
3107         (WebGPU::QueueImpl::commitPass):
3108         (WebGPU::QueueImpl::synchronizeResources):
3109         (WebGPU::QueueImpl::~QueueImpl):
3110         * WebGPUAPIStructure/WebGPU-Vulkan/QueueImpl.h: Added.
3111         * WebGPUAPIStructure/WebGPU-Vulkan/RenderPassImpl.cpp: Added.
3112         (WebGPU::RenderPassImpl::RenderPassImpl):
3113         (WebGPU::RenderPassImpl::setRenderState):
3114         (WebGPU::RenderPassImpl::setVertexAttributeBuffers):
3115         (WebGPU::RenderPassImpl::setResources):
3116         (WebGPU::RenderPassImpl::setViewport):
3117         (WebGPU::RenderPassImpl::setScissorRect):
3118         (WebGPU::RenderPassImpl::draw):
3119         * WebGPUAPIStructure/WebGPU-Vulkan/RenderPassImpl.h: Added.
3120         * WebGPUAPIStructure/WebGPU-Vulkan/RenderStateImpl.cpp: Added.
3121         (WebGPU::RenderStateImpl::RenderStateImpl):
3122         * WebGPUAPIStructure/WebGPU-Vulkan/RenderStateImpl.h: Added.
3123         (WebGPU::RenderStateImpl::getPipeline const):
3124         (WebGPU::RenderStateImpl::getPipelineLayout const):
3125         (WebGPU::RenderStateImpl::getDescriptorSetLayouts const):
3126         * WebGPUAPIStructure/WebGPU-Vulkan/SamplerImpl.cpp: Added.
3127         (WebGPU::SamplerImpl::SamplerImpl):
3128         (WebGPU::SamplerImpl::decrementReferenceCount):
3129         * WebGPUAPIStructure/WebGPU-Vulkan/SamplerImpl.h: Added.
3130         (WebGPU::SamplerImpl::getSampler):
3131         (WebGPU::SamplerImpl::incrementReferenceCount):
3132         (WebGPU::SamplerImpl::getFilter):
3133         (WebGPU::SamplerImpl::getMipmapMode):
3134         (WebGPU::SamplerImpl::getAddressMode):
3135         * WebGPUAPIStructure/WebGPU-Vulkan/TextureImpl.cpp: Added.
3136         (WebGPU::TextureImpl::TextureImpl):
3137         (WebGPU::TextureImpl::decrementReferenceCount):
3138         * WebGPUAPIStructure/WebGPU-Vulkan/TextureImpl.h: Added.
3139         (WebGPU::TextureImpl::getImage const):
3140         (WebGPU::TextureImpl::getImageView const):
3141         (WebGPU::TextureImpl::getFormat const):
3142         (WebGPU::TextureImpl::incrementReferenceCount):
3143         (WebGPU::TextureImpl::getWidth const):
3144         (WebGPU::TextureImpl::getHeight const):
3145         (WebGPU::TextureImpl::getTransferredToGPU const):
3146         (WebGPU::TextureImpl::setTransferredToGPU):
3147         * WebGPUAPIStructure/WebGPU-Vulkan/WebGPU-Vulkan.vcxproj: Added.
3148         * WebGPUAPIStructure/WebGPU-Vulkan/WebGPU-Vulkan.vcxproj.filters: Added.
3149         * WebGPUAPIStructure/WebGPU.sln: Added.
3150
3151 2017-10-26  Eric Carlson  <eric.carlson@apple.com>
3152
3153         NowPlayingInfo should contain a unique identifier
3154         https://bugs.webkit.org/show_bug.cgi?id=178872
3155
3156         Reviewed by Jer Noble.
3157
3158         * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
3159         (-[NowPlayingTestWebView hasActiveNowPlayingSession]): Use completion handler.
3160         (TestWebKitAPI::TEST): Cleanup tests. Use new API.
3161         (-[NowPlayingTestWebView waitForNowPlayingInfoToChange]): Deleted.
3162
3163 2017-10-26  Eric Carlson  <eric.carlson@apple.com>
3164
3165         [MediaStream] Clear cached gUM prompt state
3166         https://bugs.webkit.org/show_bug.cgi?id=178754
3167         <rdar://problem/32742356>
3168
3169         Unreviewed, fix a flakey test.
3170
3171         * TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm:
3172         (-[GetUserMediaRepromptTestView haveStream:]): New, check several times for expected state.
3173         (TestWebKitAPI::TEST): Don't assume stream state changes in the page immediately.
3174
3175 2017-10-26  Andy Estes  <aestes@apple.com>
3176
3177         [Payment Request] Enable Payment Request whenever Apple Pay is enabled
3178         https://bugs.webkit.org/show_bug.cgi?id=178880
3179
3180         Reviewed by Tim Horton.
3181
3182         * WebKitTestRunner/TestController.cpp:
3183         (WTR::TestController::resetPreferencesToConsistentValues):
3184
3185 2017-10-26  Joseph Pecoraro  <pecoraro@apple.com>
3186
3187         Add and update some watchlists
3188         https://bugs.webkit.org/show_bug.cgi?id=178304
3189
3190         Reviewed by Simon Fraser.
3191
3192         * Scripts/webkitpy/common/config/watchlist:
3193
3194 2017-10-26  Ryan Haddad  <ryanhaddad@apple.com>
3195
3196         Unreviewed, rolling out r223984.
3197
3198         Caused LayoutTest assertion failures.
3199
3200         Reverted changeset:
3201
3202         "When navigating back to a page, compositing layers may not
3203         use accelerated drawing"
3204         https://bugs.webkit.org/show_bug.cgi?id=178749
3205         https://trac.webkit.org/changeset/223984
3206
3207 2017-10-26  Christopher Reid  <chris.reid@sony.com>
3208
3209         Remove scopeguard from platform
3210         https://bugs.webkit.org/show_bug.cgi?id=178681
3211
3212         Reviewed by Brady Eidson.
3213
3214         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
3215
3216 2017-09-21  Carlos Garcia Campos  <cgarcia@igalia.com>
3217
3218         WebDriver: Add support to import and run W3C tests
3219         https://bugs.webkit.org/show_bug.cgi?id=177304
3220
3221         Reviewed by Brian Burg.
3222
3223         WPT has now several WebDriver tests, and new ones are going to be added to cover the whole spec. This patch
3224         adds the initial support for running W3C tests. The script import-w3c-webdriver-tests reuses parts of the W3C
3225         test downloader to download the tests and required tools from WPT repository into WebDriverTests
3226         directory. Tests can be run with run-webdriver-tests, a new script that works similar to other test runner
3227         scripts. For now it shows a summary at the end of the execution, there aren't expectations yet, since we are not
3228         ready to run those tests in the bots. Once we are ready to properly run the tests, we can add the expectations
3229         support and run the tests in the bots.
3230
3231         * Scripts/import-w3c-webdriver-tests: Added.
3232         * Scripts/run-webdriver-tests: Added.
3233         * Scripts/webkitpy/style/checker.py: Skip WebDriverTests directory since it only contains third-party python
3234         code.
3235         * Scripts/webkitpy/thirdparty/__init__.py: Add support to autodownload mozlog and mozprocess since they are
3236         required by the WebDriver tests.
3237         * Scripts/webkitpy/webdriver_tests/__init__.py: Added.
3238         * Scripts/webkitpy/webdriver_tests/webdriver_driver.py: Added.
3239         * Scripts/webkitpy/webdriver_tests/webdriver_driver_gtk.py: Added.
3240         * Scripts/webkitpy/webdriver_tests/webdriver_test_result.py: Added.
3241         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py: Added.
3242         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py: Added.
3243         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py: Added.
3244         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py: Added.
3245
3246 2017-10-25  Eric Carlson  <eric.carlson@apple.com>
3247
3248         [MediaStream] Clear cached gUM prompt state
3249         https://bugs.webkit.org/show_bug.cgi?id=178754
3250         <rdar://problem/32742356>
3251
3252         Reviewed by Youenn Fablet.
3253
3254         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new test
3255
3256         * TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm: Added.
3257         (-[GetUserMediaRepromptUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
3258         (-[GetUserMediaRepromptUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
3259         (TestWebKitAPI::TEST):
3260
3261         * TestWebKitAPI/Tests/WebKit/getUserMedia.html:
3262
3263 2017-10-25  Ross Kirsling  <ross.kirsling@sony.com>
3264
3265         Add committer status for Ross Kirsling
3266         https://bugs.webkit.org/show_bug.cgi?id=178832
3267
3268         Unreviewed.
3269
3270         * Scripts/webkitpy/common/config/contributors.json:
3271
3272 2017-10-25  Simon Fraser  <simon.fraser@apple.com>
3273
3274         When navigating back to a page, compositing layers may not use accelerated drawing
3275         https://bugs.webkit.org/show_bug.cgi?id=178749
3276         rdar://problem/35158946
3277
3278         Reviewed by Dean Jackson.
3279
3280         Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
3281         and use it to set the state of the web view.
3282
3283         * DumpRenderTree/TestOptions.h:
3284         * DumpRenderTree/TestOptions.mm:
3285         (TestOptions::TestOptions):
3286         * DumpRenderTree/mac/DumpRenderTree.mm:
3287         (setWebPreferencesForTestOptions):
3288         * WebKitTestRunner/TestController.cpp:
3289         (WTR::TestController::resetPreferencesToConsistentValues):
3290         (WTR::updateTestOptionsFromTestHeader):
3291         * WebKitTestRunner/TestOptions.h:
3292         (WTR::TestOptions::hasSameInitializationOptions const):
3293
3294 2017-10-25  Robin Morisset  <rmorisset@apple.com>
3295
3296         Support the TailBench9000 benchmark in run-jsc-benchmarks
3297         https://bugs.webkit.org/show_bug.cgi?id=178451
3298
3299         Reviewed by Saam Barati.
3300
3301         * Scripts/run-jsc-benchmarks:
3302
3303 2017-10-25  Adrian Perez de Castro  <aperez@igalia.com>
3304
3305         [WPE] Remove GLib API functions which use Cairo
3306         https://bugs.webkit.org/show_bug.cgi?id=178205
3307
3308         Reviewed by Michael Catanzaro.
3309
3310         Add PLATFORM(GTK) guards for the API tests (or parts of them) which use cairo_surface_t (web
3311         page snapshots and favicons) which are not available in the WPE version of the GLib API.
3312
3313         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
3314         (testNotInitialized):
3315         (testPrivateBrowsing):
3316         (testFaviconDatabase):
3317         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFindController.cpp:
3318         (testFindControllerHide):
3319         (beforeAll):
3320         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
3321         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
3322
3323 2017-10-25  Zan Dobersek  <zdobersek@igalia.com>
3324
3325         Make SERVICE_WORKER feature buildable on GTK, WPE
3326         https://bugs.webkit.org/show_bug.cgi?id=178574
3327
3328         Reviewed by Carlos Garcia Campos.
3329
3330         * Scripts/webkitperl/FeatureList.pm: Add the --service-worker option
3331         that enables the SERVICE_WORKER feature flag. For now it's enabled
3332         on Apple's Cocoa ports (even when build-webkit isn't used for those
3333         builds, the flag is enabled here for consistency).
3334
3335 2017-10-24  Michael Catanzaro  <mcatanzaro@igalia.com>
3336
3337         Unreviewed, fix name of Perl LibXML package on Fedora
3338         https://bugs.webkit.org/show_bug.cgi?id=178206
3339         <rdar://problem/35028586>
3340
3341         * gtk/install-dependencies:
3342         * wpe/install-dependencies:
3343
3344 2017-10-24  Alex Christensen  <achristensen@webkit.org>
3345
3346         Selecting and right-clicking URL-like strings with IDNA-disallowed characters in host or authority causes rendering engine crash
3347         https://bugs.webkit.org/show_bug.cgi?id=174267
3348
3349         Reviewed by Tim Horton.
3350
3351         * TestWebKitAPI/Tests/WebKit/CanHandleRequest_Bundle.cpp:
3352         (TestWebKitAPI::runTest):
3353
3354 2017-10-24  Eric Carlson  <eric.carlson@apple.com>
3355
3356         Web Inspector: Enable WebKit logging configuration and display
3357         https://bugs.webkit.org/show_bug.cgi?id=177027
3358         <rdar://problem/33964767>
3359
3360         Reviewed by Joseph Pecoraro.
3361
3362         Allow new 'dumpJSConsoleLogInStdErr' test header to redirect log console output to stderr.
3363
3364         * DumpRenderTree/TestOptions.h:
3365         * DumpRenderTree/TestOptions.mm:
3366         (TestOptions::TestOptions):
3367         * DumpRenderTree/mac/DumpRenderTree.mm:
3368         (runTest):
3369         * WebKitTestRunner/TestController.cpp:
3370         (WTR::updateTestOptionsFromTestHeader):
3371         (WTR::TestController::runTest):
3372         * WebKitTestRunner/TestOptions.h:
3373         (WTR::TestOptions::hasSameInitializationOptions const):
3374
3375 2017-10-24  Alex Christensen  <achristensen@webkit.org>
3376
3377         Apply custom header fields from WebsitePolicies to same-domain requests
3378         https://bugs.webkit.org/show_bug.cgi?id=178356
3379
3380         Reviewed by Brady Eidson.
3381
3382         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
3383         (expectHeaders):
3384
3385 2017-10-24  Stephan Szabo  <stephan.szabo@sony.com>
3386
3387         [Win][JSCOnly] Make jsconly build testapi and dlls and copy dlls when running tests
3388         https://bugs.webkit.org/show_bug.cgi?id=177279
3389
3390         Reviewed by Yusuke Suzuki.
3391
3392         * Scripts/build-jsc:
3393         * Scripts/run-jsc-stress-tests:
3394
3395 2017-10-23  Lucas Forschler  <lforschler@apple.com>
3396
3397         <rdar://problem/35045445>
3398         Update README to reference WebKit build archives, instead of 'nightly'
3399
3400         Reviewed by Aakash Jain.
3401
3402         * WebKitArchiveSupport/README:
3403
3404 2017-10-21  Tim Horton  <timothy_horton@apple.com>
3405
3406         Turn on ccache for Mac cmake builds by default
3407         https://bugs.webkit.org/show_bug.cgi?id=177059
3408
3409         Reviewed by Sam Weinig.
3410
3411         * ccache/ccache-clang:
3412         * ccache/ccache-wrapper: Added.
3413         Add a pass-through ccache wrapper to be used with CMake, in addition
3414         to the existing faux-clang wrappers.
3415
3416         * Scripts/build-webkit:
3417         Add --use-ccache and --no-use-ccache option, which will define
3418         WK_USE_CCACHE to YES or NO, respectively, which the underlying
3419         build systems respect. We do not define WK_USE_CCACHE if the option
3420         is not specified, because the underlying build systems have different
3421         default values.
3422
3423 2017-10-20  Aakash Jain  <aakash_jain@apple.com>
3424
3425         Do not run binding tests on multiple EWSes
3426         https://bugs.webkit.org/show_bug.cgi?id=178599
3427
3428         Reviewed by Alexey Proskuryakov. 
3429
3430         Remove old code which runs bindings tests and ignore it's result. We now have
3431         a dedicated bindings test EWS.
3432
3433         * Scripts/webkitpy/tool/steps/runtests.py:
3434         (RunTests.run): Removed bindings tests code.
3435         * Scripts/webkitpy/tool/steps/runtests_unittest.py: Updated unit-tests.
3436         (RunTestsTest.test_webkit_run_unit_tests): Ditto.
3437         * Scripts/webkitpy/tool/steps/steps_unittest.py: Ditto.
3438         * Scripts/webkitpy/tool/commands/download_unittest.py: Ditto.
3439
3440 2017-10-20  Youenn Fablet  <youenn@apple.com>
3441
3442         WebsiteDataStoreCustomPaths.mm is failing after r223718
3443         https://bugs.webkit.org/show_bug.cgi?id=178596
3444
3445         Unreviewed.
3446
3447         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
3448         (TEST): Making default web site data store creation expected at the end of the test.
3449         We should probably not need need to create it.
3450         This should be fixed as a follow-up.
3451
3452 2017-10-20  Antoine Quint  <graouts@apple.com>
3453
3454         [Web Animations] Provide basic timeline and animation interfaces
3455         https://bugs.webkit.org/show_bug.cgi?id=178526
3456
3457         Reviewed by Dean Jackson.
3458
3459         Remove the WEB_ANIMATIONS compile-time flag.
3460
3461         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3462
3463 2017-10-20  Tomas Popela  <tpopela@redhat.com>
3464
3465         Missing some perl packages in install-dependencies
3466         https://bugs.webkit.org/show_bug.cgi?id=178571
3467
3468         Reviewed by Žan Doberšek.
3469
3470         Install per-version and perl-Time-HiRes so we can use build-webkit
3471         script. Also add missing backlashes.
3472
3473         * wpe/install-dependencies:
3474
3475 2017-10-20  Commit Queue  <commit-queue@webkit.org>
3476
3477         Unreviewed, rolling out r222709 and r223572.
3478         https://bugs.webkit.org/show_bug.cgi?id=178587
3479
3480         Still getting mac-wk2 EWS bots stuck (Requested by ap on
3481         #webkit).
3482
3483         Reverted changesets:
3484
3485         "Log stack-trace for run-webkit-tests when interrupted"
3486         https://bugs.webkit.org/show_bug.cgi?id=176393
3487         https://trac.webkit.org/changeset/222709
3488
3489         "webkitpy: Hang when workers write to the same stack trace
3490         file"
3491         https://bugs.webkit.org/show_bug.cgi?id=178402
3492         https://trac.webkit.org/changeset/223572
3493
3494 2017-10-19  Nan Wang  <n_wang@apple.com>
3495
3496         AX: Provide a way for Accessibility to cache the selection while retrieving rects for speak selection
3497         https://bugs.webkit.org/show_bug.cgi?id=176247
3498         <rdar://problem/34217143>
3499
3500         Reviewed by Ryosuke Niwa.
3501
3502         * TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
3503         (TestWebKitAPI::TEST):
3504
3505 2017-10-19  Sam Weinig  <sam@webkit.org>
3506
3507         [Settings] Move global settings into their own file
3508         https://bugs.webkit.org/show_bug.cgi?id=178512
3509
3510         Reviewed by Darin Adler.
3511
3512         * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
3513         (TestWebKitAPI::TEST):
3514
3515 2017-10-19  Andy Estes  <aestes@apple.com>
3516
3517         [iOS] Conditionally rename DatabaseProcess to StorageProcess when building for iOS devices
3518         https://bugs.webkit.org/show_bug.cgi?id=178181
3519         <rdar://problem/33660282>
3520
3521         Reviewed by Dan Bernstein.
3522
3523         * WebKitTestRunner/TestController.cpp:
3524         (WTR::TestController::databaseProcessName):
3525
3526 2017-10-19  Saam Barati  <sbarati@apple.com>
3527
3528         Turn poly proto back on by default and remove the option
3529         https://bugs.webkit.org/show_bug.cgi?id=178525
3530
3531         Reviewed by Mark Lam.
3532
3533         * Scripts/run-jsc-stress-tests:
3534
3535 2017-10-18  Ryosuke Niwa  <rniwa@webkit.org>
3536
3537         Don't expose raw HTML in pasteboard to the web content
3538         https://bugs.webkit.org/show_bug.cgi?id=178422
3539
3540         Reviewed by Wenson Hsieh.
3541
3542         Added a test case for sanitizing web archive in the system pasteboard to strip privacy sensitive information
3543         such as local file paths and potentially harmful scripts like event handlers serialized by WebKit prior to r223462.
3544
3545         * TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm:
3546         (PasteWebArchive.SanitizesHTML):
3547
3548 2017-10-18  Youenn Fablet  <youenn@apple.com>
3549
3550         TestController should clear all fetch caches when resetting its state
3551         https://bugs.webkit.org/show_bug.cgi?id=178486
3552
3553         Reviewed by Chris Dumez.
3554
3555         Adding clearDOMCaches test runner method.
3556         Using that method when resetting state.
3557
3558         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3559         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3560         (WTR::TestRunner::clearDOMCaches):
3561         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3562         * WebKitTestRunner/TestInvocation.cpp:
3563         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3564
3565 2017-10-18  Chelsea Pugh  <cpugh@apple.com>
3566
3567         [iOS] Use new class name from UIKit when checking UITextSuggestion type
3568         https://bugs.webkit.org/show_bug.cgi?id=178416
3569
3570         Reviewed by Tim Horton.
3571
3572         This updates our test using/mocking out UITextAutofillSuggestion instead of UIKeyboardLoginCredentialsSuggestion.
3573
3574         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
3575         (-[UITextAutofillSuggestion initWithUsername:password:]): Copied from UIKit's implementation. This will serve as
3576         a mock of this method for builds not containingit.
3577         (+[UITextAutofillSuggestion autofillSuggestionWithUsername:password:]): Ditto.
3578         (TestWebKitAPI::TEST): Use +[UITextAutofillSuggestion autofillSuggestionWithUsername:password:] inline instead of
3579         helper function for creating a new suggestion.
3580         (newUIKeyboardLoginCredentialsSuggestion): Deleted.
3581
3582         * TestWebKitAPI/ios/UIKitSPI.h:
3583
3584 2017-10-18  Fujii Hironori  <Hironori.Fujii@sony.com>
3585
3586         update-webkit-auxiliary-libs can't download WebKitAuxiliaryLibrary.zip due to 403 Forbidden
3587         https://bugs.webkit.org/show_bug.cgi?id=178381
3588
3589         Reviewed by Alexey Proskuryakov.
3590
3591         The web server developer.apple.com seems to reject HTTP requests
3592         without Accept header field.
3593
3594         * Scripts/update-webkit-dependency: Add 'Accept' header field to requests.
3595
3596 2017-10-18  Aakash Jain  <aakash_jain@apple.com>
3597
3598         webkitpy tests should have --json-output option
3599         https://bugs.webkit.org/show_bug.cgi?id=178481
3600
3601         Reviewed by Alexey Proskuryakov.
3602
3603         * Scripts/webkitpy/test/main.py:
3604         (Tester._parse_args): Added json-output argument.
3605         (Tester._run_tests): Write output to json file.
3606
3607 2017-10-18  Wenson Hsieh  <wenson_hsieh@apple.com>
3608
3609         Unreviewed, rolling out r223291.
3610
3611         See WebCore ChangeLog for more detail.
3612
3613         Reverted changeset:
3614
3615         "Remove Editor::simplifyMarkup"
3616         https://bugs.webkit.org/show_bug.cgi?id=178271
3617         https://trac.webkit.org/changeset/223291
3618
3619 2017-10-18  Chris Dumez  <cdumez@apple.com>
3620
3621         Add an efficient data structure for WebCore to query if there is a Service Worker registered for a given origin
3622         https://bugs.webkit.org/show_bug.cgi?id=177876
3623         <rdar://problem/34813129>
3624
3625         Reviewed by Ryosuke Niwa.
3626
3627         Clear service worker registrations between test runs to avoid flakiness.
3628
3629         * WebKitTestRunner/TestController.cpp:
3630         (WTR::TestController::resetStateToConsistentValues):
3631
3632 2017-10-18  Zan Dobersek  <zdobersek@igalia.com>
3633
3634         Remove remnants of OpenWebRTC
3635         https://bugs.webkit.org/show_bug.cgi?id=178437
3636
3637         Reviewed by Alejandro G. Castro.
3638
3639         Drop OpenWebRTC packages from the GTK's Jhbuild modules file. Relevant
3640         patches are also removed.
3641
3642         * gtk/jhbuild.modules:
3643         * gtk/patches/libnice-0001-TURN-allow-REALM-to-be-empty.patch: Removed.
3644         * gtk/patches/libnice-0001-nicesrc-spin-the-agent-mainloop-in-a-separate-thread.patch: Removed.
3645         * gtk/patches/rtspsrc-timeout-on-udpsrc-is-in-nanoseconds.patch: Removed.
3646         * gtk/patches/udpsrc-improve-timeouts.patch: Removed.
3647
3648 2017-10-17  Jonathan Bedard  <jbedard@apple.com>
3649
3650         webkitpy: Hang when workers write to the same stack trace file
3651         https://bugs.webkit.org/show_bug.cgi?id=178402
3652         <rdar://problem/35033432>
3653
3654         Reviewed by Aakash Jain.
3655
3656         Workers can hang if they all write to the same stack trace file when receiving
3657         a SIGTERM. Attach the pid to the stack trace file name so that each worker
3658         writes to a different file.
3659
3660         * Scripts/webkitpy/common/interupt_debugging.py:
3661         (log_stack_trace_on_term.handler): Name stack trace file path/<pid>-filename.
3662         (log_stack_trace_on_cntrl_c.handler): Ditto.
3663
3664 2017-10-17  John Wilander  <wilander@apple.com>
3665
3666         Add and remove cookie partition accordingly in intermediary redirect requests
3667         https://bugs.webkit.org/show_bug.cgi?id=178369
3668         <rdar://problem/34467603>
3669
3670         Reviewed by Brent Fulgham.
3671
3672         Adds the function statisticsNotifyObserver().
3673
3674         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3675         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
3676         (WTR::InjectedBundle::statisticsNotifyObserver):
3677         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
3678         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3679         (WTR::TestRunner::statisticsNotifyObserver):
3680         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3681
3682 2017-10-17  Youenn Fablet  <youenn@apple.com>
3683
3684         Cache API implementation should be able to compute storage size for WebKit client applications.
3685         https://bugs.webkit.org/show_bug.cgi?id=178350
3686
3687         Reviewed by Chris Dumez.
3688
3689         Adding support for a domCacheSize getter.
3690
3691         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3692         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3693         (WTR::TestRunner::domCacheSize):
3694         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3695         * WebKitTestRunner/TestController.cpp:
3696         (WTR::FetchCacheSizeForOriginCallbackContext::FetchCacheSizeForOriginCallbackContext):
3697         (WTR::fetchCacheSizeForOriginCallback):
3698         (WTR::TestController::domCacheSize):
3699         * WebKitTestRunner/TestController.h:
3700         * WebKitTestRunner/TestInvocation.cpp:
3701         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3702
3703 2017-10-17  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>
3704
3705         [GStreamer][GTK][WPE] update-webkit-libs-jhbuild fails to detect changes in included moduleset files
3706         https://bugs.webkit.org/show_bug.cgi?id=178206
3707
3708         Reviewed by Michael Catanzaro.
3709
3710         The update-webkit-libs-jhbuild scripts computes MD5 sum of GTK/WPE jhbuild configuration files to check if it
3711         needs to rebuild the dependencies libraries. This patch fixes a bug when main GTK/WPE jhbuild modules
3712         configuration file includes additional files (for example GStreamer module). It parses jhbuild.modules file to
3713         check if additional files are included. If any, it computes MD5 sum for each of these included files.
3714
3715         * Scripts/update-webkit-libs-jhbuild:
3716         (getJhbuildIncludedFilePaths): New function that returns included files in jhbuild.modules
3717         (jhbuildConfigurationCheckFile): New function to check if MD5 sum file changes.
3718         (jhbuildConfigurationChanged): Add MD5 sum check for included files.
3719         (saveMd5File): New function to save MD5 sum of a file.
3720         (saveJhbuildMd5): Add saving included files MD5 sum.
3721         (deleteJhbuildMd5): Delete included files MD5 sum
3722         * gtk/install-dependencies: Add perl-libXML lib that is used to parse jhbuild file.
3723         * wpe/install-dependencies: Ditto.
3724
3725 2017-10-17  Tomas Popela  <tpopela@redhat.com>
3726
3727         Undefined WK_API_ENABLED warning when compiling COCOA content on WebKitGTK+
3728         https://bugs.webkit.org/show_bug.cgi?id=178208
3729
3730         Check whether we are on COCOA platform before checking for
3731         WK_API_ENABLED.
3732
3733         Reviewed by Ryosuke Niwa.
3734
3735         * WebKitTestRunner/TestController.cpp:
3736         (WTR::TestController::clearDOMCache):
3737
3738 2017-10-17  Keith Miller  <keith_miller@apple.com>
3739
3740         Change WebCore sources to work with unified source builds
3741         https://bugs.webkit.org/show_bug.cgi?id=178229
3742
3743         Rubber stamped by Tim Horton.
3744
3745         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3746
3747 2017-10-16  Christopher Reid  <chris.reid@sony.com>
3748
3749         [Win] Webkit should still be able to build when unable to check if libraries are up to date
3750         https://bugs.webkit.org/show_bug.cgi?id=178367
3751
3752         Adding a option to skip the check to see if windows libraries are up to date.
3753         This option is useful when testing modified libraries. This option also allows
3754         building webkit when GitHub blocks requests to verify the latest library version.
3755
3756
3757         Reviewed by Per Arne Vollan.
3758
3759         * Scripts/build-webkit:
3760
3761 2017-10-12  Matt Rajca  <mrajca@apple.com>
3762
3763         Add API support for quirk that lets an arbitrary click allow auto-play.
3764         https://bugs.webkit.org/show_bug.cgi?id=178227
3765
3766         Reviewed by Alex Christensen.
3767
3768         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
3769         (TEST): Added API test.
3770
3771 2017-10-16  Maureen Daum  <mdaum@apple.com>
3772
3773         If an origin doesn't have databases in the Databases table we should still remove its information from disk in DatabaseTracker::deleteOrigin()
3774         https://bugs.webkit.org/show_bug.cgi?id=178281
3775         <rdar://problem/34576132>
3776
3777         Reviewed by Brent Fulgham.
3778
3779         Verify that if there is an entry in the Origins table but no entries in the Databases
3780         table that we still remove the directory for the origin, and that we remove the
3781         entry from the Origins table.
3782
3783         * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
3784         (TestWebKitAPI::TEST):
3785
3786 2017-10-15  Ryosuke Niwa  <rniwa@webkit.org>
3787
3788         Cannot access images included in the content pasted from Microsoft Word
3789         https://bugs.webkit.org/show_bug.cgi?id=124391
3790         <rdar://problem/26862741>
3791
3792         Reviewed by Antti Koivisto.
3793
3794         Added tests for sanitizing HTML contents for copy & paste and drag & drop.
3795
3796         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3797         * TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm: Added.
3798         (readHTMLFromPasteboard): Added.
3799         (createWebViewWithCustomPasteboardDataEnabled): Added.
3800         (CopyHTML.Sanitizes): Added.
3801
3802         * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
3803         (createWebViewWithCustomPasteboardDataEnabled): Added to enable more tests on bots.
3804
3805         * TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
3806         (writeRTFToPasteboard): Added.
3807         (createWebViewWithCustomPasteboardDataEnabled): Added.
3808         (createHelloWorldString): Added.
3809         (PasteRTF.ExposesHTMLTypeInDataTransfer): Added.
3810         (PasteRTFD.ExposesHTMLTypeInDataTransfer): Added.
3811         (PasteRTFD.ImageElementUsesBlobURLInHTML): Added.
3812
3813         * TestWebKitAPI/Tests/WebKitCocoa/copy-html.html: Added.
3814         * TestWebKitAPI/Tests/WebKitCocoa/paste-rtfd.html: Store the clipboardData contents for
3815         PasteRTF.ExposesHTMLTypeInDataTransfer and PasteRTFD.ExposesHTMLTypeInDataTransfer.
3816
3817         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3818         (DataInteractionTests.DataTransferSanitizeHTML):
3819
3820 2017-10-16  Youenn Fablet  <youenn@apple.com>
3821
3822         Activate Cache API by default
3823         https://bugs.webkit.org/show_bug.cgi?id=178186
3824
3825         Reviewed by Chris Dumez.
3826
3827         Removing explicit activation of cache api.
3828
3829         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
3830         (WTR::InjectedBundle::beginTesting):
3831         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3832         (WTR::TestRunner::setCacheAPIEnabled): Deleted.
3833         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3834
3835 2017-10-16  Ross Kirsling  <ross.kirsling@sony.com>
3836
3837         run-webkit-tests help text should mention arguments too
3838         https://bugs.webkit.org/show_bug.cgi?id=178352
3839
3840         Reviewed by Tim Horton.
3841
3842         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
3843         (parse_args):
3844
3845 2017-10-16  Maureen Daum  <mdaum@apple.com>
3846
3847         If we fail to delete any database file, don't remove its information from the tracker database
3848         <rdar://problem/34576132> and https://bugs.webkit.org/show_bug.cgi?id=178251
3849
3850         Reviewed by Brady Eidson.
3851
3852         Add tests that verify we correctly delete databases and remove their information from
3853         the tracker database, even if the database doesn't exist. Verify that if we fail to
3854         delete a database, we don't remove its information from the tracker database.
3855
3856         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3857         Move DatabaseTrackerTest.cpp to DatabaseTrackerTest.mm so that we can use the cocoa
3858         method for creating a temporary directory in the tests.
3859         * TestWebKitAPI/Tests/WebCore/DatabaseTrackerTest.cpp: Removed.
3860         The existing test was copied to DatabaseTrackerTest.mm.
3861         * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm: Added.
3862         (TestWebKitAPI::TEST):
3863         (TestWebKitAPI::addToDatabasesTable):
3864         (TestWebKitAPI::removeDirectoryAndAllContents):
3865         (TestWebKitAPI::createFileAtPath):
3866
3867 2017-10-16  Ryan Haddad  <ryanhaddad@apple.com>
3868
3869         Unreviewed, rolling out r223422.
3870
3871         These tests are for a change that was rolled out in r223420
3872
3873         Reverted changeset:
3874
3875         "If we fail to delete any database file, don't remove its
3876         information from the tracker database"
3877         https://bugs.webkit.org/show_bug.cgi?id=178251
3878         https://trac.webkit.org/changeset/223422
3879
3880 2017-10-16  Maureen Daum  <mdaum@apple.com>
3881
3882         If we fail to delete any database file, don't remove its information from the tracker database
3883         <rdar://problem/34576132> and https://bugs.webkit.org/show_bug.cgi?id=178251
3884
3885         Reviewed by Brady Eidson.
3886
3887         Add tests that verify we correctly delete databases and remove their information from
3888         the tracker database, even if the database doesn't exist. Verify that if we fail to
3889         delete a database, we don't remove its information from the tracker database.
3890
3891         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3892         Move DatabaseTrackerTest.cpp to DatabaseTrackerTest.mm so that we can use the cocoa
3893         method for creating a temporary directory in the tests.
3894         * TestWebKitAPI/Tests/WebCore/DatabaseTrackerTest.cpp: Removed.
3895         The existing test was copied to DatabaseTrackerTest.mm.
3896         * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm: Added.
3897         (TestWebKitAPI::TEST):
3898         (TestWebKitAPI::addToDatabasesTable):
3899         (TestWebKitAPI::removeDirectoryAndAllContents):
3900         (TestWebKitAPI::createFileAtPath):
3901
3902 2017-10-16  David Kilzer  <ddkilzer@apple.com>
3903
3904         Add RELEASE_ASSERT_WITH_SECURITY_IMPLICATION() macro
3905         <https://webkit.org/b/178269>
3906
3907         Reviewed by Alex Christensen.
3908
3909         * Scripts/webkitpy/style/checkers/cpp.py:
3910         (check_language): Add checker to warn about using
3911         ASSERT_WITH_SECURITY_IMPLICATION().
3912         (CppChecker.categories): Add 'security/assertion' to list of
3913         enabled checkers.
3914         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
3915         (CppStyleTest.test_debug_security_assertion): Add tests for
3916         new checker.
3917
3918 2017-10-16  Chris Dumez  <cdumez@apple.com>
3919
3920         Clicks on Link with download attribute causes all (other) links to trigger download when clicked
3921         https://bugs.webkit.org/show_bug.cgi?id=178267
3922         <rdar://problem/34985016>
3923
3924         Reviewed by Darin Adler.
3925
3926         Use PassThrough policy in WKTR's InjectedBundle's decidePolicyForNewWindowAction so that the
3927         request is sent to the UIProcess. This gets WKTR's closer to Safari behavior and helps
3928         reproduce the bug. Without this change, I would not be able to write a regression test for
3929         this bug that is very easily reproducible in Safari.
3930
3931         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
3932         (WTR::InjectedBundlePage::decidePolicyForNewWindowAction):
3933
3934 2017-10-16  Emilio Cobos Álvarez  <emilio@crisal.io>
3935
3936         Add Emilio Cobos Álvarez to the contributors list.
3937         https://bugs.webkit.org/show_bug.cgi?id=178334
3938
3939         Reviewed by Antti Koivisto.
3940
3941         * Scripts/webkitpy/common/config/contributors.json:
3942
3943 2017-10-07  Maciej Stachowiak  <mjs@apple.com>
3944
3945         Improve --help documentation and add --list-plans to show available benchmarks.
3946         https://bugs.webkit.org/show_bug.cgi?id=178059
3947
3948         Reviewed by Ryosuke Niwa.
3949
3950         * Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
3951         (BenchmarkRunner.available_plans): New function that returns the list of available plans.
3952         (BenchmarkRunner.plan_directory): New method to centralize knowledge of where the plan files live.
3953         (BenchmarkRunner._find_plan_file): Updated to use BenchmarkRunner.plan_directory
3954
3955         * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
3956         
3957         (parse_args): Help cleanup: Reordered options to put more common
3958         ones at the top. Fixed wording. Added help for each
3959         option. Explained default for each option that has one.
3960
3961         New option: --list-plans which tells you the available benchmarks.
3962         
3963         Code cleanup: Removed use of dest where redundant, made variable
3964         names conforming to Python coding style.
3965         
3966         (run_benchmark_plan): Adapted for new variable names.
3967         (list_benchmark_plans): New helper for --list-plans option.
3968         (start): Account for --list-plans. Also use
3969         BechmarkRunner.available_plans and use
3970         BenchmarkRunner.plan_directory instead of duplicating
3971         code/knowledge here.
3972
3973 2017-10-16  Wenson Hsieh  <wenson_hsieh@apple.com>
3974
3975         On ToT, event.dataTransfer.getData("text/uri-list") returns an empty string when dragging an image
3976         https://bugs.webkit.org/show_bug.cgi?id=178301
3977         <rdar://problem/34990050>
3978
3979         Reviewed by Darin Adler.
3980
3981         Fixes issues in DumpRenderTree's LocalPasteboard to ensure that drag-drop-href-as-url.html exposes files, and
3982         also adds a new iOS drag and drop API test.
3983
3984         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
3985         (-[LocalPasteboard addTypes:owner:]):
3986         (-[LocalPasteboard setData:forType:]):
3987
3988         Fixes LocalPasteboard's implementation of changeCount to incremement when the pasteboard owner changes, rather
3989         than every time data is changed. This is consistent with NSPasteboard behavior.
3990
3991         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3992         (TestWebKitAPI::TEST):
3993
3994         Adds a new API test to verify that an image and HTTP URL written by the platform is correctly web exposed.
3995
3996 2017-10-15  Darin Adler  <darin@apple.com>
3997
3998         UTF-8 decoding produces one replacement character per byte; Encoding standard requires one replacement character per illegal sequence instead
3999         https://bugs.webkit.org/show_bug.cgi?id=178207
4000
4001         Reviewed by Sam Weinig.
4002
4003         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added test.
4004         * TestWebKitAPI/Tests/WebCore/TextCodec.cpp: Added.
4005         (TestWebKitAPI::decodeHexTestBytes): Decodes a string so we can write readable tests.
4006         (TestWebKitAPI::escapeNonPrintableASCIICharacters): Encodes a string so we can write readable tests.
4007         (TestWebKitAPI::TEST): Added some UTF-8 tests and UTF-8 invalid sequences tests.
4008         Would be smart to add more tests for other cases, exercising the fast ASCII loop for example, and
4009         other encodings.
4010
4011 2017-10-14  Adrian Perez de Castro  <aperez@igalia.com>
4012
4013         [WPE] JHBuild build directory DependenciesWPE/Build is not removed by update-webkit-libs-jhbuild
4014         https://bugs.webkit.org/show_bug.cgi?id=178212
4015
4016         Reviewed by Michael Catanzaro.
4017
4018         * Scripts/update-webkit-libs-jhbuild:
4019         (cleanJhbuild): The WPE JHBuild also uses a separate "Build" subdirectory, so do not skip
4020         cleaning it when "--wpe" is passed to the script.
4021
4022 2017-10-13  Adrian Perez de Castro  <aperez@igalia.com>
4023
4024         [WPE] Fontconfig fails build in JHBuild with “error: conflicting types for ‘FcObjectTypeHash’”
4025         https://bugs.webkit.org/show_bug.cgi?id=178283
4026
4027         Reviewed by Žan Doberšek.
4028
4029         * wpe/jhbuild.modules: Flag Fontconfig to be built inside the source directory, otherwise
4030         compilation fails. While at it, pass "--disable-docs" to cut a bit on build time.
4031
4032 2017-10-13  Youenn Fablet  <youenn@apple.com>
4033
4034         Implement listing origins for which CacheStorage is storing data
4035         https://bugs.webkit.org/show_bug.cgi?id=178236
4036
4037         Reviewed by Chris Dumez.
4038
4039         Adding hasDOMCache API for checking whether origin is storing data through Cache API.
4040
4041         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
4042         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
4043         (WTR::TestRunner::hasDOMCache):
4044         * WebKitTestRunner/InjectedBundle/TestRunner.h:
4045         * WebKitTestRunner/TestController.cpp:
4046         (WTR::FetchCacheOriginsCallbackContext::FetchCacheOriginsCallbackContext):
4047         (WTR::fetchCacheOriginsCallback):
4048         (WTR::TestController::hasDOMCache):
4049         * WebKitTestRunner/TestController.h:
4050         * WebKitTestRunner/TestInvocation.cpp:
4051         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
4052
4053 2017-10-13  Alex Christensen  <achristensen@webkit.org>
4054
4055         Remove Editor::simplifyMarkup
4056         https://bugs.webkit.org/show_bug.cgi?id=178271
4057
4058         Reviewed by Wenson Hsieh.
4059
4060         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4061         * TestWebKitAPI/Tests/mac/SimplifyMarkup.mm: Removed.
4062
4063 2017-10-11  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
4064
4065         [GLib] WebKitNavigationAction should tell whether it is a redirect
4066         https://bugs.webkit.org/show_bug.cgi?id=178178
4067
4068         Test that WebKitNavigationAction properly reports being a redirect.
4069
4070         Reviewed by Carlos Garcia Campos.
4071
4072         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp:
4073         (testNavigationPolicy): test that loading /redirect leads to a redirect WebKitNavigationAction.
4074         (serverCallback): add a /redirect path to the server, which causes a redirect.
4075
4076 2017-10-13  Chris Dumez  <cdumez@apple.com>
4077
4078         Unreviewed, fix webkitpy failure after r223273
4079
4080         * Scripts/webkitpy/w3c/test_importer_unittest.py:
4081         (TestImporterTest.test_harnesslinks_conversion):
4082
4083 2017-10-12  Chris Dumez  <cdumez@apple.com>
4084
4085         import-w3c-tests modifies test sources and sometimes causes them to fail
4086         https://bugs.webkit.org/show_bug.cgi?id=178234
4087
4088         Reviewed by Ryosuke Niwa.
4089
4090         Update import-w3c-tests to stop rewriting tests as this is causing some tests
4091         to fail unexpectedly.
4092
4093         * Scripts/webkitpy/w3c/test_importer.py:
4094         (TestImporter.import_tests):
4095
4096 2017-10-12  Youenn Fablet  <youenn@apple.com>
4097
4098         Layout Test http/tests/cache-storage/cache-clearing.https.html is failing
4099         https://bugs.webkit.org/show_bug.cgi?id=178200
4100
4101         Reviewed by Chris Dumez.
4102
4103         Making clearDOMCache wait for removal completion to exit.
4104         This removes the risk to interact with the cache while deleting it which will end up be racy in tests.
4105
4106         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
4107         (WTR::TestRunner::clearDOMCache):
4108         * WebKitTestRunner/TestController.cpp:
4109         (WTR::ClearDOMCacheCallbackContext::ClearDOMCacheCallbackContext):
4110         (WTR::clearDOMCacheCallback):
4111         (WTR::TestController::clearDOMCache):
4112         * WebKitTestRunner/TestInvocation.cpp:
4113         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
4114         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
4115
4116 2017-10-12  John Wilander  <wilander@apple.com>
4117
4118         ResourceLoadObserver::logFrameNavigation() should use redirectResponse.url()
4119         https://bugs.webkit.org/show_bug.cgi?id=175257
4120         <rdar://problem/33359866>
4121
4122         Reviewed by Brent Fulgham.
4123
4124         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
4125         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
4126         (WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder):
4127         (WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo):
4128         * WebKitTestRunner/InjectedBundle/TestRunner.h:
4129         * WebKitTestRunner/TestController.cpp:
4130         (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
4131             Not implemented.
4132         (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
4133             Not implemented.
4134         * WebKitTestRunner/TestController.h:
4135         * WebKitTestRunner/TestInvocation.cpp:
4136         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
4137         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
4138         (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
4139             Implemented platform-specific.
4140         (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
4141             Implemented platform-specific.
4142
4143 2017-10-12  Andy Estes  <aestes@apple.com>
4144
4145         [iOS] Conditionally rename DatabaseProcess to StorageProcess when building for iOS devices
4146         https://bugs.webkit.org/show_bug.cgi?id=178181
4147         <rdar://problem/33660282>
4148
4149         Reviewed by Dan Bernstein.
4150
4151         * WebKitTestRunner/TestController.cpp:
4152         (WTR::TestController::databaseProcessName):
4153
4154 2017-10-12  Myles C. Maxfield  <mmaxfield@apple.com>
4155
4156         Emit SPIR-V from WSL compiler (Part 1)
4157         https://bugs.webkit.org/show_bug.cgi?id=177998
4158
4159         Reviewed by Filip Pizlo.
4160
4161         This patch implements the first half of a SPIR-V codegen phase for WSL.
4162         This includes all the operations which aren't actually emitting the contents
4163         of functions themselves. For example, this includes things like representing
4164         WSL types with SPIR-V types, and declaring shaders' inputs and outputs. A
4165         future patch will actually emit the contents of functions.
4166
4167         There are two helper visitors here: SPIRVTypeAnalyzer which generates SPIR-V
4168         types from WSL types, and SPIRVPrimitiveVariableAnalyzer which identifies
4169         input and output variables from a shader (and assigns location values to
4170         each one).
4171
4172         This patch is currently pursuing the "logical mode" detailed in
4173         https://bugs.webkit.org/show_bug.cgi?id=176967. In this mode, each pointer and
4174         array reference operation can be statically traced to the variable or array it
4175         is operating on.
4176
4177         This has the interesting property where accessing a pointer inside an array is
4178         forbidden, because the array index may be computed at runtime, so the compiler
4179         can't know at compile time which variable the pointer operation will be
4180         accessing. However, this isn't true for structs; the program must statically
4181         state which struct member it is accessing. Therefore, pointers or array
4182         references must not transitively appear within an array, but they may appear
4183         within a struct. The same logic applies to array references; those get lowered
4184         to just two indexes in SPIR-V (a lower bound and an upper bound).
4185
4186         So, outside of an array, SPIR-V types don't need to include any pointers because
4187         any operation with the pointer doesn't need access to the runtime value of the
4188         pointer. Inside of an array, pointers are forbidden. Therefore, SPIR-V types
4189         will never include any pointers.
4190
4191         This means that, for example, WSL can represent a linked list in logical mode.
4192         However, a WSL program cannot iterate across the list, because that would require
4193         assigning to a pointer. So instead, a program using a linked list could only say
4194         something like "list.ptr->ptr->ptr->value".
4195
4196         * WebGPUShadingLanguageRI/LateChecker.js:
4197         (LateChecker.prototype._checkShaderType):
4198         * WebGPUShadingLanguageRI/SPIR-V.js:
4199         (SPIRV.OperandChecker.prototype._isStar):
4200         (SPIRV.OperandChecker.prototype.nextComparisonType):
4201         (SPIRV.OperandChecker.prototype.finalize):
4202         (SPIRV.OperandChecker):
4203         * WebGPUShadingLanguageRI/SPIRV.html:
4204         * WebGPUShadingLanguageRI/SPIRVCodegen.js: Added.
4205         (findEntryPoints):
4206         (emitTypes.doEmitTypes):
4207         (emitTypes):
4208         (ConstantFinder.prototype.visitGenericLiteralType):
4209         (ConstantFinder):
4210         (generateSPIRV):
4211         * WebGPUShadingLanguageRI/SPIRVTypeAnalyzer.js: Added.
4212         (SPIRVTypeAnalyzer):
4213         (SPIRVTypeAnalyzer.prototype.get program):
4214         (SPIRVTypeAnalyzer.prototype.get typeMap):
4215         (SPIRVTypeAnalyzer.prototype.get currentId):
4216         (SPIRVTypeAnalyzer.prototype.get stack):
4217         (SPIRVTypeAnalyzer.prototype.visitTypeRef):
4218         (SPIRVTypeAnalyzer.prototype._encounterType):
4219         (SPIRVTypeAnalyzer.prototype.visitNullType):
4220         (SPIRVTypeAnalyzer.prototype.visitGenericLiteralType):
4221         (SPIRVTypeAnalyzer.prototype.visitNativeType):
4222         (SPIRVTypeAnalyzer.prototype.visitEnumType):
4223         (SPIRVTypeAnalyzer.prototype.visitPtrType):
4224         (SPIRVTypeAnalyzer.prototype.visitArrayRefType):
4225         (SPIRVTypeAnalyzer.prototype.visitArrayType):
4226         (SPIRVTypeAnalyzer.prototype.visitStructType):
4227         * WebGPUShadingLanguageRI/SPIRVVariableAnalyzer.js: Added.
4228         (SPIRVPrimitiveVariableAnalyzer):
4229         (SPIRVPrimitiveVariableAnalyzer.prototype.get program):
4230         (SPIRVPrimitiveVariableAnalyzer.prototype.get typeMap):
4231         (SPIRVPrimitiveVariableAnalyzer.prototype.get currentId):
4232         (SPIRVPrimitiveVariableAnalyzer.prototype.get currentLocation):
4233         (SPIRVPrimitiveVariableAnalyzer.prototype.get nameComponents):
4234         (SPIRVPrimitiveVariableAnalyzer.prototype.get result):
4235         (SPIRVPrimitiveVariableAnalyzer.prototype.visitTypeRef):
4236         (SPIRVPrimitiveVariableAnalyzer.prototype.visitNullType):
4237         (SPIRVPrimitiveVariableAnalyzer.prototype.visitGenericLiteralType):
4238         (SPIRVPrimitiveVariableAnalyzer.prototype.visitNativeType):
4239         (SPIRVPrimitiveVariableAnalyzer.prototype.visitEnumType):
4240         (SPIRVPrimitiveVariableAnalyzer.prototype.visitPtrType):
4241         (SPIRVPrimitiveVariableAnalyzer.prototype.visitArrayRefType):
4242         (SPIRVPrimitiveVariableAnalyzer.prototype.visitArrayType):
4243         (SPIRVPrimitiveVariableAnalyzer.prototype.visitStructType):
4244         * WebGPUShadingLanguageRI/WSL.md:
4245         * WebGPUShadingLanguageRI/index.html:
4246
4247 2017-09-29  Filip Pizlo  <fpizlo@apple.com>
4248
4249         Enable gigacage on iOS
4250         https://bugs.webkit.org/show_bug.cgi?id=177586
4251
4252         Reviewed by JF Bastien.
4253         
4254         Add a mode to test disabling Gigacage.
4255
4256         * Scripts/run-jsc-stress-tests:
4257         * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
4258
4259 2017-10-11  Sam Weinig  <sam@webkit.org>
4260
4261         Remove out-parameter variants of copy