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