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