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