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