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