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