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