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