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