1 2017-11-27 Don Olmstead <don.olmstead@sony.com>
3 [CMake][Win] Conditionally select DLL CRT or static CRT
4 https://bugs.webkit.org/show_bug.cgi?id=170594
6 Reviewed by Alex Christensen.
8 * DumpRenderTree/PlatformWin.cmake:
9 * MiniBrowser/win/CMakeLists.txt:
11 2017-11-27 Yacine Bandou <yacine.bandou_ext@softathome.com>
13 [GTK][WPE] Add "enable-encrypted-media" property to WebKitWebSettings
14 https://bugs.webkit.org/show_bug.cgi?id=18005
16 Reviewed by Michael Catanzaro.
18 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
21 2017-11-27 Tim Horton <timothy_horton@apple.com>
23 One too many zeroes in macOS version number in FeatureDefines
24 https://bugs.webkit.org/show_bug.cgi?id=180011
26 Reviewed by Dan Bernstein.
28 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
30 2017-11-27 Per Arne Vollan <pvollan@apple.com>
32 [Win] The number of webkit-patch iterations on EWS should be configurable.
33 https://bugs.webkit.org/show_bug.cgi?id=178517
35 Reviewed by Darin Adler.
37 Add a new RESET_AFTER_ITERATION argument to the EWS shell script.
39 * EWSTools/start-queue-win.sh:
41 2017-11-27 Per Arne Vollan <pvollan@apple.com>
43 [Win] Switch to VS2017 on EWS bots.
44 https://bugs.webkit.org/show_bug.cgi?id=178516
46 Reviewed by Darin Adler.
48 * EWSTools/start-queue-win.sh:
50 2017-11-27 Carlos Garcia Campos <cgarcia@igalia.com>
52 [SOUP] Layout test media/track/track-text-track-cue-list.html crash with g_source_set_ready_time: assertion 'source->ref_count > 0' failed
53 https://bugs.webkit.org/show_bug.cgi?id=176806
55 Reviewed by Carlos Alberto Lopez Perez.
57 This was caused by a GLib bug that has already been fixed. Upgrade glib to 2.54.2.
59 * gtk/jhbuild.modules:
60 * gtk/patches/gdate-suppress-string-format-literal-warning.patch: Removed.
62 2017-11-24 Darin Adler <darin@apple.com>
64 * TestWebKitAPI/Tests/WTF/OptionSet.cpp:
65 (TestWebKitAPI::TEST): Added a test for OptionSet operator|.
67 2017-11-24 Mark Lam <mark.lam@apple.com>
69 Move unsafe jsc shell test functions to the $vm object.
70 https://bugs.webkit.org/show_bug.cgi?id=179980
72 Reviewed by Yusuke Suzuki.
74 Always set --useDollarVM=true for jsc runs of benchmarks. This is needed because
75 some microbenchmarks relies on createBuiltin().
77 Also set --useDollarVM=true for runExceptionFuzz and runExecutableAllocationFuzz.
79 * Scripts/run-jsc-benchmarks:
80 * Scripts/run-jsc-stress-tests:
82 2017-11-23 Darin Adler <darin@apple.com>
84 Reduce WTF::String operations that do unnecessary Unicode operations instead of ASCII
85 https://bugs.webkit.org/show_bug.cgi?id=179907
87 Reviewed by Sam Weinig.
89 * DumpRenderTree/mac/DumpRenderTree.mm:
90 (changeWindowScaleIfNeeded): Use containsIgnoringASCIICase.
91 * WebKitTestRunner/TestInvocation.cpp:
92 (WTR::TestInvocation::urlContains const): Ditto.
94 2017-11-22 Ali Juma <ajuma@chromium.org>
96 Implement VisualViewport API attributes
97 https://bugs.webkit.org/show_bug.cgi?id=179385
99 Reviewed by Frédéric Wang.
101 Enable the VisualViewportAPI in layout tests.
103 * DumpRenderTree/mac/DumpRenderTree.mm:
104 (enableExperimentalFeatures):
105 * DumpRenderTree/win/DumpRenderTree.cpp:
106 (enableExperimentalFeatures):
108 2017-11-22 Tim Horton <timothy_horton@apple.com> and Michael Catanzaro <mcatanzaro@igalia.com>
110 Remove build-webkit's notion of feature flags having a default value
111 https://bugs.webkit.org/show_bug.cgi?id=177338
113 Reviewed by Carlos Alberto Lopez Perez.
115 Delegate feature flag default values to the build system.
116 (FeatureDefines.xcconfig for Xcode, WebKitFeatures.cmake and Options*.cmake for CMake, and FeatureDefines.h for everyone)
118 * BuildSlaveSupport/build.webkit.org-config/config.json:
119 * BuildSlaveSupport/build.webkit.org-config/master.cfg:
121 Update GTK and WPE buildbot configuration to use --no-experimental-features on old stable
122 bots instead of --default-cmake-features.
124 * Scripts/build-webkit:
125 (cMakeArgsFromFeatures): Deleted.
126 Default feature values to 'undef'.
127 Remove the --default-cmake-features argument; it is now the default.
128 Add --no-experimental-features to replace it.
129 Stop printing the default feature flag value in the help.
130 Avoid propagating undefined values to the build system;
131 only mention flags that are overridden on the command line.
133 This has the nice side effect of using the default CMake features
134 for CMake builds, but still allowing toggling of them using the
135 prettier --FEATURE and --no-FEATURE arguments.
137 * Scripts/webkitdirs.pm:
138 (generateBuildSystemFromCMakeProject):
139 No longer need to suppress CMake warnings about unused arguments.
141 * Scripts/webkitperl/FeatureList.pm:
142 Remove the default values from the feature list.
144 2017-11-22 Mark Lam <mark.lam@apple.com>
146 [Re-landing] Pass --useDollarVM=true to all JSC tests.
147 https://bugs.webkit.org/show_bug.cgi?id=179647
149 Reviewed by Saam Barati.
151 * Scripts/run-jsc-stress-tests:
153 2017-11-22 Commit Queue <commit-queue@webkit.org>
155 Unreviewed, rolling out r225093.
156 https://bugs.webkit.org/show_bug.cgi?id=179938
158 Compilation failed on WinCairo 64-bit Release (Requested by
163 "Implement VisualViewport API attributes"
164 https://bugs.webkit.org/show_bug.cgi?id=179385
165 https://trac.webkit.org/changeset/225093
167 2017-11-21 Ali Juma <ajuma@chromium.org>
169 Implement VisualViewport API attributes
170 https://bugs.webkit.org/show_bug.cgi?id=179385
172 Reviewed by Frédéric Wang.
174 Enable the VisualViewportAPI in layout tests.
176 * DumpRenderTree/mac/DumpRenderTree.mm:
177 (enableExperimentalFeatures):
178 * DumpRenderTree/win/DumpRenderTree.cpp:
179 (enableExperimentalFeatures):
181 2017-11-21 Carlos Garcia Campos <cgarcia@igalia.com>
183 [WPE] Run unit tests in the bots
184 https://bugs.webkit.org/show_bug.cgi?id=179910
186 Reviewed by Michael Catanzaro.
188 Add a step to run unit tests in WPE test bots.
190 * BuildSlaveSupport/build.webkit.org-config/master.cfg:
194 (TestFactory.__init__):
195 (RunGtkAPITests.start): Deleted.
196 (RunGtkAPITests.commandComplete): Deleted.
197 (RunGtkAPITests.evaluateCommand): Deleted.
198 (RunGtkAPITests.getText): Deleted.
199 (RunGtkAPITests.getText2): Deleted.
200 * wpe/jhbuild.modules: Upgrade WPEBackend-mesa to fix crashes when running unit tests.
202 2017-11-21 Tomas Popela <tpopela@redhat.com>
204 Fix WebKitGTK+ compilation
206 Reviewed by Carlos Garcia Campos.
208 File "/builddir/build/BUILD/webkitgtk-2.19.2/Tools/gtk/generate-gtkdoc", line 31, in <module>
210 ImportError: No module named common
212 * gtk/manifest.txt.in:
213 Add Tools/glib/common.py to the tarball.
215 2017-11-21 Ms2ger <Ms2ger@igalia.com>
217 [GTK] Avoid warning in jhbuildrc.
218 https://bugs.webkit.org/show_bug.cgi?id=179913
220 Reviewed by Carlos Garcia Campos.
222 Apparently this is not quite a real python file; this declaration causes
224 I: unknown keys defined in configuration file: top_level_directory
225 which break run-webkit-tests.
229 2017-11-21 Carlos Garcia Campos <cgarcia@igalia.com>
231 Unreviewed. Fix WPE make distcheck.
233 * wpe/manifest.txt.in: Add generate-inspector-gresource-manifest.py to the tarball.
235 2017-11-20 Carlos Garcia Campos <cgarcia@igalia.com>
237 Unreviewed. Fix GTK+ make distcheck.
239 * gtk/manifest.txt.in: Add generate-inspector-gresource-manifest.py to the tarball.
241 2017-11-20 Michael Catanzaro <mcatanzaro@igalia.com>
243 [WPE] Disable ACCELERATED_2D_CANVAS in FeatureList.pm
244 https://bugs.webkit.org/show_bug.cgi?id=179889
246 Reviewed by Darin Adler.
248 * Scripts/webkitperl/FeatureList.pm:
250 2017-11-20 Michael Catanzaro <mcatanzaro@igalia.com>
252 Unreviewed, speculative attempt to fix run-gtk-tests after r225047
253 https://bugs.webkit.org/show_bug.cgi?id=173772
255 * jhbuild/jhbuildutils.py:
256 (enter_jhbuild_environment_if_available):
258 2017-11-20 Mario Sanchez Prada <mario@endlessm.com>
260 [GTK] New API to add, retrieve and delete cookies via WebKitCookieManager
261 https://bugs.webkit.org/show_bug.cgi?id=177932
263 Reviewed by Carlos Garcia Campos.
265 Added new test cases to cover the newly added API for WebKitCookieManager:
266 webkit_cookie_manager_add_cookie, webkit_cookie_manager_get_cookies and
267 webkit_cookie_manager_delete_cookie.
269 * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
270 (testCookieManagerAddCookie): Added.
271 (testCookieManagerGetCookies): Added.
272 (testCookieManagerDeleteCookie): Added.
273 (serverCallback): Small update to avoid hardcoding strings we reuse.
274 (beforeAll): Added the new test cases to the test suite.
276 2017-11-20 Stephan Szabo <stephan.szabo@sony.com>
278 [Win] Update ruby JSC test writer for gigacage changes
279 https://bugs.webkit.org/show_bug.cgi?id=178757
281 Reviewed by Keith Miller.
283 * Scripts/webkitruby/jsc-stress-test-writer-ruby.rb:
284 Add additionalEnv to ruby test writer Plan
286 2017-11-20 Michael Catanzaro <mcatanzaro@igalia.com>
288 Remove ENABLE_ALLINONE_BUILD option
289 https://bugs.webkit.org/show_bug.cgi?id=179823
291 Reviewed by Darin Adler.
293 * Scripts/webkitperl/FeatureList.pm:
295 2017-11-20 Carlos Garcia Campos <cgarcia@igalia.com>
297 Unreviewed. Fix WPE build after r225047.
299 Remove changes from an old patch committed by mistake in r225047.
301 * WebKitTestRunner/PlatformWebView.h:
302 * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
303 (WTR::PlatformWebView::windowSnapshotImage):
305 2017-11-20 Carlos Garcia Campos <cgarcia@igalia.com>
307 [WPE] Add run-wpe-tests script to run WPE glib API tests
308 https://bugs.webkit.org/show_bug.cgi?id=173772
310 Reviewed by Michael Catanzaro.
312 Move common code from run-gtk-tests to api_test_runner.py, to be shared by both run-gtk-tests and un-wpe-tests.
314 * Scripts/run-gtk-tests:
316 (GtkTestRunner.__init__):
317 (GtkTestRunner._start_accessibility_daemons):
318 (GtkTestRunner._setup_testing_environment):
319 (GtkTestRunner._tear_down_testing_environment):
320 (GtkTestRunner.is_glib_test):
321 (GtkTestRunner.is_google_test):
322 * Scripts/run-wpe-tests: Added.
324 (WPETestRunner.__init__):
325 (WPETestRunner.is_glib_test):
326 (WPETestRunner.is_google_test):
327 * Scripts/webkitpy/port/headlessdriver.py: Added.
329 (HeadlessDriver._setup_environ_for_test):
330 (HeadlessDriver._start):
331 * Scripts/webkitpy/port/headlessdriver_unittest.py: Added.
332 (HeadlessDriverTest):
333 (HeadlessDriverTest.make_driver):
334 (HeadlessDriverTest.make_environment):
335 (HeadlessDriverTest.test_environment_needed_variables):
336 (HeadlessDriverTest.test_environment_forbidden_variables):
337 * Scripts/webkitpy/port/wpe.py:
338 (WPEPort._driver_class):
339 * WebKitTestRunner/PlatformWebView.h:
340 * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
341 (WTR::PlatformWebView::windowSnapshotImage):
342 * glib/api_test_runner.py: Copied from Tools/Scripts/run-gtk-tests.
344 (SkippedTest.__init__):
345 (SkippedTest.__str__):
346 (SkippedTest.skip_entire_suite):
347 (SkippedTest.skip_for_build_type):
350 (TestRunner.__init__):
351 (TestRunner._test_programs_base_dir):
352 (TestRunner._get_tests_from_dir):
353 (TestRunner._get_tests):
354 (TestRunner._create_driver):
355 (TestRunner._setup_testing_environment):
356 (TestRunner._tear_down_testing_environment):
357 (TestRunner._test_cases_to_skip):
358 (TestRunner._should_run_test_program):
359 (TestRunner._kill_process):
360 (TestRunner._start_timeout):
361 (TestRunner._start_timeout._alarm_handler):
362 (TestRunner._stop_timeout):
363 (TestRunner._waitpid):
364 (TestRunner._run_test_glib):
365 (TestRunner._run_test_glib.parse_line):
366 (TestRunner._run_test_glib.parse_line.set_test_result):
367 (TestRunner._get_tests_from_google_test_suite):
368 (TestRunner._run_google_test):
369 (TestRunner._run_google_test_suite):
370 (TestRunner.is_glib_test):
371 (TestRunner.is_google_test):
372 (TestRunner._run_test):
373 (TestRunner.run_tests):
375 * glib/common.py: Renamed from Tools/gtk/common.py.
376 (get_build_path.is_valid_build_directory):
377 * gtk/generate-gtkdoc:
379 * gtk/ycm_extra_conf.py:
381 2017-11-20 Carlos Garcia Campos <cgarcia@igalia.com>
383 [WPE] Build C API tests
384 https://bugs.webkit.org/show_bug.cgi?id=179817
386 Reviewed by Michael Catanzaro.
388 * TestWebKitAPI/CMakeLists.txt:
389 * TestWebKitAPI/PlatformGTK.cmake:
390 * TestWebKitAPI/PlatformWPE.cmake:
391 * TestWebKitAPI/PlatformWebView.h:
392 * TestWebKitAPI/wpe/PlatformUtilitiesWPE.cpp:
393 (TestWebKitAPI::Util::URLForNonExistentResource):
394 (TestWebKitAPI::Util::isKeyDown):
395 * TestWebKitAPI/wpe/PlatformWebViewWPE.cpp: Added.
396 (TestWebKitAPI::PlatformWebView::PlatformWebView):
397 (TestWebKitAPI::PlatformWebView::~PlatformWebView):
398 (TestWebKitAPI::PlatformWebView::initialize):
399 (TestWebKitAPI::PlatformWebView::page const):
400 (TestWebKitAPI::PlatformWebView::resizeTo):
401 (TestWebKitAPI::PlatformWebView::simulateSpacebarKeyPress):
402 (TestWebKitAPI::PlatformWebView::simulateAltKeyPress):
403 (TestWebKitAPI::PlatformWebView::simulateRightClick):
404 (TestWebKitAPI::PlatformWebView::simulateMouseMove):
406 2017-11-20 Carlos Garcia Campos <cgarcia@igalia.com>
408 [WPE] Add env var WPE_USE_HEADLESS_VIEW_BACKEND
409 https://bugs.webkit.org/show_bug.cgi?id=173770
411 Reviewed by Michael Catanzaro.
413 Move HeadlessViewBackend implementation to a common place and build it as a private static library to be used by
414 WTR, GLib API tests and eventually C API tests too. WTR uses the HeadlessViewBackend unconditionally, but GLib
415 API tests use it only when WPE_USE_HEADLESS_VIEW_BACKEND environment variable is present and not "0".
417 * CMakeLists.txt: Include wpe/HeadlessViewBackend directory for developer builds.
418 * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
419 (testAutomationSessionRequestSession):
420 * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
421 (testCookieManagerEphemeral):
422 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
423 (testPrivateBrowsing):
424 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
425 (testWebContextProxySettings):
426 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
427 (testWebViewWebContext):
428 (testWebViewEphemeral):
429 * TestWebKitAPI/glib/PlatformWPE.cmake:
430 * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
431 (Test::createWebViewBackend):
432 (Test::createWebView):
433 * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
434 (WebViewTest::initializeWebView):
435 * WebKitTestRunner/PlatformWPE.cmake:
436 * wpe/HeadlessViewBackend/CMakeLists.txt: Added.
437 * wpe/HeadlessViewBackend/HeadlessViewBackend.cpp: Renamed from Tools/WebKitTestRunner/wpe/HeadlessViewBackend.cpp.
438 (HeadlessViewBackend::HeadlessViewBackend):
439 * wpe/HeadlessViewBackend/HeadlessViewBackend.h: Renamed from Tools/WebKitTestRunner/wpe/HeadlessViewBackend.h.
441 2017-11-20 Carlos Garcia Campos <cgarcia@igalia.com>
443 [WPE] webkit_web_view_new() should enable specifying wpe_view_backend object
444 https://bugs.webkit.org/show_bug.cgi?id=178655
446 Reviewed by Michael Catanzaro.
448 Update unit tests to create web views using helper methods that have a different implementation for GTK and
449 WPE. Also add a new test case to check the new API to create a WebKitWebView with a WPE backend. Use
450 WKViewCreate in WTR and fix a memory leak in HeadlessViewBackend.
452 * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
453 (testAutomationSessionRequestSession):
454 * TestWebKitAPI/Tests/WebKitGLib/TestBackForwardList.cpp:
455 (testWebKitWebViewSessionState):
456 (testWebKitWebViewSessionStateWithFormData):
457 (testWebKitWebViewNavigationAfterSessionRestore):
458 * TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp:
459 * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
460 (testWebResourceGetDataError):
461 * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
462 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
463 (testWebViewNewWithUserContentManager):
464 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
465 (testWebContextEphemeral):
466 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
467 (testWebViewWebContext):
468 (testWebViewWebContextLifetime):
469 (testWebViewWebBackend):
470 (testWebViewSettings):
472 * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
473 (testWebsiteDataEphemeral):
474 * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
475 (Test::createWebView):
476 * WebKitTestRunner/wpe/HeadlessViewBackend.cpp:
477 (HeadlessViewBackend::~HeadlessViewBackend):
478 * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
479 (WTR::PlatformWebView::PlatformWebView):
481 2017-11-20 Carlos Garcia Campos <cgarcia@igalia.com>
483 [GTK][WPE] webkit_cookie_manager_delete_all_cookies doesn't delete the cookies if called before a web process is running
484 https://bugs.webkit.org/show_bug.cgi?id=175265
486 Reviewed by Michael Catanzaro.
490 * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
491 (testCookieManagerPersistentStorageDeleteAll):
495 2017-11-19 Tim Horton <timothy_horton@apple.com>
497 Remove unused TOUCH_ICON_LOADING feature flag
498 https://bugs.webkit.org/show_bug.cgi?id=179873
500 Reviewed by Simon Fraser.
502 * Scripts/webkitperl/FeatureList.pm:
503 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
505 2017-11-19 Tim Horton <timothy_horton@apple.com>
507 Remove unused LEGACY_VENDOR_PREFIXES feature flag
508 https://bugs.webkit.org/show_bug.cgi?id=179872
510 Reviewed by Darin Adler.
512 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
514 2017-11-19 Yusuke Suzuki <utatane.tea@gmail.com>
516 Unreviewed, rolling out r225016.
518 Break webkit-patch on Ubuntu and Debian Linux
522 "webkitpy: Better name-version mapping (Part 1)"
523 https://bugs.webkit.org/show_bug.cgi?id=179621
524 https://trac.webkit.org/changeset/225016
526 2017-11-18 Jonathan Bedard <jbedard@apple.com>
528 webkitpy: Better name-version mapping (Part 1)
529 https://bugs.webkit.org/show_bug.cgi?id=179621
530 <rdar://problem/35589585>
532 Reviewed by David Kilzer.
534 Mapping version numbers to version names should occur in a central location.
535 This has a few advantages. First, it makes iterating through versions easier.
536 Second, it allows for apple_additions to define an additional set of name
537 mappings. Lastly, it will allow, in a future patch, for us to track version
538 instead of version name, only mapping version to version name when required.
540 * Scripts/webkitpy/common/system/platforminfo.py:
541 (PlatformInfo.__init__):
542 (PlatformInfo._determine_os_name): Use VersionNameMap instead of custom functions
543 mapping version to name.
544 (PlatformInfo._determine_linux_version): Deleted.
545 (PlatformInfo._determine_mac_version): Deleted.
546 (PlatformInfo._determine_win_version): Deleted.
547 * Scripts/webkitpy/common/system/platforminfo_unittest.py:
548 (TestPlatformInfo.test_os_name_and_wrappers):
549 (TestPlatformInfo.test_os_version):
550 (TestPlatformInfo.test_display_name):
551 (TestPlatformInfo.test_total_bytes_memory):
552 * Scripts/webkitpy/common/version.py:
553 (Version.contained_in): Add partial version mapping.
554 * Scripts/webkitpy/common/version_name_map.py: Added.
555 (VersionNameMap): Holds a mapping of version name to version object.
556 (VersionNameMap.map): Don't re-create VersionNameMap every time.
557 (VersionNameMap.__init__): Initialize mapping, use platform to
558 define the default system platform.
559 (VersionNameMap._automap_to_major_version): Some operating systems, such
560 as iOS, have a naming scheme based on their major version and os name.
561 Automatically generate such mappings.
562 (VersionNameMap.to_name): Given a version object, platform name and
563 table, find the closest matching version name.
564 (VersionNameMap.strip_name_formatting): Remove spaces and extract the major version,
565 if a version string is included in the name.
566 (VersionNameMap.from_name): Return an os name and version given a version name.
567 * Scripts/webkitpy/common/version_name_map_unittest.py: Added.
568 (VersionMapTestCase):
569 (VersionMapTestCase.test_default_system_platform):
570 (VersionMapTestCase.test_mac_version_by_name):
571 (VersionMapTestCase.test_ios_version_by_name):
572 (VersionMapTestCase.test_mac_name_by_version):
573 (VersionMapTestCase.test_ios_name_by_version):
574 * Scripts/webkitpy/common/version_unittest.py:
575 (VersionTestCase.test_contained_in):
577 2017-11-17 John Wilander <wilander@apple.com>
579 Storage Access API: UI process should update network process about granted access
580 https://bugs.webkit.org/show_bug.cgi?id=176943
581 <rdar://problem/34440612>
583 Reviewed by Alex Christensen.
585 This adds the TestRunner function setStatisticsHasHadNonRecentUserInteraction()
586 which enables testing of prevalent resources with user interaction outside the
589 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
590 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
591 (WTR::TestRunner::setStorageAccessAPIEnabled):
592 (WTR::TestRunner::setStatisticsHasHadNonRecentUserInteraction):
593 * WebKitTestRunner/InjectedBundle/TestRunner.h:
594 * WebKitTestRunner/TestController.cpp:
595 (WTR::TestController::setStatisticsHasHadNonRecentUserInteraction):
596 * WebKitTestRunner/TestController.h:
597 * WebKitTestRunner/TestInvocation.cpp:
598 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
599 * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
600 (WTR::initializeWebViewConfiguration):
601 (WTR::TestController::setStatisticsHasHadNonRecentUserInteraction):
603 2017-11-17 Ryan Haddad <ryanhaddad@apple.com>
605 Disable failing API tests for rdar://problem/35344202.
607 Unreviewed test gardening.
609 * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
611 2017-11-17 Joanmarie Diggs <jdiggs@igalia.com>
613 AX: [ATK] Fix WKTR's methods for testing row header and column header presence and count
614 https://bugs.webkit.org/show_bug.cgi?id=179837
616 Reviewed by Chris Fleizach.
618 Add support to rowHeaders() for tables. Return an empty array in rowHeaders()
619 and columnHeaders() upon failure. Rename getRowHeaders() and getColumnHeaders()
620 to getTableRowHeaders() and getTableColumnHeaders() respectively.
622 * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
623 (WTR::AccessibilityUIElement::rowHeaders const):
624 (WTR::AccessibilityUIElement::columnHeaders const):
625 (WTR::AccessibilityUIElement::attributesOfColumnHeaders):
626 (WTR::AccessibilityUIElement::attributesOfRowHeaders):
628 2017-11-16 Don Olmstead <don.olmstead@sony.com>
630 [WinCairo] Update WinCairoRequirements
631 https://bugs.webkit.org/show_bug.cgi?id=179790
633 Reviewed by Alex Christensen.
635 * TestWebKitAPI/PlatformWin.cmake:
637 2017-11-16 Daniel Bates <dabates@apple.com>
639 Add feature define for alternative presentation button element
640 https://bugs.webkit.org/show_bug.cgi?id=179692
641 Part of <rdar://problem/34917108>
643 Reviewed by Andy Estes.
645 Only enabled on Cocoa platforms by default.
647 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
649 2017-11-16 Per Arne Vollan <pvollan@apple.com>
651 Win EWS bots should reboot after N webkit-patch iterations.
652 https://bugs.webkit.org/show_bug.cgi?id=177970
654 Reviewed by Brent Fulgham.
656 * EWSTools/start-queue-win.sh:
658 2017-11-15 Carlos Garcia Campos <cgarcia@igalia.com>
660 [WPE] Add initial support for WebDriver
661 https://bugs.webkit.org/show_bug.cgi?id=179727
663 Reviewed by Michael Catanzaro.
665 Make it possible to run WebDriver tests with WPE.
667 * Scripts/run-webdriver-tests: Add --wpe alias for --platform=wpe.
668 * Scripts/webkitpy/port/wpe.py:
669 (WPEPort.__init__): Initialize _display_server from options.
670 (WPEPort._driver_class): Use WaylandDriver when wayland is passed as display server option.
671 * Scripts/webkitpy/webdriver_tests/webdriver_driver.py:
672 (WebDriver.browser_env): Add virtual method to get the environment that should be used.
673 * Scripts/webkitpy/webdriver_tests/webdriver_driver_wpe.py: Copied from Tools/Scripts/webkitpy/webdriver_tests/webdriver_driver.py.
675 (WebDriverWPE.__init__):
676 (WebDriverWPE.binary_path):
677 (WebDriverWPE.browser_name):
678 (WebDriverWPE.capabilities):
679 (WebDriverWPE.browser_env):
680 * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
681 (WebDriverW3CExecutor.__init__): Update the environment with the one provided by the driver.
682 * wpe/jhbuild.modules: Upgrade dyz to newer version that supports automation.
684 2017-11-15 Alex Christensen <achristensen@webkit.org>
686 WebViews scheduled in custom run loop modes should be able to do more than 50ms of work at a time
687 https://bugs.webkit.org/show_bug.cgi?id=179742
688 <rdar://problem/35519421>
690 Reviewed by Jer Noble.
692 * TestWebKitAPI/Tests/mac/WebViewScheduleInRunLoop.mm:
693 (-[ScheduleInRunLoopDelegate webView:didFinishLoadForFrame:]):
694 (TestWebKitAPI::TEST):
695 Load more than one scheduled WebView to test work that typically takes more than 50 ms.
697 2017-11-15 Ryan Haddad <ryanhaddad@apple.com>
699 Unreviewed, rolling out r223781.
701 The test is now returning false, so the FIXME is not needed
706 "WebsiteDataStoreCustomPaths.mm is failing after r223718"
707 https://bugs.webkit.org/show_bug.cgi?id=178596
708 https://trac.webkit.org/changeset/223781
710 2017-11-15 Ryan Haddad <ryanhaddad@apple.com>
712 Unreviewed, rolling out r224863.
714 Introduced LayoutTest crashes on iOS Simulator.
718 "Move JSONValues to WTF and convert uses of InspectorValues.h
720 https://bugs.webkit.org/show_bug.cgi?id=173793
721 https://trac.webkit.org/changeset/224863
723 2017-11-15 Michael Catanzaro <mcatanzaro@igalia.com>
725 Remove GTK web inspector images
726 https://bugs.webkit.org/show_bug.cgi?id=179716
728 Reviewed by Carlos Garcia Campos.
730 * Scripts/webkitdirs.pm:
731 (shouldRemoveCMakeCache):
732 * glib/generate-inspector-gresource-manifest.py:
733 (get_filenames.should_ignore_resource):
734 * gtk/manifest.txt.in:
735 * wpe/manifest.txt.in:
737 2017-11-15 Jonathan Bedard <jbedard@apple.com>
739 REGRESSION(r221877): 'future' handled incorrectly for mac
740 https://bugs.webkit.org/show_bug.cgi?id=179711
741 <rdar://problem/35546604>
743 Reviewed by Alex Christensen.
745 * Scripts/webkitpy/port/mac.py:
746 (MacPort.default_baseline_search_path): Use platform/mac-<version> instead of
747 platform/<version> as the baseline search path.
749 2017-11-14 Nan Wang <n_wang@apple.com>
751 AX: AOM: Implement AccessibleNode class and support label and role attributes
752 https://bugs.webkit.org/show_bug.cgi?id=179494
754 Reviewed by Ryosuke Niwa.
756 * DumpRenderTree/mac/DumpRenderTree.mm:
757 (enableExperimentalFeatures):
758 * WebKitTestRunner/TestController.cpp:
759 (WTR::TestController::resetPreferencesToConsistentValues):
761 2017-11-14 Basuke Suzuki <Basuke.Suzuki@sony.com>
763 [Windows] Fix error while launching subprocess on Windows Python
764 https://bugs.webkit.org/show_bug.cgi?id=179637
766 Reviewed by Alex Christensen.
768 To pass environment variables to subprocess.popen on Windows Python 2,
769 the dict values must be str not unicode.
770 Also is_native_win() method is added to port.
772 * Scripts/webkitpy/common/system/platforminfo.py:
773 (PlatformInfo.is_native_win):
774 * Scripts/webkitpy/common/system/platforminfo_mock.py:
775 (MockPlatformInfo.is_native_win):
776 * Scripts/webkitpy/common/system/platforminfo_unittest.py:
777 (TestPlatformInfo.test_os_name_and_wrappers):
778 * Scripts/webkitpy/port/server_process.py:
779 (ServerProcess.__init__):
781 2017-11-14 Carlos Garcia Campos <cgarcia@igalia.com>
783 Move JSONValues to WTF and convert uses of InspectorValues.h to JSONValues.h
784 https://bugs.webkit.org/show_bug.cgi?id=173793
786 Reviewed by Brian Burg.
788 * TestWebKitAPI/CMakeLists.txt:
789 * TestWebKitAPI/PlatformGTK.cmake:
790 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
791 * TestWebKitAPI/Tests/WTF/JSONValue.cpp: Renamed from Tools/TestWebKitAPI/Tests/JavaScriptCore/InspectorValue.cpp.
792 (TestWebKitAPI::TEST):
794 2017-11-14 Jonathan Bedard <jbedard@apple.com>
796 webkitpy: Use more verbose version info from simctl
797 https://bugs.webkit.org/show_bug.cgi?id=179687
798 <rdar://problem/35539392>
800 Reviewed by Tim Horton.
802 * Scripts/webkitpy/xcode/simulator.py:
803 (Simulator): Address FIXME, use more verbose version.
804 (Simulator._parse_runtimes): 'Internal' no longer stands along, check os for this
806 * Scripts/webkitpy/xcode/simulator_unittest.py: Mock simctl output specifies iOS
809 2017-11-14 Daniel Bates <dabates@apple.com>
811 Update comment in FeatureDefines.xcconfig to reflect location of Visual Studio property files
814 Following r195498 and r201917 the Visual Studio property files for feature defines have
815 moved from directory WebKitLibraries/win/tools/vsprops to directory Source/cmake/tools/vsprops.
816 Update the comment in FeatureDefines.xcconfig to reflect the new location and names of these
819 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
821 2017-11-14 Jer Noble <jer.noble@apple.com>
823 Enable Modern EME tests in DumpRenderTree
824 https://bugs.webkit.org/show_bug.cgi?id=179544
826 Reviewed by Alex Christensen.
828 * DumpRenderTree/mac/DumpRenderTree.mm:
829 (enableExperimentalFeatures):
831 2017-11-14 Commit Queue <commit-queue@webkit.org>
833 Unreviewed, rolling out r224800.
834 https://bugs.webkit.org/show_bug.cgi?id=179684
836 "Broke CLoop test mozilla/js1_6/Array/regress-304828.js"
837 (Requested by mlam on #webkit).
841 "Pass --useDollarVM=true to all JSC tests."
842 https://bugs.webkit.org/show_bug.cgi?id=179647
843 https://trac.webkit.org/changeset/224800
845 2017-11-14 Antti Koivisto <antti@apple.com>
847 Enable display:contents by default
848 https://bugs.webkit.org/show_bug.cgi?id=179655
850 Reviewed by Sam Weinig.
852 No need to enable this specifically for tests anymore.
854 * DumpRenderTree/mac/DumpRenderTree.mm:
855 (enableExperimentalFeatures):
856 * WebKitTestRunner/TestController.cpp:
857 (WTR::TestController::resetPreferencesToConsistentValues):
859 2017-11-14 Tim Horton <timothy_horton@apple.com>
861 Long pressing a phone number with spaces in it results in a link sheet instead of a data detectors sheet
862 https://bugs.webkit.org/show_bug.cgi?id=179646
863 <rdar://problem/35337288>
865 Reviewed by Simon Fraser.
867 * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
868 (-[ActionSheetObserver _dataDetectionContextForWebView:]):
869 (TestWebKitAPI::TEST):
870 Add a test that ensures that a phone number with spaces in it
871 invokes a data detectors sheet, not a normal link sheet.
873 2017-11-14 Emilio Cobos Álvarez <emilio@crisal.io>
875 Add committer status for Emilio Cobos Álvarez.
876 https://bugs.webkit.org/show_bug.cgi?id=179667
880 * Scripts/webkitpy/common/config/contributors.json:
882 2017-11-13 Mark Lam <mark.lam@apple.com>
884 Pass --useDollarVM=true to all JSC tests.
885 https://bugs.webkit.org/show_bug.cgi?id=179647
887 Reviewed by Saam Barati.
889 * Scripts/run-jsc-stress-tests:
891 2017-11-13 Simon Fraser <simon.fraser@apple.com>
893 When navigating back to a page, compositing layers may not use accelerated drawing
894 https://bugs.webkit.org/show_bug.cgi?id=178749
895 rdar://problem/35158946
897 Reviewed by Dean Jackson.
899 Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
900 and use it to set the state of the web view.
902 * DumpRenderTree/TestOptions.h:
903 * DumpRenderTree/TestOptions.mm:
904 (TestOptions::TestOptions):
905 * DumpRenderTree/mac/DumpRenderTree.mm:
906 (setWebPreferencesForTestOptions):
907 * WebKitTestRunner/TestController.cpp:
908 (WTR::TestController::resetPreferencesToConsistentValues):
909 (WTR::updateTestOptionsFromTestHeader):
910 * WebKitTestRunner/TestOptions.h:
911 (WTR::TestOptions::hasSameInitializationOptions const):
913 2017-11-13 Basuke Suzuki <Basuke.Suzuki@sony.com>
915 [Windows] Fix Python error for subprocess.popen with close_fds
916 https://bugs.webkit.org/show_bug.cgi?id=179553
918 Reviewed by Per Arne Vollan.
920 * Scripts/webkitpy/port/server_process.py:
921 (ServerProcess._start):
922 (ServerProcess._should_close_fds):
924 2017-11-13 Michael Catanzaro <mcatanzaro@igalia.com>
926 [GTK] Require woff2 1.0.2 and drop direct brotli dependency
927 https://bugs.webkit.org/show_bug.cgi?id=179630
929 Reviewed by Frédéric Wang.
931 * gtk/jhbuild.modules:
933 2017-11-08 Keith Miller <keith_miller@apple.com>
935 Async iteration should only fetch the next method once and add feature flag
936 https://bugs.webkit.org/show_bug.cgi?id=179451
938 Reviewed by Geoffrey Garen.
940 Add feature flag for Async iteration.
942 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
944 2017-11-13 Gabriel Ivascu <givascu@igalia.com>
946 [GTK] Automatically adjust font size when gtk-xft-dpi changes
947 https://bugs.webkit.org/show_bug.cgi?id=142673
949 Reviewed by Michael Catanzaro.
951 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
952 (testWebKitSettings):
954 2017-11-13 Jonathan Bedard <jbedard@apple.com>
956 check-webkit-style cannot construct valid iOS version without an iOS SDK
957 https://bugs.webkit.org/show_bug.cgi?id=179616
958 <rdar://problem/35507018>
960 Reviewed by David Kilzer.
962 Instead of throwing an exception when we ask for an unavailable SDK on Mac,
963 we should return None.
965 * Scripts/webkitpy/common/system/platforminfo.py:
966 (PlatformInfo.xcode_sdk_version): Return 'None' version if the machine does not
967 have the requested SDK.
969 2017-11-13 Keith Miller <keith_miller@apple.com>
971 Uninitialized variable in sort-Xcode-project-file
972 https://bugs.webkit.org/show_bug.cgi?id=179581
974 Reviewed by Simon Fraser.
976 Previously all the unified source files were named
977 UnifiedSource<some-number>.mm. This was changed to
978 UnifiedSource<some-number>-mm.mm to stop Xcode from creating
979 hashes for mm and cpp unified source files with the same
980 number. This broke the expectations in sort-Xcode-project-file.
982 * Scripts/sort-Xcode-project-file:
983 (sortChildrenByFileName):
984 (sortFilesByFileName):
986 2017-11-13 JF Bastien <jfbastien@apple.com>
988 std::expected: fix and test move
989 https://bugs.webkit.org/show_bug.cgi?id=179617
991 Reviewed by Alex Christensen.
993 Test that unique_ptr can be moved around properly, both has a
994 value and an error (and in a <void, unique> specialization).
996 * TestWebKitAPI/Tests/WTF/Expected.cpp:
997 (TestWebKitAPI::snowflake::reset):
998 (TestWebKitAPI::snowflake::snowflake):
999 (TestWebKitAPI::snowflake::~snowflake):
1000 (TestWebKitAPI::TEST):
1002 2017-11-13 Basuke Suzuki <Basuke.Suzuki@sony.com>
1004 [Windows] Make the port's normalize_test_name() method platform independent.
1005 https://bugs.webkit.org/show_bug.cgi?id=179572
1007 Reviewed by Alexey Proskuryakov.
1009 * Scripts/webkitpy/port/base.py:
1010 (Port.normalize_test_name):
1012 2017-11-13 Wenson Hsieh <wenson_hsieh@apple.com>
1014 [Attachment Support] Implement SPI for clients to request data for a given attachment
1015 https://bugs.webkit.org/show_bug.cgi?id=179586
1016 <rdar://problem/35355720>
1018 Reviewed by Darin Adler.
1020 Augments existing API tests in WKAttachmentTests to additionally check that -requestData: yields the correct
1021 result when performing various editing operations. Also adds a new API test that cuts and pastes an attachment
1022 inserted using WKWebView attachment SPI, and expects that the data of the attachment can still be fetched using
1023 the _WKAttachment SPI, as well as another test that inserts an empty NSData and expects that requestData: also
1024 yields an empty NSData result.
1026 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1027 (-[NSData shortDescription]):
1028 (-[_WKAttachment synchronouslyRequestData:]):
1029 (-[_WKAttachment expectRequestedDataToBe:]):
1030 (TestWebKitAPI::TEST):
1032 2017-11-12 Gabriel Ivascu <givascu@igalia.com>
1034 [GTK] Add functionality to handle font sizes in points
1035 https://bugs.webkit.org/show_bug.cgi?id=179285
1037 Reviewed by Carlos Garcia Campos and Michael Catanzaro.
1039 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
1040 (testWebKitSettings):
1042 2017-11-10 Fujii Hironori <Hironori.Fujii@sony.com>
1044 check-webkit-style: AttributeError: 'NoneType' object has no attribute 'major'
1045 https://bugs.webkit.org/show_bug.cgi?id=179522
1047 Reviewed by Aakash Jain.
1049 IOSSimulatorPort.ios_version should return a Version object.
1051 * Scripts/webkitpy/port/ios_simulator.py:
1052 (IOSSimulatorPort.ios_version): Return a Version object.
1054 2017-11-10 Basuke Suzuki <Basuke.Suzuki@sony.com>
1056 [Win] The way to detect Windows 10 is wrong
1057 https://bugs.webkit.org/show_bug.cgi?id=179344
1059 Reviewed by Alex Christensen.
1061 * Scripts/webkitpy/common/system/platforminfo.py:
1062 (PlatformInfo._determine_win_version):
1064 2017-11-10 Basuke Suzuki <Basuke.Suzuki@sony.com>
1066 [WinCairo] LayoutTests doesn't read TextExpectations files correctly
1067 https://bugs.webkit.org/show_bug.cgi?id=179219
1069 Reviewed by Alex Christensen.
1071 * Scripts/webkitpy/layout_tests/models/test_expectations.py:
1072 (TestExpectationParser._parse_line):
1073 * Scripts/webkitpy/port/apple.py:
1074 (ApplePort.__init__):
1075 (ApplePort._allowed_port_names):
1077 (ApplePort._future_port_name):
1078 (ApplePort._generate_all_test_configurations):
1079 * Scripts/webkitpy/port/win.py:
1080 (WinCairoPort.default_baseline_search_path):
1082 (WinCairoPort._future_port_name):
1084 2017-11-10 Basuke Suzuki <Basuke.Suzuki@sony.com>
1086 [WinCairo] Treat 'future' version correctly
1087 https://bugs.webkit.org/show_bug.cgi?id=179345
1089 Reviewed by Alex Christensen.
1091 * Scripts/webkitpy/port/win.py:
1092 (WinCairoPort.default_baseline_search_path):
1094 2017-11-10 Wenson Hsieh <wenson_hsieh@apple.com>
1096 Finish rolling out r224544
1098 Rubber-stamped by Tim Horton.
1100 Now that https://bugs.webkit.org/show_bug.cgi?id=179431 has been fixed, we can once again allow one of the API
1101 tests added in r224512 (WKAttachmentTests.AttachmentUpdatesWhenChangingFontStyles) to test toggling underline
1102 style with a selected attachment element.
1104 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1105 (TestWebKitAPI::TEST):
1107 2017-11-10 Alex Christensen <achristensen@webkit.org>
1109 _WKThumbnailView initialization with WKWebView needs to call correct initWithFrame
1110 https://bugs.webkit.org/show_bug.cgi?id=179537
1111 <rdar://problem/35275219>
1113 Reviewed by Darin Adler.
1115 * TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm:
1116 (-[WKThumbnailViewDelegate webView:didFinishNavigation:]):
1117 (TestWebKitAPI::TEST):
1119 2017-11-10 Jonathan Bedard <jbedard@apple.com>
1121 webkitpy: Remove find_system_pid from port classes
1122 https://bugs.webkit.org/show_bug.cgi?id=179514
1123 <rdar://problem/35456900>
1125 Reviewed by David Kilzer.
1129 * Scripts/webkitpy/port/base.py:
1130 (Port.find_system_pid): Deleted.
1131 * Scripts/webkitpy/port/server_process.py:
1132 (ServerProcess._start):
1133 * Scripts/webkitpy/port/win.py:
1134 (WinPort.find_system_pid): Deleted.
1136 2017-11-10 Aakash Jain <aakash_jain@apple.com>
1138 fix style failures in webkitpy: multiple statements on one line (semicolon)
1139 https://bugs.webkit.org/show_bug.cgi?id=179530
1141 Reviewed by Alex Christensen.
1143 * Scripts/webkitpy/common/net/buildbot/buildbot.py: Removed semicolon.
1144 * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: Ditto.
1145 * Scripts/webkitpy/tool/steps/runtests.py: Ditto.
1147 2017-11-10 Aakash Jain <aakash_jain@apple.com>
1149 fix style failures in webkitpy: expected 2 blank lines found 1
1150 https://bugs.webkit.org/show_bug.cgi?id=179529
1152 Reviewed by Alex Christensen.
1154 * Scripts/webkitpy/benchmark_runner/run_benchmark.py: Added a blank line to follow style guidelines.
1155 * Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py: Ditto.
1156 * Scripts/webkitpy/common/system/platforminfo_mock.py: Ditto.
1157 * Scripts/webkitpy/common/version.py: Ditto.
1158 * Scripts/webkitpy/layout_tests/models/test_failures.py: Ditto.
1159 * Scripts/webkitpy/port/mac_unittest.py: Ditto.
1160 * Scripts/webkitpy/port/simulator_process.py: Ditto.
1162 2017-11-10 Alex Christensen <achristensen@webkit.org>
1164 REGRESSION(r224267): WebViews scheduled with custom run loop modes don't load
1165 https://bugs.webkit.org/show_bug.cgi?id=179515
1167 Reviewed by Andy Estes.
1169 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1170 * TestWebKitAPI/Tests/mac/WebViewScheduleInRunLoop.mm: Added.
1171 (-[ScheduleInRunLoopDelegate webView:didFinishLoadForFrame:]):
1172 (TestWebKitAPI::TEST):
1174 2017-11-10 Fujii Hironori <Hironori.Fujii@sony.com>
1176 [webkitpy] Fix PlatformInfo._win_version since r224657
1177 https://bugs.webkit.org/show_bug.cgi?id=179520
1179 Reviewed by Aakash Jain.
1181 There are two problems.
1183 The return value of sys.getwindowsversion() doesn't match with
1184 Version.__init__ expects. Truncate the 4th and 5th of it.
1186 _win_version_tuple_from_cmd was deleted in r224657. But, it is
1187 still needed for Cygwin Python.
1189 * Scripts/webkitpy/common/system/platforminfo.py:
1190 (PlatformInfo._win_version): Return [0:3] of getwindowsversion().
1191 Call _win_version_from_cmd for Cygwin Python.
1192 (PlatformInfo._win_version_from_cmd): Restored.
1194 2017-11-10 Guillaume Emont <guijemont@igalia.com>
1196 build-jsc: build testmasm for all platforms using cmake
1197 https://bugs.webkit.org/show_bug.cgi?id=179512
1199 Reviewed by Michael Catanzaro.
1201 * Scripts/build-jsc:
1203 2017-11-09 Jonathan Bedard <jbedard@apple.com>
1205 webkitpy: Unify version parsing code
1206 https://bugs.webkit.org/show_bug.cgi?id=179426
1207 <rdar://problem/35415191>
1209 Unreviewed fix to r224657.
1211 * Scripts/webkitpy/common/version.py:
1212 (Version.__init__): Check if an object is iterable.
1214 2017-11-09 Jonathan Bedard <jbedard@apple.com>
1216 webkitpy: Unify version parsing code
1217 https://bugs.webkit.org/show_bug.cgi?id=179426
1218 <rdar://problem/35415191>
1220 Reviewed by David Kilzer.
1222 webkitpy needs to parse version strings or version lists frequently. Rather than
1223 duplicate this code each time it's needed, unify it in a Version class.
1225 * Scripts/webkitpy/common/system/platforminfo.py:
1226 (PlatformInfo.__init__): Convert mac version string to version object and
1227 use _win_version instead of _win_version_tuple.
1228 (PlatformInfo.xcode_sdk_version): Convert SDK version string to Version object
1229 before returning it.
1230 (PlatformInfo.xcode_version): Return Version object instead of version string.
1231 (PlatformInfo._determine_mac_version): Accept Version object instead of string,
1233 (PlatformInfo._determine_win_version): Accept Version object instead of tuple.
1234 (PlatformInfo._win_version): Return Version object instead of tuple, have Version
1235 object own version string parsing.
1236 (PlatformInfo._win_version_tuple): Renamed to _win_version().
1237 (PlatformInfo._win_version_tuple_from_cmd): Deleted.
1238 * Scripts/webkitpy/common/system/platforminfo_mock.py:
1239 (MockPlatformInfo.xcode_sdk_version): Return Version object instead of string.
1240 (MockPlatformInfo.xcode_version): Dittio.
1241 * Scripts/webkitpy/common/version.py: Added.
1242 (Version): Version object.
1243 (Version.__init__): Initialize the Version object with a string, integer,
1244 tuple of integers, list of integers or another Version object.
1245 (Version.__len__): Return 5 so that the Version object can be treated as
1247 (Version.__getitem__): Get item in Version object by index or string.
1248 (Version.__setitem__): Set item in Version object by index or string.
1249 (Version.__str__): Convert version to printable string, omitting trailing 0's.
1250 (Version.__cmp__): Compare two version strings, major taking precedence over
1251 minor, minor taking precedence over build.
1252 * Scripts/webkitpy/common/version_unittest.py: Added.
1253 (VersionTestCase): Test behavior of Version object.
1254 * Scripts/webkitpy/port/ios.py:
1255 (IOSPort.default_baseline_search_path): ios_version now returns a Version object.
1256 (IOSPort._is_valid_ios_version): Deleted.
1257 (IOSPort.get_option): Deleted.
1258 * Scripts/webkitpy/port/ios_device.py:
1259 (IOSDevicePort.determine_full_port_name): Use Version object instead of owning parsing.
1260 (IOSDevicePort.ios_version): Return Version object instead of string.
1261 * Scripts/webkitpy/port/ios_simulator.py:
1262 (IOSSimulatorPort.simulator_runtime): Use from_version instead of from_version_string.
1263 (IOSSimulatorPort.ios_version): Return Version object instead of string.
1264 (IOSSimulatorPort.use_multiple_simulator_apps): Use Version object instead of string.
1265 * Scripts/webkitpy/xcode/simulator.py:
1266 (Runtime.from_version): Accept Version object instead of string.
1267 (Runtime.from_version_string): Replaced by from_version.
1268 (Runtime.__repr__): When printing, a runtime's version will be a Version object instead
1270 (Simulator._parse_runtimes): Use Version object instead of tuple.
1271 (Simulator._parse_devices): Ditto.
1272 * Scripts/webkitpy/xcode/simulator_unittest.py: Use Version object instead of tuples.
1274 2017-11-09 Basuke Suzuki <Basuke.Suzuki@sony.com>
1276 [WinCairo] Cannot find ImageDiff executable
1277 https://bugs.webkit.org/show_bug.cgi?id=179508
1279 Reviewed by Per Arne Vollan.
1281 * Scripts/webkitpy/port/win.py:
1282 (WinPort.is_cygwin):
1283 (WinPort._path_to_image_diff):
1284 (WinPort.find_system_pid):
1286 2017-11-09 Fujii Hironori <Hironori.Fujii@sony.com>
1288 [WinCairo EWS] svn-apply: 'cp' is not recognized as an internal or external command
1289 https://bugs.webkit.org/show_bug.cgi?id=179469
1291 Reviewed by Per Arne Vollan.
1293 WinCairo EWS bots haven't installed Cygwin.
1295 * Scripts/svn-apply:
1296 (scmCopy): Use 'copy' function instead of 'cp' command.
1298 2017-11-09 Carlos Alberto Lopez Perez <clopez@igalia.com>
1300 [WPE] Update dyz (WPE MiniBrowser)
1301 https://bugs.webkit.org/show_bug.cgi?id=179492
1303 Reviewed by Michael Catanzaro.
1305 Update it to the last version as of today.
1306 This version not longer uses the C API.
1308 * wpe/jhbuild.modules:
1310 2017-11-09 Christopher Reid <chris.reid@sony.com>
1312 Use enum classes within FileSystem
1313 https://bugs.webkit.org/show_bug.cgi?id=175172
1315 Reviewed by Darin Adler.
1317 * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
1318 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
1320 2017-11-09 Brent Fulgham <bfulgham@apple.com>
1322 Test fix after r224609
1323 https://bugs.webkit.org/show_bug.cgi?id=178565
1324 <rdar://problem/11115901>
1326 Unreviewed test fix after r224609.
1328 Correct two test cases that attempt to push local file URLs in violation of our
1329 same origin policies. The fix is to grant universal file access, as we do for similar
1332 * TestWebKitAPI/Tests/WebKit/EphemeralSessionPushStateNoHistoryCallback.cpp:
1333 (TestWebKitAPI::TEST):
1334 * TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp:
1335 (TestWebKitAPI::TEST):
1337 2017-11-09 Michael Catanzaro <mcatanzaro@igalia.com>
1339 Unreviewed, remove Dan from the soup network watchlist
1341 Per his request. It's not Hotel California; we should probably let him leave.
1343 * Scripts/webkitpy/common/config/watchlist:
1345 2017-11-08 Don Olmstead <don.olmstead@sony.com>
1347 Add Windows powershell EWS script
1348 https://bugs.webkit.org/show_bug.cgi?id=179453
1350 Reviewed by Brent Fulgham.
1352 * EWSTools/Start-Queue.ps1: Added.
1354 2017-11-08 Jeremy Jones <jeremyj@apple.com>
1356 HTMLMediaElement should not use element fullscreen on iOS
1357 https://bugs.webkit.org/show_bug.cgi?id=179418
1358 rdar://problem/35409277
1360 Reviewed by Eric Carlson.
1362 Add ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN to determine if HTMLMediaElement should use element full screen or not.
1364 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1366 2017-11-08 Tim Horton <timothy_horton@apple.com>
1368 [ios-simulator] API test WebKit.BundleParameters is a flaky failure
1369 https://bugs.webkit.org/show_bug.cgi?id=178363
1370 <rdar://problem/35043144>
1372 Reviewed by Brent Fulgham.
1374 * TestWebKitAPI/Tests/WTF/RefCounter.cpp:
1375 (TestWebKitAPI::TEST):
1378 2017-11-08 Wenson Hsieh <wenson_hsieh@apple.com>
1380 [Attachment Support] Implement delegate hooks for attachment element insertion and removal
1381 https://bugs.webkit.org/show_bug.cgi?id=179016
1382 <rdar://problem/35250890>
1384 Reviewed by Tim Horton.
1386 See WebCore/ChangeLog for more details.
1388 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1389 (-[AttachmentUpdateObserver init]):
1390 (-[AttachmentUpdateObserver inserted]):
1391 (-[AttachmentUpdateObserver removed]):
1392 (-[AttachmentUpdateObserver _webView:didInsertAttachment:]):
1393 (-[AttachmentUpdateObserver _webView:didRemoveAttachment:]):
1394 (TestWebKitAPI::ObserveAttachmentUpdatesForScope::ObserveAttachmentUpdatesForScope):
1395 (TestWebKitAPI::ObserveAttachmentUpdatesForScope::~ObserveAttachmentUpdatesForScope):
1396 (TestWebKitAPI::ObserveAttachmentUpdatesForScope::observer const):
1397 (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
1398 (-[TestWKWebView _synchronouslyExecuteEditCommand:argument:]):
1399 (-[TestWKWebView expectUpdatesAfterCommand:withArgument:expectedRemovals:expectedInsertions:]):
1400 (TestWebKitAPI::TEST):
1402 2017-11-08 Carlos Garcia Campos <cgarcia@igalia.com>
1404 Web Inspector: use JSON::{Array,Object,Value} instead of Inspector{Array,Object,Value}
1405 https://bugs.webkit.org/show_bug.cgi?id=173619
1407 Reviewed by Brian Burg.
1409 Update InspectorValue unit tests to use JSON namespace and add more basic tests to cover all the API.
1411 * TestWebKitAPI/PlatformGTK.cmake:
1412 * TestWebKitAPI/Tests/JavaScriptCore/InspectorValue.cpp:
1413 (TestWebKitAPI::TEST):
1415 2017-11-07 Carlos Garcia Campos <cgarcia@igalia.com>
1417 REGRESSION(r224179): [GTK] Several WebViewEditor tests are failing since r224179
1418 https://bugs.webkit.org/show_bug.cgi?id=179366
1420 Reviewed by Michael Catanzaro.
1422 Use always a toplevel window for WebViewEditor tests instead of creating and destroying one only to flush editor
1425 * TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
1427 2017-11-07 Carlos Garcia Campos <cgarcia@igalia.com>
1429 [GTK][WPE] Build inspector resources using copy-user-interface-resources.pl script
1430 https://bugs.webkit.org/show_bug.cgi?id=179317
1432 Reviewed by Michael Catanzaro.
1434 Move generate-inspector-gresource-manifest.py to glib dir to be shared by GTK+ and WPE ports and update it to
1435 receive an input directory instead of a list of patterns.
1436 File::Copy::Recursive is required by copy-user-interface-resources.pl, so make sure it's installed.
1438 * glib/generate-inspector-gresource-manifest.py: Renamed from Tools/gtk/generate-inspector-gresource-manifest.py.
1440 (get_filenames.should_ignore_resource):
1441 * gtk/install-dependencies:
1442 * wpe/generate-inspector-gresource-manifest.py: Removed.
1443 * wpe/install-dependencies:
1445 2017-11-07 Don Olmstead <don.olmstead@sony.com>
1447 Fix webkitpy tests after rev 224549.
1449 Unreviewed build fix.
1451 * Scripts/webkitpy/common/config/ports.py:
1452 (WinCairoPort.run_webkit_tests_command):
1453 * Scripts/webkitpy/common/config/ports_unittest.py:
1454 (DeprecatedPortTest.test_wincairo_port):
1456 2017-11-07 Aakash Jain <aakash_jain@apple.com>
1458 Enable webkitpy EWS bubbles
1459 https://bugs.webkit.org/show_bug.cgi?id=178539
1461 Reviewed by Alexey Proskuryakov.
1463 * QueueStatusServer/config/queues.py: Added webkitpy EWS.
1465 2017-11-07 Don Olmstead <don.olmstead@sony.com>
1467 Add a WinCairo EWS queue
1468 https://bugs.webkit.org/show_bug.cgi?id=179390
1470 Reviewed by Lucas Forschler.
1472 * QueueStatusServer/config/queues.py:
1473 * QueueStatusServer/model/queues.py:
1474 * Scripts/webkitpy/common/config/ews.json:
1475 * Scripts/webkitpy/common/config/ports.py:
1476 * Scripts/webkitpy/common/config/ports_unittest.py:
1477 * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
1479 2017-11-07 Aakash Jain <aakash_jain@apple.com>
1481 fix check-webkit-style errors in webkitpy about not having two spaces before inline comment
1482 https://bugs.webkit.org/show_bug.cgi?id=171506
1484 Reviewed by Alexey Proskuryakov.
1486 * Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
1487 (SCMTest._shared_test_reverse_diff): Added two spaces before inline comment.
1488 (test_create_patch_is_full_patch): Ditto.
1489 * Scripts/webkitpy/common/thread/messagepump.py:
1490 (MessagePump): Ditto.
1491 * Scripts/webkitpy/layout_tests/servers/http_server.py:
1492 (Lighttpd._prepare_config): Ditto.
1493 * Scripts/webkitpy/style/checker.py: Ditto.
1494 * Scripts/webkitpy/style/checkers/cpp_unittest.py:
1495 (OrderOfIncludesTest.test_check_preprocessor_in_include_section): Ditto.
1497 2017-11-07 Aakash Jain <aakash_jain@apple.com>
1499 Add support for webkitpy tests EWS
1500 https://bugs.webkit.org/show_bug.cgi?id=178480
1502 Reviewed by Alexey Proskuryakov.
1504 * Scripts/webkitpy/common/config/ews.json: Added webkitpy EWS.
1505 * Scripts/webkitpy/common/net/generictestresults.py: Renamed from Scripts/webkitpy/common/net/bindingstestresults.py.
1506 * Scripts/webkitpy/common/net/generictestresults_unittest.py: Renamed from Scripts/webkitpy/common/net/bindingstestresults_unittest.py.
1507 * Scripts/webkitpy/tool/bot/patchanalysistask.py:
1508 (PatchAnalysisTask._test_patch): Do not retry webkitpy test since they are not flaky.
1509 * Scripts/webkitpy/tool/bot/bindingstestresultsreader.py: Updated import for BindingsTestResult.
1510 * Scripts/webkitpy/tool/bot/retrylogic_unittest.py: Ditto.
1511 * Scripts/webkitpy/tool/bot/webkitpytestresultsreader.py: Copied from Scripts/webkitpy/tool/bot/bindingstestresultsreader.py.
1512 * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
1513 (AbstractEarlyWarningSystem.begin_work_queue): Added webkitpy test result reader.
1514 * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py: Updated unit-tests.
1515 * Scripts/webkitpy/tool/steps/checkpatchrelevance.py: Run webkitpy EWS only for relevant changes.
1516 * Scripts/webkitpy/tool/steps/runtests.py:
1517 (RunTests.run): Run webkitpy tests when --group=webkitpy is passed.
1518 (RunTests._run_webkitpy_tests): Method to invoke webkitpy tests.
1519 * Scripts/webkitpy/tool/steps/steps_unittest.py:
1520 (test_runtests_webkitpy): Added unit-test.
1522 2017-11-07 Commit Queue <commit-queue@webkit.org>
1524 Unreviewed, rolling out r224512 and r224521.
1525 https://bugs.webkit.org/show_bug.cgi?id=179388
1527 An API test added with this change is failing an assertion on
1528 the bots. (Requested by ryanhaddad on #webkit).
1530 Reverted changesets:
1532 "[Attachment Support] Implement delegate hooks for attachment
1533 element insertion and removal"
1534 https://bugs.webkit.org/show_bug.cgi?id=179016
1535 https://trac.webkit.org/changeset/224512
1537 "Remove stray logging from a newly added API test"
1538 https://trac.webkit.org/changeset/224521
1540 2017-11-06 Wenson Hsieh <wenson_hsieh@apple.com>
1542 Remove stray logging from a newly added API test
1544 This was only for debugging purposes, and should have been removed before landing.
1546 Rubber-stamped by Tim Horton.
1548 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1549 (TestWebKitAPI::TEST):
1551 2017-11-06 Jonathan Bedard <jbedard@apple.com>
1553 Only build ImageDiff for mac
1554 https://bugs.webkit.org/show_bug.cgi?id=179349
1555 <rdar://problem/35376237>
1557 Reviewed by Tim Horton.
1559 * ImageDiff/Makefile:
1561 2017-11-06 Wenson Hsieh <wenson_hsieh@apple.com>
1563 Unreviewed, fix the internal build after updating to a newer SDK
1565 There shouldn't be any need to include and implement these method stubs anymore,
1566 even when building against the shipping iOS 11 SDK.
1568 * TestWebKitAPI/ios/DataInteractionSimulator.mm:
1569 (-[MockDropSession session]): Deleted.
1571 2017-11-06 Wenson Hsieh <wenson_hsieh@apple.com>
1573 [Attachment Support] Implement delegate hooks for attachment element insertion and removal
1574 https://bugs.webkit.org/show_bug.cgi?id=179016
1575 <rdar://problem/35250890>
1577 Reviewed by Tim Horton.
1579 Introduces new API tests to check that various editing operations will or won't result in the new attachment
1580 insertion and removal delegate hooks being fired. Additionally refactors an existing test to verify that
1581 attachments insertion and removal is observable by the UI delegate.
1583 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1584 (-[AttachmentUpdateObserver init]):
1585 (-[AttachmentUpdateObserver inserted]):
1586 (-[AttachmentUpdateObserver removed]):
1587 (-[AttachmentUpdateObserver _webView:didInsertAttachment:]):
1588 (-[AttachmentUpdateObserver _webView:didRemoveAttachment:]):
1589 (TestWebKitAPI::ObserveAttachmentUpdatesForScope::ObserveAttachmentUpdatesForScope):
1590 (TestWebKitAPI::ObserveAttachmentUpdatesForScope::~ObserveAttachmentUpdatesForScope):
1591 (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
1593 Implement a testing mechanism to temporarily bind a UI delegate to a given WKWebView and listen for inserted or
1594 removed attachments over the course of a particular scope. The API tests use this mechanism to check that the UI
1595 delegate hooks added in this patch are invoked with the right attachments when performing edit commands.
1597 (-[TestWKWebView _synchronouslyExecuteEditCommand:argument:]):
1598 (-[TestWKWebView expectUpdatesAfterCommand:withArgument:expectedRemovals:expectedInsertions:]):
1599 (TestWebKitAPI::TEST):
1601 2017-11-06 Christopher Reid <chris.reid@sony.com>
1603 Use enum classes within FileSystem
1604 https://bugs.webkit.org/show_bug.cgi?id=175172
1606 Reviewed by Myles C. Maxfield.
1608 * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
1609 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
1611 2017-11-06 Michael Catanzaro <mcatanzaro@igalia.com>
1613 [WPE] -Wsign-compare warning in EventSenderProxyWPE.cpp
1614 https://bugs.webkit.org/show_bug.cgi?id=179039
1616 Reviewed by Žan Doberšek.
1618 * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
1619 (WTR::EventSenderProxy::updateTouchPoint):
1620 (WTR::EventSenderProxy::releaseTouchPoint):
1622 2017-11-06 Robin Morisset <rmorisset@apple.com>
1624 Add a third benchmark to TailBench
1625 https://bugs.webkit.org/show_bug.cgi?id=178815
1627 Reviewed by Saam Barati.
1629 Add a new benchmark to TailBench: a BF interpreter written in a weird kinda functional style
1631 * Scripts/run-jsc-benchmarks:
1633 2017-11-04 Michael Catanzaro <mcatanzaro@igalia.com>
1635 [GTK] Fix gtk-doc generation with gtk-doc master
1636 https://bugs.webkit.org/show_bug.cgi?id=179252
1638 Reviewed by Carlos Garcia Campos.
1640 gtkdoc-scangobj has changed to no longer use a shell when executing its subcommands. In
1641 particular, this means we can no longer rely on shell stuff in our run command that we use
1642 to run the scanner. We currently use the RUN envvar to set LD_LIBRARY_PATH, and the end
1643 result is gtkdoc-scangobj now attempts to execute our environment variable instead of the
1644 scanner itself. We can just set LD_LIBRARY_PATH directly, instead of using RUN, in order to
1645 make documentation generation work again.
1648 (GTKDoc._run_gtkdoc_scangobj):
1650 2017-11-04 Aishwarya Nirmal <anirmal@apple.com>
1652 [Touch Bar Web API] Add support for menuitem tag
1653 https://bugs.webkit.org/show_bug.cgi?id=179020
1655 Reviewed by Ryosuke Niwa.
1657 Defines flags for the menu item test so that the element is recognized
1658 only while its test is being run.
1660 * DumpRenderTree/TestOptions.h:
1661 * DumpRenderTree/TestOptions.mm:
1662 (TestOptions::TestOptions):
1663 * DumpRenderTree/mac/DumpRenderTree.mm:
1664 (setWebPreferencesForTestOptions):
1665 * WebKitTestRunner/TestController.cpp:
1666 (WTR::TestController::resetPreferencesToConsistentValues):
1667 (WTR::updateTestOptionsFromTestHeader):
1668 * WebKitTestRunner/TestOptions.h:
1669 (WTR::TestOptions::hasSameInitializationOptions const):
1671 2017-11-03 Andy Estes <aestes@apple.com>
1673 [iOS] Append the platform name to the product directory on all embedded platforms
1674 https://bugs.webkit.org/show_bug.cgi?id=179271
1676 Reviewed by Joseph Pecoraro.
1678 * Scripts/webkitdirs.pm:
1679 (determineConfigurationProductDir):
1681 2017-11-03 Basuke Suzuki <Basuke.Suzuki@sony.com>
1683 [WinCairo] Add --wincairo option to run-webkit-tests
1684 https://bugs.webkit.org/show_bug.cgi?id=179217
1686 Reviewed by Alex Christensen.
1688 * Scripts/webkitpy/port/factory.py:
1691 2017-11-03 Michael Catanzaro <mcatanzaro@igalia.com>
1693 [WPE][GTK] Avoid duplicating code for dist and distcheck targets
1694 https://bugs.webkit.org/show_bug.cgi?id=179154
1696 Reviewed by Carlos Garcia Campos.
1698 Move the script out of Tools/gtk because it is already used by WPE. Also, drop the .py
1699 prefix because it is executable.
1701 * Scripts/make-dist: Renamed from Tools/gtk/make-dist.py.
1703 2017-11-03 Jonathan Bedard <jbedard@apple.com>
1705 TestController platformAdjustContext should use provided WKContext for Mac
1706 https://bugs.webkit.org/show_bug.cgi?id=179124
1707 <rdar://problem/35295176>
1709 Reviewed by Darin Adler.
1711 * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
1712 (WTR::initializeWebViewConfiguration): Use the provided WKContext, since that is
1713 a WebProcessPool, instead of creating a second one.
1715 2017-11-02 Christopher Reid <chris.reid@sony.com>
1717 Add a FileSystem namespace to FileSystem.cpp
1718 https://bugs.webkit.org/show_bug.cgi?id=179063
1720 Reviewed by Darin Adler.
1722 * DumpRenderTree/win/DumpRenderTree.cpp:
1723 * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
1724 * TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
1725 * TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
1726 * TestWebKitAPI/Tests/WebCore/SharedBufferTest.cpp:
1727 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
1728 * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
1730 2017-11-02 Carlos Alberto Lopez Perez <clopez@igalia.com>
1732 [WPE][JHBuild] Update WPEBackend and WPEBackend-mesa
1733 https://bugs.webkit.org/show_bug.cgi?id=179169
1735 Reviewed by Michael Catanzaro.
1737 Update WPEBackend and WPEBackend-mesa to last master as of today.
1739 * wpe/jhbuild.modules:
1741 2017-11-02 Frederic Wang <fwang@igalia.com>
1743 Add references to bug 179167 in FIXME comments
1744 https://bugs.webkit.org/show_bug.cgi?id=179168
1746 Reviewed by Daniel Bates.
1748 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1750 2017-11-01 Jeremy Jones <jeremyj@apple.com>
1752 Implement WKFullscreenWindowController for iOS.
1753 https://bugs.webkit.org/show_bug.cgi?id=178924
1754 rdar://problem/34697120
1756 Reviewed by Simon Fraser.
1758 Enable ENABLE_FULLSCREEN_API for iOS.
1760 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1762 2017-11-01 Simon Fraser <simon.fraser@apple.com>
1764 Misc display list and other cleanup
1765 https://bugs.webkit.org/show_bug.cgi?id=179150
1767 Reviewed by Tim Horton.
1769 Add system trace points for display list recording.
1771 * Tracing/SystemTracePoints.plist:
1773 2017-11-01 Stephan Szabo <stephan.szabo@sony.com>
1775 [Win] Detect Visual Studio 2017 location
1776 https://bugs.webkit.org/show_bug.cgi?id=175275
1778 Reviewed by Yusuke Suzuki.
1780 * Scripts/build-jsc:
1781 * Scripts/build-webkit:
1782 * Scripts/update-vswhere.py: Added.
1783 * Scripts/webkitdirs.pm:
1784 (requireModulesForVSWhere):
1785 (pickCurrentVisualStudioInstallation):
1786 (pickLegacyVisualStudioInstallation):
1787 (visualStudioInstallDir):
1788 (visualStudioInstallDirVSWhere):
1789 (visualStudioInstallDirLegacy):
1790 (visualStudioInstallDirFallback):
1791 (msBuildInstallDir):
1792 (visualStudioVersion):
1793 (visualStudioVersionFromInstallDir):
1794 (generateBuildSystemFromCMakeProject):
1796 2017-11-01 Tim Horton <timothy_horton@apple.com>
1798 Fix the !USE(QUICKLOOK) build
1799 https://bugs.webkit.org/show_bug.cgi?id=179128
1801 Reviewed by Wenson Hsieh.
1803 * TestWebKitAPI/Tests/WebCore/ios/PreviewLoader.cpp:
1805 2017-11-01 Frederic Wang <fwang@igalia.com>
1807 Make iOS Find UI reveal matches in scrollable elements
1808 https://bugs.webkit.org/show_bug.cgi?id=178789
1810 Reviewed by Tim Horton.
1812 This patch exposes WKWebView's findString function in order to test the fix for bug 178789.
1814 * DumpRenderTree/ios/UIScriptControllerIOS.mm:
1815 (WTR::UIScriptController::findString): Dummy implementation of findString.
1816 * DumpRenderTree/mac/UIScriptControllerMac.mm:
1817 (WTR::UIScriptController::findString): Ditto.
1818 * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: Declare findString.
1819 * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
1820 (WTR::UIScriptController::findString): Dummy implementation of findString.
1821 * TestRunnerShared/UIScriptContext/UIScriptController.h: Declare findString.
1822 * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
1823 (WTR::UIScriptController::findString): Implement findString by forwarding the call to the
1825 * WebKitTestRunner/mac/UIScriptControllerMac.mm:
1826 (WTR::UIScriptController::findString): Dummy implementation of findString.
1828 2017-11-01 Alex Christensen <achristensen@webkit.org>
1830 Add a test for _WKInputDelegate.willSubmitFormValues
1831 https://bugs.webkit.org/show_bug.cgi?id=179086
1833 Reviewed by Darin Adler.
1835 Hidden input types are not included in this submission because FormSubmission::create ignores them
1836 because input.isTextField() returns false. This is existing behavior that wasn't shown by a test.
1837 HTTPBodies are also not sent to WKURLSchemeHandlers. This is existing behavior that wasn't shown by a test.
1839 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1840 * TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm: Added.
1841 (-[FormSubmissionDelegate _webView:willSubmitFormValues:userObject:submissionHandler:]):
1844 2017-10-31 Ross Kirsling <ross.kirsling@sony.com>
1846 Web Inspector: Add Inspector menu items to Mac MiniBrowser
1847 https://bugs.webkit.org/show_bug.cgi?id=65218
1849 Reviewed by Joseph Pecoraro.
1851 Add Option-Command-I shortcut and corresponding Show/Close Web Inspector menu item to Mac MiniBrowser.
1852 Only works when browser window is focused, but at least WI can be opened without having to Inspect Element.
1854 * MiniBrowser/mac/BrowserWindowController.h:
1855 * MiniBrowser/mac/BrowserWindowController.m:
1856 (-[BrowserWindowController showHideWebInspector:]):
1857 * MiniBrowser/mac/MainMenu.xib:
1858 * MiniBrowser/mac/WK1BrowserWindowController.m:
1859 (-[WK1BrowserWindowController validateMenuItem:]):
1860 (-[WK1BrowserWindowController showHideWebInspector:]):
1861 * MiniBrowser/mac/WK2BrowserWindowController.m:
1862 (-[WK2BrowserWindowController validateMenuItem:]):
1863 (-[WK2BrowserWindowController showHideWebInspector:]):
1865 2017-10-31 Alex Christensen <achristensen@webkit.org>
1867 Use asynchronous ResourceHandleClient calls for WebKit1
1868 https://bugs.webkit.org/show_bug.cgi?id=160677
1870 Reviewed by Brady Eidson.
1872 * TestWebKitAPI/Tests/mac/SimplifyMarkup.mm:
1873 (TestWebKitAPI::TEST):
1874 The HTML being loaded contains an iframe, so testing if the main resource has loaded doesn't necessarily mean all subresources are loaded.
1875 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.
1877 2017-10-31 Commit Queue <commit-queue@webkit.org>
1879 Unreviewed, rolling out r224143.
1880 https://bugs.webkit.org/show_bug.cgi?id=179091
1882 The patch requires non-standard perl modules in macOS and
1883 breaks AWFY (Requested by yusukesuzuki on #webkit).
1887 "[Win] Detect Visual Studio 2017 location"
1888 https://bugs.webkit.org/show_bug.cgi?id=175275
1889 https://trac.webkit.org/changeset/224143
1891 2017-10-31 Tim Horton <timothy_horton@apple.com>
1893 Clean up some drag and drop feature flags
1894 https://bugs.webkit.org/show_bug.cgi?id=179082
1896 Reviewed by Simon Fraser.
1898 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1899 * TestWebKitAPI/ios/UIKitSPI.h:
1901 2017-10-31 Tim Horton <timothy_horton@apple.com>
1903 Fix up some content filtering feature flags
1904 https://bugs.webkit.org/show_bug.cgi?id=179079
1906 Reviewed by Simon Fraser.
1908 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1909 * TestWebKitAPI/Tests/WebKitCocoa/ContentFilteringPlugIn.mm:
1910 (-[MockContentFilterEnabler initWithCoder:]):
1911 (-[MockContentFilterEnabler dealloc]):
1913 2017-10-31 Youenn Fablet <youenn@apple.com>
1915 rwt should allow service worker to load localhost HTTPS resources with any certificate
1916 https://bugs.webkit.org/show_bug.cgi?id=179018
1918 Reviewed by Chris Dumez.
1920 * WebKitTestRunner/TestController.cpp:
1921 (WTR::TestController::resetStateToConsistentValues): allowing any SSL certificate for service workers.
1923 2017-10-31 Wenson Hsieh <wenson_hsieh@apple.com>
1925 [Attachment Support] Implement WKWebView SPI for inserting attachment elements
1926 https://bugs.webkit.org/show_bug.cgi?id=179013
1927 <rdar://problem/35249668>
1929 Reviewed by Tim Horton.
1931 Adds a new API test suite to exercise attachment element insertion and manipulation.
1933 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1934 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: Added.
1935 (webViewForTestingAttachments):
1938 (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:options:]):
1939 (-[TestWKWebView valueOfAttribute:forQuerySelector:]):
1940 (TestWebKitAPI::TEST):
1942 2017-10-31 Alex Christensen <achristensen@webkit.org>
1944 Fix custom header field setting with reloads and asynchronous navigation action policy decisions
1945 https://bugs.webkit.org/show_bug.cgi?id=179064
1947 Reviewed by Tim Horton.
1949 * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1950 (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
1953 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
1955 WKBundlePageWillSendSubmitEventCallback is called with incorrect frame parameter
1956 https://bugs.webkit.org/show_bug.cgi?id=176719
1958 Reviewed by Chris Dumez.
1960 Test that WKBundlePageWillSendSubmitEventCallback is called with separate frame and
1961 sourceFrame parameters when the target frame of the form submission is not the source frame.
1963 * TestWebKitAPI/Tests/WebKit/WillSendSubmitEvent.cpp:
1964 (TestWebKitAPI::didReceiveMessageFromInjectedBundle):
1965 * TestWebKitAPI/Tests/WebKit/WillSendSubmitEvent_Bundle.cpp:
1966 (TestWebKitAPI::willSendSubmitEvent):
1967 * TestWebKitAPI/Tests/WebKit/auto-submitting-form.html:
1969 2017-10-30 Alex Christensen <achristensen@webkit.org>
1971 ASSERTION FAILED: internalValuesConsistent(m_url) in WebCore::URLParser::URLParser
1972 https://bugs.webkit.org/show_bug.cgi?id=178861
1974 Reviewed by Tim Horton.
1976 * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
1977 (TestWebKitAPI::TEST_F):
1979 2017-10-30 Commit Queue <commit-queue@webkit.org>
1981 Unreviewed, rolling out r224078.
1982 https://bugs.webkit.org/show_bug.cgi?id=179026
1984 MotionMark regression (Requested by shallawa on #webkit).
1988 "When navigating back to a page, compositing layers may not
1989 use accelerated drawing"
1990 https://bugs.webkit.org/show_bug.cgi?id=178749
1991 https://trac.webkit.org/changeset/224078
1993 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
1995 [WPE] Fix build warnings
1996 https://bugs.webkit.org/show_bug.cgi?id=178899
1998 Reviewed by Carlos Alberto Lopez Perez.
2000 * TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:
2001 (testContextMenuDownloadActions):
2004 * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
2005 * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
2006 (testWebViewJavaScriptDialogs):
2007 * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
2008 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
2009 * WebKitTestRunner/PlatformWPE.cmake:
2010 * WebKitTestRunner/wpe/HeadlessViewBackend.cpp:
2011 * WebKitTestRunner/wpe/TestControllerWPE.cpp:
2012 (WTR::threadDefaultContext): Deleted.
2014 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
2016 [WPE] Upstream or stop using cairo-egl-device-create-for-egl-surface.patch
2017 https://bugs.webkit.org/show_bug.cgi?id=178898
2019 Reviewed by Žan Doberšek.
2021 This patch seems to be unused.
2023 * wpe/jhbuild.modules:
2024 * wpe/patches/cairo-egl-device-create-for-egl-surface.patch: Removed.
2026 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
2028 [WPE] Build more files under WebCore as unified sources and get rid of WebCorePlatformWPE build target
2029 https://bugs.webkit.org/show_bug.cgi?id=178964
2031 Reviewed by Carlos Alberto Lopez Perez.
2033 * TestWebKitAPI/PlatformWPE.cmake:
2035 2017-10-12 Frederic Wang <fwang@igalia.com>
2037 Remove support for running safari on the iOS simulator with Xcode < 9.0
2038 https://bugs.webkit.org/show_bug.cgi?id=178203
2040 Reviewed by Alexey Proskuryakov.
2042 This is a follow-up of r223234. We no longer support iOS WebKit development for Xcode < 9.0
2043 and do not have any iOS simulator builders in our infrastructure. Hence we can remove the
2044 special case to calculate the iOS simulator applications path for these old versions.
2046 * Scripts/webkitdirs.pm:
2047 (iosSimulatorApplicationsPath): Remove special case for XCode < 9.0
2049 2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
2051 [WPE][GTK] Expose availability of certain editing commands in WebKitEditorState
2052 https://bugs.webkit.org/show_bug.cgi?id=168219
2054 Reviewed by Ryosuke Niwa.
2058 * TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
2059 (testWebViewEditorCutCopyPasteNonEditable):
2060 (testWebViewEditorCutCopyPasteEditable):
2061 (testWebViewEditorSelectAllNonEditable):
2062 (testWebViewEditorSelectAllEditable):
2063 (loadContentsAndTryToCutSelection):
2064 (testWebViewEditorNonEditable):
2065 (testWebViewEditorEditorStateTypingAttributes):
2066 (testWebViewEditorInsertImage):
2067 (testWebViewEditorCreateLink):
2069 2017-10-28 Michael Catanzaro <mcatanzaro@igalia.com>
2071 [WPE] Build gst-plugins-base without pango support
2072 https://bugs.webkit.org/show_bug.cgi?id=178918
2074 Reviewed by Carlos Garcia Campos.
2076 We need to build gst-plugins-base without pango support for WPE. Let's use JHBuild
2077 conditions so we can make platform-specific changes in the shared GStreamer moduleset.
2079 * gstreamer/jhbuild.modules:
2083 2017-10-27 Stephan Szabo <stephan.szabo@sony.com>
2085 [Win] Detect Visual Studio 2017 location
2086 https://bugs.webkit.org/show_bug.cgi?id=175275
2088 Reviewed by Per Arne Vollan.
2090 * Scripts/build-jsc:
2091 * Scripts/build-webkit:
2092 * Scripts/update-vswhere.py: Added.
2093 * Scripts/webkitdirs.pm:
2094 (pickCurrentVisualStudioInstallation):
2095 (pickLegacyVisualStudioInstallation):
2096 (visualStudioInstallDir):
2097 (visualStudioInstallDirVSWhere):
2098 (visualStudioInstallDirLegacy):
2099 (visualStudioInstallDirFallback):
2100 (msBuildInstallDir):
2101 (visualStudioVersion):
2102 (visualStudioVersionFromInstallDir):
2103 (generateBuildSystemFromCMakeProject):
2105 2017-10-27 Devin Rousso <webkit@devinrousso.com>
2107 Create watchlist for files related WebInspector Recording
2108 https://bugs.webkit.org/show_bug.cgi?id=178965
2110 Reviewed by Joseph Pecoraro.
2112 * Scripts/webkitpy/common/config/watchlist:
2114 2017-10-27 Jonathan Bedard <jbedard@apple.com>
2116 Windows and WebViews are retained after re-configure
2117 https://bugs.webkit.org/show_bug.cgi?id=178902
2118 <rdar://problem/35211518>
2120 Reviewed by Alexey Proskuryakov.
2122 The test runner effectively leaks windows every time a test changes configuration.
2123 We give each test it's own AutoreleasePool to fix this problem.
2125 * WebKitTestRunner/TestController.cpp:
2126 (WTR::TestController::runTest): Add an AutoRelease pool scoping a test run
2127 so that when a configuration changes, the old window and WebView are released.
2129 2017-10-27 Eric Carlson <eric.carlson@apple.com>
2131 NowPlayingInfo should contain a unique identifier
2132 https://bugs.webkit.org/show_bug.cgi?id=178872
2133 <rdar://problem/34924012>
2135 Unreviewed, fix a flakey test.
2137 * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
2138 (-[NowPlayingTestWebView hasActiveNowPlayingSession]): Update _lastUpdatedElapsedTime.
2139 (-[NowPlayingTestWebView _handleActiveNowPlayingSessionInfoResponse:title:duration:elapsedTime:]): Deleted.
2141 2017-10-27 Fujii Hironori <Hironori.Fujii@sony.com>
2143 autoinstall can't download from http://pypi.python.org
2144 https://bugs.webkit.org/show_bug.cgi?id=178925
2146 Reviewed by Ryosuke Niwa.
2148 The web server pypi.python.org rejects non secure http.
2150 * Scripts/webkitpy/thirdparty/__init__.py:
2151 (AutoinstallImportHook._install_mechanize): Use https instead of http.
2152 (AutoinstallImportHook._install_pep8): Ditto.
2153 (AutoinstallImportHook._install_pylint): Ditto.
2154 (AutoinstallImportHook._install_buildbot): Ditto.
2155 (AutoinstallImportHook._install_coverage): Ditto.
2157 2017-10-26 Fujii Hironori <Hironori.Fujii@sony.com>
2159 [GTK][WPE] install-dependencies can't find libapache2-mod-php7.0 on Ubuntu 17.10
2160 https://bugs.webkit.org/show_bug.cgi?id=178854
2162 Reviewed by Michael Catanzaro.
2164 * Scripts/webkitpy/port/base.py:
2165 (Port._debian_php_version): Return "-php7.1" if libphp7.1.so found.
2166 (Port._is_debian_php_version_7): Deleted.
2167 * gtk/install-dependencies: Install libapache2-mod-php instead of libapache2-mod-php7.0.
2168 * wpe/install-dependencies: Ditto.
2170 2017-10-25 Simon Fraser <simon.fraser@apple.com>
2172 When navigating back to a page, compositing layers may not use accelerated drawing
2173 https://bugs.webkit.org/show_bug.cgi?id=178749
2174 rdar://problem/35158946
2176 Reviewed by Dean Jackson.
2178 Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
2179 and use it to set the state of the web view.
2181 * DumpRenderTree/TestOptions.h:
2182 * DumpRenderTree/TestOptions.mm:
2183 (TestOptions::TestOptions):
2184 * DumpRenderTree/mac/DumpRenderTree.mm:
2185 (setWebPreferencesForTestOptions):
2186 * WebKitTestRunner/TestController.cpp:
2187 (WTR::TestController::resetPreferencesToConsistentValues):
2188 (WTR::updateTestOptionsFromTestHeader):
2189 * WebKitTestRunner/TestOptions.h:
2190 (WTR::TestOptions::hasSameInitializationOptions const):
2192 2017-10-26 Alex Christensen <achristensen@webkit.org>
2194 Move WKWebViewConfiguration validation to WKWebView construction
2195 https://bugs.webkit.org/show_bug.cgi?id=178840
2197 Reviewed by Tim Horton.
2199 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2200 * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm: Added.
2203 2017-10-26 Myles C. Maxfield <mmaxfield@apple.com>
2205 Demonstrate a possible structure of the WebGPU API
2206 https://bugs.webkit.org/show_bug.cgi?id=178874
2208 Reviewed by Dean Jackson.
2210 Over the past few weeks, we've been putting together an example showing that a WebGPU API
2211 which has implicit barriers can work on all three low-level graphics APIs. We've implemented
2212 it on top of Vulkan first, because this is the API which has the strictest requirements and
2213 is most difficult to use.
2215 With this API, this is a valid WebGPU snippet:
2217 auto device = WebGPU::Device::create(hInstance, hWnd);
2218 auto& commandQueue = device->getCommandQueue();
2219 auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { }, { }, { }, nullptr);
2221 … later, in the draw() function …
2223 auto renderPass = commandQueue->createRenderPass(nullptr);
2224 renderPass->setRenderState(renderState);
2225 renderPass->setViewport(0, 0, width, height);
2226 renderPass->setScissorRect(0, 0, width, height);
2227 renderPass->draw(3);
2228 commandQueue->commitRenderPass(std::move(renderPass));
2229 commandQueue->present();
2231 This snippet doesn’t hook up any vertex attributes or resources, which means the vertex
2232 shader has to say something like ({vec4(…), vec4(…), vec4(…)})[gl_VertexIndex]. It also
2233 passes in “nullptr” when creating the render pass, which means “render to the screen, rather
2234 than to a frame buffer.” You can also see that it doesn’t attach any resources to the draw
2237 In Direct3D 12 and Vulkan, resources are bound in sets, rather than individually. For
2238 example, a set might contain two uniform buffers, a texture, and another uniform buffer. At
2239 draw time, you swap in whole sets of resources with a single call. A shader invocation can
2240 access a collection of sets. Because all shader resource accesses are indirected through
2241 these sets, the shape of these sets needs to be supplied at the time you compile the render
2242 state. Here is a snippet which bounds a single set which contains a uniform buffer and a
2245 auto buffer = device->getBuffer(bufferInitialContents);
2246 auto texture = device->getTexture(buffer width, height, WebGPU::PixelFormat::RGBA8, textureInitialContents);
2247 // One resource set, which holds a single uniform buffer object and a single texture
2248 auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { }, { }, { { WebGPU::ResourceType::UniformBufferObject, WebGPU::ResourceType::Texture } }, nullptr);
2250 … later, in the draw() function …
2252 auto renderPass = commandQueue->createRenderPass(nullptr);
2253 renderPass->setRenderState(renderState);
2254 renderPass->setResources(0, { WebGPU::UniformBufferObjectReference(buffer.get()), WebGPU::TextureReference(texture.get()) });
2256 renderPass->draw(3);
2257 commandQueue->commitRenderPass(std::move(renderPass));
2258 commandQueue->present();
2260 The first argument to the setResources() call identifies which set to populate with the supplied resources.
2262 One tenant of the low-level graphics APIs is that, if you’ve enabled double buffering (or
2263 triple buffering), the GPU is executing one frame at the same time you are recording the
2264 next frame. This often means that you need duplicate resources so the CPU and GPU don’t step
2265 on each other’s toes. However, platforms have platform-specific requirements about whether
2266 or not they can be double / triple buffered, and we don’t want to expose this to the Web for
2267 fear of badly-authored programs.
2269 To solve this, resources are reference counted, and the return type of getBuffer() is an
2270 RAII type called BufferHolder which increments and decrements the reference count
2271 automatically. The reference count is also incremented and decremented when the GPU is using
2272 the resource in a Pass. When the reference count reaches 0, the resource isn’t destroyed;
2273 instead, it’s simply moved to a “free list” which getBuffer() may pull from. Therefore,
2274 applications don’t need to know whether the frame buffer is double buffered or triple
2275 buffered; they can just getBuffer() each frame, and the correct number of buffers will be
2276 created and recycled.
2279 auto buffer = device->getBuffer(bufferSize); // These get recycled
2280 … populate the buffer …
2281 auto renderPass = commandQueue->createRenderPass(nullptr);
2282 renderPass->setRenderState(renderState);
2283 renderPass->setResources(0, { WebGPU::UniformBufferObjectReference(buffer.get()) });
2285 renderPass->draw(…);
2286 commandQueue->commitRenderPass(std::move(renderPass));
2288 commandQueue->present();
2290 In Direct3D and Vulkan, vertex buffers and index buffers are not part of the resource sets
2291 mentioned above. Instead, you tell the render state about the shape of the vertex and index
2292 buffers, and you swap them out independently in the draw loop. Metal and Vulkan have almost
2293 identical API to specify this shape of the vertex buffers, so I’ve mostly copied it. In this
2294 example, we have two vertex attributes, a vec2 and a vec3, which both come from the same
2297 // { Attribute format, offset within stride, buffer to pull from }
2298 std::vector<WebGPU::RenderState::VertexAttribute> vertexAttributes = { {WebGPU::RenderState::VertexFormat::Float2, 0, 0}, {WebGPU::RenderState::VertexFormat::Float3, sizeof(float) * 2, 0} };
2299 // A single vertex buffer, with a stride of 5 floats
2300 auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { sizeof(float) * 5 }, vertexAttributes, resourceTypes, nullptr);
2302 … later, in the draw() function …
2304 auto renderPass = commandQueue->createRenderPass(nullptr);
2305 renderPass->setRenderState(renderState);
2306 renderPass->setVertexAttributeBuffers({ vertexBuffer.get() }); // The one vertex buffer which both attributes pull from
2307 renderPass->setResources(…);
2309 renderPass->draw(…);
2310 commandQueue->commitRenderPass(std::move(renderPass));
2311 commandQueue->present();
2313 You can also tell the RenderState about how many render targets you have and their formats,
2314 and then when you create the RenderPass, you specify the specific textures you want to
2317 std::vector<WebGPU::PixelFormat> colorPixelFormats = { WebGPU::PixelFormat::RGBA8, WebGPU::PixelFormat::RGBA8 }; // Two render targets, with these formats
2318 auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", vertexBufferStrides, vertexAttributes, resourceTypes, &colorPixelFormats);
2320 … later, in the draw() function …
2322 std::vector<std::reference_wrapper<WebGPU::Texture>> destinationTextures = { texture1->get(), texture2->get() };
2323 auto renderPass = commandQueue->createRenderPass(&destinationTextures);
2324 renderPass->setRenderState(renderState);
2326 renderPass->draw(…);
2327 commandQueue->commitRenderPass(std::move(renderPass));
2329 // Now, draw one of the textures to the screen. Note that no synchronization is necessary here!
2330 auto renderPass = commandQueue->createRenderPass(nullptr);
2331 renderPass->setRenderState(renderState2);
2332 renderPass->setResources(0, { WebGPU:: TextureReference(texture1.get()) });
2334 renderPass->draw(…);
2335 commandQueue->commitRenderPass(std::move(renderPass));
2336 commandQueue->present();
2338 Just like how in Metal has Render Encoders and Compute Encoders, WebGPU has RenderPasses
2341 auto& computeState = device->getComputeState(computeShader, "main", resourceTypes);
2343 auto computePass = commandQueue->createComputePass();
2344 computePass->setComputeState(computeState);
2345 computePass->setResources(0, resources);
2346 computePass->dispatch(width, height, depth);
2347 commandQueue->commitComputePass(std::move(computePass));
2349 // Now, draw the resources we just computed. Note that no synchronization is necessary here!
2350 auto renderPass = commandQueue->createRenderPass(nullptr);
2351 renderPass->setRenderState(renderState);
2352 renderPass->setResources(0, resources });
2354 renderPass->draw(…);
2355 commandQueue->commitRenderPass(std::move(renderPass));
2356 commandQueue->present();
2358 There are also two other types of passes: one that corresponds to a Metal blit encoder, and
2359 one that allows the CPU to change the contents of GPU buffers and textures. This last kind
2360 of pass is a little interesting: you can’t just change the contents of a buffer at any time
2361 you feel like it, because that resource might be in use by the GPU. Therefore, we need to do
2362 the same kind of synchronization that we already do at render pass boundaries.
2364 In addition, both Vulkan and Direct3D have a concept of a memory heap. A resource might
2365 exist inside a heap which is fast, but invisible from the CPU, or in a heap which is slow,
2366 but visible by the CPU. Certain operations are not possible from some types of images (e.g.
2367 non-tiled textures may not be able to be sampled from). The usual way to get around this
2368 problem is to have two resources: a slow staging resource which the CPU can see, and a fast
2369 resource which the CPU can’t see. Uploading data is a two-pass algorithm, where the CPU
2370 memcpy()s into the slow staging resource, and then a blit command is enqueued on the GPU to
2371 copy the contents of the staging resource to the real resource. This requires that the
2372 upload have access to the commandQueue so it can possibly enqueue a blit between the staging
2373 and real resources. Therefore, a pass is the right level of abstraction for these facilities.
2375 std::queue<boost::unique_future<std::vector<uint8_t>>> futureQueue; // Promises for data downloads from the GPU
2377 … later, in the draw() function …
2379 // See if any of the previously-enqueued downloads are finished
2380 while (!futureQueue.empty() && futureQueue.front(). has_value()) {
2381 std::vector<uint8_t>& data = futureQueue.front().get();
2382 // Use the downloaded data
2386 auto hostAccessPass = commandQueue->createHostAccessPass();
2387 hostAccessPass->overwriteBuffer(buffer->get(), bufferContents); // Upload data to a resource
2389 futureQueue.emplace(hostAccessPass->getBufferContents(buffer->get()));
2390 commandQueue->commitHostAccessPass(std::move(hostAccessPass));
2392 You can also issue copy commands between resources entirely on the GPU:
2394 auto blitPass = commandQueue->createBlitPass();
2395 blitPass->copyTexture(source->get(), destination->get(), sourceX, sourceY, destinationX, destinationY, width, height);
2396 commandQueue->commitBlitPass(std::move(blitPass));
2398 * Scripts/webkitpy/style/checker.py:
2399 * WebGPUAPIStructure/Example/Example.cpp: Added.
2406 * WebGPUAPIStructure/Example/Example.h: Added.
2407 * WebGPUAPIStructure/Example/Example.ico: Added.
2408 * WebGPUAPIStructure/Example/Example.rc: Added.
2409 * WebGPUAPIStructure/Example/Example.vcxproj: Added.
2410 * WebGPUAPIStructure/Example/Example.vcxproj.filters: Added.
2411 * WebGPUAPIStructure/Example/Example.vcxproj.user: Added.
2412 * WebGPUAPIStructure/Example/resource.h: Added.
2413 * WebGPUAPIStructure/Example/small.ico: Added.
2414 * WebGPUAPIStructure/Example/stdafx.cpp: Added.
2415 * WebGPUAPIStructure/Example/stdafx.h: Added.
2416 * WebGPUAPIStructure/Example/targetver.h: Added.
2417 * WebGPUAPIStructure/WebGPU-Common/WebGPU-Common.vcxproj: Added.
2418 * WebGPUAPIStructure/WebGPU-Common/WebGPU-Common.vcxproj.filters: Added.
2419 * WebGPUAPIStructure/WebGPU-Common/WebGPU.cpp: Added.
2420 (WebGPU::BufferHolder::BufferHolder):
2421 (WebGPU::BufferHolder::~BufferHolder):
2422 (WebGPU::TextureHolder::TextureHolder):
2423 (WebGPU::TextureHolder::~TextureHolder):
2424 (WebGPU::SamplerHolder::SamplerHolder):
2425 (WebGPU::SamplerHolder::~SamplerHolder):
2426 * WebGPUAPIStructure/WebGPU-Common/WebGPU.h: Added.
2427 (WebGPU::Queue::~Queue):
2428 (WebGPU::RenderState::~RenderState):
2429 (WebGPU::ComputeState::~ComputeState):
2430 (WebGPU::Buffer::~Buffer):
2431 (WebGPU::Texture::~Texture):
2432 (WebGPU::Sampler::~Sampler):
2433 (WebGPU::TextureReference::TextureReference):
2434 (WebGPU::TextureReference::get const):
2435 (WebGPU::SamplerReference::SamplerReference):
2436 (WebGPU::SamplerReference::get const):
2437 (WebGPU::UniformBufferObjectReference::UniformBufferObjectReference):
2438 (WebGPU::UniformBufferObjectReference::get const):
2439 (WebGPU::ShaderStorageBufferObjectReference::ShaderStorageBufferObjectReference):
2440 (WebGPU::ShaderStorageBufferObjectReference::get const):
2441 (WebGPU::RenderPass::~RenderPass):
2442 (WebGPU::ComputePass::~ComputePass):
2443 (WebGPU::BlitPass::~BlitPass):
2444 (WebGPU::HostAccessPass::~HostAccessPass):
2445 (WebGPU::BufferHolder::get):
2446 (WebGPU::TextureHolder::get):
2447 (WebGPU::SamplerHolder::get):
2448 (WebGPU::Device::~Device):
2449 * WebGPUAPIStructure/WebGPU-Vulkan/BlitPassImpl.cpp: Added.
2450 (WebGPU::BlitPassImpl::BlitPassImpl):
2451 (WebGPU::BlitPassImpl::copyTexture):
2452 * WebGPUAPIStructure/WebGPU-Vulkan/BlitPassImpl.h: Added.
2453 * WebGPUAPIStructure/WebGPU-Vulkan/BufferImpl.cpp: Added.
2454 (WebGPU::BufferImpl::BufferImpl):
2455 (WebGPU::BufferImpl::decrementReferenceCount):
2456 * WebGPUAPIStructure/WebGPU-Vulkan/BufferImpl.h: Added.
2457 (WebGPU::BufferImpl::getBuffer const):
2458 (WebGPU::BufferImpl::getDeviceMemory const):
2459 (WebGPU::BufferImpl::incrementReferenceCount):
2460 (WebGPU::BufferImpl::getLength const):
2461 * WebGPUAPIStructure/WebGPU-Vulkan/ComputePassImpl.cpp: Added.
2462 (WebGPU::ComputePassImpl::ComputePassImpl):
2463 (WebGPU::ComputePassImpl::setComputeState):
2464 (WebGPU::ComputePassImpl::setResources):
2465 (WebGPU::ComputePassImpl::dispatch):
2466 * WebGPUAPIStructure/WebGPU-Vulkan/ComputePassImpl.h: Added.
2467 * WebGPUAPIStructure/WebGPU-Vulkan/ComputeStateImpl.cpp: Added.
2468 (WebGPU::ComputeStateImpl::ComputeStateImpl):
2469 * WebGPUAPIStructure/WebGPU-Vulkan/ComputeStateImpl.h: Added.
2470 (WebGPU::ComputeStateImpl::getPipeline const):
2471 (WebGPU::ComputeStateImpl::getPipelineLayout const):
2472 (WebGPU::ComputeStateImpl::getDescriptorSetLayouts const):
2473 * WebGPUAPIStructure/WebGPU-Vulkan/DeviceImpl.cpp: Added.
2474 (WebGPU::Device::create):
2475 (WebGPU::convertPixelFormat):
2476 (WebGPU::convertFormat):
2477 (WebGPU::debugReport):
2478 (WebGPU::DeviceImpl::DeviceImpl):
2479 (WebGPU::DeviceImpl::getCommandQueue):
2480 (WebGPU::DeviceImpl::prepareShader):
2481 (WebGPU::DeviceImpl::createPipelineLayout):
2482 (WebGPU::DeviceImpl::createCompatibleRenderPass):
2483 (WebGPU::convertVertexFormat):
2484 (WebGPU::DeviceImpl::getRenderState):
2485 (WebGPU::DeviceImpl::getComputeState):
2486 (WebGPU::DeviceImpl::getBuffer):
2487 (WebGPU::DeviceImpl::returnBuffer):
2488 (WebGPU::DeviceImpl::getTexture):
2489 (WebGPU::DeviceImpl::returnTexture):
2490 (WebGPU::DeviceImpl::getSampler):
2491 (WebGPU::DeviceImpl::returnSampler):
2492 (WebGPU::DeviceImpl::~DeviceImpl):
2493 * WebGPUAPIStructure/WebGPU-Vulkan/DeviceImpl.h: Added.
2494 (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::UniqueDebugReportCallbackEXT):
2495 (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::operator=):
2496 (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::~UniqueDebugReportCallbackEXT):
2497 (WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::destroy):
2498 (WebGPU::DeviceImpl::TextureParameters::operator== const):
2499 (WebGPU::DeviceImpl::TextureParametersHash::operator() const):
2500 * WebGPUAPIStructure/WebGPU-Vulkan/HostAccessPassImpl.cpp: Added.
2501 (WebGPU::HostAccessPassImpl::HostAccessPassImpl):
2502 (WebGPU::HostAccessPassImpl::overwriteBuffer):
2503 (WebGPU::HostAccessPassImpl::getBufferContents):
2504 (WebGPU::HostAccessPassImpl::execute):
2505 * WebGPUAPIStructure/WebGPU-Vulkan/HostAccessPassImpl.h: Added.
2506 (WebGPU::HostAccessPassImpl::getFinishedEvent const):
2507 * WebGPUAPIStructure/WebGPU-Vulkan/PassImpl.cpp: Added.
2508 (WebGPU::PassImpl::PassImpl):
2509 (WebGPU::ResourceVisitor::operator()):
2510 (WebGPU::ResourceVisitor::getBindings const):
2511 (WebGPU::ResourceVisitor::releaseWriteDescriptorSets):
2512 (WebGPU::ResourceVisitor::getDescriptorImageInfos const):
2513 (WebGPU::ResourceVisitor::getDescriptorBufferInfos const):
2514 (WebGPU::ResourceVisitor::getBuffers const):
2515 (WebGPU::ResourceVisitor::getTextures const):
2516 (WebGPU::ResourceVisitor::getSamplers const):
2517 (WebGPU::ResourceVisitor::getImageCount const):
2518 (WebGPU::ResourceVisitor::getSamplerCount const):
2519 (WebGPU::ResourceVisitor::getUniformBufferCount const):
2520 (WebGPU::ResourceVisitor::getStorageBufferCount const):
2521 (WebGPU::PassImpl::setResources):
2522 (WebGPU::PassImpl::insertBuffer):
2523 (WebGPU::PassImpl::insertTexture):
2524 (WebGPU::PassImpl::insertSampler):
2525 * WebGPUAPIStructure/WebGPU-Vulkan/PassImpl.h: Added.
2526 (WebGPU::PassImpl::getCommandBuffer const):
2527 (WebGPU::PassImpl::iterateBuffers):
2528 (WebGPU::PassImpl::iterateTextures):
2529 (WebGPU::PassImpl::ResourceReference::ResourceReference):
2530 (WebGPU::PassImpl::ResourceReference::~ResourceReference):
2531 (WebGPU::PassImpl::ResourceReference::operator=):
2532 (WebGPU::PassImpl::ResourceReference::operator== const):
2533 (WebGPU::PassImpl::ResourceReference::get const):
2534 (WebGPU::PassImpl::ResourceReference::release):
2535 (WebGPU::PassImpl::ResourceReferenceHash::operator() const):
2536 * WebGPUAPIStructure/WebGPU-Vulkan/QueueImpl.cpp: Added.
2537 (WebGPU::QueueImpl::QueueImpl):
2538 (WebGPU::QueueImpl::prepareCurrentFrame):
2539 (WebGPU::QueueImpl::createSpecificRenderPass):
2540 (WebGPU::QueueImpl::createFramebuffer):
2541 (WebGPU::QueueImpl::createRenderPass):
2542 (WebGPU::QueueImpl::commitRenderPass):
2543 (WebGPU::QueueImpl::createComputePass):
2544 (WebGPU::QueueImpl::commitComputePass):
2545 (WebGPU::QueueImpl::createBlitPass):
2546 (WebGPU::QueueImpl::commitBlitPass):
2547 (WebGPU::QueueImpl::createHostAccessPass):
2548 (WebGPU::QueueImpl::commitHostAccessPass):
2549 (WebGPU::QueueImpl::present):
2550 (WebGPU::QueueImpl::commitPass):
2551 (WebGPU::QueueImpl::synchronizeResources):
2552 (WebGPU::QueueImpl::~QueueImpl):
2553 * WebGPUAPIStructure/WebGPU-Vulkan/QueueImpl.h: Added.
2554 * WebGPUAPIStructure/WebGPU-Vulkan/RenderPassImpl.cpp: Added.
2555 (WebGPU::RenderPassImpl::RenderPassImpl):
2556 (WebGPU::RenderPassImpl::setRenderState):
2557 (WebGPU::RenderPassImpl::setVertexAttributeBuffers):
2558 (WebGPU::RenderPassImpl::setResources):
2559 (WebGPU::RenderPassImpl::setViewport):
2560 (WebGPU::RenderPassImpl::setScissorRect):
2561 (WebGPU::RenderPassImpl::draw):
2562 * WebGPUAPIStructure/WebGPU-Vulkan/RenderPassImpl.h: Added.
2563 * WebGPUAPIStructure/WebGPU-Vulkan/RenderStateImpl.cpp: Added.
2564 (WebGPU::RenderStateImpl::RenderStateImpl):
2565 * WebGPUAPIStructure/WebGPU-Vulkan/RenderStateImpl.h: Added.
2566 (WebGPU::RenderStateImpl::getPipeline const):
2567 (WebGPU::RenderStateImpl::getPipelineLayout const):
2568 (WebGPU::RenderStateImpl::getDescriptorSetLayouts const):
2569 * WebGPUAPIStructure/WebGPU-Vulkan/SamplerImpl.cpp: Added.
2570 (WebGPU::SamplerImpl::SamplerImpl):
2571 (WebGPU::SamplerImpl::decrementReferenceCount):
2572 * WebGPUAPIStructure/WebGPU-Vulkan/SamplerImpl.h: Added.
2573 (WebGPU::SamplerImpl::getSampler):
2574 (WebGPU::SamplerImpl::incrementReferenceCount):
2575 (WebGPU::SamplerImpl::getFilter):
2576 (WebGPU::SamplerImpl::getMipmapMode):
2577 (WebGPU::SamplerImpl::getAddressMode):
2578 * WebGPUAPIStructure/WebGPU-Vulkan/TextureImpl.cpp: Added.
2579 (WebGPU::TextureImpl::TextureImpl):
2580 (WebGPU::TextureImpl::decrementReferenceCount):
2581 * WebGPUAPIStructure/WebGPU-Vulkan/TextureImpl.h: Added.
2582 (WebGPU::TextureImpl::getImage const):
2583 (WebGPU::TextureImpl::getImageView const):
2584 (WebGPU::TextureImpl::getFormat const):
2585 (WebGPU::TextureImpl::incrementReferenceCount):
2586 (WebGPU::TextureImpl::getWidth const):
2587 (WebGPU::TextureImpl::getHeight const):
2588 (WebGPU::TextureImpl::getTransferredToGPU const):
2589 (WebGPU::TextureImpl::setTransferredToGPU):
2590 * WebGPUAPIStructure/WebGPU-Vulkan/WebGPU-Vulkan.vcxproj: Added.
2591 * WebGPUAPIStructure/WebGPU-Vulkan/WebGPU-Vulkan.vcxproj.filters: Added.
2592 * WebGPUAPIStructure/WebGPU.sln: Added.
2594 2017-10-26 Eric Carlson <eric.carlson@apple.com>
2596 NowPlayingInfo should contain a unique identifier
2597 https://bugs.webkit.org/show_bug.cgi?id=178872
2599 Reviewed by Jer Noble.
2601 * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
2602 (-[NowPlayingTestWebView hasActiveNowPlayingSession]): Use completion handler.
2603 (TestWebKitAPI::TEST): Cleanup tests. Use new API.
2604 (-[NowPlayingTestWebView waitForNowPlayingInfoToChange]): Deleted.
2606 2017-10-26 Eric Carlson <eric.carlson@apple.com>
2608 [MediaStream] Clear cached gUM prompt state
2609 https://bugs.webkit.org/show_bug.cgi?id=178754
2610 <rdar://problem/32742356>
2612 Unreviewed, fix a flakey test.
2614 * TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm:
2615 (-[GetUserMediaRepromptTestView haveStream:]): New, check several times for expected state.
2616 (TestWebKitAPI::TEST): Don't assume stream state changes in the page immediately.
2618 2017-10-26 Andy Estes <aestes@apple.com>
2620 [Payment Request] Enable Payment Request whenever Apple Pay is enabled
2621 https://bugs.webkit.org/show_bug.cgi?id=178880
2623 Reviewed by Tim Horton.
2625 * WebKitTestRunner/TestController.cpp:
2626 (WTR::TestController::resetPreferencesToConsistentValues):
2628 2017-10-26 Joseph Pecoraro <pecoraro@apple.com>
2630 Add and update some watchlists
2631 https://bugs.webkit.org/show_bug.cgi?id=178304
2633 Reviewed by Simon Fraser.
2635 * Scripts/webkitpy/common/config/watchlist:
2637 2017-10-26 Ryan Haddad <ryanhaddad@apple.com>
2639 Unreviewed, rolling out r223984.
2641 Caused LayoutTest assertion failures.
2645 "When navigating back to a page, compositing layers may not
2646 use accelerated drawing"
2647 https://bugs.webkit.org/show_bug.cgi?id=178749
2648 https://trac.webkit.org/changeset/223984
2650 2017-10-26 Christopher Reid <chris.reid@sony.com>
2652 Remove scopeguard from platform
2653 https://bugs.webkit.org/show_bug.cgi?id=178681
2655 Reviewed by Brady Eidson.
2657 * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
2659 2017-09-21 Carlos Garcia Campos <cgarcia@igalia.com>
2661 WebDriver: Add support to import and run W3C tests
2662 https://bugs.webkit.org/show_bug.cgi?id=177304
2664 Reviewed by Brian Burg.
2666 WPT has now several WebDriver tests, and new ones are going to be added to cover the whole spec. This patch
2667 adds the initial support for running W3C tests. The script import-w3c-webdriver-tests reuses parts of the W3C
2668 test downloader to download the tests and required tools from WPT repository into WebDriverTests
2669 directory. Tests can be run with run-webdriver-tests, a new script that works similar to other test runner
2670 scripts. For now it shows a summary at the end of the execution, there aren't expectations yet, since we are not
2671 ready to run those tests in the bots. Once we are ready to properly run the tests, we can add the expectations
2672 support and run the tests in the bots.
2674 * Scripts/import-w3c-webdriver-tests: Added.
2675 * Scripts/run-webdriver-tests: Added.
2676 * Scripts/webkitpy/style/checker.py: Skip WebDriverTests directory since it only contains third-party python
2678 * Scripts/webkitpy/thirdparty/__init__.py: Add support to autodownload mozlog and mozprocess since they are
2679 required by the WebDriver tests.
2680 * Scripts/webkitpy/webdriver_tests/__init__.py: Added.
2681 * Scripts/webkitpy/webdriver_tests/webdriver_driver.py: Added.
2682 * Scripts/webkitpy/webdriver_tests/webdriver_driver_gtk.py: Added.
2683 * Scripts/webkitpy/webdriver_tests/webdriver_test_result.py: Added.
2684 * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py: Added.
2685 * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py: Added.
2686 * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py: Added.
2687 * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py: Added.
2689 2017-10-25 Eric Carlson <eric.carlson@apple.com>
2691 [MediaStream] Clear cached gUM prompt state
2692 https://bugs.webkit.org/show_bug.cgi?id=178754
2693 <rdar://problem/32742356>
2695 Reviewed by Youenn Fablet.
2697 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new test
2699 * TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm: Added.
2700 (-[GetUserMediaRepromptUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
2701 (-[GetUserMediaRepromptUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
2702 (TestWebKitAPI::TEST):
2704 * TestWebKitAPI/Tests/WebKit/getUserMedia.html:
2706 2017-10-25 Ross Kirsling <ross.kirsling@sony.com>
2708 Add committer status for Ross Kirsling
2709 https://bugs.webkit.org/show_bug.cgi?id=178832
2713 * Scripts/webkitpy/common/config/contributors.json:
2715 2017-10-25 Simon Fraser <simon.fraser@apple.com>
2717 When navigating back to a page, compositing layers may not use accelerated drawing
2718 https://bugs.webkit.org/show_bug.cgi?id=178749
2719 rdar://problem/35158946
2721 Reviewed by Dean Jackson.
2723 Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
2724 and use it to set the state of the web view.
2726 * DumpRenderTree/TestOptions.h:
2727 * DumpRenderTree/TestOptions.mm:
2728 (TestOptions::TestOptions):
2729 * DumpRenderTree/mac/DumpRenderTree.mm:
2730 (setWebPreferencesForTestOptions):
2731 * WebKitTestRunner/TestController.cpp:
2732 (WTR::TestController::resetPreferencesToConsistentValues):
2733 (WTR::updateTestOptionsFromTestHeader):
2734 * WebKitTestRunner/TestOptions.h:
2735 (WTR::TestOptions::hasSameInitializationOptions const):
2737 2017-10-25 Robin Morisset <rmorisset@apple.com>
2739 Support the TailBench9000 benchmark in run-jsc-benchmarks
2740 https://bugs.webkit.org/show_bug.cgi?id=178451
2742 Reviewed by Saam Barati.
2744 * Scripts/run-jsc-benchmarks:
2746 2017-10-25 Adrian Perez de Castro <aperez@igalia.com>
2748 [WPE] Remove GLib API functions which use Cairo
2749 https://bugs.webkit.org/show_bug.cgi?id=178205
2751 Reviewed by Michael Catanzaro.
2753 Add PLATFORM(GTK) guards for the API tests (or parts of them) which use cairo_surface_t (web
2754 page snapshots and favicons) which are not available in the WPE version of the GLib API.
2756 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
2757 (testNotInitialized):
2758 (testPrivateBrowsing):
2759 (testFaviconDatabase):
2760 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFindController.cpp:
2761 (testFindControllerHide):
2763 * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
2764 * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
2766 2017-10-25 Zan Dobersek <zdobersek@igalia.com>
2768 Make SERVICE_WORKER feature buildable on GTK, WPE
2769 https://bugs.webkit.org/show_bug.cgi?id=178574
2771 Reviewed by Carlos Garcia Campos.
2773 * Scripts/webkitperl/FeatureList.pm: Add the --service-worker option
2774 that enables the SERVICE_WORKER feature flag. For now it's enabled
2775 on Apple's Cocoa ports (even when build-webkit isn't used for those
2776 builds, the flag is enabled here for consistency).
2778 2017-10-24 Michael Catanzaro <mcatanzaro@igalia.com>
2780 Unreviewed, fix name of Perl LibXML package on Fedora
2781 https://bugs.webkit.org/show_bug.cgi?id=178206
2782 <rdar://problem/35028586>
2784 * gtk/install-dependencies:
2785 * wpe/install-dependencies:
2787 2017-10-24 Alex Christensen <achristensen@webkit.org>
2789 Selecting and right-clicking URL-like strings with IDNA-disallowed characters in host or authority causes rendering engine crash
2790 https://bugs.webkit.org/show_bug.cgi?id=174267
2792 Reviewed by Tim Horton.
2794 * TestWebKitAPI/Tests/WebKit/CanHandleRequest_Bundle.cpp:
2795 (TestWebKitAPI::runTest):
2797 2017-10-24 Eric Carlson <eric.carlson@apple.com>
2799 Web Inspector: Enable WebKit logging configuration and display
2800 https://bugs.webkit.org/show_bug.cgi?id=177027
2801 <rdar://problem/33964767>
2803 Reviewed by Joseph Pecoraro.
2805 Allow new 'dumpJSConsoleLogInStdErr' test header to redirect log console output to stderr.
2807 * DumpRenderTree/TestOptions.h:
2808 * DumpRenderTree/TestOptions.mm:
2809 (TestOptions::TestOptions):
2810 * DumpRenderTree/mac/DumpRenderTree.mm:
2812 * WebKitTestRunner/TestController.cpp:
2813 (WTR::updateTestOptionsFromTestHeader):
2814 (WTR::TestController::runTest):
2815 * WebKitTestRunner/TestOptions.h:
2816 (WTR::TestOptions::hasSameInitializationOptions const):
2818 2017-10-24 Alex Christensen <achristensen@webkit.org>
2820 Apply custom header fields from WebsitePolicies to same-domain requests
2821 https://bugs.webkit.org/show_bug.cgi?id=178356
2823 Reviewed by Brady Eidson.
2825 * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
2828 2017-10-24 Stephan Szabo <stephan.szabo@sony.com>
2830 [Win][JSCOnly] Make jsconly build testapi and dlls and copy dlls when running tests
2831 https://bugs.webkit.org/show_bug.cgi?id=177279
2833 Reviewed by Yusuke Suzuki.
2835 * Scripts/build-jsc:
2836 * Scripts/run-jsc-stress-tests:
2838 2017-10-23 Lucas Forschler <lforschler@apple.com>
2840 <rdar://problem/35045445>
2841 Update README to reference WebKit build archives, instead of 'nightly'
2843 Reviewed by Aakash Jain.
2845 * WebKitArchiveSupport/README:
2847 2017-10-21 Tim Horton <timothy_horton@apple.com>
2849 Turn on ccache for Mac cmake builds by default
2850 https://bugs.webkit.org/show_bug.cgi?id=177059
2852 Reviewed by Sam Weinig.
2854 * ccache/ccache-clang:
2855 * ccache/ccache-wrapper: Added.
2856 Add a pass-through ccache wrapper to be used with CMake, in addition
2857 to the existing faux-clang wrappers.
2859 * Scripts/build-webkit:
2860 Add --use-ccache and --no-use-ccache option, which will define
2861 WK_USE_CCACHE to YES or NO, respectively, which the underlying
2862 build systems respect. We do not define WK_USE_CCACHE if the option
2863 is not specified, because the underlying build systems have different
2866 2017-10-20 Aakash Jain <aakash_jain@apple.com>
2868 Do not run binding tests on multiple EWSes
2869 https://bugs.webkit.org/show_bug.cgi?id=178599
2871 Reviewed by Alexey Proskuryakov.
2873 Remove old code which runs bindings tests and ignore it's result. We now have
2874 a dedicated bindings test EWS.
2876 * Scripts/webkitpy/tool/steps/runtests.py:
2877 (RunTests.run): Removed bindings tests code.
2878 * Scripts/webkitpy/tool/steps/runtests_unittest.py: Updated unit-tests.
2879 (RunTestsTest.test_webkit_run_unit_tests): Ditto.
2880 * Scripts/webkitpy/tool/steps/steps_unittest.py: Ditto.
2881 * Scripts/webkitpy/tool/commands/download_unittest.py: Ditto.
2883 2017-10-20 Youenn Fablet <youenn@apple.com>
2885 WebsiteDataStoreCustomPaths.mm is failing after r223718
2886 https://bugs.webkit.org/show_bug.cgi?id=178596
2890 * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
2891 (TEST): Making default web site data store creation expected at the end of the test.
2892 We should probably not need need to create it.
2893 This should be fixed as a follow-up.
2895 2017-10-20 Antoine Quint <graouts@apple.com>
2897 [Web Animations] Provide basic timeline and animation interfaces
2898 https://bugs.webkit.org/show_bug.cgi?id=178526
2900 Reviewed by Dean Jackson.
2902 Remove the WEB_ANIMATIONS compile-time flag.
2904 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2906 2017-10-20 Tomas Popela <tpopela@redhat.com>
2908 Missing some perl packages in install-dependencies
2909 https://bugs.webkit.org/show_bug.cgi?id=178571
2911 Reviewed by Žan Doberšek.
2913 Install per-version and perl-Time-HiRes so we can use build-webkit
2914 script. Also add missing backlashes.
2916 * wpe/install-dependencies:
2918 2017-10-20 Commit Queue <commit-queue@webkit.org>
2920 Unreviewed, rolling out r222709 and r223572.
2921 https://bugs.webkit.org/show_bug.cgi?id=178587
2923 Still getting mac-wk2 EWS bots stuck (Requested by ap on
2926 Reverted changesets:
2928 "Log stack-trace for run-webkit-tests when interrupted"
2929 https://bugs.webkit.org/show_bug.cgi?id=176393
2930 https://trac.webkit.org/changeset/222709
2932 "webkitpy: Hang when workers write to the same stack trace
2934 https://bugs.webkit.org/show_bug.cgi?id=178402
2935 https://trac.webkit.org/changeset/223572
2937 2017-10-19 Nan Wang <n_wang@apple.com>
2939 AX: Provide a way for Accessibility to cache the selection while retrieving rects for speak selection
2940 https://bugs.webkit.org/show_bug.cgi?id=176247
2941 <rdar://problem/34217143>
2943 Reviewed by Ryosuke Niwa.
2945 * TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
2946 (TestWebKitAPI::TEST):
2948 2017-10-19 Sam Weinig <sam@webkit.org>
2950 [Settings] Move global settings into their own file
2951 https://bugs.webkit.org/show_bug.cgi?id=178512
2953 Reviewed by Darin Adler.
2955 * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
2956 (TestWebKitAPI::TEST):
2958 2017-10-19 Andy Estes <aestes@apple.com>
2960 [iOS] Conditionally rename DatabaseProcess to StorageProcess when building for iOS devices
2961 https://bugs.webkit.org/show_bug.cgi?id=178181
2962 <rdar://problem/33660282>
2964 Reviewed by Dan Bernstein.
2966 * WebKitTestRunner/TestController.cpp:
2967 (WTR::TestController::databaseProcessName):
2969 2017-10-19 Saam Barati <sbarati@apple.com>
2971 Turn poly proto back on by default and remove the option
2972 https://bugs.webkit.org/show_bug.cgi?id=178525
2974 Reviewed by Mark Lam.
2976 * Scripts/run-jsc-stress-tests:
2978 2017-10-18 Ryosuke Niwa <rniwa@webkit.org>
2980 Don't expose raw HTML in pasteboard to the web content
2981 https://bugs.webkit.org/show_bug.cgi?id=178422
2983 Reviewed by Wenson Hsieh.
2985 Added a test case for sanitizing web archive in the system pasteboard to strip privacy sensitive information
2986 such as local file paths and potentially harmful scripts like event handlers serialized by WebKit prior to r223462.
2988 * TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm:
2989 (PasteWebArchive.SanitizesHTML):
2991 2017-10-18 Youenn Fablet <youenn@apple.com>
2993 TestController should clear all fetch caches when resetting its state
2994 https://bugs.webkit.org/show_bug.cgi?id=178486
2996 Reviewed by Chris Dumez.
2998 Adding clearDOMCaches test runner method.
2999 Using that method when resetting state.
3001 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3002 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3003 (WTR::TestRunner::clearDOMCaches):
3004 * WebKitTestRunner/InjectedBundle/TestRunner.h:
3005 * WebKitTestRunner/TestInvocation.cpp:
3006 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3008 2017-10-18 Chelsea Pugh <cpugh@apple.com>
3010 [iOS] Use new class name from UIKit when checking UITextSuggestion type
3011 https://bugs.webkit.org/show_bug.cgi?id=178416
3013 Reviewed by Tim Horton.
3015 This updates our test using/mocking out UITextAutofillSuggestion instead of UIKeyboardLoginCredentialsSuggestion.
3017 * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
3018 (-[UITextAutofillSuggestion initWithUsername:password:]): Copied from UIKit's implementation. This will serve as
3019 a mock of this method for builds not containingit.
3020 (+[UITextAutofillSuggestion autofillSuggestionWithUsername:password:]): Ditto.
3021 (TestWebKitAPI::TEST): Use +[UITextAutofillSuggestion autofillSuggestionWithUsername:password:] inline instead of
3022 helper function for creating a new suggestion.
3023 (newUIKeyboardLoginCredentialsSuggestion): Deleted.
3025 * TestWebKitAPI/ios/UIKitSPI.h:
3027 2017-10-18 Fujii Hironori <Hironori.Fujii@sony.com>
3029 update-webkit-auxiliary-libs can't download WebKitAuxiliaryLibrary.zip due to 403 Forbidden
3030 https://bugs.webkit.org/show_bug.cgi?id=178381
3032 Reviewed by Alexey Proskuryakov.
3034 The web server developer.apple.com seems to reject HTTP requests
3035 without Accept header field.
3037 * Scripts/update-webkit-dependency: Add 'Accept' header field to requests.
3039 2017-10-18 Aakash Jain <aakash_jain@apple.com>
3041 webkitpy tests should have --json-output option
3042 https://bugs.webkit.org/show_bug.cgi?id=178481
3044 Reviewed by Alexey Proskuryakov.
3046 * Scripts/webkitpy/test/main.py:
3047 (Tester._parse_args): Added json-output argument.
3048 (Tester._run_tests): Write output to json file.
3050 2017-10-18 Wenson Hsieh <wenson_hsieh@apple.com>
3052 Unreviewed, rolling out r223291.
3054 See WebCore ChangeLog for more detail.
3058 "Remove Editor::simplifyMarkup"
3059 https://bugs.webkit.org/show_bug.cgi?id=178271
3060 https://trac.webkit.org/changeset/223291
3062 2017-10-18 Chris Dumez <cdumez@apple.com>
3064 Add an efficient data structure for WebCore to query if there is a Service Worker registered for a given origin
3065 https://bugs.webkit.org/show_bug.cgi?id=177876
3066 <rdar://problem/34813129>
3068 Reviewed by Ryosuke Niwa.
3070 Clear service worker registrations between test runs to avoid flakiness.
3072 * WebKitTestRunner/TestController.cpp:
3073 (WTR::TestController::resetStateToConsistentValues):
3075 2017-10-18 Zan Dobersek <zdobersek@igalia.com>
3077 Remove remnants of OpenWebRTC
3078 https://bugs.webkit.org/show_bug.cgi?id=178437
3080 Reviewed by Alejandro G. Castro.
3082 Drop OpenWebRTC packages from the GTK's Jhbuild modules file. Relevant
3083 patches are also removed.
3085 * gtk/jhbuild.modules:
3086 * gtk/patches/libnice-0001-TURN-allow-REALM-to-be-empty.patch: Removed.
3087 * gtk/patches/libnice-0001-nicesrc-spin-the-agent-mainloop-in-a-separate-thread.patch: Removed.
3088 * gtk/patches/rtspsrc-timeout-on-udpsrc-is-in-nanoseconds.patch: Removed.
3089 * gtk/patches/udpsrc-improve-timeouts.patch: Removed.
3091 2017-10-17 Jonathan Bedard <jbedard@apple.com>
3093 webkitpy: Hang when workers write to the same stack trace file
3094 https://bugs.webkit.org/show_bug.cgi?id=178402
3095 <rdar://problem/35033432>
3097 Reviewed by Aakash Jain.
3099 Workers can hang if they all write to the same stack trace file when receiving
3100 a SIGTERM. Attach the pid to the stack trace file name so that each worker
3101 writes to a different file.
3103 * Scripts/webkitpy/common/interupt_debugging.py:
3104 (log_stack_trace_on_term.handler): Name stack trace file path/<pid>-filename.
3105 (log_stack_trace_on_cntrl_c.handler): Ditto.
3107 2017-10-17 John Wilander <wilander@apple.com>
3109 Add and remove cookie partition accordingly in intermediary redirect requests
3110 https://bugs.webkit.org/show_bug.cgi?id=178369
3111 <rdar://problem/34467603>
3113 Reviewed by Brent Fulgham.
3115 Adds the function statisticsNotifyObserver().
3117 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3118 * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
3119 (WTR::InjectedBundle::statisticsNotifyObserver):
3120 * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
3121 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3122 (WTR::TestRunner::statisticsNotifyObserver):
3123 * WebKitTestRunner/InjectedBundle/TestRunner.h:
3125 2017-10-17 Youenn Fablet <youenn@apple.com>
3127 Cache API implementation should be able to compute storage size for WebKit client applications.
3128 https://bugs.webkit.org/show_bug.cgi?id=178350
3130 Reviewed by Chris Dumez.
3132 Adding support for a domCacheSize getter.
3134 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3135 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3136 (WTR::TestRunner::domCacheSize):
3137 * WebKitTestRunner/InjectedBundle/TestRunner.h:
3138 * WebKitTestRunner/TestController.cpp:
3139 (WTR::FetchCacheSizeForOriginCallbackContext::FetchCacheSizeForOriginCallbackContext):
3140 (WTR::fetchCacheSizeForOriginCallback):
3141 (WTR::TestController::domCacheSize):
3142 * WebKitTestRunner/TestController.h:
3143 * WebKitTestRunner/TestInvocation.cpp:
3144 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3146 2017-10-17 Nael Ouedraogo <nael.ouedraogo@crf.canon.fr>
3148 [GStreamer][GTK][WPE] update-webkit-libs-jhbuild fails to detect changes in included moduleset files
3149 https://bugs.webkit.org/show_bug.cgi?id=178206
3151 Reviewed by Michael Catanzaro.
3153 The update-webkit-libs-jhbuild scripts computes MD5 sum of GTK/WPE jhbuild configuration files to check if it
3154 needs to rebuild the dependencies libraries. This patch fixes a bug when main GTK/WPE jhbuild modules
3155 configuration file includes additional files (for example GStreamer module). It parses jhbuild.modules file to
3156 check if additional files are included. If any, it computes MD5 sum for each of these included files.
3158 * Scripts/update-webkit-libs-jhbuild:
3159 (getJhbuildIncludedFilePaths): New function that returns included files in jhbuild.modules
3160 (jhbuildConfigurationCheckFile): New function to check if MD5 sum file changes.
3161 (jhbuildConfigurationChanged): Add MD5 sum check for included files.
3162 (saveMd5File): New function to save MD5 sum of a file.
3163 (saveJhbuildMd5): Add saving included files MD5 sum.
3164 (deleteJhbuildMd5): Delete included files MD5 sum
3165 * gtk/install-dependencies: Add perl-libXML lib that is used to parse jhbuild file.
3166 * wpe/install-dependencies: Ditto.
3168 2017-10-17 Tomas Popela <tpopela@redhat.com>
3170 Undefined WK_API_ENABLED warning when compiling COCOA content on WebKitGTK+
3171 https://bugs.webkit.org/show_bug.cgi?id=178208
3173 Check whether we are on COCOA platform before checking for
3176 Reviewed by Ryosuke Niwa.
3178 * WebKitTestRunner/TestController.cpp:
3179 (WTR::TestController::clearDOMCache):
3181 2017-10-17 Keith Miller <keith_miller@apple.com>
3183 Change WebCore sources to work with unified source builds
3184 https://bugs.webkit.org/show_bug.cgi?id=178229
3186 Rubber stamped by Tim Horton.
3188 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3190 2017-10-16 Christopher Reid <chris.reid@sony.com>
3192 [Win] Webkit should still be able to build when unable to check if libraries are up to date
3193 https://bugs.webkit.org/show_bug.cgi?id=178367
3195 Adding a option to skip the check to see if windows libraries are up to date.
3196 This option is useful when testing modified libraries. This option also allows
3197 building webkit when GitHub blocks requests to verify the latest library version.
3200 Reviewed by Per Arne Vollan.
3202 * Scripts/build-webkit:
3204 2017-10-12 Matt Rajca <mrajca@apple.com>
3206 Add API support for quirk that lets an arbitrary click allow auto-play.
3207 https://bugs.webkit.org/show_bug.cgi?id=178227
3209 Reviewed by Alex Christensen.
3211 * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
3212 (TEST): Added API test.
3214 2017-10-16 Maureen Daum <mdaum@apple.com>
3216 If an origin doesn't have databases in the Databases table we should still remove its information from disk in DatabaseTracker::deleteOrigin()
3217 https://bugs.webkit.org/show_bug.cgi?id=178281
3218 <rdar://problem/34576132>
3220 Reviewed by Brent Fulgham.
3222 Verify that if there is an entry in the Origins table but no entries in the Databases
3223 table that we still remove the directory for the origin, and that we remove the
3224 entry from the Origins table.
3226 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
3227 (TestWebKitAPI::TEST):
3229 2017-10-15 Ryosuke Niwa <rniwa@webkit.org>
3231 Cannot access images included in the content pasted from Microsoft Word
3232 https://bugs.webkit.org/show_bug.cgi?id=124391
3233 <rdar://problem/26862741>
3235 Reviewed by Antti Koivisto.
3237 Added tests for sanitizing HTML contents for copy & paste and drag & drop.
3239 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3240 * TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm: Added.
3241 (readHTMLFromPasteboard): Added.
3242 (createWebViewWithCustomPasteboardDataEnabled): Added.
3243 (CopyHTML.Sanitizes): Added.
3245 * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
3246 (createWebViewWithCustomPasteboardDataEnabled): Added to enable more tests on bots.
3248 * TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
3249 (writeRTFToPasteboard): Added.
3250 (createWebViewWithCustomPasteboardDataEnabled): Added.
3251 (createHelloWorldString): Added.
3252 (PasteRTF.ExposesHTMLTypeInDataTransfer): Added.
3253 (PasteRTFD.ExposesHTMLTypeInDataTransfer): Added.
3254 (PasteRTFD.ImageElementUsesBlobURLInHTML): Added.
3256 * TestWebKitAPI/Tests/WebKitCocoa/copy-html.html: Added.
3257 * TestWebKitAPI/Tests/WebKitCocoa/paste-rtfd.html: Store the clipboardData contents for
3258 PasteRTF.ExposesHTMLTypeInDataTransfer and PasteRTFD.ExposesHTMLTypeInDataTransfer.
3260 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3261 (DataInteractionTests.DataTransferSanitizeHTML):
3263 2017-10-16 Youenn Fablet <youenn@apple.com>
3265 Activate Cache API by default
3266 https://bugs.webkit.org/show_bug.cgi?id=178186
3268 Reviewed by Chris Dumez.
3270 Removing explicit activation of cache api.
3272 * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
3273 (WTR::InjectedBundle::beginTesting):
3274 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3275 (WTR::TestRunner::setCacheAPIEnabled): Deleted.
3276 * WebKitTestRunner/InjectedBundle/TestRunner.h:
3278 2017-10-16 Ross Kirsling <ross.kirsling@sony.com>
3280 run-webkit-tests help text should mention arguments too
3281 https://bugs.webkit.org/show_bug.cgi?id=178352
3283 Reviewed by Tim Horton.
3285 * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
3288 2017-10-16 Maureen Daum <mdaum@apple.com>
3290 If we fail to delete any database file, don't remove its information from the tracker database
3291 <rdar://problem/34576132> and https://bugs.webkit.org/show_bug.cgi?id=178251
3293 Reviewed by Brady Eidson.
3295 Add tests that verify we correctly delete databases and remove their information from
3296 the tracker database, even if the database doesn't exist. Verify that if we fail to
3297 delete a database, we don't remove its information from the tracker database.
3299 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3300 Move DatabaseTrackerTest.cpp to DatabaseTrackerTest.mm so that we can use the cocoa
3301 method for creating a temporary directory in the tests.
3302 * TestWebKitAPI/Tests/WebCore/DatabaseTrackerTest.cpp: Removed.
3303 The existing test was copied to DatabaseTrackerTest.mm.
3304 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm: Added.
3305 (TestWebKitAPI::TEST):
3306 (TestWebKitAPI::addToDatabasesTable):
3307 (TestWebKitAPI::removeDirectoryAndAllContents):
3308 (TestWebKitAPI::createFileAtPath):
3310 2017-10-16 Ryan Haddad <ryanhaddad@apple.com>
3312 Unreviewed, rolling out r223422.
3314 These tests are for a change that was rolled out in r223420
3318 "If we fail to delete any database file, don't remove its
3319 information from the tracker database"
3320 https://bugs.webkit.org/show_bug.cgi?id=178251
3321 https://trac.webkit.org/changeset/223422
3323 2017-10-16 Maureen Daum <mdaum@apple.com>
3325 If we fail to delete any database file, don't remove its information from the tracker database
3326 <rdar://problem/34576132> and https://bugs.webkit.org/show_bug.cgi?id=178251
3328 Reviewed by Brady Eidson.
3330 Add tests that verify we correctly delete databases and remove their information from
3331 the tracker database, even if the database doesn't exist. Verify that if we fail to
3332 delete a database, we don't remove its information from the tracker database.
3334 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3335 Move DatabaseTrackerTest.cpp to DatabaseTrackerTest.mm so that we can use the cocoa
3336 method for creating a temporary directory in the tests.
3337 * TestWebKitAPI/Tests/WebCore/DatabaseTrackerTest.cpp: Removed.
3338 The existing test was copied to DatabaseTrackerTest.mm.
3339 * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm: Added.
3340 (TestWebKitAPI::TEST):
3341 (TestWebKitAPI::addToDatabasesTable):
3342 (TestWebKitAPI::removeDirectoryAndAllContents):
3343 (TestWebKitAPI::createFileAtPath):
3345 2017-10-16 David Kilzer <ddkilzer@apple.com>
3347 Add RELEASE_ASSERT_WITH_SECURITY_IMPLICATION() macro
3348 <https://webkit.org/b/178269>
3350 Reviewed by Alex Christensen.
3352 * Scripts/webkitpy/style/checkers/cpp.py:
3353 (check_language): Add checker to warn about using
3354 ASSERT_WITH_SECURITY_IMPLICATION().
3355 (CppChecker.categories): Add 'security/assertion' to list of
3357 * Scripts/webkitpy/style/checkers/cpp_unittest.py:
3358 (CppStyleTest.test_debug_security_assertion): Add tests for
3361 2017-10-16 Chris Dumez <cdumez@apple.com>
3363 Clicks on Link with download attribute causes all (other) links to trigger download when clicked
3364 https://bugs.webkit.org/show_bug.cgi?id=178267
3365 <rdar://problem/34985016>
3367 Reviewed by Darin Adler.
3369 Use PassThrough policy in WKTR's InjectedBundle's decidePolicyForNewWindowAction so that the
3370 request is sent to the UIProcess. This gets WKTR's closer to Safari behavior and helps
3371 reproduce the bug. Without this change, I would not be able to write a regression test for
3372 this bug that is very easily reproducible in Safari.
3374 * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
3375 (WTR::InjectedBundlePage::decidePolicyForNewWindowAction):
3377 2017-10-16 Emilio Cobos Álvarez <emilio@crisal.io>
3379 Add Emilio Cobos Álvarez to the contributors list.
3380 https://bugs.webkit.org/show_bug.cgi?id=178334
3382 Reviewed by Antti Koivisto.
3384 * Scripts/webkitpy/common/config/contributors.json:
3386 2017-10-07 Maciej Stachowiak <mjs@apple.com>
3388 Improve --help documentation and add --list-plans to show available benchmarks.
3389 https://bugs.webkit.org/show_bug.cgi?id=178059
3391 Reviewed by Ryosuke Niwa.
3393 * Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
3394 (BenchmarkRunner.available_plans): New function that returns the list of available plans.
3395 (BenchmarkRunner.plan_directory): New method to centralize knowledge of where the plan files live.
3396 (BenchmarkRunner._find_plan_file): Updated to use BenchmarkRunner.plan_directory
3398 * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
3400 (parse_args): Help cleanup: Reordered options to put more common
3401 ones at the top. Fixed wording. Added help for each
3402 option. Explained default for each option that has one.
3404 New option: --list-plans which tells you the available benchmarks.
3406 Code cleanup: Removed use of dest where redundant, made variable
3407 names conforming to Python coding style.
3409 (run_benchmark_plan): Adapted for new variable names.
3410 (list_benchmark_plans): New helper for --list-plans option.
3411 (start): Account for --list-plans. Also use
3412 BechmarkRunner.available_plans and use
3413 BenchmarkRunner.plan_directory instead of duplicating
3414 code/knowledge here.
3416 2017-10-16 Wenson Hsieh <wenson_hsieh@apple.com>
3418 On ToT, event.dataTransfer.getData("text/uri-list") returns an empty string when dragging an image
3419 https://bugs.webkit.org/show_bug.cgi?id=178301
3420 <rdar://problem/34990050>
3422 Reviewed by Darin Adler.
3424 Fixes issues in DumpRenderTree's LocalPasteboard to ensure that drag-drop-href-as-url.html exposes files, and
3425 also adds a new iOS drag and drop API test.
3427 * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
3428 (-[LocalPasteboard addTypes:owner:]):
3429 (-[LocalPasteboard setData:forType:]):
3431 Fixes LocalPasteboard's implementation of changeCount to incremement when the pasteboard owner changes, rather
3432 than every time data is changed. This is consistent with NSPasteboard behavior.
3434 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3435 (TestWebKitAPI::TEST):
3437 Adds a new API test to verify that an image and HTTP URL written by the platform is correctly web exposed.
3439 2017-10-15 Darin Adler <darin@apple.com>
3441 UTF-8 decoding produces one replacement character per byte; Encoding standard requires one replacement character per illegal sequence instead
3442 https://bugs.webkit.org/show_bug.cgi?id=178207
3444 Reviewed by Sam Weinig.
3446 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added test.
3447 * TestWebKitAPI/Tests/WebCore/TextCodec.cpp: Added.
3448 (TestWebKitAPI::decodeHexTestBytes): Decodes a string so we can write readable tests.
3449 (TestWebKitAPI::escapeNonPrintableASCIICharacters): Encodes a string so we can write readable tests.
3450 (TestWebKitAPI::TEST): Added some UTF-8 tests and UTF-8 invalid sequences tests.
3451 Would be smart to add more tests for other cases, exercising the fast ASCII loop for example, and
3454 2017-10-14 Adrian Perez de Castro <aperez@igalia.com>
3456 [WPE] JHBuild build directory DependenciesWPE/Build is not removed by update-webkit-libs-jhbuild
3457 https://bugs.webkit.org/show_bug.cgi?id=178212
3459 Reviewed by Michael Catanzaro.
3461 * Scripts/update-webkit-libs-jhbuild:
3462 (cleanJhbuild): The WPE JHBuild also uses a separate "Build" subdirectory, so do not skip
3463 cleaning it when "--wpe" is passed to the script.
3465 2017-10-13 Adrian Perez de Castro <aperez@igalia.com>
3467 [WPE] Fontconfig fails build in JHBuild with “error: conflicting types for ‘FcObjectTypeHash’”
3468 https://bugs.webkit.org/show_bug.cgi?id=178283
3470 Reviewed by Žan Doberšek.
3472 * wpe/jhbuild.modules: Flag Fontconfig to be built inside the source directory, otherwise
3473 compilation fails. While at it, pass "--disable-docs" to cut a bit on build time.
3475 2017-10-13 Youenn Fablet <youenn@apple.com>
3477 Implement listing origins for which CacheStorage is storing data
3478 https://bugs.webkit.org/show_bug.cgi?id=178236
3480 Reviewed by Chris Dumez.
3482 Adding hasDOMCache API for checking whether origin is storing data through Cache API.
3484 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3485 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3486 (WTR::TestRunner::hasDOMCache):
3487 * WebKitTestRunner/InjectedBundle/TestRunner.h:
3488 * WebKitTestRunner/TestController.cpp:
3489 (WTR::FetchCacheOriginsCallbackContext::FetchCacheOriginsCallbackContext):
3490 (WTR::fetchCacheOriginsCallback):
3491 (WTR::TestController::hasDOMCache):
3492 * WebKitTestRunner/TestController.h:
3493 * WebKitTestRunner/TestInvocation.cpp:
3494 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3496 2017-10-13 Alex Christensen <achristensen@webkit.org>
3498 Remove Editor::simplifyMarkup
3499 https://bugs.webkit.org/show_bug.cgi?id=178271
3501 Reviewed by Wenson Hsieh.
3503 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3504 * TestWebKitAPI/Tests/mac/SimplifyMarkup.mm: Removed.
3506 2017-10-11 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
3508 [GLib] WebKitNavigationAction should tell whether it is a redirect
3509 https://bugs.webkit.org/show_bug.cgi?id=178178
3511 Test that WebKitNavigationAction properly reports being a redirect.
3513 Reviewed by Carlos Garcia Campos.
3515 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp:
3516 (testNavigationPolicy): test that loading /redirect leads to a redirect WebKitNavigationAction.
3517 (serverCallback): add a /redirect path to the server, which causes a redirect.
3519 2017-10-13 Chris Dumez <cdumez@apple.com>
3521 Unreviewed, fix webkitpy failure after r223273
3523 * Scripts/webkitpy/w3c/test_importer_unittest.py:
3524 (TestImporterTest.test_harnesslinks_conversion):
3526 2017-10-12 Chris Dumez <cdumez@apple.com>
3528 import-w3c-tests modifies test sources and sometimes causes them to fail
3529 https://bugs.webkit.org/show_bug.cgi?id=178234
3531 Reviewed by Ryosuke Niwa.
3533 Update import-w3c-tests to stop rewriting tests as this is causing some tests
3534 to fail unexpectedly.
3536 * Scripts/webkitpy/w3c/test_importer.py:
3537 (TestImporter.import_tests):
3539 2017-10-12 Youenn Fablet <youenn@apple.com>
3541 Layout Test http/tests/cache-storage/cache-clearing.https.html is failing
3542 https://bugs.webkit.org/show_bug.cgi?id=178200
3544 Reviewed by Chris Dumez.
3546 Making clearDOMCache wait for removal completion to exit.
3547 This removes the risk to interact with the cache while deleting it which will end up be racy in tests.
3549 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3550 (WTR::TestRunner::clearDOMCache):
3551 * WebKitTestRunner/TestController.cpp:
3552 (WTR::ClearDOMCacheCallbackContext::ClearDOMCacheCallbackContext):
3553 (WTR::clearDOMCacheCallback):
3554 (WTR::TestController::clearDOMCache):
3555 * WebKitTestRunner/TestInvocation.cpp:
3556 (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
3557 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3559 2017-10-12 John Wilander <wilander@apple.com>
3561 ResourceLoadObserver::logFrameNavigation() should use redirectResponse.url()
3562 https://bugs.webkit.org/show_bug.cgi?id=175257
3563 <rdar://problem/33359866>
3565 Reviewed by Brent Fulgham.
3567 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3568 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3569 (WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder):
3570 (WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo):
3571 * WebKitTestRunner/InjectedBundle/TestRunner.h:
3572 * WebKitTestRunner/TestController.cpp:
3573 (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
3575 (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
3577 * WebKitTestRunner/TestController.h:
3578 * WebKitTestRunner/TestInvocation.cpp:
3579 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3580 * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
3581 (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
3582 Implemented platform-specific.
3583 (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
3584 Implemented platform-specific.
3586 2017-10-12 Andy Estes <aestes@apple.com>
3588 [iOS] Conditionally rename DatabaseProcess to StorageProcess when building for iOS devices
3589 https://bugs.webkit.org/show_bug.cgi?id=178181
3590 <rdar://problem/33660282>
3592 Reviewed by Dan Bernstein.
3594 * WebKitTestRunner/TestController.cpp:
3595 (WTR::TestController::databaseProcessName):
3597 2017-10-12 Myles C. Maxfield <mmaxfield@apple.com>
3599 Emit SPIR-V from WSL compiler (Part 1)
3600 https://bugs.webkit.org/show_bug.cgi?id=177998
3602 Reviewed by Filip Pizlo.
3604 This patch implements the first half of a SPIR-V codegen phase for WSL.
3605 This includes all the operations which aren't actually emitting the contents
3606 of functions themselves. For example, this includes things like representing
3607 WSL types with SPIR-V types, and declaring shaders' inputs and outputs. A
3608 future patch will actually emit the contents of functions.
3610 There are two helper visitors here: SPIRVTypeAnalyzer which generates SPIR-V
3611 types from WSL types, and SPIRVPrimitiveVariableAnalyzer which identifies
3612 input and output variables from a shader (and assigns location values to
3615 This patch is currently pursuing the "logical mode" detailed in
3616 https://bugs.webkit.org/show_bug.cgi?id=176967. In this mode, each pointer and
3617 array reference operation can be statically traced to the variable or array it
3620 This has the interesting property where accessing a pointer inside an array is
3621 forbidden, because the array index may be computed at runtime, so the compiler
3622 can't know at compile time which variable the pointer operation will be
3623 accessing. However, this isn't true for structs; the program must statically
3624 state which struct member it is accessing. Therefore, pointers or array
3625 references must not transitively appear within an array, but they may appear
3626 within a struct. The same logic applies to array references; those get lowered
3627 to just two indexes in SPIR-V (a lower bound and an upper bound).
3629 So, outside of an array, SPIR-V types don't need to include any pointers because
3630 any operation with the pointer doesn't need access to the runtime value of the
3631 pointer. Inside of an array, pointers are forbidden. Therefore, SPIR-V types
3632 will never include any pointers.
3634 This means that, for example, WSL can represent a linked list in logical mode.
3635 However, a WSL program cannot iterate across the list, because that would require