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