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