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