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