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