Plugin processes are repeatedly spun up to do nothing
[WebKit-https.git] / Tools / ChangeLog
1 2017-12-16  Brent Fulgham  <bfulgham@apple.com>
2
3         Plugin processes are repeatedly spun up to do nothing
4         https://bugs.webkit.org/show_bug.cgi?id=180885
5         <rdar://problem/36082564>
6
7         Reviewed by Geoffrey Garen.
8
9         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
10         (runTestWithWebsiteDataStore): Check that deleting website data did not
11         trigger any plugin processes to start up.
12
13 2017-12-16  Yusuke Suzuki  <utatane.tea@gmail.com>
14
15         Remove unnecessary boolean result of start() functions
16         https://bugs.webkit.org/show_bug.cgi?id=180856
17
18         Reviewed by Darin Adler.
19
20         * TestWebKitAPI/Tests/WTF/ParkingLot.cpp:
21
22 2017-12-15  David Quesada  <david_quesada@apple.com>
23
24         Unreviewed, adding myself to contributors.json
25
26         * Scripts/webkitpy/common/config/contributors.json:
27
28 2017-12-15  Ryan Haddad  <ryanhaddad@apple.com>
29
30         Unreviewed, rolling out r225941.
31
32         This change introduced LayoutTest crashes and assertion
33         failures.
34
35         Reverted changeset:
36
37         "Web Inspector: replace HTMLCanvasElement with
38         CanvasRenderingContext for instrumentation logic"
39         https://bugs.webkit.org/show_bug.cgi?id=180770
40         https://trac.webkit.org/changeset/225941
41
42 2017-12-15  Alex Christensen  <achristensen@webkit.org>
43
44         Introduce SPI _WKWebsitePolicies.websiteDataStore
45         https://bugs.webkit.org/show_bug.cgi?id=180880
46         <rdar://problem/35535328>
47
48         Reviewed by Andy Estes.
49
50         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
51         (-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
52         (-[WebsitePoliciesWebsiteDataStoreDelegate webView:startURLSchemeTask:]):
53         (-[WebsitePoliciesWebsiteDataStoreDelegate webView:stopURLSchemeTask:]):
54         (TEST):
55
56 2017-12-15  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>
57
58         [GTK] Add proxy option to Minibrowser
59         https://bugs.webkit.org/show_bug.cgi?id=180750
60
61         Reviewed by Michael Catanzaro.
62
63         Add command line option to set proxy settings in GTK minibrowser.
64
65         * MiniBrowser/gtk/main.c:
66         (main):
67
68 2017-12-14  Basuke Suzuki  <Basuke.Suzuki@sony.com>
69
70         [webkitpy, Windows] Remove unnecessary debug message
71         https://bugs.webkit.org/show_bug.cgi?id=180844
72
73         Reviewed by Ryosuke Niwa.
74
75         * Scripts/webkitpy/common/system/crashlogs.py:
76         (CrashLogs._find_newest_log_win): Delete debug print
77
78 2017-12-14  David Kilzer  <ddkilzer@apple.com>
79
80         check-webkit-style: Stop warning about underscores in webrtc source
81         <https://webkit.org/b/180848>
82
83         Reviewed by Joseph Pecoraro.
84
85         * Scripts/webkitpy/style/checker.py:
86         (_PATH_RULES_SPECIFIER): Suppress readability/naming/underscores
87         warnings under Source/ThirdParty/libwebrtc/Source/webrtc.
88
89 2017-12-14  Jonathan Bedard  <jbedard@apple.com>
90
91         webkitpy: Replace Version.contained_in with Version.__contains__
92         https://bugs.webkit.org/show_bug.cgi?id=180772
93         <rdar://problem/36033555>
94
95         Reviewed by David Kilzer.
96
97         Using __contains__ instead of contained_in allows for the more
98         Pythonic 'in' operator to be used.
99
100         * Scripts/webkitpy/common/version.py:
101         (Version):
102         (Version.__contains__): Replace contained_in. Note that self is now
103         the container.
104         (Version.contained_in): Deleted.
105         * Scripts/webkitpy/common/version_name_map.py:
106         (VersionNameMap.to_name):
107         * Scripts/webkitpy/common/version_unittest.py:
108         (VersionTestCase.test_contained_in):
109
110 2017-12-14  Ryan Haddad  <ryanhaddad@apple.com>
111
112         Unreviewed, rolling out r225931.
113
114         Breaks internal builds.
115
116         Reverted changeset:
117
118         "Fix Mac CMake build"
119         https://bugs.webkit.org/show_bug.cgi?id=180835
120         https://trac.webkit.org/changeset/225931
121
122 2017-12-14  Devin Rousso  <webkit@devinrousso.com>
123
124         Web Inspector: replace HTMLCanvasElement with CanvasRenderingContext for instrumentation logic
125         https://bugs.webkit.org/show_bug.cgi?id=180770
126
127         Reviewed by Joseph Pecoraro.
128
129         * Scripts/webkitpy/common/config/watchlist:
130
131 2017-12-14  Alexey Proskuryakov  <ap@apple.com>
132
133         Improve leaks detector output
134         https://bugs.webkit.org/show_bug.cgi?id=180828
135
136         Reviewed by Joseph Pecoraro.
137
138         Fixing two issues:
139         1. run-leaks omits many lines from leaks tool output, making it incompatible with
140         other tools. Notably, symbolication cannot be performed.
141         2. run-leaks output goes to "run-webkit-tests --debug-rwt-logging" output. This
142         makes it much longer than needed, sometimes even overloading buildbot. We don't
143         need full output in test log, as separate files are created for each of these.
144
145         * Scripts/run-leaks: Represent each line in leaks output when parsing, and print
146         everything except for explicitly excluded leaks. From my testing and reading
147         the code, it looks like none of our tools should be broken by this change.
148
149         * Scripts/webkitpy/port/leakdetector.py: I couldn't find a way to run a helper tool
150         without dumping all of its output to debug log, so switched to using a file for leaks.
151
152         * Scripts/webkitperl/run-leaks_unittest/run-leaks-report-v1.0.pl:
153         * Scripts/webkitperl/run-leaks_unittest/run-leaks-report-v2.0-new.pl:
154         * Scripts/webkitperl/run-leaks_unittest/run-leaks-report-v2.0-old.pl:
155         * Scripts/webkitpy/port/leakdetector_unittest.py:
156         Updated tests for new behavior.
157
158 2017-12-14  Brady Eidson  <beidson@apple.com>
159
160         REGRESSION (r225789): API tests WKProcessPool.InitialWarmedProcessUsed and WebKit.WebsiteDataStoreCustomPaths are failing.
161         https://bugs.webkit.org/show_bug.cgi?id=180722
162
163         Reviewed by Chris Dumez.
164
165         * TestWebKitAPI/Tests/WebKitCocoa/InitialWarmedProcessUsed.mm:
166         (TEST):
167
168 2017-12-14  Alex Christensen  <achristensen@webkit.org>
169
170         Fix Mac CMake build
171         https://bugs.webkit.org/show_bug.cgi?id=180835
172
173         Reviewed by Andy Estes.
174
175         * DumpRenderTree/mac/DumpRenderTree.mm:
176         * MiniBrowser/mac/WK1BrowserWindowController.m:
177
178 2017-12-14  Jonathan Bedard  <jbedard@apple.com>
179
180         webkitpy: Better name-version mapping (Follow-up fix)
181         https://bugs.webkit.org/show_bug.cgi?id=179621
182         <rdar://problem/35589585>
183
184         Unreviewed infrastructure fix.
185
186         r225856 caused some undesired logging on Linux and Windows.
187
188         * Scripts/webkitpy/port/mac.py:
189         (MacPort.__init__): Use most recent OS release if not on a Mac.
190         (MacPort.default_baseline_search_path): Make platform explicit.
191         (MacPort.configuration_specifier_macros): Ditto.
192
193 2017-12-14  Carlos Garcia Campos  <cgarcia@igalia.com>
194
195         WebDriver: add a common way to run tests with pytest
196         https://bugs.webkit.org/show_bug.cgi?id=180800
197
198         Reviewed by Carlos Alberto Lopez Perez.
199
200         We currently use pytestrunner from wpt for w3c tests and our own code for selenium tests. Using the same code
201         for both would simplify everything, but also allows us to have a custom results recorder to support other test
202         expectations like TIMEOUT. The code to run selenium tests with pytest has been moved to a new file
203         pytest_runner.py and made generic to be used also for w3c tests.
204
205         * Scripts/webkitpy/webdriver_tests/pytest_runner.py: Added.
206         (TemporaryDirectory):
207         (TemporaryDirectory.__enter__):
208         (TemporaryDirectory.__exit__):
209         (CollectRecorder):
210         (CollectRecorder.__init__):
211         (CollectRecorder.pytest_collectreport):
212         (HarnessResultRecorder):
213         (HarnessResultRecorder.__init__):
214         (HarnessResultRecorder.pytest_collectreport):
215         (SubtestResultRecorder):
216         (SubtestResultRecorder.__init__):
217         (SubtestResultRecorder.pytest_runtest_logreport):
218         (SubtestResultRecorder._was_timeout):
219         (SubtestResultRecorder.record_pass):
220         (SubtestResultRecorder.record_fail):
221         (SubtestResultRecorder.record_error):
222         (SubtestResultRecorder.record_skip):
223         (SubtestResultRecorder.record):
224         (collect):
225         (run):
226         * Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py:
227         (do_delayed_imports): Import pytest_runner here to avoid cycles.
228         (WebDriverSeleniumExecutor.__init__): Save the driver parameter as args member and call do_delayed_imports() if
229         needed.
230         (WebDriverSeleniumExecutor.collect): Use pytest_runner.
231         (WebDriverSeleniumExecutor.run): Ditto.
232         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
233         (WebDriverTestRunner.print_results): Handle all possible tests results.
234         (WebDriverTestRunner.print_results.report): Helper to dump test results.
235         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py:
236         (WebDriverTestRunnerSelenium.run):
237         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
238         (WebDriverTestRunnerW3C.__init__): Do not set PYTEST_TIMEOUT env var.
239         (WebDriverTestRunnerW3C._is_test): Fix check for support files.
240         (WebDriverTestRunnerW3C.run): Pass the timeout as parameter to WebDriverW3CExecutor.run().
241         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
242         (do_delayed_imports): Import pytest_runner here to avoid cycles.
243         (WebDriverW3CExecutor.__init__): Call do_delayed_imports() if needed.
244         (WebDriverW3CExecutor.run): Use pytest_runner.
245
246 2017-12-13  Matt Lewis  <jlewis3@apple.com>
247
248         Unreviewed, rolling out r225864.
249
250         This caused the Layout test step to crash out on Debug testers
251
252         Reverted changeset:
253
254         "REGRESSION (r225789): API tests
255         WKProcessPool.InitialWarmedProcessUsed and
256         WebKit.WebsiteDataStoreCustomPaths are failing."
257         https://bugs.webkit.org/show_bug.cgi?id=180722
258         https://trac.webkit.org/changeset/225864
259
260 2017-12-13  Youenn Fablet  <youenn@apple.com>
261
262         Update ContentFiltering.LazilyLoadPlatformFrameworks test to account for libwebrtc using VideoProcessing framework
263         https://bugs.webkit.org/show_bug.cgi?id=180713
264         <rdar://problem/36003031>
265
266         Reviewed by Andy Estes.
267
268         Reenable the check for non High Sierra builds.
269
270         * TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
271         (-[LazilyLoadPlatformFrameworksController expectParentalControlsLoaded:networkExtensionLoaded:]):
272
273 2017-12-13  Brady Eidson  <beidson@apple.com>
274
275         REGRESSION (r225789): API tests WKProcessPool.InitialWarmedProcessUsed and WebKit.WebsiteDataStoreCustomPaths are failing.
276         https://bugs.webkit.org/show_bug.cgi?id=180722
277
278         Reviewed by Chris Dumez.
279
280         * TestWebKitAPI/Tests/WebKitCocoa/InitialWarmedProcessUsed.mm:
281         (TEST): Call a new SPI to get the count of WebProcesses hosting WebPages.
282
283 2017-12-13  Mark Lam  <mark.lam@apple.com>
284
285         Fill out some Poisoned APIs, fix some bugs, and add some tests.
286         https://bugs.webkit.org/show_bug.cgi?id=180724
287         <rdar://problem/36006884>
288
289         Reviewed by JF Bastien.
290
291         * TestWebKitAPI/CMakeLists.txt:
292         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
293         * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: Added.
294         (TestWebKitAPI::TEST):
295         * TestWebKitAPI/Tests/WTF/Poisoned.cpp: Added.
296         (TestWebKitAPI::initializeTestPoison):
297         (TestWebKitAPI::TEST):
298
299 2017-12-13  Jonathan Bedard  <jbedard@apple.com>
300
301         webkitpy: Better name-version mapping (Part 2)
302         https://bugs.webkit.org/show_bug.cgi?id=179621
303         <rdar://problem/35589585>
304
305         Reviewed by David Kilzer.
306
307         Now that we have a central mapping of version numbers to version names, this
308         mapping should be used to compute version names. This patch treats passes versions
309         as objects, only mapping them to names when strings are needed.
310
311         * Scripts/webkitpy/common/system/platforminfo.py:
312         (PlatformInfo.__init__): Store os_version as a version object instead of a string.
313         (PlatformInfo.os_version_name): Convert os_version to a string through the VersionNameMap.
314         * Scripts/webkitpy/common/system/platforminfo_mock.py:
315         (MockPlatformInfo.__init__): Store os_version as a version object.
316         (MockPlatformInfo.os_version_name): Mirror PlatformInfo.
317         * Scripts/webkitpy/common/system/platforminfo_unittest.py:
318         (TestPlatformInfo.test_real_code): Only Mac and Windows have defined version objects.
319         (TestPlatformInfo.test_os_version): Deleted, this behavior is now managed by VersionNameMap.
320         * Scripts/webkitpy/common/version.py:
321         (Version.__cmp__): Allow a version object to be compared with 'None'.
322         * Scripts/webkitpy/common/version_name_map.py:
323         (VersionNameMap.map): Check for the apple_additions VersionNameMap.
324         (VersionNameMap.__init__): Add a wincairo mapping, the same as the win mapping.
325         * Scripts/webkitpy/common/version_unittest.py:
326         (VersionTestCase.test_compare_versions): Test comparing a version object to 'None'.
327         * Scripts/webkitpy/layout_tests/models/test_configuration.py:
328         (TestConfiguration.__init__): Strip formatting from version name. Note that this object still
329         accepts a string because the version string implicitly contains the platform as well.
330         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Win7 should be 7SP0 as
331         it is in the VersionNameMap.
332         * Scripts/webkitpy/port/apple.py:
333         (ApplePort): Replace VERSION_FALLBACK_ORDER with a minimum and maximum version. This is required
334         because it may be the case that scripts are aware of more versions than the port actually supports.
335         (ApplePort.determine_full_port_name): Use the host operating system to compute the full port name.
336         (ApplePort._allowed_versions): Return a list of valid port versions by iterating through the
337         VersionNameMap.
338         (ApplePort._generate_all_test_configurations): Compute a list of configurations by iterating through
339         _allowed_versions and converting each version to a string.
340         (ApplePort._apple_baseline_path): Return a layout test expectation directory inside apple_additions.
341         (ApplePort._skipped_file_search_paths): Deleted.
342         (ApplePort._allowed_port_names): Deleted.
343         (ApplePort._future_port_name): Deleted.
344         * Scripts/webkitpy/port/base.py:
345         (Port.__init__): Replace _version string with _os_version object.
346         (Port.version_name): Convert version object to string.
347         (Port.test_configuration): Pass version string to TestConfiguration.
348         (Port.version): Deleted.
349         * Scripts/webkitpy/port/darwin_testcase.py:
350         (DarwinTest.assert_name): Convert an os_version_string to a version object and construct a port.
351         * Scripts/webkitpy/port/factory_unittest.py:
352         (FactoryTest.test_mac): Replace version strings with version objects.
353         (FactoryTest.test_win): Ditto.
354         * Scripts/webkitpy/port/gtk.py:
355         (GtkPort._generate_all_test_configurations): Replace _version with version_name().
356         * Scripts/webkitpy/port/ios.py:
357         (IOSPort.version_name): Both Simulator and device share the same version-name convention.
358         (IOSPort._generate_all_test_configurations): Replace _version with version_name().
359         (IOSPort.default_baseline_search_path): Use the internal mapping of version names to construct
360         apple_additions expectations.
361         (IOSPort._apple_additions_path): Deleted.
362         * Scripts/webkitpy/port/ios_device.py:
363         (IOSDevicePort.ios_version): Return None if no version is defined.
364         * Scripts/webkitpy/port/ios_device_unittest.py:
365         (IOSDeviceTest):
366         (IOSDeviceTest.test_layout_test_searchpath_with_apple_additions): Conform with the new mock
367         apple_additions.
368         (IOSDeviceTest.make_port): Deleted.
369         * Scripts/webkitpy/port/ios_simulator.py:
370         (IOSSimulatorPort._create_devices): Use Version object over list of version strings.
371         * Scripts/webkitpy/port/ios_simulator_unittest.py:
372         (IOSSimulatorTest):
373         (IOSSimulatorTest.make_port): Use iOS 11 as the default version for testing.
374         (IOSSimulatorTest.test_layout_test_searchpath_with_apple_additions): Conform with the new
375         mock apple_additions.
376         * Scripts/webkitpy/port/ios_testcase.py:
377         (IOSTest.make_port): Use iOS 11 as the default version for testing.
378         * Scripts/webkitpy/port/mac.py:
379         (MacPort):
380         (MacPort.__init__): Use Version object for _os_version.
381         (MacPort.default_baseline_search_path): Use the internal mapping of version names to construct
382         apple_additions expectations.
383         (MacPort.configuration_specifier_macros): Automatically construct macros based on VersionNameMap.
384         (MacPort._apple_additions_path): Deleted.
385         * Scripts/webkitpy/port/mac_unittest.py:
386         (MacTest): Use Version object instead of version string.
387         (MacTest.test_version):
388         * Scripts/webkitpy/port/port_testcase.py:
389         (bind_mock_apple_additions): Add a mock VersionNameMap to mock apple_additions.
390         (bind_mock_apple_additions.MockAppleAdditions):
391         (bind_mock_apple_additions.MockAppleAdditions.version_name_mapping):
392         * Scripts/webkitpy/port/test.py:
393         (TestPort):
394         (TestPort.__init__): Use VersionNameMap to compute the correct Version from a port name.
395         (TestPort.version_name): Mirror Port object.
396         (TestPort.baseline_search_path): Replace win7 with 7sp0.
397         (TestPort._all_systems): Ditto.
398         (TestPort.configuration_specifier_macros): Ditto.
399         * Scripts/webkitpy/port/win.py:
400         (WinPort):
401         (WinPort.__init__): Construct Version object from port name.
402         (WinPort.default_baseline_search_path): Use the internal mapping of version names to construct
403         apple_additions expectations.
404         (WinCairoPort):
405         (WinCairoPort.default_baseline_search_path): Use MIN/MAX instead of the VERSION_FALLBACK_ORDER.
406         (WinCairoPort._future_port_name): Deleted.
407         * Scripts/webkitpy/port/win_unittest.py:
408         (WinPortTest.test_baseline_search_path): Add new Windows versions not previously included.
409         (WinPortTest._assert_version): Handle expected_version as a Version object.
410         (WinPortTest.test_versions): Pass Version objects instead of version strings.
411         * Scripts/webkitpy/port/wpe.py:
412         (WPEPort._generate_all_test_configurations): Replace _version with version_name().
413         * Scripts/webkitpy/tool/commands/queries_unittest.py:
414         (PrintExpectationsTest.test_multiple): Replace win7 with 7sp0.
415         (PrintBaselinesTest.test_multiple): Ditto.
416         * Scripts/webkitpy/tool/commands/queues.py:
417         (PatchProcessingQueue._new_port_name_from_old): Use os_version_name() instead of Version object.
418
419 2017-12-12  Daniel Bates  <dabates@apple.com>
420
421         [WK] Add modern WebKit SPI to set auto fill button type and query if the auto fill button is enabled
422         https://bugs.webkit.org/show_bug.cgi?id=180686
423
424         Reviewed by Alex Christensen.
425
426         * TestWebKitAPI/Tests/WebKitCocoa/ClickAutoFillButton.mm:
427         (-[ClickAutoFillButton webProcessPlugIn:didCreateBrowserContextController:]):
428
429 2017-12-12  Alex Christensen  <achristensen@webkit.org>
430
431         Fix possible out-of-bounds read in protocolIsInHTTPFamily
432         https://bugs.webkit.org/show_bug.cgi?id=180688
433
434         Reviewed by Daniel Bates.
435
436         * TestWebKitAPI/Tests/WebCore/URL.cpp:
437         (TestWebKitAPI::TEST_F):
438
439 2017-12-12  JF Bastien  <jfbastien@apple.com>
440
441         makeString: support more integral types
442         https://bugs.webkit.org/show_bug.cgi?id=180720
443
444         Reviewed by Sam Weinig.
445
446         Test a few more types can be made string'd.
447
448         * TestWebKitAPI/Tests/WTF/StringConcatenate.cpp:
449         (TestWebKitAPI::TEST):
450
451 2017-12-12  Alicia Boya García  <aboya@igalia.com>
452
453         Flakiness dashboard: Make GTK and WPE builds inherit expectations from WK2
454         https://bugs.webkit.org/show_bug.cgi?id=178782
455
456         Reviewed by Michael Catanzaro.
457
458         * TestResultServer/static-dashboards/flakiness_dashboard.js:
459
460 2017-12-12  Jonathan Bedard  <jbedard@apple.com>
461
462         MobileMiniBrowser using the wrong toolchain
463         https://bugs.webkit.org/show_bug.cgi?id=180716
464         <rdar://problem/36002951>
465
466         Reviewed by Tim Horton.
467
468         Move Debug/Release configurations from xcodeproj into Base.xcconfig.
469
470         * MobileMiniBrowser/Configurations/Base.xcconfig:
471         * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
472
473 2017-12-12  Youenn Fablet  <youenn@apple.com>
474
475         Update ContentFiltering.LazilyLoadPlatformFrameworks test to account for libwebrtc using VideoProcessing framework
476         https://bugs.webkit.org/show_bug.cgi?id=180713
477
478         Reviewed by Andy Estes.
479
480         Temporarily disabling a subcheck until we make the test more robust and/or libwebrtc weak linking VideoProcessing framework.
481
482         * TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
483         (-[LazilyLoadPlatformFrameworksController expectParentalControlsLoaded:networkExtensionLoaded:]):
484
485 2017-12-12  Caio Lima  <ticaiolima@gmail.com>
486
487         [ESNext][BigInt] Implement BigInt literals and JSBigInt
488         https://bugs.webkit.org/show_bug.cgi?id=179000
489
490         Reviewed by Darin Adler and Yusuke Suzuki.
491
492         * Scripts/run-jsc-stress-tests:
493
494 2017-12-12  Carlos Alberto Lopez Perez  <clopez@igalia.com>
495
496         [GTK][WPE] Bump GStreamer version to 1.12 in jhbuild
497         https://bugs.webkit.org/show_bug.cgi?id=171677
498
499         Reviewed by Carlos Garcia Campos.
500
501         Bump gstreamer related modules and rebase patches still needed and not merged
502
503         * gstreamer/jhbuild.modules:
504         * gstreamer/patches/gst-plugins-good-0003-rtpbin-receive-bundle-support.patch: Removed. This was needed for OpenWebRTC. Not longer supported.
505         * gstreamer/patches/gst-plugins-good-0005-souphttpsrc-cookie-jar-and-context-query-support.patch: Rebased.
506         * gstreamer/patches/gst-plugins-good-0006-qtdemux-add-context-for-a-preferred-protection.patch: Rebased.
507         * gstreamer/patches/gst-plugins-good-0008-qtdemux-also-push-buffers-without-encryption-info-in.patch: Rebased.
508         * gstreamer/patches/gst-plugins-good-0009-qtdemux-fix-assert-when-moof-contains-one-sample.patch: Added a note about merge commit not still in 1.12.4.
509
510 2017-12-12  Yusuke Suzuki  <utatane.tea@gmail.com>
511
512         [WTF] Thread::create should have Thread::tryCreate
513         https://bugs.webkit.org/show_bug.cgi?id=180333
514
515         Reviewed by Darin Adler.
516
517         * TestWebKitAPI/Tests/WTF/Condition.cpp:
518         * TestWebKitAPI/Tests/WTF/ParkingLot.cpp:
519         * TestWebKitAPI/Tests/WTF/Signals.cpp:
520         (TEST):
521         * TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
522         (TestWebKitAPI::testThreadGroup):
523         (TestWebKitAPI::TEST):
524
525 2017-12-11  Basuke Suzuki  <Basuke.Suzuki@sony.com>
526
527         [WinCairo] Enable running sharded tests
528         https://bugs.webkit.org/show_bug.cgi?id=180660
529
530         Reviewed by Alex Christensen.
531
532         The sharder splits the test inputs into groups of test based on the directory, 
533         but separation of base name and directory name was wrong because of this bug.
534         Once sharded correctly, the execution of layout test on native Windows environment
535         is in parallel and much less time to run.
536
537         * Scripts/webkitpy/port/win.py:
538         (WinCairoPort):
539
540 2017-12-11  Fujii Hironori  <Hironori.Fujii@sony.com>
541
542         [WinCairo] DLLLauncherMain should use SetDllDirectory
543         https://bugs.webkit.org/show_bug.cgi?id=180642
544
545         Reviewed by Alex Christensen.
546
547         Windows have icuuc.dll in the system directory. WebKit should find
548         one in WebKitLibraries directory, not one in the system directory.
549
550         * win/DLLLauncher/DLLLauncherMain.cpp:
551         (modifyPath): Use SetDllDirectory for WebKitLibraries directory instead of modifying path.
552         Do not add a path for GStreamer because nobody is using now.
553
554 2017-12-11  David Quesada  <david_quesada@apple.com>
555
556         Turn on ENABLE_APPLICATION_MANIFEST
557         https://bugs.webkit.org/show_bug.cgi?id=180562
558         rdar://problem/35924737
559
560         Reviewed by Geoffrey Garen.
561
562         * Configurations/FeatureDefines.xcconfig:
563
564 2017-12-11  Zan Dobersek  <zdobersek@igalia.com>
565
566         Unreviewed, rolling out r225737.
567
568         Breaks Git clones of the repository, including EWSs and webkitbot.
569
570         Reverted changeset:
571
572         "Add a script to automate W3c web-platform-tests pull request
573         creations from WebKit commits"
574         https://bugs.webkit.org/show_bug.cgi?id=169462
575         https://trac.webkit.org/changeset/225737
576
577 2017-12-11  Carlos Garcia Campos  <cgarcia@igalia.com>
578
579         [GTK] WebDriver: run-webdriver-tests is leaking a DumpRenderTree directory in tmp
580         https://bugs.webkit.org/show_bug.cgi?id=180426
581
582         Reviewed by Michael Catanzaro.
583
584         This happens when running the tests with Xvfb driver, because _setup_environ_for_test() is called twice and the
585         DTR temp directory is created there every time. Only the last directory created is cleaned up by the driver
586         destructor. The DRT temp directory is only needed for layout tests, so we could even avoid its creation by
587         moving it to the start() method like other drivers do (included the base driver implementation). Since API and
588         WebDriver tests don't call start(), the directory is not even created, and the required env vars are not set
589         either in that case. Weston driver was behaving differently for some reason, it's now consistent with all other
590         drivers.
591
592         * Scripts/webkitpy/port/headlessdriver.py:
593         (HeadlessDriver._setup_environ_for_test): Do not set DUMPRENDERTREE_TEMP and XDG_CACHE_HOME if _driver_tempdir is None.
594         (HeadlessDriver._start): Use Port._driver_tempdir() to create the driver temp directory.
595         * Scripts/webkitpy/port/waylanddriver.py:
596         (WaylandDriver._setup_environ_for_test): Do not set DUMPRENDERTREE_TEMP and XDG_CACHE_HOME if _driver_tempdir is None.
597         (WaylandDriver._start): Use Port._driver_tempdir() to create the driver temp directory.
598         * Scripts/webkitpy/port/westondriver.py:
599         (WestonDriver._setup_environ_for_test): Do not set DUMPRENDERTREE_TEMP and XDG_CACHE_HOME if _driver_tempdir is None.
600         (WestonDriver._start): Use Port._driver_tempdir() to create the driver temp directory.
601         (WestonDriver.stop): Do not delete the temp directory, it's done by the parent class.
602         (WestonDriver._ensure_driver_tmpdir_subdirectory): Deleted.
603         * Scripts/webkitpy/port/westondriver_unittest.py:
604         (WestonDriverTest.make_driver):
605         (WestonDriverTest.test_stop):
606         * Scripts/webkitpy/port/xorgdriver.py:
607         (XorgDriver._setup_environ_for_test): Do not set DUMPRENDERTREE_TEMP and XDG_CACHE_HOME if _driver_tempdir is None.
608         (XorgDriver._start): Use Port._driver_tempdir() to create the driver temp directory.
609         * Scripts/webkitpy/port/xvfbdriver.py:
610         (XvfbDriver._setup_environ_for_test): Do not set DUMPRENDERTREE_TEMP and XDG_CACHE_HOME if _driver_tempdir is None.
611         (XvfbDriver._start): Use Port._driver_tempdir() to create the driver temp directory.
612
613 2017-12-10  Zan Dobersek  <zdobersek@igalia.com>
614
615         Unreviewed webkitpy fix on Linux platforms after r225721.
616
617         Add an empty 'linux' entry to the PUBLIC_TABLE mapping in the
618         VersionNameMap class. This avoids asserting in this class's
619         mapping_for_platform() method when the code is evaluated on a Linux
620         system, which happens when the static VERSION_FALLBACK_ORDER member in
621         the WinCairoPort class is constructed. This can occur during a
622         test-webkitpy run or when trying to construct a WPEPort instance in
623         PortFactory, which isn't possible because again the WinCairoPort
624         instance is constructed first, leading to the same assert in both cases.
625
626         * Scripts/webkitpy/common/version_name_map.py:
627         (VersionNameMap.__init__):
628
629 2017-12-10  Youenn Fablet  <youenn@apple.com>
630
631         Add a script to automate W3c web-platform-tests pull request creations from WebKit commits
632         https://bugs.webkit.org/show_bug.cgi?id=169462
633
634         Reviewed by Darin Adler.
635
636         Adding some git helper routines used by WPT exporter.
637         Copying WPT github utility files from Chromium.
638         Updating web.py/web_mock.py to cope with these new files.
639
640         Implementing test exporter in test_exporter.py.
641         This script takes a WebKit commit as input and will create a WPT commit in a local WPT clone.
642         It will then push the commit to a public GitHub repository identified by a username parameter.
643         This parameter is passed through the command line or searched through git config/environment variables.
644
645         The script can optionally create a pull request to the official WPT GitHub repository.
646         User must provide a GitHub token to allow the script to make the PR on behalf of the user.
647         In that case, a comment is added to the corresponding bugzilla if a bug ID is given or can be found from the change log,
648         to easily link the pull request with the bugzilla bug.
649
650         * Scripts/export-w3c-test-changes: Added.
651         * Scripts/webkitpy/common/checkout/scm/git.py:
652         (Git.reset_hard):
653         (Git):
654         (Git.am):
655         (Git.commit):
656         (Git.format_patch):
657         (Git.request_pull):
658         (Git.remote):
659         (Git.push):
660         (Git.checkout_new_branch):
661         * Scripts/webkitpy/common/net/web.py:
662         (Web.request): Copied from Chromium.
663         * Scripts/webkitpy/common/net/web_mock.py: Copied needed code from Chromium.
664         * Scripts/webkitpy/w3c/test_exporter.py: Added.
665         (TestExporter):
666         (TestExporter.__init__):
667         (TestExporter._init_repository):
668         (TestExporter.download_and_commit_patch):
669         (TestExporter.clean):
670         (TestExporter.create_branch_with_patch):
671         (TestExporter.push_to_public_repository):
672         (TestExporter.make_pull_request):
673         (TestExporter.delete_local_branch):
674         (TestExporter.create_git_patch):
675         (TestExporter.create_upload_remote_if_needed):
676         (TestExporter.do_export):
677         (parse_args):
678         (configure_logging):
679         (configure_logging.LogHandler):
680         (configure_logging.LogHandler.format):
681         (main):
682         * Scripts/webkitpy/w3c/test_exporter_unittest.py: Added.
683         (TestExporterTest):
684         (TestExporterTest.MockBugzilla):
685         (TestExporterTest.MockBugzilla.__init__):
686         (TestExporterTest.MockBugzilla.fetch_bug_dictionary):
687         (TestExporterTest.MockBugzilla.post_comment_to_bug):
688         (TestExporterTest.MockGit):
689         (TestExporterTest.MockGit.clone):
690         (TestExporterTest.MockGit.__init__):
691         (TestExporterTest.MockGit.fetch):
692         (TestExporterTest.MockGit.checkout):
693         (TestExporterTest.MockGit.reset_hard):
694         (TestExporterTest.MockGit.push):
695         (TestExporterTest.MockGit.format_patch):
696         (TestExporterTest.MockGit.delete_branch):
697         (TestExporterTest.MockGit.checkout_new_branch):
698         (TestExporterTest.MockGit.am):
699         (TestExporterTest.MockGit.commit):
700         (TestExporterTest.MockGit.remote):
701         (TestExporterTest.test_export):
702         * Scripts/webkitpy/w3c/common.py: Copied from chromium.
703         * Scripts/webkitpy/w3c/wpt_github.py: Copied from chromium.
704         * Scripts/webkitpy/w3c/wpt_github_mock.py: Copied from chromium.
705         * Scripts/webkitpy/w3c/wpt_github_unittest.py: Copied from chromium.
706
707 2017-12-10  Konstantin Tokarev  <annulen@yandex.ru>
708
709         [python] Modernize "except" usage for python3 compatibility
710         https://bugs.webkit.org/show_bug.cgi?id=180612
711
712         Reviewed by Michael Catanzaro.
713
714         * BuildSlaveSupport/build.webkit.org-config/committer_auth.py:
715         (CommitterAuth.auth_json):
716         (CommitterAuth.authenticate):
717         (CommitterAuth.is_webkit_committer):
718         (CommitterAuth.is_webkit_trac_user):
719         * BuildSlaveSupport/wait-for-SVN-server.py:
720         (getLatestSVNRevision):
721         * QueueStatusServer/handlers/updatebase.py:
722         (UpdateBase._int_from_request):
723         * Scripts/webkitpy/bindings/main.py:
724         (BindingsTests.generate_from_idl):
725         (BindingsTests.generate_supplemental_dependency):
726         (BindingsTests.detect_changes):
727         * Scripts/webkitpy/codegen/main.py:
728         (BuiltinsGeneratorTests.generate_from_js_builtins):
729         (BuiltinsGeneratorTests.detect_changes):
730         * Scripts/webkitpy/common/checkout/changelog.py:
731         (ChangeLog.parse_latest_entry_from_file):
732         * Scripts/webkitpy/common/checkout/checkout.py:
733         (Checkout.bug_id_for_this_commit):
734         * Scripts/webkitpy/common/checkout/scm/git.py:
735         (Git.in_working_directory):
736         (Git.clone):
737         (Git._string_to_int_or_none):
738         (Git._commit_on_branch):
739         * Scripts/webkitpy/common/checkout/scm/svn.py:
740         (SVN.revisions_changing_file):
741         * Scripts/webkitpy/common/config/committers.py:
742         (CommitterList.load_json):
743         * Scripts/webkitpy/common/message_pool.py:
744         (_Worker.run):
745         * Scripts/webkitpy/common/net/buildbot/buildbot.py:
746         (Builder.force_build.predicate):
747         (Builder._fetch_revision_to_build_map):
748         (BuildBot._fetch_build_dictionary):
749         * Scripts/webkitpy/common/net/credentials.py:
750         (Credentials._credentials_from_git):
751         * Scripts/webkitpy/common/net/networktransaction.py:
752         (NetworkTransaction.run):
753         * Scripts/webkitpy/common/net/networktransaction_unittest.py:
754         (NetworkTransactionTest.test_exception):
755         (NetworkTransactionTest.test_timeout):
756         * Scripts/webkitpy/common/net/statusserver.py:
757         (StatusServer._fetch_url):
758         * Scripts/webkitpy/common/net/unittestresults.py:
759         (UnitTestResults.results_from_string):
760         * Scripts/webkitpy/common/prettypatch.py:
761         (PrettyPatch.check_pretty_patch):
762         (PrettyPatch.pretty_patch_text):
763         * Scripts/webkitpy/common/prettypatch_unittest.py:
764         (PrettyPatchTest.check_ruby):
765         * Scripts/webkitpy/common/system/autoinstall.py:
766         (AutoInstaller._extract_tar):
767         (AutoInstaller._unzip):
768         (AutoInstaller._replace_domain_with_next_mirror):
769         (AutoInstaller._download_to_stream):
770         (AutoInstaller.install):
771         * Scripts/webkitpy/common/system/crashlogs.py:
772         (CrashLogs._find_newest_log_darwin):
773         (CrashLogs._find_newest_log_win):
774         (CrashLogs._find_all_logs_darwin):
775         * Scripts/webkitpy/common/system/executive.py:
776         (Executive.kill_process):
777         (Executive.running_pids):
778         * Scripts/webkitpy/common/system/filesystem.py:
779         (FileSystem.maybe_make_directory):
780         (FileSystem.remove):
781         * Scripts/webkitpy/common/system/user.py:
782         (User._wait_on_list_response):
783         (User.edit):
784         (User.page):
785         (User.can_open_url):
786         * Scripts/webkitpy/common/system/workspace.py:
787         (Workspace.create_zip):
788         * Scripts/webkitpy/common/watchlist/watchlistparser.py:
789         (WatchListParser._parse_definition_section):
790         * Scripts/webkitpy/common/webkitunittest.py:
791         (TestCase._assertRaisesRegexp):
792         * Scripts/webkitpy/inspector/main.py:
793         (InspectorGeneratorTests.generate_from_json):
794         (InspectorGeneratorTests.detect_changes):
795         * Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
796         (LayoutTestFinder._read_test_names_from_file):
797         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
798         (LayoutTestRunner.run_tests):
799         * Scripts/webkitpy/layout_tests/controllers/manager.py:
800         (Manager.upload_results):
801         * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
802         (JSONResultsGenerator.upload_json_files):
803         (JSONResultsGenerator._get_archived_json_results):
804         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
805         (MiscTests.test_parse_warning):
806         (SemanticTests.test_bad_bugid):
807         * Scripts/webkitpy/layout_tests/models/test_run_results.py:
808         (summarize_results):
809         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
810         (main):
811         * Scripts/webkitpy/layout_tests/servers/http_server.py:
812         (Lighttpd._remove_stale_logs):
813         * Scripts/webkitpy/layout_tests/servers/http_server_base.py:
814         (HttpServerBase._is_running_on_port):
815         (HttpServerBase._check_that_all_ports_are_available):
816         * Scripts/webkitpy/layout_tests/servers/http_server_integrationtest.py:
817         (BaseTest.assert_servers_are_down):
818         (BaseTest.assert_servers_are_up):
819         (BaseTest.integration_test_server__fails):
820         (BaseTest.maybe_make_dir):
821         * Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:
822         (run_server):
823         * Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:
824         * Scripts/webkitpy/layout_tests/servers/websocket_server.py:
825         (PyWebSocket.is_running):
826         (PyWebSocket._remove_stale_logs):
827         * Scripts/webkitpy/performance_tests/perftestsrunner.py:
828         (_merge_slave_config_json):
829         (_merge_outputs_if_needed):
830         (_upload_json):
831         * Scripts/webkitpy/port/base.py:
832         (Port._build_driver):
833         (Port._build_image_diff):
834         (Port._symbols_string):
835         * Scripts/webkitpy/port/leakdetector.py:
836         (LeakDetector.count_total_bytes_and_unique_leaks):
837         (LeakDetector.check_for_leaks):
838         * Scripts/webkitpy/port/leakdetector_valgrind.py:
839         (LeakDetectorValgrind._parse_leaks_output):
840         * Scripts/webkitpy/port/mac.py:
841         (MacPort.reset_preferences):
842         (MacPort.stop_helper):
843         * Scripts/webkitpy/port/port_testcase.py:
844         (PortTestCase.assert_servers_are_down):
845         (PortTestCase.assert_servers_are_up):
846         (PortTestCase.integration_test_http_server__fails):
847         (PortTestCase.integration_test_websocket_server__fails):
848         * Scripts/webkitpy/port/server_process.py:
849         (ServerProcess.write):
850         (ServerProcess._wait_for_data_and_update_buffers_using_select):
851         (ServerProcess._non_blocking_read_win32):
852         * Scripts/webkitpy/port/win.py:
853         (WinPort._runtime_feature_list):
854         * Scripts/webkitpy/port/xvfbdriver.py:
855         (XvfbDriver._xvfb_read_display_id):
856         * Scripts/webkitpy/style/checkers/jsonchecker.py:
857         (JSONChecker.check):
858         * Scripts/webkitpy/style/checkers/xml.py:
859         (XMLChecker.check):
860         * Scripts/webkitpy/style/filereader.py:
861         (TextFileReader.process_file):
862         * Scripts/webkitpy/style/filereader_unittest.py:
863         (TextFileReaderTest.test_process_file__does_not_exist):
864         * Scripts/webkitpy/style/optparser.py:
865         (ArgumentParser.parse):
866         * Scripts/webkitpy/tool/bot/irc_command.py:
867         (CreateBug.execute):
868         (Rollout.execute):
869         * Scripts/webkitpy/tool/bot/ircbot.py:
870         (IRCBot.process_message):
871         * Scripts/webkitpy/tool/bot/layouttestresultsreader.py:
872         (LayoutTestResultsReader._read_file_contents):
873         * Scripts/webkitpy/tool/bot/patchanalysistask.py:
874         (PatchAnalysisTask._run_command):
875         * Scripts/webkitpy/tool/bot/queueengine.py:
876         (QueueEngine.run):
877         * Scripts/webkitpy/tool/commands/abstractsequencedcommand.py:
878         (AbstractSequencedCommand.execute):
879         * Scripts/webkitpy/tool/commands/download.py:
880         (AbstractPatchSequencingCommand._prepare_to_process):
881         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
882         (AbstractEarlyWarningSystem.review_patch):
883         * Scripts/webkitpy/tool/commands/queries.py:
884         (FailureReason._blame_line_for_revision):
885         * Scripts/webkitpy/tool/commands/queues.py:
886         (AbstractQueue._cc_watchers):
887         (AbstractQueue.run_webkit_patch):
888         (CommitQueue.process_work_item):
889         (StyleQueue.review_patch):
890         * Scripts/webkitpy/tool/commands/rebaseline.py:
891         (AbstractParallelRebaselineCommand._run_webkit_patch):
892         * Scripts/webkitpy/tool/commands/stepsequence.py:
893         (StepSequence.run_and_handle_errors):
894         * Scripts/webkitpy/tool/commands/suggestnominations.py:
895         (SuggestNominations._count_recent_patches):
896         * Scripts/webkitpy/tool/multicommandtool.py:
897         (MultiCommandTool.main):
898         * Scripts/webkitpy/tool/servers/rebaselineserver.py:
899         (_rebaseline_test):
900         (_move_test_baselines):
901         * Scripts/webkitpy/tool/steps/addsvnmimetypeforpng_unittest.py:
902         (AddSvnMimetypeForPngTest.test_run):
903         * Scripts/webkitpy/tool/steps/checkstyle.py:
904         (CheckStyle.run):
905         * Scripts/webkitpy/tool/steps/commit.py:
906         (Commit._check_test_expectations):
907         (Commit.run):
908         * Scripts/webkitpy/tool/steps/confirmdiff.py:
909         (ConfirmDiff._show_pretty_diff):
910         * Scripts/webkitpy/tool/steps/haslanded.py:
911         (HasLanded.diff_diff):
912         * Scripts/webkitpy/tool/steps/preparechangelog.py:
913         (PrepareChangeLog.run):
914         * Scripts/webkitpy/tool/steps/promptforbugortitle.py:
915         (PromptForBugOrTitle.run):
916         * Scripts/webkitpy/tool/steps/sortxcodeprojectfiles.py:
917         (SortXcodeProjectFiles.run):
918         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:
919         (WebDriverW3CWebServer._wait_for_server.check_port):
920         * TestResultServer/model/datastorefile.py:
921         (DataStoreFile.save_data):
922         * jhbuild/jhbuildutils.py:
923         (enter_jhbuild_environment_if_available):
924
925 2017-12-09  Yusuke Suzuki  <utatane.tea@gmail.com>
926
927         Fix WTF::Hasher tuple expansion with variadic args
928         https://bugs.webkit.org/show_bug.cgi?id=180623
929
930         Reviewed by JF Bastien.
931
932         * TestWebKitAPI/Tests/WTF/Hasher.cpp:
933         (TestWebKitAPI::TEST):
934
935 2017-12-09  Konstantin Tokarev  <annulen@yandex.ru>
936
937         [python] Replace print >> operator with print() function for python3 compatibility
938         https://bugs.webkit.org/show_bug.cgi?id=180611
939
940         Reviewed by Michael Catanzaro.
941
942         * CygwinDownloader/cygwin-downloader.py:
943         (download_url_to_file):
944         * Scripts/webkitpy/common/system/profiler.py:
945         (Perf.profile_after_exit):
946         * Scripts/webkitpy/common/version_check.py:
947         * Scripts/webkitpy/layout_tests/lint_test_expectations.py:
948         (main):
949         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
950         (main):
951         * Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:
952         (run_server):
953         * Scripts/webkitpy/tool/commands/analyzechangelog.py:
954         (ChangeLogAnalyzer._print_status):
955         * Scripts/webkitpy/tool/commands/queries.py:
956         (BugsToCommit.execute):
957         (PatchesInCommitQueue.execute):
958         (PatchesToCommitQueue.execute):
959         (PatchesToReview._print_report):
960         (WhatBroke._print_builder_line):
961         (WhatBroke._print_blame_information_for_builder):
962         (WhatBroke.execute):
963         (ResultsFor._print_layout_test_results):
964         (ResultsFor.execute):
965         (FailureReason._print_blame_information_for_transition):
966         (FailureReason._explain_failures_for_builder):
967         (FailureReason._builder_to_explain):
968         (FailureReason.execute):
969         (FindFlakyTests._find_failures):
970         (FindFlakyTests._print_statistics):
971         (FindFlakyTests._walk_backwards_from):
972         (execute):
973         (PrintExpectations.execute):
974         (PrintBaselines.execute):
975         (PrintBaselines._print_baselines):
976         (FindResolvedBugs.execute):
977         * Scripts/webkitpy/tool/commands/rebaseline.py:
978         (AbstractParallelRebaselineCommand._run_webkit_patch):
979         (AbstractParallelRebaselineCommand._rebaseline):
980         * Scripts/webkitpy/tool/servers/gardeningserver.py:
981         (GardeningHTTPRequestHandler.rebaselineall):
982         * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
983         (GardeningServerTest.disabled_test_rebaselineall.run_command):
984         (GardeningServerTest):
985
986 2017-12-08  Basuke Suzuki  <Basuke.Suzuki@sony.com>
987
988         [Win] The way to detect Windows 10 is wrong
989         https://bugs.webkit.org/show_bug.cgi?id=179344
990         <rdar://problem/35562264>
991
992         Reviewed by Alex Christensen.
993
994         Python2.7 doesn't return correct information on Windows 10.
995         Use platform.win32_ver() instead of sys.getwindowsversion().
996
997         * Scripts/webkitpy/common/system/platforminfo.py:
998         (PlatformInfo._win_version):
999         (PlatformInfo._win_version_str):
1000         * Scripts/webkitpy/common/system/platforminfo_unittest.py:
1001         (fake_sys):
1002         (fake_sys.FakeSysModule):
1003         (fake_platform):
1004         (fake_platform.FakePlatformModule.win32_ver):
1005         (TestPlatformInfo.test_os_name_and_wrappers):
1006         (TestPlatformInfo.test_os_version):
1007         (TestPlatformInfo.test_display_name):
1008         (TestPlatformInfo.test_total_bytes_memory):
1009
1010 2017-12-08  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1011
1012         [WinCairo] Fix runtime error after r225229
1013         https://bugs.webkit.org/show_bug.cgi?id=180614
1014
1015         Reviewed by Alex Christensen.
1016
1017         The list of fallback versions doesn't match with version name mapping introduced recently.
1018         It should be safe by creating the list automatically from the name map for consistency.
1019  
1020         * Scripts/webkitpy/common/version_name_map.py:
1021         (VersionNameMap.__init__):
1022         (VersionNameMap.to_name):
1023         (VersionNameMap.from_name):
1024         (VersionNameMap):
1025         (VersionNameMap.names):
1026         (VersionNameMap.mapping_for_platform):
1027         * Scripts/webkitpy/port/win.py:
1028         (WinCairoPort):
1029         (WinCairoPort.default_baseline_search_path):
1030
1031 2017-12-08  David Quesada  <david_quesada@apple.com>
1032
1033         ApplicationManifestParser should strip whitespace from the raw input
1034         https://bugs.webkit.org/show_bug.cgi?id=180539
1035         rdar://problem/35915075
1036
1037         Reviewed by Joseph Pecoraro.
1038
1039         Added an API test for parsing manifests with surrounding whitespace.
1040
1041         Also drive-by fix ApplicationManifestParserTest.Display. Earlier versions of the
1042         manifest spec explicitly stated that the "display" value should be treated as if
1043         it were run through String.prototype.trim(), which allowed for the really weird
1044         edge case of an array containing one string. This behavior was lost when I changed
1045         ApplicationManifestParser's JSON parsing from using JavaScriptCore to WTF's JSON
1046         parsing. Update the unit test accordingly.
1047
1048         * TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:
1049         (TEST_F):
1050
1051 2017-12-08  Konstantin Tokarev  <annulen@yandex.ru>
1052
1053         [python] Replace print operator with print() function for python3 compatibility
1054         https://bugs.webkit.org/show_bug.cgi?id=180592
1055
1056         Reviewed by Michael Catanzaro.
1057
1058         * BuildSlaveSupport/wait-for-SVN-server.py:
1059         (getLatestSVNRevision):
1060         (waitForSVNRevision):
1061         * Scripts/download-latest-github-release.py:
1062         (find_latest_release):
1063         (main):
1064         * Scripts/update-wasm-gcc-torture.py:
1065         (update_lkgr):
1066         (untar_torture):
1067         (list_js_files):
1068         (waterfall_known_failures):
1069         * Scripts/update-webkit-wincairo-libs.py:
1070         * Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
1071         (BenchmarkRunner.show_results):
1072         * Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
1073         (SimpleHTTPServerDriver.fetch_result):
1074         * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
1075         (list_benchmark_plans):
1076         * Scripts/webkitpy/bindings/main.py:
1077         (BindingsTests.generate_from_idl):
1078         (BindingsTests.generate_supplemental_dependency):
1079         (BindingsTests.detect_changes):
1080         (BindingsTests.run_tests):
1081         (BindingsTests.main):
1082         * Scripts/webkitpy/codegen/main.py:
1083         (BuiltinsGeneratorTests.generate_from_js_builtins):
1084         (BuiltinsGeneratorTests.detect_changes):
1085         (BuiltinsGeneratorTests.single_builtin_test):
1086         (BuiltinsGeneratorTests.run_test):
1087         (BuiltinsGeneratorTests.run_tests):
1088         (BuiltinsGeneratorTests.main):
1089         * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
1090         (MockBugzilla.fetch_attachment):
1091         * Scripts/webkitpy/common/net/buildbot/buildbot.py:
1092         (Builder._fetch_revision_to_build_map):
1093         * Scripts/webkitpy/common/system/crashlogs.py:
1094         (CrashLogs._find_newest_log_win):
1095         * Scripts/webkitpy/common/system/outputcapture_unittest.py:
1096         (OutputCaptureTest.test_output_capture_scope):
1097         * Scripts/webkitpy/common/system/profiler.py:
1098         (GooglePProf.profile_after_exit):
1099         (Perf.profile_after_exit):
1100         * Scripts/webkitpy/common/system/user.py:
1101         (User.prompt_with_multiple_lists):
1102         (User.prompt_with_list):
1103         (User._warn_if_application_is_xcode):
1104         (User.edit_changelog):
1105         * Scripts/webkitpy/inspector/main.py:
1106         (InspectorGeneratorTests.generate_from_json):
1107         (InspectorGeneratorTests.detect_changes):
1108         (InspectorGeneratorTests.run_tests):
1109         (InspectorGeneratorTests.main):
1110         * Scripts/webkitpy/layout_tests/controllers/manager.py:
1111         (Manager._print_expectation_line_for_test):
1112         (Manager._print_expectations_for_subset):
1113         (Manager._print_expectations_for_subset.if):
1114         * Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:
1115         (run_server):
1116         * Scripts/webkitpy/port/config_standalone.py:
1117         (main):
1118         * Scripts/webkitpy/port/darwin_testcase.py:
1119         (DarwinTest.test_spindump.logging_run_command):
1120         (DarwinTest.test_sample_process.logging_run_command):
1121         * Scripts/webkitpy/port/ios.py:
1122         (IOSPort.clean_up_test_run):
1123         * Scripts/webkitpy/port/ios_device_unittest.py:
1124         (IOSDeviceTest.test_spindump.logging_run_command):
1125         (IOSDeviceTest.test_sample_process.logging_run_command):
1126         * Scripts/webkitpy/port/ios_simulator_unittest.py:
1127         (IOSSimulatorTest.test_xcrun.throwing_run_command):
1128         * Scripts/webkitpy/port/leakdetector_unittest.py:
1129         (test_count_total_bytes_and_unique_leaks.mock_run_script):
1130         * Scripts/webkitpy/port/mac_unittest.py:
1131         (MacTest.test_xcrun.throwing_run_command):
1132         * Scripts/webkitpy/style/checkers/contributors.py:
1133         (ContributorsChecker.check):
1134         * Scripts/webkitpy/tool/commands/abstractlocalservercommand.py:
1135         (AbstractLocalServerCommand.execute):
1136         * Scripts/webkitpy/tool/commands/adduserstogroups.py:
1137         (AddUsersToGroups.execute):
1138         * Scripts/webkitpy/tool/commands/analyzechangelog.py:
1139         (AnalyzeChangeLog._generate_jsons):
1140         (AnalyzeChangeLog.execute):
1141         (ChangeLogAnalyzer._set_filename):
1142         (ChangeLogAnalyzer.analyze):
1143         * Scripts/webkitpy/tool/commands/bugfortest.py:
1144         (BugForTest.execute):
1145         * Scripts/webkitpy/tool/commands/bugsearch.py:
1146         (execute):
1147         * Scripts/webkitpy/tool/commands/findusers.py:
1148         (FindUsers.execute):
1149         * Scripts/webkitpy/tool/commands/gardenomatic.py:
1150         (GardenOMatic.execute):
1151         * Scripts/webkitpy/tool/commands/rebaseline.py:
1152         (RebaselineTest.execute):
1153         * Scripts/webkitpy/tool/commands/rebaselineserver.py:
1154         (RebaselineServer._prepare_config):
1155         * Scripts/webkitpy/tool/commands/setupgitclone.py:
1156         (SetupGitClone.execute):
1157         (SetupGitClone._get_username_and_email):
1158         * Scripts/webkitpy/tool/commands/suggestnominations.py:
1159         (SuggestNominations._print_nominations):
1160         (SuggestNominations._print_counts):
1161         * Scripts/webkitpy/tool/commands/upload.py:
1162         (CommitMessageForCurrentDiff.execute):
1163         (CreateBug.prompt_for_bug_title_and_comment):
1164         * Scripts/webkitpy/tool/multicommandtool.py:
1165         (HelpCommand.execute):
1166         * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
1167         (TestGardeningHTTPRequestHandler._serve_text):
1168         (TestGardeningHTTPRequestHandler._serve_json):
1169         * Scripts/webkitpy/tool/steps/addsvnmimetypeforpng.py:
1170         (AddSvnMimetypeForPng.run):
1171         * Scripts/webkitpy/tool/steps/suggestreviewers.py:
1172         (SuggestReviewers.run):
1173         * Scripts/webkitpy/w3c/test_importer.py:
1174         (TestImporter.update_tests_options):
1175         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py:
1176         (WebDriverTestRunnerSelenium.run):
1177         * TestResultServer/model/jsonresults_unittest.py:
1178         * gtk/ycm_extra_conf.py:
1179         (FlagsForFile):
1180         * lldb/lldb_webkit.py:
1181         (btjs):
1182
1183 2017-12-08  Eric Carlson  <eric.carlson@apple.com>
1184
1185         Move Logger from PAL to WTF so it can be used outside of WebCore
1186         https://bugs.webkit.org/show_bug.cgi?id=180561
1187
1188         Reviewed by Alex Christensen.
1189
1190         * TestWebKitAPI/Tests/WebCore/Logging.cpp:
1191         (TestWebKitAPI::TEST_F):
1192
1193 2017-12-08  Chris Dumez  <cdumez@apple.com>
1194
1195         Different WebKitTestRunner instances should use different service worker registrations databases
1196         https://bugs.webkit.org/show_bug.cgi?id=180589
1197
1198         Reviewed by Brady Eidson.
1199
1200         * WebKitTestRunner/TestController.cpp:
1201         (WTR::TestController::generateContextConfiguration const):
1202
1203 2017-12-08  Fujii Hironori  <Hironori.Fujii@sony.com>
1204
1205         Tools/ImageDiff/cg/PlatformImageCG.cpp doesn't need to include <wtf/MathExtras.h>
1206         https://bugs.webkit.org/show_bug.cgi?id=180578
1207
1208         Reviewed by Konstantin Tokarev.
1209
1210         * ImageDiff/cg/PlatformImageCG.cpp: Removed unnecessary #include <wtf/MathExtras.h>.
1211
1212 2017-12-08  Zan Dobersek  <zdobersek@igalia.com>
1213
1214         Unreviewed WPE build fix after r225671.
1215
1216         * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
1217         Include the ActivateFonts.h header to have a usable
1218         WTR::installFakeHelvetica() function declaration.
1219
1220 2017-12-07  Zan Dobersek  <zdobersek@igalia.com>
1221
1222         Unreviewed GTK+ and WPE build fix.
1223
1224         Add TestRunner::installFakeHelvetica(), WTR::installFakeHelvetica()
1225         and WTF::uninstallFakeHelvetica() definitions, filling out the
1226         declarations added in r225641. This fills up missing symbols in the
1227         WKTR's InjectedBundle library, unbreaking layout tests for both
1228         configurations.
1229
1230         * WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
1231         (WTR::installFakeHelvetica):
1232         (WTR::uninstallFakeHelvetica):
1233         * WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
1234         (WTR::TestRunner::inspectorTestStubURL):
1235         (WTR::TestRunner::installFakeHelvetica):
1236         * WebKitTestRunner/InjectedBundle/wpe/ActivateFontsWPE.cpp:
1237         (WTR::installFakeHelvetica):
1238         (WTR::uninstallFakeHelvetica):
1239         * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
1240         (WTR::TestRunner::installFakeHelvetica):
1241
1242 2017-12-07  Yusuke Suzuki  <utatane.tea@gmail.com>
1243
1244         Use StaticLock instead of NeverDestroyed<Lock>
1245         https://bugs.webkit.org/show_bug.cgi?id=180507
1246
1247         Reviewed by Saam Barati.
1248
1249         * DumpRenderTree/JavaScriptThreading.cpp:
1250         (javaScriptThreads):
1251         (runJavaScriptThread):
1252         (startJavaScriptThreads):
1253         (stopJavaScriptThreads):
1254         (javaScriptThreadsMutex): Deleted.
1255
1256 2017-12-07  Alex Christensen  <achristensen@webkit.org>
1257
1258         Always synchronously continue with fragment navigations
1259         https://bugs.webkit.org/show_bug.cgi?id=180544
1260         <rdar://problem/34815986> and <rdar://problem/35126690>
1261
1262         Reviewed by Geoffrey Garen.
1263
1264         * TestWebKitAPI/Tests/WebKitCocoa/DecidePolicyForNavigationAction.mm:
1265         (-[DecidePolicyForNavigationActionFragmentDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
1266         (TEST):
1267         Add a test that verifies that decidePolicyForNavigationAction is called for fragment navigations.
1268
1269 2017-12-07  Myles C. Maxfield  <mmaxfield@apple.com>
1270
1271         [Cocoa] Add SPI to disallow user-installed fonts
1272         https://bugs.webkit.org/show_bug.cgi?id=180062
1273         <rdar://problem/35042408>
1274
1275         Reviewed by Simon Fraser.
1276
1277         * WebKitTestRunner/InjectedBundle/ActivateFonts.h:
1278         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1279         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
1280         (WTR::InjectedBundlePage::resetAfterTest):
1281         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1282         * WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
1283         (WTR::resourcesDirectoryURL):
1284         (WTR::activateFonts):
1285         (WTR::installFakeHelvetica):
1286         (WTR::uninstallFakeHelvetica):
1287         * WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
1288         (WTR::TestRunner::installFakeHelvetica):
1289         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
1290         * WebKitTestRunner/fonts/FakeHelvetica-Helvetica-400.ttf: Added.
1291         * WebKitTestRunner/fonts/FakeHelvetica-Helvetica-500.ttf: Added.
1292         * WebKitTestRunner/fonts/FakeHelvetica-Helvetica2-400.ttf: Added.
1293         * WebKitTestRunner/fonts/FakeHelvetica-Helvetica2-500.ttf: Added.
1294
1295 2017-12-07  David Quesada  <david_quesada@apple.com>
1296
1297         [Web App Manifest] Support display-mode media feature
1298         https://bugs.webkit.org/show_bug.cgi?id=180376
1299         rdar://problem/35837993
1300
1301         Reviewed by Geoffrey Garen.
1302
1303         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1304         * TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:
1305         (WebCore::operator<<):
1306         (ApplicationManifestParserTest::testDisplay):
1307         (TEST_F):
1308             Add unit tests for the parsing of the 'display' manifest property.
1309
1310         * TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm:
1311         (TestWebKitAPI::TEST):
1312         * TestWebKitAPI/Tests/WebKitCocoa/display-mode.html: Added.
1313             Update API tests to include _WKApplicationManifest.displayMode.
1314
1315         * WebKitTestRunner/TestController.cpp:
1316         (WTR::parseStringTestHeaderValueAsRelativePath):
1317         (WTR::updateTestOptionsFromTestHeader):
1318         * WebKitTestRunner/TestOptions.h:
1319         (WTR::TestOptions::hasSameInitializationOptions const):
1320         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
1321         (WTR::TestController::platformCreateWebView):
1322             Teach WKTR to look for and apply an app manifest. A new <!--webkit-test-runner-->
1323             directive 'applicationManifest' can specify a path (relative to the test file itself)
1324             to a JSON app manifest to be applied to the web view before running the test.
1325
1326 2017-12-07  Eric Carlson  <eric.carlson@apple.com>
1327
1328         Add WebRTC watchlist rule, update MediaStream rule
1329         https://bugs.webkit.org/show_bug.cgi?id=180536
1330         <rdar://problem/35914066>
1331
1332         Reviewed by Youenn Fablet.
1333
1334         * Scripts/webkitpy/common/config/watchlist:
1335
1336 2017-12-06  Chris Dumez  <cdumez@apple.com>
1337
1338         We should be able to recover after a Service Worker process crash
1339         https://bugs.webkit.org/show_bug.cgi?id=180477
1340
1341         Reviewed by Brady Eidson and Youenn Fablet.
1342
1343         Add testRunner API to terminate the Service Worker process.
1344
1345         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1346         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1347         (WTR::TestRunner::terminateServiceWorkerProcess):
1348         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1349         * WebKitTestRunner/TestController.cpp:
1350         (WTR::TestController::terminateServiceWorkerProcess):
1351         * WebKitTestRunner/TestController.h:
1352         * WebKitTestRunner/TestInvocation.cpp:
1353         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
1354
1355 2017-12-02  Darin Adler  <darin@apple.com>
1356
1357         Modernize some aspects of text codecs, eliminate WebKit use of strcasecmp
1358         https://bugs.webkit.org/show_bug.cgi?id=180009
1359
1360         Reviewed by Alex Christensen.
1361
1362         * DumpRenderTree/cg/PixelDumpSupportCG.cpp: Removed include of StringExtras.h.
1363
1364         * TestWebKitAPI/CMakeLists.txt: Added LineEnding.cpp.
1365         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Ditto.
1366         * TestWebKitAPI/Tests/WTF/LineEnding.cpp: Added. Has tests for the LineEnding
1367         functions rewritten in this patch.
1368
1369         * TestWebKitAPI/Tests/WebCore/TextCodec.cpp: Updated test now that the decode
1370         function doesn't have defaults for as many arguments any more. Also changed so
1371         that the tests log the fact that the decode function returns an error and updated
1372         expected results to expect all the errors.
1373
1374         * WebKitTestRunner/cg/TestInvocationCG.cpp: Ditto.
1375
1376 2017-12-06  Alexey Proskuryakov  <ap@apple.com>
1377
1378         Exclude another leak callstack.
1379
1380         * Scripts/webkitpy/port/leakdetector.py: (LeakDetector._callstacks_to_exclude_from_leaks):
1381
1382 2017-12-06  Jeff Miller  <jeffm@apple.com>
1383
1384         -[WKWebViewConfiguration copyWithZone] doesn't copy _groupIdentifier
1385         https://bugs.webkit.org/show_bug.cgi?id=180504
1386
1387         Reviewed by Geoffrey Garen.
1388
1389         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm:
1390         Add a test to verify that the _groupIdentifier is copied.
1391
1392 2017-12-06  David Quesada  <david_quesada@apple.com>
1393
1394         [Web App Manifest] Add SPI for fetching the manifest
1395         https://bugs.webkit.org/show_bug.cgi?id=180294
1396         rdar://problem/34747968
1397
1398         Reviewed by Geoffrey Garen.
1399
1400         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1401         * TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm: Added.
1402             Added two API tests for _WKApplicationManifest:
1403             - Testing _WKApplicationManifest's conformance to NSCoding.
1404             - Testing -[WKWebView _getApplicationManifestWithCompletionHandler:], verifying the
1405               values of the resulting _WKApplicationManifest.
1406         (TestWebKitAPI::TEST):
1407
1408         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1409             Added a new testRunner method getApplicationManifestThen(), used by the LayoutTests
1410             to request the document load its associated manifest. The layout tests formerly called
1411             an unimplemented function getManifestThen(), but I added 'Application' to somewhat
1412             differentiate this from the app cache manifest.
1413
1414         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1415         (WTR::InjectedBundle::didReceiveMessageToPage):
1416         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1417         (WTR::TestRunner::getApplicationManifestThen):
1418         (WTR::TestRunner::didGetApplicationManifest):
1419         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1420         * WebKitTestRunner/TestInvocation.cpp:
1421         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1422
1423 2017-12-05  Stephan Szabo  <stephan.szabo@sony.com>
1424
1425         Switch windows build to Visual Studio 2017
1426         https://bugs.webkit.org/show_bug.cgi?id=172412
1427
1428         Reviewed by Per Arne Vollan.
1429
1430         * Scripts/build-webkit:
1431         * Scripts/webkitdirs.pm:
1432         (visualStudioInstallDir):
1433         (visualStudioInstallDirFallback):
1434         (msBuildInstallDir):
1435         (setupAppleWinEnv):
1436         (setupCygwinEnv):
1437         (generateBuildSystemFromCMakeProject):
1438         (pickLegacyVisualStudioInstallation): Deleted.
1439         (visualStudioInstallDirLegacy): Deleted.
1440         (visualStudioVersion): Deleted.
1441         (visualStudioVersionFromInstallDir): Deleted.
1442
1443 2017-12-05  Alex Christensen  <achristensen@webkit.org>
1444
1445         Fix crash when loading a file URL that does not have a fileSystemPath representation
1446         https://bugs.webkit.org/show_bug.cgi?id=180448
1447         <rdar://problem/22805921>
1448
1449         Reviewed by Chris Dumez.
1450
1451         * TestWebKitAPI/Tests/WebKitCocoa/LoadAlternateHTMLString.mm:
1452         (TEST):
1453         Test opening a URL that used to crash WebKit.
1454
1455 2017-12-05  Michael Saboff  <msaboff@apple.com>
1456
1457         Make WebKit build for ARM64_32
1458         https://bugs.webkit.org/show_bug.cgi?id=180447
1459
1460         Reviewed by Mark Lam.
1461
1462         Add an instance of the _TestWTFAlwaysMissing for arm64_32 architecture.
1463
1464         * TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS-v2.tbd:
1465
1466 2017-12-05  Aakash Jain  <aakash_jain@apple.com>
1467
1468         [build.webkit.org] Rename mastercfg_unittest to steps_unittest
1469         https://bugs.webkit.org/show_bug.cgi?id=180432
1470
1471         Rubber-stamped by Alexey Proskuryakov.
1472
1473         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Removed.
1474         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Copied from BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py.
1475
1476 2017-12-05  Aakash Jain  <aakash_jain@apple.com>
1477
1478         [build.webkit.org] Fix style issues in mastercfg_unittest.py
1479         https://bugs.webkit.org/show_bug.cgi?id=180439
1480
1481         Reviewed by Alexey Proskuryakov.
1482
1483         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Added imports directly instead of relying
1484         on imports from other files. We will try to import minimum required modules. Currently we are importing
1485         everything from master.cfg, loadConfig.py, factories.py and steps.py
1486
1487 2017-12-05  Aakash Jain  <aakash_jain@apple.com>
1488
1489         [build.webkit.org] Rename MasterCfgTest to RunWebKitTestsTest
1490         https://bugs.webkit.org/show_bug.cgi?id=180391
1491
1492         Rubber-stamped by Alexey Proskuryakov.
1493
1494         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
1495         (RunWebKitTestsTest): Renamed from MasterCfgTest.
1496
1497 2017-12-01  Filip Pizlo  <fpizlo@apple.com>
1498
1499         GC constraint solving should be parallel
1500         https://bugs.webkit.org/show_bug.cgi?id=179934
1501
1502         Reviewed by JF Bastien.
1503
1504         * Scripts/run-jsc-benchmarks: Add splay-latency test, since this change needed to be carefully validated with that benchmark.
1505         * TestWebKitAPI/CMakeLists.txt:
1506         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1507         * TestWebKitAPI/Tests/WTF/ConcurrentPtrHashSet.cpp: Added. This has unit tests of the new concurrent data structure. The tests focus on correctness under serial execution, which appears to be enough for now (it's so easy to catch a concurrency bug by just running the GC).
1508         (TestWebKitAPI::TEST):
1509
1510 2017-12-04  Nan Wang  <n_wang@apple.com>
1511
1512         AX: AOM: Implement relation type properties
1513         https://bugs.webkit.org/show_bug.cgi?id=179500
1514
1515         Reviewed by Ryosuke Niwa.
1516
1517         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
1518         (WTR::AccessibilityUIElement::ariaDetailsElementAtIndex):
1519         (WTR::AccessibilityUIElement::ariaErrorMessageElementAtIndex):
1520         (WTR::AccessibilityUIElement::ariaDescribedByReferencingElementAtIndex):
1521         (WTR::AccessibilityUIElement::ariaDetailsReferencingElementAtIndex):
1522         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
1523         (WTR::AccessibilityUIElement::ariaDetailsElementAtIndex):
1524         (WTR::AccessibilityUIElement::ariaErrorMessageElementAtIndex):
1525
1526 2017-12-04  Simon Fraser  <simon.fraser@apple.com>
1527
1528         Minor DisplayRefreshMonitor-related cleanup
1529         https://bugs.webkit.org/show_bug.cgi?id=179802
1530
1531         Reviewed by Sam Weinig.
1532
1533         New trace point for when the CVDisplayLink fires on its own thread.
1534
1535         * Tracing/SystemTracePoints.plist:
1536
1537 2017-12-04  David Quesada  <david_quesada@apple.com>
1538
1539         Add a class for parsing application manifests
1540         https://bugs.webkit.org/show_bug.cgi?id=177973
1541         rdar://problem/34747949
1542
1543         Reviewed by Geoffrey Garen.
1544
1545         Add basic unit tests for ApplicationManifestParser. For each of the implemented top-level properties,
1546         attempt to parse manifests with varying types of valid and invalid data to ensure the resulting
1547         ApplicationManifest is configured with the appropriate values per the spec.
1548
1549         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Add ENABLE_APPLICATION_MANIFEST feature flag.
1550         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1551         * TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp: Added.
1552         (ApplicationManifestParserTest::SetUp):
1553         (ApplicationManifestParserTest::parseString):
1554         (ApplicationManifestParserTest::parseTopLevelProperty):
1555         (ApplicationManifestParserTest::testStartURL):
1556         (ApplicationManifestParserTest::testName):
1557         (ApplicationManifestParserTest::testDescription):
1558         (ApplicationManifestParserTest::testShortName):
1559         (ApplicationManifestParserTest::testScope):
1560         (assertManifestHasDefaultValues):
1561         (TEST_F):
1562
1563 2017-12-04  Aakash Jain  <aakash_jain@apple.com>
1564
1565         Add docstring in EarlyWarningSystemTask to explain return values
1566         https://bugs.webkit.org/show_bug.cgi?id=180303
1567
1568         Reviewed by Daniel Bates.
1569
1570         * Scripts/webkitpy/tool/bot/earlywarningsystemtask.py:
1571         (EarlyWarningSystemTask.run): Added docstring to explain return values.
1572         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
1573         (AbstractEarlyWarningSystem.review_patch): Added comment to explain the result of unlocking a patch.
1574
1575 2017-12-04  JF Bastien  <jfbastien@apple.com>
1576
1577         Update std::expected to match libc++ coding style
1578         https://bugs.webkit.org/show_bug.cgi?id=180264
1579
1580         Reviewed by Alex Christensen.
1581
1582         Update tests according to name changes as well as removal of
1583         now-gone APIs.
1584
1585         * TestWebKitAPI/Tests/WTF/Expected.cpp:
1586         (std::experimental::fundamentals_v3::operator<<):
1587         (TestWebKitAPI::TEST):
1588         (WTF::operator<<): Deleted.
1589         * TestWebKitAPI/Tests/WebCore/HTMLParserIdioms.cpp:
1590         (TestWebKitAPI::testParseHTMLInteger):
1591         (TestWebKitAPI::testParseHTMLNonNegativeInteger):
1592
1593 2017-12-04  Ross Kirsling  <ross.kirsling@sony.com>
1594
1595         download-latest-github-release.py should use existing release ANY time latest is not found
1596         https://bugs.webkit.org/show_bug.cgi?id=180293
1597
1598         Reviewed by Per Arne Vollan.
1599
1600         * Scripts/download-latest-github-release.py:
1601         (find_latest_release):
1602         Handle all URLErrors, not just HTTPErrors. Stop special-casing 404s.
1603
1604         (main):
1605         Rearrange logic so any failure to detect a latest release falls back to an existing release. Improve logging.
1606
1607         (Status):
1608         (download_release):
1609         (load_version_info): Renamed from existing_version info.
1610         (has_latest_release): Deleted.
1611         Cleanup.
1612
1613 2017-12-04  Joseph Pecoraro  <pecoraro@apple.com>
1614
1615         Exclude some more leak callstacks
1616         https://bugs.webkit.org/show_bug.cgi?id=180379
1617
1618         Reviewed by Alexey Proskuryakov.
1619
1620         * Scripts/webkitpy/port/leakdetector.py:
1621         (LeakDetector._types_to_exclude_from_leaks):
1622         (LeakDetector._callstacks_to_exclude_from_leaks):
1623         (LeakDetector._leaks_args):
1624         (LeakDetector._types_to_exlude_from_leaks): Deleted.
1625         * Scripts/webkitpy/port/leakdetector_unittest.py:
1626         (LeakDetectorTest.test_leaks_args):
1627
1628 2017-12-03  Yusuke Suzuki  <utatane.tea@gmail.com>
1629
1630         WTF shouldn't have both Thread and ThreadIdentifier
1631         https://bugs.webkit.org/show_bug.cgi?id=180308
1632
1633         Reviewed by Darin Adler.
1634
1635         * DumpRenderTree/mac/DumpRenderTree.mm:
1636         (dumpRenderTree):
1637         (runThread): Deleted.
1638         (runPthread): Deleted.
1639         (testThreadIdentifierMap): Deleted.
1640         * TestWebKitAPI/CMakeLists.txt:
1641         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1642         * TestWebKitAPI/Tests/WTF/ParkingLot.cpp:
1643         * TestWebKitAPI/Tests/WTF/Threading.cpp: Added.
1644         (TestWebKitAPI::TEST):
1645
1646 2017-12-03  Aakash Jain  <aakash_jain@apple.com>
1647
1648         webkitpy EWS keeps retrying a failing patch
1649         https://bugs.webkit.org/show_bug.cgi?id=180302
1650
1651         Reviewed by Alexey Proskuryakov.
1652
1653         * Scripts/webkitpy/tool/bot/patchanalysistask.py:
1654         (PatchAnalysisTask._test_patch): Instead of returning false, call report_failure() 
1655         which raises an exception, this exception is catched by earlywarningsystem.py and
1656         it posts a comment on bugzilla. Returning false simply unlocks the patch and returns
1657         it to the queue.
1658
1659 2017-12-03  Darin Adler  <darin@apple.com>
1660
1661         Add WTF::Hasher, an easier to use replacement for WTF::IntegerHasher
1662         https://bugs.webkit.org/show_bug.cgi?id=180318
1663
1664         Reviewed by JF Bastien.
1665
1666         * TestWebKitAPI/CMakeLists.txt: Added Hasher.cpp.
1667         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Ditto.
1668
1669         * TestWebKitAPI/Tests/WTF/Hasher.cpp: Added. Contains tests of the new
1670         WTF::Hasher class.
1671
1672         * TestWebKitAPI/Tests/WTF/StringHasher.cpp: Include StringHasher.h instead of
1673         Hasher.h.
1674
1675 2017-12-01  Carlos Garcia Campos  <cgarcia@igalia.com>
1676
1677         WebDriver: auto-install pytest instead of importing it from wpt tools directory
1678         https://bugs.webkit.org/show_bug.cgi?id=180243
1679
1680         Reviewed by Brian Burg.
1681
1682         We don't really need the (old) version included in wpt tools dir, so we can simply remove it and use autoinstall
1683         instead.
1684
1685         * Scripts/webkitpy/thirdparty/__init__.py:
1686         (AutoinstallImportHook.find_module): Check pytest.
1687         (AutoinstallImportHook._install_pytest): Install pytest.
1688         * Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py: Import autoinstalled pytest.
1689         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
1690         (WebDriverTestRunnerW3C.run): Update the subtest path since the new pytest uses a different strategy for
1691         rootdir.
1692         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py: Import autoinstalled pytest.
1693
1694 2017-12-01  Dewei Zhu  <dewei_zhu@apple.com>
1695
1696         Hardcoded python path is not compatible with virtual environment.
1697         https://bugs.webkit.org/show_bug.cgi?id=180300
1698
1699         Reviewed by Stephanie Lewis.
1700
1701         Hardcoding '/usr/bin/python' does not work with python virtual environment.
1702         Use 'python' instead.
1703
1704         * Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
1705         (SimpleHTTPServerDriver.serve):
1706
1707 2017-12-01  Aakash Jain  <aakash_jain@apple.com>
1708
1709         [build.webkit.org] Move python code to load config from master.cfg in separate file
1710         https://bugs.webkit.org/show_bug.cgi?id=180278
1711
1712         Reviewed by Daniel Bates.
1713
1714         * BuildSlaveSupport/build.webkit.org-config/master.cfg: Moved appropriate code to loadConfig.py
1715         * BuildSlaveSupport/build.webkit.org-config/loadConfig.py: Ditto.
1716         * BuildSlaveSupport/build.webkit.org-config/steps.py: Removed extra import.
1717
1718 2017-12-01  Brian Burg  <bburg@apple.com>
1719
1720         Web Inspector: move Inspector::Protocol::Array<T> to JSON namespace
1721         https://bugs.webkit.org/show_bug.cgi?id=173662
1722
1723         Reviewed by Joseph Pecoraro.
1724
1725         Add duplicate test cases for JSON::ArrayOf<T> based on JSON::Array.
1726
1727         * TestWebKitAPI/Tests/WTF/JSONValue.cpp:
1728         (TestWebKitAPI::TEST):
1729
1730 2017-12-01  Wenson Hsieh  <wenson_hsieh@apple.com>
1731
1732         [Attachment Support] Implement SPI for clients to update a given attachment's data
1733         https://bugs.webkit.org/show_bug.cgi?id=180184
1734         <rdar://problem/35355731>
1735
1736         Reviewed by Tim Horton.
1737
1738         Adds two new API tests to exercise the attachment data update flow.
1739
1740         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1741         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::ObserveAttachmentUpdatesForScope):
1742         (-[_WKAttachment synchronouslySetDisplayOptions:error:]):
1743         (-[_WKAttachment synchronouslyRequestData:]):
1744         (-[_WKAttachment synchronouslySetData:newContentType:newFilename:error:]):
1745         (TestWebKitAPI::TEST):
1746
1747 2017-12-01  Alicia Boya García  <aboya@igalia.com>
1748
1749         [GTK] Add SampleMap.cpp API tests to CMake
1750         https://bugs.webkit.org/show_bug.cgi?id=180252
1751
1752         Reviewed by Žan Doberšek.
1753
1754         * TestWebKitAPI/PlatformGTK.cmake:
1755
1756 2017-11-30  Carlos Garcia Campos  <cgarcia@igalia.com>
1757
1758         WebDriver: add support for importing and running selenium tests
1759         https://bugs.webkit.org/show_bug.cgi?id=180145
1760
1761         Reviewed by Brian Burg.
1762
1763         We currently import and run W3C tests, which are the best ones to ensure our implementation is spec
1764         compliant. However, the selenium API is what user will actually use in the end, so it's important to ensure that
1765         we don't break the selenium support. This patch adds webdriver_test_runner_selenium.py and
1766         webdriver_selenium_executor.py to run selenium tests. The script import-w3c-webdriver-tests has been renamed as
1767         import-webdriver-tests and it can now import selenium tests too.
1768
1769         * Scripts/import-w3c-webdriver-tests: Removed.
1770         * Scripts/import-webdriver-tests: Added.
1771         (Importer):
1772         (Importer.__init__):
1773         (Importer.download_tests):
1774         (Importer.import_tests):
1775         (Importer.import_tests.should_skip_file):
1776         * Scripts/webkitpy/webdriver_tests/webdriver_driver.py:
1777         (WebDriver.browser_path):
1778         (WebDriver):
1779         (WebDriver.browser_args):
1780         (WebDriver.selenium_name):
1781         * Scripts/webkitpy/webdriver_tests/webdriver_driver_gtk.py:
1782         (WebDriverGtk.browser_path):
1783         (WebDriverGtk):
1784         (WebDriverGtk.browser_args):
1785         (WebDriverGtk.capabilities):
1786         (WebDriverGtk.selenium_name):
1787         * Scripts/webkitpy/webdriver_tests/webdriver_driver_wpe.py:
1788         (WebDriverWPE.browser_args):
1789         (WebDriverWPE.capabilities):
1790         * Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py: Added.
1791         (_ensure_directory_in_path):
1792         (CollectRecorder):
1793         (CollectRecorder.__init__):
1794         (CollectRecorder.pytest_collectreport):
1795         (WebDriverSeleniumExecutor):
1796         (WebDriverSeleniumExecutor.__init__):
1797         (WebDriverSeleniumExecutor.collect):
1798         (WebDriverSeleniumExecutor.run):
1799         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
1800         (WebDriverTestRunner):
1801         (WebDriverTestRunner.__init__):
1802         (WebDriverTestRunner.run):
1803         (WebDriverTestRunner.print_results):
1804         (WebDriverTestRunner.dump_results_to_json_file):
1805         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py: Added.
1806         (WebDriverTestRunnerSelenium):
1807         (WebDriverTestRunnerSelenium.__init__):
1808         (WebDriverTestRunnerSelenium._tests_dir):
1809         (WebDriverTestRunnerSelenium.collect_tests):
1810         (WebDriverTestRunnerSelenium.run):
1811         (WebDriverTestRunnerSelenium.results):
1812         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
1813         (WebDriverTestRunnerW3C.__init__):
1814         (WebDriverTestRunnerW3C.run):
1815         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
1816
1817 2017-11-30  Alex Christensen  <achristensen@webkit.org>
1818
1819         REGRESSION (r224791): cookies are shared between ephemeral sessions in the same process pool
1820         https://bugs.webkit.org/show_bug.cgi?id=180235
1821
1822         Reviewed by Joseph Pecoraro.
1823
1824         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1825         * TestWebKitAPI/Tests/WebKitCocoa/CookiePrivateBrowsing.mm: Added.
1826         (-[CookiePrivateBrowsingDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
1827         (TEST):
1828
1829 2017-11-30  Stephan Szabo  <stephan.szabo@sony.com>
1830
1831         Make LegacyCustomProtocolManager optional for network process
1832         https://bugs.webkit.org/show_bug.cgi?id=176230
1833
1834         Reviewed by Alex Christensen.
1835
1836         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1837
1838 2017-11-30  Dewei Zhu  <dewei_zhu@apple.com>
1839
1840         HTTP server driver is responsible for ensuring the dependencies of HTTP server.
1841         https://bugs.webkit.org/show_bug.cgi?id=180231
1842
1843         Reviewed by Stephanie Lewis.
1844
1845         Added the logic to ensure system environment meet the requirments of launching the http server.
1846
1847         * Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
1848         (SimpleHTTPServerDriver.serve):
1849         (SimpleHTTPServerDriver.set_device_id):
1850         (SimpleHTTPServerDriver):
1851         (SimpleHTTPServerDriver._ensure_http_server_dependencies):
1852
1853 2017-11-30  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1854
1855         [WinCairo] Cannot build without Internet connection
1856         https://bugs.webkit.org/show_bug.cgi?id=180068
1857
1858         Reviewed by Alex Christensen
1859
1860         With no Internet connection, if libraries has been downloaded
1861         before, trust that version and keep building.
1862
1863         * Scripts/download-latest-github-release.py:
1864         (Status):
1865         (current_release):
1866         (has_latest_release):
1867         (main):
1868
1869 2017-11-30  Alex Christensen  <achristensen@webkit.org>
1870
1871         WKURLSchemeHandler.request should include HTTPBody
1872         https://bugs.webkit.org/show_bug.cgi?id=180220
1873
1874         Reviewed by Brady Eidson.
1875
1876         * TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm:
1877         (-[FormSubmissionDelegate webView:startURLSchemeTask:]):
1878
1879 2017-11-30  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1880
1881         Add a script for automatically running the buildbot configurations on a test environment.
1882         https://bugs.webkit.org/show_bug.cgi?id=169084
1883
1884         Reviewed by Michael Catanzaro.
1885
1886         This new script does the following:
1887         - Creates a temporal workingdir.
1888         - Installs buildbot and its dependencies there (very same version used by the webkit.org buildbot master https://build.webkit.org/about ).
1889           This is important as there are problems that that may not be detected if you don't test with the same version that will be used on production.
1890         - Copies the buildmaster config files to the temporal workingdir.
1891         - Performs the required steps to start a buildmaster.
1892         - Creates the required config for each slave and starts all of them.
1893
1894         The test buildmaster should be accessible at http://localhost:8710/ allowing to trigger manual builds.
1895         This allows to test any configuration changes on this test environment that is pretty much identical to the production one.
1896
1897         * BuildSlaveSupport/build.webkit.org-config/run-buildbot-test.py: Added.
1898         (check_tcp_port_open):
1899         (upgrade_db_needed):
1900         (create_tempdir):
1901         (print_if_error_stdout_stderr):
1902         (setup_master_workdir):
1903         (wait_for_master_ready):
1904         (start_master):
1905         (get_list_workers):
1906         (start_worker):
1907         (clean):
1908         (cmd_exists):
1909         (check_buildbot_installed):
1910         (setup_virtualenv):
1911         (configdir_is_valid):
1912         (main):
1913
1914 2017-11-30  Aakash Jain  <aakash_jain@apple.com>
1915
1916         [build.webkit.org] Move python code from master.cfg in separate files
1917         https://bugs.webkit.org/show_bug.cgi?id=180180
1918
1919         Reviewed by Alexey Proskuryakov.
1920
1921         * BuildSlaveSupport/build.webkit.org-config/master.cfg: Moved code to steps.py and master.cfg appropriately.
1922         * BuildSlaveSupport/build.webkit.org-config/factories.py: Moved all factory related code from master.cfg.
1923         * BuildSlaveSupport/build.webkit.org-config/steps.py: Moved all steps related code from master.cfg
1924
1925 2017-11-30  Wenson Hsieh  <wenson_hsieh@apple.com>
1926
1927         WKAttachmentTests.InPlaceImageAttachmentToggleDisplayMode times out on macOS bots
1928         https://bugs.webkit.org/show_bug.cgi?id=180200
1929
1930         Reviewed by Alexey Proskuryakov.
1931
1932         Rewrites an API test to avoid checking against the hard-coded platform-dependent size of an attachment element.
1933         Instead, first insert the attachment element as an icon and compute its size, and then check that the size of
1934         the element is restored to this original value after toggling the display mode to in-place mode and back.
1935
1936         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1937         (-[TestWKWebView attachmentElementSize]):
1938         (-[TestWKWebView waitForAttachmentElementSizeToBecome:]):
1939         (TestWebKitAPI::TEST):
1940         (platformAttachmentIconElementSize): Deleted.
1941
1942 2017-11-30  Michael Catanzaro  <mcatanzaro@igalia.com>
1943
1944         [WPE] Stop building Wayland in JHBuild moduleset
1945         https://bugs.webkit.org/show_bug.cgi?id=179951
1946
1947         Reviewed by Žan Doberšek.
1948
1949         Since Wayland is not used for running tests, and since it does not seem to depend on
1950         anything in the JHBuild moduleset, I think we can remove it safely without having to worry
1951         that the system version of Wayland might use libraries in the JHBuild environment (which
1952         would be unsafe).
1953
1954         * wpe/install-dependencies: Install Wayland.
1955         * wpe/jhbuild.modules: Stop building Wayland.
1956
1957 2017-11-30  Alexey Proskuryakov  <ap@apple.com>
1958
1959         Silence the BitVector leak for
1960         https://bugs.webkit.org/show_bug.cgi?id=121662
1961
1962         The out of line data pointer isn't stored directly, so the leaks tool cannot see it.
1963
1964         * Scripts/webkitpy/port/leakdetector.py:
1965         (LeakDetector._callstacks_to_exclude_from_leaks):
1966
1967 2017-11-29  Aakash Jain  <aakash_jain@apple.com>
1968
1969         Fix build.webkit.org broken unit-test after r225080
1970         https://bugs.webkit.org/show_bug.cgi?id=180176
1971
1972         Reviewed by Carlos Garcia Campos.
1973
1974         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Updated expected_build_steps.
1975
1976 2017-11-29  Wenson Hsieh  <wenson_hsieh@apple.com>
1977
1978         [Attachment Support] Implement SPI for clients to make an attachment element display in-place
1979         https://bugs.webkit.org/show_bug.cgi?id=180153
1980         <rdar://problem/35735252>
1981
1982         Reviewed by Tim Horton.
1983
1984         Adds new API tests to cover inserting in-place attachments and updating the display mode of existing attachments,
1985         as well as performing a few editing operations (paragraph insertion, cut/paste, list insertion) on attachment
1986         elements.
1987
1988         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1989         (platformAttachmentIconElementSize):
1990         (testVideoData):
1991         (testPDFData):
1992         (displayOptionsWithMode):
1993         (-[TestWKWebView waitForAttachmentElementSizeToBecome:]):
1994         (-[_WKAttachment synchronouslySetDisplayOptions:error:]):
1995         (TestWebKitAPI::TEST):
1996
1997 2017-11-29  Simon Fraser  <simon.fraser@apple.com>
1998
1999         API test fix after r225288.
2000
2001         Make the test work on iOS.
2002
2003         * TestWebKitAPI/Tests/WebKit/NoHistoryItemScrollToFragment.mm:
2004         (-[DidScrollToFragmentScrollViewDelegate scrollViewDidScroll:]):
2005         (TestWebKitAPI::TEST):
2006
2007 2017-11-29  Simon Fraser  <simon.fraser@apple.com>
2008
2009         REGRESSION (r213590): Scrolling to anchors broken in web views when content loaded via HTML string
2010         https://bugs.webkit.org/show_bug.cgi?id=180155
2011         rdar://problem/34220827
2012
2013         Reviewed by Zalan Bujtas.
2014
2015         API test that loads a page with a relative anchor, and simulates a click to scroll to it.
2016
2017         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2018         * TestWebKitAPI/Tests/WebKit/MediaStreamTrackDetached.mm:
2019         (TestWebKitAPI::TEST):
2020         * TestWebKitAPI/Tests/WebKit/NoHistoryItemScrollToFragment.mm: Added.
2021         (-[DidScrollToFragmentDelegate _webViewDidScroll:]):
2022         (TestWebKitAPI::TEST):
2023         * TestWebKitAPI/Tests/WebKit/scroll-to-anchor.html: Added.
2024
2025 2017-11-29  Ryan Haddad  <ryanhaddad@apple.com>
2026
2027         webkitpy EWS should be present on the dashboard.
2028         https://bugs.webkit.org/show_bug.cgi?id=179801
2029
2030         Reviewed by Aakash Jain.
2031
2032         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
2033         (BubbleQueueServer): Add Webkitpy EWS.
2034
2035 2017-11-29  Simon Fraser  <simon.fraser@apple.com>
2036
2037         Viewport unit values affected by Comand-+ zoom
2038         https://bugs.webkit.org/show_bug.cgi?id=145614
2039
2040         Reviewed by Zalan Bujtas.
2041         
2042         Fix Command+ and Command- in MiniBrowser to do zooming, rather than being tied
2043         to editing commands.
2044
2045         * MiniBrowser/mac/MainMenu.xib:
2046
2047 2017-11-29  Alex Christensen  <achristensen@webkit.org>
2048
2049         Add test for _WKVisitedLinkStore.addVisitedLinkWithString
2050         https://bugs.webkit.org/show_bug.cgi?id=180152
2051
2052         Reviewed by Chris Dumez.
2053
2054         * TestWebKitAPI/Tests/WebKitCocoa/VisitedLinkStore.mm:
2055         (TestWebKitAPI::TEST):
2056
2057 2017-11-29  Jonathan Bedard  <jbedard@apple.com>
2058
2059         webkitpy: Trying to use iOS versions from machines without iOS SDKs doesn't make sense
2060         https://bugs.webkit.org/show_bug.cgi?id=179534
2061         <rdar://problem/35469509>
2062
2063         Reviewed by Brent Fulgham.
2064
2065         Provide more specific information in builders.py so that machines do not try and calculate
2066         an iOS SDK version while running tests.
2067
2068         * Scripts/webkitpy/port/builders.py: Explicitly specify a version for iOS Simulator.
2069         * Scripts/webkitpy/port/ios_simulator.py:
2070         (IOSSimulatorPort._version_from_name): Attempt to extract the iOS version from the name
2071         of the port.
2072         (IOSSimulatorPort.ios_version): Use specified iOS version if a version is detected in
2073         in the provided name string (just like Mac).
2074
2075 2017-11-29  Robin Morisset  <rmorisset@apple.com>
2076
2077         The recursive tail call optimisation is wrong on closures
2078         https://bugs.webkit.org/show_bug.cgi?id=179835
2079
2080         Reviewed by Saam Barati.
2081
2082         This just includes merge-sort-cps.js to the list of benchmarks ran by run-jsc-benchmarks --tail-bench
2083
2084         * Scripts/run-jsc-benchmarks:
2085
2086 2017-11-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2087
2088         WebDriver: add an option to dump test results to a json file
2089         https://bugs.webkit.org/show_bug.cgi?id=180082
2090
2091         Reviewed by Brian Burg.
2092
2093         Add --json-output command line option to run-webdriver-tests to dump test results to a json file in a format
2094         compatible with the W3C report. WebDriverTestResult now represents a test file and contains a list of
2095         subtests, instead of having one WebDriverTestResult per subtest. This way we can store also the harness result
2096         and dump the results to different formats.
2097
2098         * Scripts/run-webdriver-tests:
2099         * Scripts/webkitpy/webdriver_tests/webdriver_test_result.py:
2100         (WebDriverTestResult.__init__):
2101         (WebDriverTestResult):
2102         (WebDriverTestResult.add_subtest_results):
2103         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
2104         (WebDriverTestRunner.print_results):
2105         (WebDriverTestRunner):
2106         (WebDriverTestRunner.dump_results_to_json_file):
2107         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
2108         (WebDriverTestRunnerW3C.run):
2109
2110 2017-11-28  Alexey Proskuryakov  <ap@apple.com>
2111
2112         Stop silencing leaks in TextCodecICU::registerCodecs, as the problem was fixed a while ago.
2113         https://bugs.webkit.org/show_bug.cgi?id=118505
2114
2115         Reviewed by Joseph Pecoraro.
2116
2117         * Scripts/valgrind/suppressions.txt:
2118         * Scripts/webkitpy/port/leakdetector.py:
2119         (LeakDetector._callstacks_to_exclude_from_leaks):
2120
2121 2017-11-28  Ms2ger  <Ms2ger@igalia.com>
2122
2123         Stop modifying self.expectations in TestExpectationLine.expected_behavior.
2124         https://bugs.webkit.org/show_bug.cgi?id=180074
2125
2126         Reviewed by Simon Fraser.
2127
2128         In particular, getting the property multiple times on a skipped test
2129         expectation line (which happens when using
2130         `Tools/Scripts/run-webkit-tests --print-expectations` if a directory
2131         containing multiple tests is skipped) would yield [pass, skip], then
2132         [pass, skip, skip], then [pass, skip, skip, skip], and so on.
2133
2134         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
2135         (TestExpectationLine.expected_behavior): copy self.expectations before modifying it.
2136
2137 2017-11-14  Carlos Garcia Campos  <cgarcia@igalia.com>
2138
2139         Move JSONValues to WTF and convert uses of InspectorValues.h to JSONValues.h
2140         https://bugs.webkit.org/show_bug.cgi?id=173793
2141
2142         Reviewed by Joseph Pecoraro.
2143
2144         * TestWebKitAPI/CMakeLists.txt:
2145         * TestWebKitAPI/PlatformGTK.cmake:
2146         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2147         * TestWebKitAPI/Tests/WTF/JSONValue.cpp: Renamed from Tools/TestWebKitAPI/Tests/JavaScriptCore/InspectorValue.cpp.
2148         (TestWebKitAPI::TEST):
2149
2150 2017-11-28  Ryan Haddad  <ryanhaddad@apple.com>
2151
2152         Bugs filed from the flakiness dashboard should include a link to the dashboard
2153         https://bugs.webkit.org/show_bug.cgi?id=180090
2154
2155         Reviewed by Aakash Jain.
2156
2157         * TestResultServer/static-dashboards/flakiness_dashboard.js:
2158         (createBugHTML):
2159         Open the bug compose page in a new tab and include a link
2160         to the flakiness dashboard results for the selected test.
2161
2162 2017-11-28  Jonathan Bedard  <jbedard@apple.com>
2163
2164         webkitpy: Standardize Version representation
2165         https://bugs.webkit.org/show_bug.cgi?id=179677
2166         <rdar://problem/35711277>
2167
2168         Reviewed by Alex Christensen.
2169
2170         Standardize a single method of representing versions in the Version object
2171         constructor. Provide static methods for converting string and lists/tuples
2172         to Version objects.
2173
2174         * Scripts/webkitpy/common/system/platforminfo.py:
2175         (PlatformInfo.__init__): Parse Version object from string instead of using
2176         the constructor.
2177         (PlatformInfo.xcode_sdk_version): Ditto.
2178         (PlatformInfo.xcode_version): Ditto.
2179         (PlatformInfo._win_version): Construct Version object from list.
2180         * Scripts/webkitpy/common/system/platforminfo_mock.py:
2181         (MockPlatformInfo.xcode_sdk_version):
2182         (MockPlatformInfo.xcode_version):
2183         * Scripts/webkitpy/common/version.py:
2184         (Version):
2185         (Version.from_string): Parse string of the form 'x.x.x'.
2186         (Version.from_iterable): Construct a version object from a list, tuple or
2187         other indexable object.
2188         (Version.__init__): Construct a Version object from integers.
2189         * Scripts/webkitpy/common/version_name_map.py:
2190         (VersionNameMap.__init__): Use integer Version constructor.
2191         (VersionNameMap._automap_to_major_version): Ditto.
2192         (VersionNameMap.to_name):
2193         (VersionNameMap.strip_name_formatting): Construct Version from string.
2194         * Scripts/webkitpy/common/version_name_map_unittest.py:
2195         (VersionMapTestCase.test_mac_version_by_name): Use integer Version constructor.
2196         (VersionMapTestCase.test_mac_name_by_version): Ditto.
2197         (VersionMapTestCase.test_ios_name_by_version): Ditto.
2198         * Scripts/webkitpy/common/version_unittest.py:
2199         (VersionTestCase.test_string_constructor):
2200         (VersionTestCase.test_from_list):
2201         (VersionTestCase.test_from_tuple):
2202         (VersionTestCase.test_int_constructor):
2203         (VersionTestCase.test_len):
2204         (VersionTestCase.test_set_by_int):
2205         (VersionTestCase.test_set_by_string):
2206         (VersionTestCase.test_get_by_int):
2207         (VersionTestCase.test_get_by_string):
2208         (VersionTestCase.test_string):
2209         (VersionTestCase.test_contained_in):
2210         (VersionTestCase.test_compare_versions):
2211         (VersionTestCase.test_list_constructor): Deleted.
2212         (VersionTestCase.test_tuple_constructor): Deleted.
2213         (VersionTestCase.test_copy_constructor): Deleted.
2214         (VersionTestCase.test_none_constructor): Deleted.
2215         * Scripts/webkitpy/port/ios.py:
2216         (IOSPort.default_baseline_search_path): Handle case where ios_version is None.
2217         * Scripts/webkitpy/port/ios_device.py:
2218         (IOSDevicePort.ios_version): Return None rather than an empty version.
2219         * Scripts/webkitpy/port/ios_simulator.py:
2220         (IOSSimulatorPort.simulator_runtime): Parse Version object from string instead
2221         of using the constructor.
2222         (IOSSimulatorPort.ios_version): Return None rather than an empty version.
2223         * Scripts/webkitpy/xcode/simulator.py:
2224         (Simulator._parse_runtimes): Parse Version object from string instead of using
2225         the constructor.
2226         (Simulator._parse_devices): Ditto.
2227         * Scripts/webkitpy/xcode/simulator_unittest.py:
2228
2229 2017-11-28  Daniel Bates  <dabates@apple.com>
2230
2231         [Cocoa] First pass at implementing alternative presentation button element
2232         https://bugs.webkit.org/show_bug.cgi?id=179785
2233         Part of <rdar://problem/34917108>
2234
2235         Reviewed by Brent Fulgham.
2236
2237         Add a test that substitutes the alternative presentation button for an element in
2238         the page and clicks it.
2239
2240         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add test.
2241         * TestWebKitAPI/Tests/WebKitCocoa/ClickAlternativePresentationButton.mm: Added.
2242         (didClickAlternativePresentationButton):
2243         (-[ClickAlternativePresentationButton webProcessPlugIn:didCreateBrowserContextController:]):
2244         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
2245         (TEST):
2246         (-[AlternativePresentationButtonDelegate _webView:didClickAlternativePresentationButtonWithUserInfo:]):
2247         (-[AlternativePresentationButtonDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
2248
2249 2017-11-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2250
2251         REGRESSION(r225166): [GTK] Skipped unit tests are considered failures after glib upgrade
2252         https://bugs.webkit.org/show_bug.cgi?id=180072
2253
2254         Reviewed by Michael Catanzaro.
2255
2256         This is a bug in GLib that has already been fixed. Backport the patch to fix it until there's a new GLib release
2257         we can depend on.
2258
2259         * gtk/jhbuild.modules:
2260         * gtk/patches/glib-gtester-do-not-consider-skipped-tests-as-failures.patch: Added.
2261
2262 2017-11-28  Fujii Hironori  <Hironori.Fujii@sony.com>
2263
2264         webkitpy: PlatformInfo raises AssertionError "assert self.os_version is not None" in Cygwin since Bug 179621
2265         https://bugs.webkit.org/show_bug.cgi?id=180069
2266
2267         Reviewed by Daniel Bates.
2268
2269         "Version 10.0.16299" was interpreted as 0.0.16299. Fix the wrong
2270         regexp for 'ver' command.
2271
2272         * Scripts/webkitpy/common/system/platforminfo.py:
2273         (PlatformInfo._win_version_from_cmd): Replace \d with \d+.
2274
2275 2017-11-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2276
2277         [GTK] WebDriver: disable XSS auditor when running WebDriver tests
2278         https://bugs.webkit.org/show_bug.cgi?id=180075
2279
2280         Reviewed by Carlos Alberto Lopez Perez.
2281
2282         Some tests are now doing inline('<script>window.alert()</script>') which is rejected by the XSS auditor because
2283         the script source is part of the request URL.
2284
2285         * Scripts/webkitpy/webdriver_tests/webdriver_driver_gtk.py:
2286         (WebDriverGtk.capabilities): Disable XSS auditor.
2287
2288 2017-11-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2289
2290         WebDriver: add timeout option to run-webdriver-tests script
2291         https://bugs.webkit.org/show_bug.cgi?id=179940
2292
2293         Reviewed by Carlos Alberto Lopez Perez.
2294
2295         We need to handle timeouts to be able to run the tests in the bots. pytest doesn't support timeouts, but there's
2296         a plugin pytest_timeout that can be used for that.
2297
2298         * Scripts/run-webdriver-tests: Add --timeout command line option.
2299         * Scripts/webkitpy/thirdparty/__init__.py:
2300         (AutoinstallImportHook.find_module): Check if pytest_timeout is imported to install it.
2301         (AutoinstallImportHook._install_pytest_timeout): Install pytest_timeout from pypi.
2302         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
2303         (WebDriverTestRunnerW3C.__init__): Set PYTEST_TIMEOUT env var with the timeout given.
2304         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
2305         (WebDriverW3CExecutor.run): Clarify that the timeout received by do_wdspec() is ignored, and pass 0 instead of 25.
2306
2307 2017-11-27  Aakash Jain  <aakash_jain@apple.com>
2308
2309         Do not run webkitpy tests on multiple EWSes
2310         https://bugs.webkit.org/show_bug.cgi?id=179834
2311
2312         Reviewed by Alexey Proskuryakov.
2313
2314         Do not run webkitpy tests in every EWS. We now have
2315         a dedicated webkitpy test EWS.
2316
2317         * Scripts/webkitpy/tool/steps/runtests.py:
2318         (RunTests.run): Do not run webkitpy tests in EWSes. These tests will still run
2319         when --non-interactive option is not passed. 
2320
2321 2017-11-27  Jonathan Bedard  <jbedard@apple.com>
2322
2323         webkitpy: Better name-version mapping (Part 1)
2324         https://bugs.webkit.org/show_bug.cgi?id=179621
2325         <rdar://problem/35589585>
2326
2327         Reviewed by David Kilzer.
2328
2329         Mapping version numbers to version names should occur in a central location.
2330         This has a few advantages. First, it makes iterating through versions easier.
2331         Second, it allows for apple_additions to define an additional set of name
2332         mappings. Lastly, it will allow, in a future patch, for us to track version
2333         instead of version name, only mapping version to version name when required.
2334
2335         * Scripts/webkitpy/common/system/platforminfo.py:
2336         (PlatformInfo.__init__):
2337         (PlatformInfo._determine_os_name): Use VersionNameMap instead of custom functions
2338         mapping version to name.
2339         (PlatformInfo._determine_linux_version): Deleted.
2340         (PlatformInfo._determine_mac_version): Deleted.
2341         (PlatformInfo._determine_win_version): Deleted.
2342         * Scripts/webkitpy/common/system/platforminfo_unittest.py:
2343         (TestPlatformInfo.test_os_name_and_wrappers):
2344         (TestPlatformInfo.test_os_version):
2345         (TestPlatformInfo.test_display_name):
2346         (TestPlatformInfo.test_total_bytes_memory):
2347         * Scripts/webkitpy/common/version.py:
2348         (Version.contained_in): Add partial version mapping.
2349         * Scripts/webkitpy/common/version_name_map.py: Added.
2350         (VersionNameMap): Holds a mapping of version name to version object.
2351         (VersionNameMap.map): Don't re-create VersionNameMap every time.
2352         (VersionNameMap.__init__): Initialize mapping, use platform to
2353         define the default system platform.
2354         (VersionNameMap._automap_to_major_version): Some operating systems, such
2355         as iOS, have a naming scheme based on their major version and os name.
2356         Automatically generate such mappings.
2357         (VersionNameMap.to_name): Given a version object, platform name and
2358         table, find the closest matching version name.
2359         (VersionNameMap.strip_name_formatting): Remove spaces and extract the major version,
2360         if a version string is included in the name.
2361         (VersionNameMap.from_name): Return an os name and version given a version name.
2362         * Scripts/webkitpy/common/version_name_map_unittest.py: Added.
2363         (VersionMapTestCase):
2364         (VersionMapTestCase.test_default_system_platform):
2365         (VersionMapTestCase.test_mac_version_by_name):
2366         (VersionMapTestCase.test_ios_version_by_name):
2367         (VersionMapTestCase.test_mac_name_by_version):
2368         (VersionMapTestCase.test_ios_name_by_version):
2369         * Scripts/webkitpy/common/version_unittest.py:
2370         (VersionTestCase.test_contained_in):
2371         * Scripts/webkitpy/port/ios_device.py:
2372         (IOSDevicePort.ios_version): Map os_version name to version number.
2373
2374 2017-11-27  Don Olmstead  <don.olmstead@sony.com>
2375
2376         [CMake][Win] Conditionally select DLL CRT or static CRT
2377         https://bugs.webkit.org/show_bug.cgi?id=170594
2378
2379         Reviewed by Alex Christensen.
2380
2381         * DumpRenderTree/PlatformWin.cmake:
2382         * MiniBrowser/win/CMakeLists.txt:
2383
2384 2017-11-27  Yacine Bandou  <yacine.bandou_ext@softathome.com>
2385
2386         [GTK][WPE] Add "enable-encrypted-media" property to WebKitWebSettings
2387         https://bugs.webkit.org/show_bug.cgi?id=18005
2388
2389         Reviewed by Michael Catanzaro.
2390
2391         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
2392         (testWebKitSettings):
2393
2394 2017-11-27  Tim Horton  <timothy_horton@apple.com>
2395
2396         One too many zeroes in macOS version number in FeatureDefines
2397         https://bugs.webkit.org/show_bug.cgi?id=180011
2398
2399         Reviewed by Dan Bernstein.
2400
2401         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2402
2403 2017-11-27  Per Arne Vollan  <pvollan@apple.com>
2404
2405         [Win] The number of webkit-patch iterations on EWS should be configurable.
2406         https://bugs.webkit.org/show_bug.cgi?id=178517
2407
2408         Reviewed by Darin Adler.
2409
2410         Add a new RESET_AFTER_ITERATION argument to the EWS shell script.
2411
2412         * EWSTools/start-queue-win.sh:
2413
2414 2017-11-27  Per Arne Vollan  <pvollan@apple.com>
2415
2416         [Win] Switch to VS2017 on EWS bots.
2417         https://bugs.webkit.org/show_bug.cgi?id=178516
2418
2419         Reviewed by Darin Adler.
2420
2421         * EWSTools/start-queue-win.sh:
2422
2423 2017-11-27  Carlos Garcia Campos  <cgarcia@igalia.com>
2424
2425         [SOUP] Layout test media/track/track-text-track-cue-list.html crash with g_source_set_ready_time: assertion 'source->ref_count > 0' failed
2426         https://bugs.webkit.org/show_bug.cgi?id=176806
2427
2428         Reviewed by Carlos Alberto Lopez Perez.
2429
2430         This was caused by a GLib bug that has already been fixed. Upgrade glib to 2.54.2.
2431
2432         * gtk/jhbuild.modules:
2433         * gtk/patches/gdate-suppress-string-format-literal-warning.patch: Removed.
2434
2435 2017-11-24  Darin Adler  <darin@apple.com>
2436
2437         * TestWebKitAPI/Tests/WTF/OptionSet.cpp:
2438         (TestWebKitAPI::TEST): Added a test for OptionSet operator|.
2439
2440 2017-11-24  Mark Lam  <mark.lam@apple.com>
2441
2442         Move unsafe jsc shell test functions to the $vm object.
2443         https://bugs.webkit.org/show_bug.cgi?id=179980
2444
2445         Reviewed by Yusuke Suzuki.
2446
2447         Always set --useDollarVM=true for jsc runs of benchmarks.  This is needed because
2448         some microbenchmarks relies on createBuiltin().
2449
2450         Also set --useDollarVM=true for runExceptionFuzz and runExecutableAllocationFuzz.
2451
2452         * Scripts/run-jsc-benchmarks:
2453         * Scripts/run-jsc-stress-tests:
2454
2455 2017-11-23  Darin Adler  <darin@apple.com>
2456
2457         Reduce WTF::String operations that do unnecessary Unicode operations instead of ASCII
2458         https://bugs.webkit.org/show_bug.cgi?id=179907
2459
2460         Reviewed by Sam Weinig.
2461
2462         * DumpRenderTree/mac/DumpRenderTree.mm:
2463         (changeWindowScaleIfNeeded): Use containsIgnoringASCIICase.
2464         * WebKitTestRunner/TestInvocation.cpp:
2465         (WTR::TestInvocation::urlContains const): Ditto.
2466
2467 2017-11-22  Ali Juma  <ajuma@chromium.org>
2468
2469         Implement VisualViewport API attributes
2470         https://bugs.webkit.org/show_bug.cgi?id=179385
2471
2472         Reviewed by Frédéric Wang.
2473
2474         Enable the VisualViewportAPI in layout tests.
2475
2476         * DumpRenderTree/mac/DumpRenderTree.mm:
2477         (enableExperimentalFeatures):
2478         * DumpRenderTree/win/DumpRenderTree.cpp:
2479         (enableExperimentalFeatures):
2480
2481 2017-11-22  Tim Horton <timothy_horton@apple.com> and Michael Catanzaro <mcatanzaro@igalia.com>
2482
2483         Remove build-webkit's notion of feature flags having a default value
2484         https://bugs.webkit.org/show_bug.cgi?id=177338
2485
2486         Reviewed by Carlos Alberto Lopez Perez.
2487
2488         Delegate feature flag default values to the build system.
2489         (FeatureDefines.xcconfig for Xcode, WebKitFeatures.cmake and Options*.cmake for CMake, and FeatureDefines.h for everyone)
2490
2491         * BuildSlaveSupport/build.webkit.org-config/config.json:
2492         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
2493         (Factory.__init__):
2494         Update GTK and WPE buildbot configuration to use --no-experimental-features on old stable
2495         bots instead of --default-cmake-features.
2496  
2497         * Scripts/build-webkit:
2498         (cMakeArgsFromFeatures): Deleted.
2499         Default feature values to 'undef'.
2500         Remove the --default-cmake-features argument; it is now the default.
2501         Add --no-experimental-features to replace it.
2502         Stop printing the default feature flag value in the help.
2503         Avoid propagating undefined values to the build system;
2504         only mention flags that are overridden on the command line.
2505
2506         This has the nice side effect of using the default CMake features
2507         for CMake builds, but still allowing toggling of them using the
2508         prettier --FEATURE and --no-FEATURE arguments.
2509
2510         * Scripts/webkitdirs.pm:
2511         (generateBuildSystemFromCMakeProject):
2512         No longer need to suppress CMake warnings about unused arguments.
2513
2514         * Scripts/webkitperl/FeatureList.pm:
2515         Remove the default values from the feature list.
2516
2517 2017-11-22  Mark Lam  <mark.lam@apple.com>
2518
2519         [Re-landing] Pass --useDollarVM=true to all JSC tests.
2520         https://bugs.webkit.org/show_bug.cgi?id=179647
2521
2522         Reviewed by Saam Barati.
2523
2524         * Scripts/run-jsc-stress-tests:
2525
2526 2017-11-22  Commit Queue  <commit-queue@webkit.org>
2527
2528         Unreviewed, rolling out r225093.
2529         https://bugs.webkit.org/show_bug.cgi?id=179938
2530
2531         Compilation failed on WinCairo 64-bit Release (Requested by
2532         fredw on #webkit).
2533
2534         Reverted changeset:
2535
2536         "Implement VisualViewport API attributes"
2537         https://bugs.webkit.org/show_bug.cgi?id=179385
2538         https://trac.webkit.org/changeset/225093
2539
2540 2017-11-21  Ali Juma  <ajuma@chromium.org>
2541
2542         Implement VisualViewport API attributes
2543         https://bugs.webkit.org/show_bug.cgi?id=179385
2544
2545         Reviewed by Frédéric Wang.
2546
2547         Enable the VisualViewportAPI in layout tests.
2548
2549         * DumpRenderTree/mac/DumpRenderTree.mm:
2550         (enableExperimentalFeatures):
2551         * DumpRenderTree/win/DumpRenderTree.cpp:
2552         (enableExperimentalFeatures):
2553
2554 2017-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>
2555
2556         [WPE] Run unit tests in the bots
2557         https://bugs.webkit.org/show_bug.cgi?id=179910
2558
2559         Reviewed by Michael Catanzaro.
2560
2561         Add a step to run unit tests in WPE test bots.
2562
2563         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
2564         (RunGLibAPITests):
2565         (RunGtkAPITests):
2566         (RunWPEAPITests):
2567         (TestFactory.__init__):
2568         (RunGtkAPITests.start): Deleted.
2569         (RunGtkAPITests.commandComplete): Deleted.
2570         (RunGtkAPITests.evaluateCommand): Deleted.
2571         (RunGtkAPITests.getText): Deleted.
2572         (RunGtkAPITests.getText2): Deleted.
2573         * wpe/jhbuild.modules: Upgrade WPEBackend-mesa to fix crashes when running unit tests.
2574
2575 2017-11-21  Tomas Popela  <tpopela@redhat.com>
2576
2577         Fix WebKitGTK+ compilation
2578
2579         Reviewed by Carlos Garcia Campos.
2580
2581         File "/builddir/build/BUILD/webkitgtk-2.19.2/Tools/gtk/generate-gtkdoc", line 31, in <module>
2582         import common
2583         ImportError: No module named common
2584
2585         * gtk/manifest.txt.in:
2586         Add Tools/glib/common.py to the tarball.
2587
2588 2017-11-21  Ms2ger  <Ms2ger@igalia.com>
2589
2590         [GTK] Avoid warning in jhbuildrc.
2591         https://bugs.webkit.org/show_bug.cgi?id=179913
2592
2593         Reviewed by Carlos Garcia Campos.
2594
2595         Apparently this is not quite a real python file; this declaration causes
2596         warnings like
2597           I: unknown keys defined in configuration file: top_level_directory
2598         which break run-webkit-tests.
2599
2600         * gtk/jhbuildrc:
2601
2602 2017-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>
2603
2604         Unreviewed. Fix WPE make distcheck.
2605
2606         * wpe/manifest.txt.in: Add generate-inspector-gresource-manifest.py to the tarball.
2607
2608 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2609
2610         Unreviewed. Fix GTK+ make distcheck.
2611
2612         * gtk/manifest.txt.in: Add generate-inspector-gresource-manifest.py to the tarball.
2613
2614 2017-11-20  Michael Catanzaro  <mcatanzaro@igalia.com>
2615
2616         [WPE] Disable ACCELERATED_2D_CANVAS in FeatureList.pm
2617         https://bugs.webkit.org/show_bug.cgi?id=179889
2618
2619         Reviewed by Darin Adler.
2620
2621         * Scripts/webkitperl/FeatureList.pm:
2622
2623 2017-11-20  Michael Catanzaro  <mcatanzaro@igalia.com>
2624
2625         Unreviewed, speculative attempt to fix run-gtk-tests after r225047
2626         https://bugs.webkit.org/show_bug.cgi?id=173772
2627
2628         * jhbuild/jhbuildutils.py:
2629         (enter_jhbuild_environment_if_available):
2630
2631 2017-11-20  Mario Sanchez Prada  <mario@endlessm.com>
2632
2633         [GTK] New API to add, retrieve and delete cookies via WebKitCookieManager
2634         https://bugs.webkit.org/show_bug.cgi?id=177932
2635
2636         Reviewed by Carlos Garcia Campos.
2637
2638         Added new test cases to cover the newly added API for WebKitCookieManager:
2639         webkit_cookie_manager_add_cookie, webkit_cookie_manager_get_cookies and
2640         webkit_cookie_manager_delete_cookie.
2641
2642         * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
2643         (testCookieManagerAddCookie): Added.
2644         (testCookieManagerGetCookies): Added.
2645         (testCookieManagerDeleteCookie): Added.
2646         (serverCallback): Small update to avoid hardcoding strings we reuse.
2647         (beforeAll): Added the new test cases to the test suite.
2648
2649 2017-11-20  Stephan Szabo  <stephan.szabo@sony.com>
2650
2651         [Win] Update ruby JSC test writer for gigacage changes
2652         https://bugs.webkit.org/show_bug.cgi?id=178757
2653
2654         Reviewed by Keith Miller.
2655
2656         * Scripts/webkitruby/jsc-stress-test-writer-ruby.rb:
2657         Add additionalEnv to ruby test writer Plan
2658
2659 2017-11-20  Michael Catanzaro  <mcatanzaro@igalia.com>
2660
2661         Remove ENABLE_ALLINONE_BUILD option
2662         https://bugs.webkit.org/show_bug.cgi?id=179823
2663
2664         Reviewed by Darin Adler.
2665
2666         * Scripts/webkitperl/FeatureList.pm:
2667
2668 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2669
2670         Unreviewed. Fix WPE build after r225047.
2671
2672         Remove changes from an old patch committed by mistake in r225047.
2673
2674         * WebKitTestRunner/PlatformWebView.h:
2675         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
2676         (WTR::PlatformWebView::windowSnapshotImage):
2677
2678 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2679
2680         [WPE] Add run-wpe-tests script to run WPE glib API tests
2681         https://bugs.webkit.org/show_bug.cgi?id=173772
2682
2683         Reviewed by Michael Catanzaro.
2684
2685         Move common code from run-gtk-tests to api_test_runner.py, to be shared by both run-gtk-tests and un-wpe-tests.
2686
2687         * Scripts/run-gtk-tests:
2688         (GtkTestRunner):
2689         (GtkTestRunner.__init__):
2690         (GtkTestRunner._start_accessibility_daemons):
2691         (GtkTestRunner._setup_testing_environment):
2692         (GtkTestRunner._tear_down_testing_environment):
2693         (GtkTestRunner.is_glib_test):
2694         (GtkTestRunner.is_google_test):
2695         * Scripts/run-wpe-tests: Added.
2696         (WPETestRunner):
2697         (WPETestRunner.__init__):
2698         (WPETestRunner.is_glib_test):
2699         (WPETestRunner.is_google_test):
2700         * Scripts/webkitpy/port/headlessdriver.py: Added.
2701         (HeadlessDriver):
2702         (HeadlessDriver._setup_environ_for_test):
2703         (HeadlessDriver._start):
2704         * Scripts/webkitpy/port/headlessdriver_unittest.py: Added.
2705         (HeadlessDriverTest):
2706         (HeadlessDriverTest.make_driver):
2707         (HeadlessDriverTest.make_environment):
2708         (HeadlessDriverTest.test_environment_needed_variables):
2709         (HeadlessDriverTest.test_environment_forbidden_variables):
2710         * Scripts/webkitpy/port/wpe.py:
2711         (WPEPort._driver_class):
2712         * WebKitTestRunner/PlatformWebView.h:
2713         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
2714         (WTR::PlatformWebView::windowSnapshotImage):
2715         * glib/api_test_runner.py: Copied from Tools/Scripts/run-gtk-tests.
2716         (SkippedTest):
2717         (SkippedTest.__init__):
2718         (SkippedTest.__str__):
2719         (SkippedTest.skip_entire_suite):
2720         (SkippedTest.skip_for_build_type):
2721         (TestTimeout):
2722         (TestRunner):
2723         (TestRunner.__init__):
2724         (TestRunner._test_programs_base_dir):
2725         (TestRunner._get_tests_from_dir):
2726         (TestRunner._get_tests):
2727         (TestRunner._create_driver):
2728         (TestRunner._setup_testing_environment):
2729         (TestRunner._tear_down_testing_environment):
2730         (TestRunner._test_cases_to_skip):
2731         (TestRunner._should_run_test_program):
2732         (TestRunner._kill_process):
2733         (TestRunner._start_timeout):
2734         (TestRunner._start_timeout._alarm_handler):
2735         (TestRunner._stop_timeout):
2736         (TestRunner._waitpid):
2737         (TestRunner._run_test_glib):
2738         (TestRunner._run_test_glib.parse_line):
2739         (TestRunner._run_test_glib.parse_line.set_test_result):
2740         (TestRunner._get_tests_from_google_test_suite):
2741         (TestRunner._run_google_test):
2742         (TestRunner._run_google_test_suite):
2743         (TestRunner.is_glib_test):
2744         (TestRunner.is_google_test):
2745         (TestRunner._run_test):
2746         (TestRunner.run_tests):
2747         (add_options):
2748         * glib/common.py: Renamed from Tools/gtk/common.py.
2749         (get_build_path.is_valid_build_directory):
2750         * gtk/generate-gtkdoc:
2751         * gtk/jhbuildrc:
2752         * gtk/ycm_extra_conf.py:
2753
2754 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2755
2756         [WPE] Build C API tests
2757         https://bugs.webkit.org/show_bug.cgi?id=179817
2758
2759         Reviewed by Michael Catanzaro.
2760
2761         * TestWebKitAPI/CMakeLists.txt:
2762         * TestWebKitAPI/PlatformGTK.cmake:
2763         * TestWebKitAPI/PlatformWPE.cmake:
2764         * TestWebKitAPI/PlatformWebView.h:
2765         * TestWebKitAPI/wpe/PlatformUtilitiesWPE.cpp:
2766         (TestWebKitAPI::Util::URLForNonExistentResource):
2767         (TestWebKitAPI::Util::isKeyDown):
2768         * TestWebKitAPI/wpe/PlatformWebViewWPE.cpp: Added.
2769         (TestWebKitAPI::PlatformWebView::PlatformWebView):
2770         (TestWebKitAPI::PlatformWebView::~PlatformWebView):
2771         (TestWebKitAPI::PlatformWebView::initialize):
2772         (TestWebKitAPI::PlatformWebView::page const):
2773         (TestWebKitAPI::PlatformWebView::resizeTo):
2774         (TestWebKitAPI::PlatformWebView::simulateSpacebarKeyPress):
2775         (TestWebKitAPI::PlatformWebView::simulateAltKeyPress):
2776         (TestWebKitAPI::PlatformWebView::simulateRightClick):
2777         (TestWebKitAPI::PlatformWebView::simulateMouseMove):
2778
2779 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2780
2781         [WPE] Add env var WPE_USE_HEADLESS_VIEW_BACKEND
2782         https://bugs.webkit.org/show_bug.cgi?id=173770
2783
2784         Reviewed by Michael Catanzaro.
2785
2786         Move HeadlessViewBackend implementation to a common place and build it as a private static library to be used by
2787         WTR, GLib API tests and eventually C API tests too. WTR uses the HeadlessViewBackend unconditionally, but GLib
2788         API tests use it only when WPE_USE_HEADLESS_VIEW_BACKEND environment variable is present and not "0".
2789
2790         * CMakeLists.txt: Include wpe/HeadlessViewBackend directory for developer builds.
2791         * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
2792         (testAutomationSessionRequestSession):
2793         * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
2794         (testCookieManagerEphemeral):
2795         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
2796         (testPrivateBrowsing):
2797         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
2798         (testWebContextProxySettings):
2799         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
2800         (testWebViewWebContext):
2801         (testWebViewEphemeral):
2802         * TestWebKitAPI/glib/PlatformWPE.cmake:
2803         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
2804         (Test::createWebViewBackend):
2805         (Test::createWebView):
2806         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
2807         (WebViewTest::initializeWebView):
2808         * WebKitTestRunner/PlatformWPE.cmake:
2809         * wpe/HeadlessViewBackend/CMakeLists.txt: Added.
2810         * wpe/HeadlessViewBackend/HeadlessViewBackend.cpp: Renamed from Tools/WebKitTestRunner/wpe/HeadlessViewBackend.cpp.
2811         (HeadlessViewBackend::HeadlessViewBackend):
2812         * wpe/HeadlessViewBackend/HeadlessViewBackend.h: Renamed from Tools/WebKitTestRunner/wpe/HeadlessViewBackend.h.
2813
2814 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2815
2816         [WPE] webkit_web_view_new() should enable specifying wpe_view_backend object
2817         https://bugs.webkit.org/show_bug.cgi?id=178655
2818
2819         Reviewed by Michael Catanzaro.
2820
2821         Update unit tests to create web views using helper methods that have a different implementation for GTK and
2822         WPE. Also add a new test case to check the new API to create a WebKitWebView with a WPE backend. Use
2823         WKViewCreate in WTR and fix a memory leak in HeadlessViewBackend.
2824
2825         * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
2826         (testAutomationSessionRequestSession):
2827         * TestWebKitAPI/Tests/WebKitGLib/TestBackForwardList.cpp:
2828         (testWebKitWebViewSessionState):
2829         (testWebKitWebViewSessionStateWithFormData):
2830         (testWebKitWebViewNavigationAfterSessionRestore):
2831         * TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp:
2832         * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
2833         (testWebResourceGetDataError):
2834         * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
2835         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
2836         (testWebViewNewWithUserContentManager):
2837         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
2838         (testWebContextEphemeral):
2839         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
2840         (testWebViewWebContext):
2841         (testWebViewWebContextLifetime):
2842         (testWebViewWebBackend):
2843         (testWebViewSettings):
2844         (beforeAll):
2845         * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
2846         (testWebsiteDataEphemeral):
2847         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
2848         (Test::createWebView):
2849         * WebKitTestRunner/wpe/HeadlessViewBackend.cpp:
2850         (HeadlessViewBackend::~HeadlessViewBackend):
2851         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
2852         (WTR::PlatformWebView::PlatformWebView):
2853
2854 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2855
2856         [GTK][WPE] webkit_cookie_manager_delete_all_cookies doesn't delete the cookies if called before a web process is running
2857         https://bugs.webkit.org/show_bug.cgi?id=175265
2858
2859         Reviewed by Michael Catanzaro.
2860
2861         Add test case.
2862
2863         * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
2864         (testCookieManagerPersistentStorageDeleteAll):
2865         (serverCallback):
2866         (beforeAll):
2867
2868 2017-11-19  Tim Horton  <timothy_horton@apple.com>
2869
2870         Remove unused TOUCH_ICON_LOADING feature flag
2871         https://bugs.webkit.org/show_bug.cgi?id=179873
2872
2873         Reviewed by Simon Fraser.
2874
2875         * Scripts/webkitperl/FeatureList.pm:
2876         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2877
2878 2017-11-19  Tim Horton  <timothy_horton@apple.com>
2879
2880         Remove unused LEGACY_VENDOR_PREFIXES feature flag
2881         https://bugs.webkit.org/show_bug.cgi?id=179872
2882
2883         Reviewed by Darin Adler.
2884
2885         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2886
2887 2017-11-19  Yusuke Suzuki  <utatane.tea@gmail.com>
2888
2889         Unreviewed, rolling out r225016.
2890
2891         Break webkit-patch on Ubuntu and Debian Linux
2892
2893         Reverted changeset:
2894
2895         "webkitpy: Better name-version mapping (Part 1)"
2896         https://bugs.webkit.org/show_bug.cgi?id=179621
2897         https://trac.webkit.org/changeset/225016
2898
2899 2017-11-18  Jonathan Bedard  <jbedard@apple.com>
2900
2901         webkitpy: Better name-version mapping (Part 1)
2902         https://bugs.webkit.org/show_bug.cgi?id=179621
2903         <rdar://problem/35589585>
2904
2905         Reviewed by David Kilzer.
2906
2907         Mapping version numbers to version names should occur in a central location.
2908         This has a few advantages. First, it makes iterating through versions easier.
2909         Second, it allows for apple_additions to define an additional set of name
2910         mappings. Lastly, it will allow, in a future patch, for us to track version
2911         instead of version name, only mapping version to version name when required.
2912
2913         * Scripts/webkitpy/common/system/platforminfo.py:
2914         (PlatformInfo.__init__):
2915         (PlatformInfo._determine_os_name): Use VersionNameMap instead of custom functions
2916         mapping version to name.
2917         (PlatformInfo._determine_linux_version): Deleted.
2918         (PlatformInfo._determine_mac_version): Deleted.
2919         (PlatformInfo._determine_win_version): Deleted.
2920         * Scripts/webkitpy/common/system/platforminfo_unittest.py:
2921         (TestPlatformInfo.test_os_name_and_wrappers):
2922         (TestPlatformInfo.test_os_version):
2923         (TestPlatformInfo.test_display_name):
2924         (TestPlatformInfo.test_total_bytes_memory):
2925         * Scripts/webkitpy/common/version.py:
2926         (Version.contained_in): Add partial version mapping.
2927         * Scripts/webkitpy/common/version_name_map.py: Added.
2928         (VersionNameMap): Holds a mapping of version name to version object.
2929         (VersionNameMap.map): Don't re-create VersionNameMap every time.
2930         (VersionNameMap.__init__): Initialize mapping, use platform to
2931         define the default system platform.
2932         (VersionNameMap._automap_to_major_version): Some operating systems, such
2933         as iOS, have a naming scheme based on their major version and os name.
2934         Automatically generate such mappings.
2935         (VersionNameMap.to_name): Given a version object, platform name and
2936         table, find the closest matching version name.
2937         (VersionNameMap.strip_name_formatting): Remove spaces and extract the major version,
2938         if a version string is included in the name.
2939         (VersionNameMap.from_name): Return an os name and version given a version name.
2940         * Scripts/webkitpy/common/version_name_map_unittest.py: Added.
2941         (VersionMapTestCase):
2942         (VersionMapTestCase.test_default_system_platform):
2943         (VersionMapTestCase.test_mac_version_by_name):
2944         (VersionMapTestCase.test_ios_version_by_name):
2945         (VersionMapTestCase.test_mac_name_by_version):
2946         (VersionMapTestCase.test_ios_name_by_version):
2947         * Scripts/webkitpy/common/version_unittest.py:
2948         (VersionTestCase.test_contained_in):
2949
2950 2017-11-17  John Wilander  <wilander@apple.com>
2951
2952         Storage Access API: UI process should update network process about granted access
2953         https://bugs.webkit.org/show_bug.cgi?id=176943
2954         <rdar://problem/34440612>
2955
2956         Reviewed by Alex Christensen.
2957
2958         This adds the TestRunner function setStatisticsHasHadNonRecentUserInteraction()
2959         which enables testing of prevalent resources with user interaction outside the
2960         24 hour window.
2961
2962         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2963         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2964         (WTR::TestRunner::setStorageAccessAPIEnabled):
2965         (WTR::TestRunner::setStatisticsHasHadNonRecentUserInteraction):
2966         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2967         * WebKitTestRunner/TestController.cpp:
2968         (WTR::TestController::setStatisticsHasHadNonRecentUserInteraction):
2969         * WebKitTestRunner/TestController.h:
2970         * WebKitTestRunner/TestInvocation.cpp:
2971         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2972         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2973         (WTR::initializeWebViewConfiguration):
2974         (WTR::TestController::setStatisticsHasHadNonRecentUserInteraction):
2975
2976 2017-11-17  Ryan Haddad  <ryanhaddad@apple.com>
2977
2978         Disable failing API tests for rdar://problem/35344202.
2979
2980         Unreviewed test gardening.
2981
2982         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
2983
2984 2017-11-17  Joanmarie Diggs  <jdiggs@igalia.com>
2985
2986         AX: [ATK] Fix WKTR's methods for testing row header and column header presence and count
2987         https://bugs.webkit.org/show_bug.cgi?id=179837
2988
2989         Reviewed by Chris Fleizach.
2990
2991         Add support to rowHeaders() for tables. Return an empty array in rowHeaders()
2992         and columnHeaders() upon failure. Rename getRowHeaders() and getColumnHeaders()
2993         to getTableRowHeaders() and getTableColumnHeaders() respectively.
2994
2995         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
2996         (WTR::AccessibilityUIElement::rowHeaders const):
2997         (WTR::AccessibilityUIElement::columnHeaders const):
2998         (WTR::AccessibilityUIElement::attributesOfColumnHeaders):
2999         (WTR::AccessibilityUIElement::attributesOfRowHeaders):
3000
3001 2017-11-16  Don Olmstead  <don.olmstead@sony.com>
3002
3003         [WinCairo] Update WinCairoRequirements
3004         https://bugs.webkit.org/show_bug.cgi?id=179790
3005
3006         Reviewed by Alex Christensen.
3007
3008         * TestWebKitAPI/PlatformWin.cmake:
3009
3010 2017-11-16  Daniel Bates  <dabates@apple.com>
3011
3012         Add feature define for alternative presentation button element
3013         https://bugs.webkit.org/show_bug.cgi?id=179692
3014         Part of <rdar://problem/34917108>
3015
3016         Reviewed by Andy Estes.
3017
3018         Only enabled on Cocoa platforms by default.
3019
3020         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3021
3022 2017-11-16  Per Arne Vollan  <pvollan@apple.com>
3023
3024         Win EWS bots should reboot after N webkit-patch iterations.
3025         https://bugs.webkit.org/show_bug.cgi?id=177970
3026
3027         Reviewed by Brent Fulgham.
3028
3029         * EWSTools/start-queue-win.sh:
3030
3031 2017-11-15  Carlos Garcia Campos  <cgarcia@igalia.com>
3032
3033         [WPE] Add initial support for WebDriver
3034         https://bugs.webkit.org/show_bug.cgi?id=179727
3035
3036         Reviewed by Michael Catanzaro.
3037
3038         Make it possible to run WebDriver tests with WPE.
3039
3040         * Scripts/run-webdriver-tests: Add --wpe alias for --platform=wpe.
3041         * Scripts/webkitpy/port/wpe.py:
3042         (WPEPort.__init__): Initialize _display_server from options.
3043         (WPEPort._driver_class): Use WaylandDriver when wayland is passed as display server option.
3044         * Scripts/webkitpy/webdriver_tests/webdriver_driver.py:
3045         (WebDriver.browser_env): Add virtual method to get the environment that should be used.
3046         * Scripts/webkitpy/webdriver_tests/webdriver_driver_wpe.py: Copied from Tools/Scripts/webkitpy/webdriver_tests/webdriver_driver.py.
3047         (WebDriverWPE):
3048         (WebDriverWPE.__init__):
3049         (WebDriverWPE.binary_path):
3050         (WebDriverWPE.browser_name):
3051         (WebDriverWPE.capabilities):
3052         (WebDriverWPE.browser_env):
3053         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
3054         (WebDriverW3CExecutor.__init__): Update the environment with the one provided by the driver.
3055         * wpe/jhbuild.modules: Upgrade dyz to newer version that supports automation.
3056
3057 2017-11-15  Alex Christensen  <achristensen@webkit.org>
3058
3059         WebViews scheduled in custom run loop modes should be able to do more than 50ms of work at a time
3060         https://bugs.webkit.org/show_bug.cgi?id=179742
3061         <rdar://problem/35519421>
3062
3063         Reviewed by Jer Noble.
3064
3065         * TestWebKitAPI/Tests/mac/WebViewScheduleInRunLoop.mm:
3066         (-[ScheduleInRunLoopDelegate webView:didFinishLoadForFrame:]):
3067         (TestWebKitAPI::TEST):
3068         Load more than one scheduled WebView to test work that typically takes more than 50 ms.
3069
3070 2017-11-15  Ryan Haddad  <ryanhaddad@apple.com>
3071
3072         Unreviewed, rolling out r223781.
3073
3074         The test is now returning false, so the FIXME is not needed
3075         anymore.
3076
3077         Reverted changeset:
3078
3079         "WebsiteDataStoreCustomPaths.mm is failing after r223718"
3080         https://bugs.webkit.org/show_bug.cgi?id=178596
3081         https://trac.webkit.org/changeset/223781
3082
3083 2017-11-15  Ryan Haddad  <ryanhaddad@apple.com>
3084
3085         Unreviewed, rolling out r224863.
3086
3087         Introduced LayoutTest crashes on iOS Simulator.
3088
3089         Reverted changeset:
3090
3091         "Move JSONValues to WTF and convert uses of InspectorValues.h
3092         to JSONValues.h"
3093         https://bugs.webkit.org/show_bug.cgi?id=173793
3094         https://trac.webkit.org/changeset/224863
3095
3096 2017-11-15  Michael Catanzaro  <mcatanzaro@igalia.com>
3097
3098         Remove GTK web inspector images
3099         https://bugs.webkit.org/show_bug.cgi?id=179716
3100
3101         Reviewed by Carlos Garcia Campos.
3102
3103         * Scripts/webkitdirs.pm:
3104         (shouldRemoveCMakeCache):
3105         * glib/generate-inspector-gresource-manifest.py:
3106         (get_filenames.should_ignore_resource):
3107         * gtk/manifest.txt.in:
3108         * wpe/manifest.txt.in:
3109
3110 2017-11-15  Jonathan Bedard  <jbedard@apple.com>
3111
3112         REGRESSION(r221877): 'future' handled incorrectly for mac
3113         https://bugs.webkit.org/show_bug.cgi?id=179711
3114         <rdar://problem/35546604>
3115
3116         Reviewed by Alex Christensen.
3117
3118         * Scripts/webkitpy/port/mac.py:
3119         (MacPort.default_baseline_search_path): Use platform/mac-<version> instead of
3120         platform/<version> as the baseline search path.
3121
3122 2017-11-14  Nan Wang  <n_wang@apple.com>
3123
3124         AX: AOM: Implement AccessibleNode class and support label and role attributes
3125         https://bugs.webkit.org/show_bug.cgi?id=179494
3126
3127         Reviewed by Ryosuke Niwa.
3128
3129         * DumpRenderTree/mac/DumpRenderTree.mm:
3130         (enableExperimentalFeatures):
3131         * WebKitTestRunner/TestController.cpp:
3132         (WTR::TestController::resetPreferencesToConsistentValues):
3133
3134 2017-11-14  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3135
3136         [Windows] Fix error while launching subprocess on Windows Python
3137         https://bugs.webkit.org/show_bug.cgi?id=179637
3138
3139         Reviewed by Alex Christensen.
3140
3141         To pass environment variables to subprocess.popen on Windows Python 2,
3142         the dict values must be str not unicode.
3143         Also is_native_win() method is added to port.
3144
3145         * Scripts/webkitpy/common/system/platforminfo.py:
3146         (PlatformInfo.is_native_win):
3147         * Scripts/webkitpy/common/system/platforminfo_mock.py:
3148         (MockPlatformInfo.is_native_win):
3149         * Scripts/webkitpy/common/system/platforminfo_unittest.py:
3150         (TestPlatformInfo.test_os_name_and_wrappers):
3151         * Scripts/webkitpy/port/server_process.py:
3152         (ServerProcess.__init__):
3153
3154 2017-11-14  Carlos Garcia Campos  <cgarcia@igalia.com>
3155
3156         Move JSONValues to WTF and convert uses of InspectorValues.h to JSONValues.h
3157         https://bugs.webkit.org/show_bug.cgi?id=173793
3158
3159         Reviewed by Brian Burg.
3160
3161         * TestWebKitAPI/CMakeLists.txt:
3162         * TestWebKitAPI/PlatformGTK.cmake:
3163         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3164         * TestWebKitAPI/Tests/WTF/JSONValue.cpp: Renamed from Tools/TestWebKitAPI/Tests/JavaScriptCore/InspectorValue.cpp.
3165         (TestWebKitAPI::TEST):
3166
3167 2017-11-14  Jonathan Bedard  <jbedard@apple.com>
3168
3169         webkitpy: Use more verbose version info from simctl
3170         https://bugs.webkit.org/show_bug.cgi?id=179687
3171         <rdar://problem/35539392>
3172
3173         Reviewed by Tim Horton.
3174
3175         * Scripts/webkitpy/xcode/simulator.py:
3176         (Simulator): Address FIXME, use more verbose version.
3177         (Simulator._parse_runtimes): 'Internal' no longer stands along, check os for this
3178         string instead.
3179         * Scripts/webkitpy/xcode/simulator_unittest.py: Mock simctl output specifies iOS
3180         8.4.1, not iOS 8.4.
3181
3182 2017-11-14  Daniel Bates  <dabates@apple.com>
3183
3184         Update comment in FeatureDefines.xcconfig to reflect location of Visual Studio property files
3185         for feature defines
3186
3187         Following r195498 and r201917 the Visual Studio property files for feature defines have
3188         moved from directory WebKitLibraries/win/tools/vsprops to directory Source/cmake/tools/vsprops.
3189         Update the comment in FeatureDefines.xcconfig to reflect the new location and names of these
3190         files.
3191
3192         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3193
3194 2017-11-14  Jer Noble  <jer.noble@apple.com>
3195
3196         Enable Modern EME tests in DumpRenderTree
3197         https://bugs.webkit.org/show_bug.cgi?id=179544
3198
3199         Reviewed by Alex Christensen.
3200
3201         * DumpRenderTree/mac/DumpRenderTree.mm:
3202         (enableExperimentalFeatures):
3203
3204 2017-11-14  Commit Queue  <commit-queue@webkit.org>
3205
3206         Unreviewed, rolling out r224800.
3207         https://bugs.webkit.org/show_bug.cgi?id=179684
3208
3209         "Broke CLoop test mozilla/js1_6/Array/regress-304828.js"
3210         (Requested by mlam on #webkit).
3211
3212         Reverted changeset:
3213
3214         "Pass --useDollarVM=true to all JSC tests."
3215         https://bugs.webkit.org/show_bug.cgi?id=179647
3216         https://trac.webkit.org/changeset/224800
3217
3218 2017-11-14  Antti Koivisto  <antti@apple.com>
3219
3220         Enable display:contents by default
3221         https://bugs.webkit.org/show_bug.cgi?id=179655
3222
3223         Reviewed by Sam Weinig.
3224
3225         No need to enable this specifically for tests anymore.
3226
3227         * DumpRenderTree/mac/DumpRenderTree.mm:
3228         (enableExperimentalFeatures):
3229         * WebKitTestRunner/TestController.cpp:
3230         (WTR::TestController::resetPreferencesToConsistentValues):
3231
3232 2017-11-14  Tim Horton  <timothy_horton@apple.com>
3233
3234         Long pressing a phone number with spaces in it results in a link sheet instead of a data detectors sheet
3235         https://bugs.webkit.org/show_bug.cgi?id=179646
3236         <rdar://problem/35337288>
3237
3238         Reviewed by Simon Fraser.
3239
3240         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
3241         (-[ActionSheetObserver _dataDetectionContextForWebView:]):
3242         (TestWebKitAPI::TEST):
3243         Add a test that ensures that a phone number with spaces in it
3244         invokes a data detectors sheet, not a normal link sheet.
3245
3246 2017-11-14  Emilio Cobos Álvarez  <emilio@crisal.io>
3247
3248         Add committer status for Emilio Cobos Álvarez.
3249         https://bugs.webkit.org/show_bug.cgi?id=179667
3250
3251         Unreviewed.
3252
3253         * Scripts/webkitpy/common/config/contributors.json:
3254
3255 2017-11-13  Mark Lam  <mark.lam@apple.com>
3256
3257         Pass --useDollarVM=true to all JSC tests.
3258         https://bugs.webkit.org/show_bug.cgi?id=179647
3259
3260         Reviewed by Saam Barati.
3261
3262         * Scripts/run-jsc-stress-tests:
3263
3264 2017-11-13  Simon Fraser  <simon.fraser@apple.com>
3265
3266         When navigating back to a page, compositing layers may not use accelerated drawing
3267         https://bugs.webkit.org/show_bug.cgi?id=178749
3268         rdar://problem/35158946
3269
3270         Reviewed by Dean Jackson.
3271
3272         Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
3273         and use it to set the state of the web view.
3274
3275         * DumpRenderTree/TestOptions.h:
3276         * DumpRenderTree/TestOptions.mm:
3277         (TestOptions::TestOptions):
3278         * DumpRenderTree/mac/DumpRenderTree.mm:
3279         (setWebPreferencesForTestOptions):
3280         * WebKitTestRunner/TestController.cpp:
3281         (WTR::TestController::resetPreferencesToConsistentValues):
3282         (WTR::updateTestOptionsFromTestHeader):
3283         * WebKitTestRunner/TestOptions.h:
3284         (WTR::TestOptions::hasSameInitializationOptions const):
3285
3286 2017-11-13  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3287
3288         [Windows] Fix Python error for subprocess.popen with close_fds
3289         https://bugs.webkit.org/show_bug.cgi?id=179553
3290
3291         Reviewed by Per Arne Vollan.
3292
3293         * Scripts/webkitpy/port/server_process.py:
3294         (ServerProcess._start):
3295         (ServerProcess._should_close_fds):
3296
3297 2017-11-13  Michael Catanzaro  <mcatanzaro@igalia.com>
3298
3299         [GTK] Require woff2 1.0.2 and drop direct brotli dependency
3300         https://bugs.webkit.org/show_bug.cgi?id=179630
3301
3302         Reviewed by Frédéric Wang.
3303
3304         * gtk/jhbuild.modules:
3305
3306 2017-11-08  Keith Miller  <keith_miller@apple.com>
3307
3308         Async iteration should only fetch the next method once and add feature flag
3309         https://bugs.webkit.org/show_bug.cgi?id=179451
3310
3311         Reviewed by Geoffrey Garen.
3312
3313         Add feature flag for Async iteration.
3314
3315         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3316
3317 2017-11-13  Gabriel Ivascu  <givascu@igalia.com>
3318
3319         [GTK] Automatically adjust font size when gtk-xft-dpi changes
3320         https://bugs.webkit.org/show_bug.cgi?id=142673
3321
3322         Reviewed by Michael Catanzaro.
3323
3324         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
3325         (testWebKitSettings):
3326
3327 2017-11-13  Jonathan Bedard  <jbedard@apple.com>
3328
3329         check-webkit-style cannot construct valid iOS version without an iOS SDK
3330         https://bugs.webkit.org/show_bug.cgi?id=179616
3331         <rdar://problem/35507018>
3332
3333         Reviewed by David Kilzer.
3334
3335         Instead of throwing an exception when we ask for an unavailable SDK on Mac,
3336         we should return None.
3337
3338         * Scripts/webkitpy/common/system/platforminfo.py:
3339         (PlatformInfo.xcode_sdk_version): Return 'None' version if the machine does not
3340         have the requested SDK.
3341
3342 2017-11-13  Keith Miller  <keith_miller@apple.com>
3343
3344         Uninitialized variable in sort-Xcode-project-file
3345         https://bugs.webkit.org/show_bug.cgi?id=179581
3346
3347         Reviewed by Simon Fraser.
3348
3349         Previously all the unified source files were named
3350         UnifiedSource<some-number>.mm. This was changed to
3351         UnifiedSource<some-number>-mm.mm to stop Xcode from creating
3352         hashes for mm and cpp unified source files with the same
3353         number. This broke the expectations in sort-Xcode-project-file.
3354
3355         * Scripts/sort-Xcode-project-file:
3356         (sortChildrenByFileName):
3357         (sortFilesByFileName):
3358
3359 2017-11-13  JF Bastien  <jfbastien@apple.com>
3360
3361         std::expected: fix and test move
3362         https://bugs.webkit.org/show_bug.cgi?id=179617
3363
3364         Reviewed by Alex Christensen.
3365
3366         Test that unique_ptr can be moved around properly, both has a
3367         value and an error (and in a <void, unique> specialization).
3368
3369         * TestWebKitAPI/Tests/WTF/Expected.cpp:
3370         (TestWebKitAPI::snowflake::reset):
3371         (TestWebKitAPI::snowflake::snowflake):
3372         (TestWebKitAPI::snowflake::~snowflake):
3373         (TestWebKitAPI::TEST):
3374
3375 2017-11-13  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3376
3377         [Windows] Make the port's normalize_test_name() method platform independent.
3378         https://bugs.webkit.org/show_bug.cgi?id=179572
3379
3380         Reviewed by Alexey Proskuryakov.
3381
3382         * Scripts/webkitpy/port/base.py:
3383         (Port.normalize_test_name):
3384
3385 2017-11-13  Wenson Hsieh  <wenson_hsieh@apple.com>
3386
3387         [Attachment Support] Implement SPI for clients to request data for a given attachment
3388         https://bugs.webkit.org/show_bug.cgi?id=179586
3389         <rdar://problem/35355720>
3390
3391         Reviewed by Darin Adler.
3392
3393         Augments existing API tests in WKAttachmentTests to additionally check that -requestData: yields the correct
3394         result when performing various editing operations. Also adds a new API test that cuts and pastes an attachment
3395         inserted using WKWebView attachment SPI, and expects that the data of the attachment can still be fetched using
3396         the _WKAttachment SPI, as well as another test that inserts an empty NSData and expects that requestData: also
3397         yields an empty NSData result.
3398
3399         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3400         (-[NSData shortDescription]):
3401         (-[_WKAttachment synchronouslyRequestData:]):
3402         (-[_WKAttachment expectRequestedDataToBe:]):
3403         (TestWebKitAPI::TEST):
3404
3405 2017-11-12  Gabriel Ivascu  <givascu@igalia.com>
3406
3407         [GTK] Add functionality to handle font sizes in points
3408         https://bugs.webkit.org/show_bug.cgi?id=179285
3409
3410         Reviewed by Carlos Garcia Campos and Michael Catanzaro.
3411
3412         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
3413         (testWebKitSettings):
3414
3415 2017-11-10  Fujii Hironori  <Hironori.Fujii@sony.com>
3416
3417         check-webkit-style: AttributeError: 'NoneType' object has no attribute 'major'
3418         https://bugs.webkit.org/show_bug.cgi?id=179522
3419
3420         Reviewed by Aakash Jain.
3421
3422         IOSSimulatorPort.ios_version should return a Version object.
3423
3424         * Scripts/webkitpy/port/ios_simulator.py:
3425         (IOSSimulatorPort.ios_version): Return a Version object.
3426
3427 2017-11-10  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3428
3429         [Win] The way to detect Windows 10 is wrong
3430         https://bugs.webkit.org/show_bug.cgi?id=179344
3431
3432         Reviewed by Alex Christensen.
3433
3434         * Scripts/webkitpy/common/system/platforminfo.py:
3435         (PlatformInfo._determine_win_version):
3436
3437 2017-11-10  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3438
3439         [WinCairo] LayoutTests doesn't read TextExpectations files correctly
3440         https://bugs.webkit.org/show_bug.cgi?id=179219
3441
3442         Reviewed by Alex Christensen.
3443
3444         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
3445         (TestExpectationParser._parse_line):
3446         * Scripts/webkitpy/port/apple.py:
3447         (ApplePort.__init__):
3448         (ApplePort._allowed_port_names):
3449         (ApplePort):
3450         (ApplePort._future_port_name):
3451         (ApplePort._generate_all_test_configurations):
3452         * Scripts/webkitpy/port/win.py:
3453         (WinCairoPort.default_baseline_search_path):
3454         (WinCairoPort):
3455         (WinCairoPort._future_port_name):
3456
3457 2017-11-10  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3458
3459         [WinCairo] Treat 'future' version correctly
3460         https://bugs.webkit.org/show_bug.cgi?id=179345
3461
3462         Reviewed by Alex Christensen.
3463
3464         * Scripts/webkitpy/port/win.py:
3465         (WinCairoPort.default_baseline_search_path):
3466
3467 2017-11-10  Wenson Hsieh  <wenson_hsieh@apple.com>
3468
3469         Finish rolling out r224544
3470
3471         Rubber-stamped by Tim Horton.
3472
3473         Now that https://bugs.webkit.org/show_bug.cgi?id=179431 has been fixed, we can once again allow one of the API
3474         tests added in r224512 (WKAttachmentTests.AttachmentUpdatesWhenChangingFontStyles) to test toggling underline
3475         style with a selected attachment element.
3476
3477         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3478         (TestWebKitAPI::TEST):
3479
3480 2017-11-10  Alex Christensen  <achristensen@webkit.org>
3481
3482         _WKThumbnailView initialization with WKWebView needs to call correct initWithFrame
3483         https://bugs.webkit.org/show_bug.cgi?id=179537
3484         <rdar://problem/35275219>
3485
3486         Reviewed by Darin Adler.
3487
3488         * TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm:
3489         (-[WKThumbnailViewDelegate webView:didFinishNavigation:]):
3490         (TestWebKitAPI::TEST):
3491
3492 2017-11-10  Jonathan Bedard  <jbedard@apple.com>
3493
3494         webkitpy: Remove find_system_pid from port classes
3495         https://bugs.webkit.org/show_bug.cgi?id=179514
3496         <rdar://problem/35456900>
3497
3498         Reviewed by David Kilzer.
3499
3500         Removing dead code.
3501
3502         * Scripts/webkitpy/port/base.py:
3503         (Port.find_system_pid): Deleted.
3504         * Scripts/webkitpy/port/server_process.py:
3505         (ServerProcess._start):
3506         * Scripts/webkitpy/port/win.py:
3507         (WinPort.find_system_pid): Deleted.
3508
3509 2017-11-10  Aakash Jain  <aakash_jain@apple.com>
3510
3511         fix style failures in webkitpy: multiple statements on one line (semicolon)
3512         https://bugs.webkit.org/show_bug.cgi?id=179530
3513
3514         Reviewed by Alex Christensen.
3515
3516         * Scripts/webkitpy/common/net/buildbot/buildbot.py: Removed semicolon.
3517         * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: Ditto.
3518         * Scripts/webkitpy/tool/steps/runtests.py: Ditto.
3519
3520 2017-11-10  Aakash Jain  <aakash_jain@apple.com>
3521
3522         fix style failures in webkitpy: expected 2 blank lines found 1
3523         https://bugs.webkit.org/show_bug.cgi?id=179529
3524
3525         Reviewed by Alex Christensen.
3526
3527         * Scripts/webkitpy/benchmark_runner/run_benchmark.py: Added a blank line to follow style guidelines.
3528         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py: Ditto.
3529         * Scripts/webkitpy/common/system/platforminfo_mock.py: Ditto.
3530         * Scripts/webkitpy/common/version.py: Ditto.
3531         * Scripts/webkitpy/layout_tests/models/test_failures.py: Ditto.
3532         * Scripts/webkitpy/port/mac_unittest.py: Ditto.
3533         * Scripts/webkitpy/port/simulator_process.py: Ditto.
3534
3535 2017-11-10  Alex Christensen  <achristensen@webkit.org>
3536
3537         REGRESSION(r224267): WebViews scheduled with custom run loop modes don't load
3538         https://bugs.webkit.org/show_bug.cgi?id=179515
3539
3540         Reviewed by Andy Estes.
3541
3542         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3543         * TestWebKitAPI/Tests/mac/WebViewScheduleInRunLoop.mm: Added.
3544         (-[ScheduleInRunLoopDelegate webView:didFinishLoadForFrame:]):
3545         (TestWebKitAPI::TEST):
3546
3547 2017-11-10  Fujii Hironori  <Hironori.Fujii@sony.com>
3548
3549         [webkitpy] Fix PlatformInfo._win_version since r224657
3550         https://bugs.webkit.org/show_bug.cgi?id=179520
3551
3552         Reviewed by Aakash Jain.
3553
3554         There are two problems.
3555
3556         The return value of sys.getwindowsversion() doesn't match with
3557         Version.__init__ expects. Truncate the 4th and 5th of it.
3558
3559         _win_version_tuple_from_cmd was deleted in r224657. But, it is
3560         still needed for Cygwin Python.
3561
3562         * Scripts/webkitpy/common/system/platforminfo.py:
3563         (PlatformInfo._win_version): Return [0:3] of getwindowsversion().
3564         Call _win_version_from_cmd for Cygwin Python.
3565         (PlatformInfo._win_version_from_cmd): Restored.
3566
3567 2017-11-10  Guillaume Emont  <guijemont@igalia.com>
3568
3569         build-jsc: build testmasm for all platforms using cmake
3570         https://bugs.webkit.org/show_bug.cgi?id=179512
3571
3572         Reviewed by Michael Catanzaro.
3573
3574         * Scripts/build-jsc:
3575
3576 2017-11-09  Jonathan Bedard  <jbedard@apple.com>
3577
3578         webkitpy: Unify version parsing code
3579         https://bugs.webkit.org/show_bug.cgi?id=179426
3580         <rdar://problem/35415191>
3581
3582         Unreviewed fix to r224657.
3583
3584         * Scripts/webkitpy/common/version.py:
3585         (Version.__init__): Check if an object is iterable.
3586
3587 2017-11-09  Jonathan Bedard  <jbedard@apple.com>
3588
3589         webkitpy: Unify version parsing code
3590         https://bugs.webkit.org/show_bug.cgi?id=179426
3591         <rdar://problem/35415191>
3592
3593         Reviewed by David Kilzer.
3594
3595         webkitpy needs to parse version strings or version lists frequently. Rather than
3596         duplicate this code each time it's needed, unify it in a Version class.
3597
3598         * Scripts/webkitpy/common/system/platforminfo.py:
3599         (PlatformInfo.__init__): Convert mac version string to version object and
3600         use _win_version instead of _win_version_tuple.
3601         (PlatformInfo.xcode_sdk_version): Convert SDK version string to Version object
3602         before returning it.
3603         (PlatformInfo.xcode_version): Return Version object instead of version string.
3604         (PlatformInfo._determine_mac_version): Accept Version object instead of string,
3605         eliminate parsing.
3606         (PlatformInfo._determine_win_version): Accept Version object instead of tuple.
3607         (PlatformInfo._win_version): Return Version object instead of tuple, have Version
3608         object own version string parsing.
3609         (PlatformInfo._win_version_tuple): Renamed to _win_version().
3610         (PlatformInfo._win_version_tuple_from_cmd): Deleted.
3611         * Scripts/webkitpy/common/system/platforminfo_mock.py:
3612         (MockPlatformInfo.xcode_sdk_version): Return Version object instead of string.
3613         (MockPlatformInfo.xcode_version): Dittio.
3614         * Scripts/webkitpy/common/version.py: Added.
3615         (Version): Version object.
3616         (Version.__init__): Initialize the Version object with a string, integer,
3617         tuple of integers, list of integers or another Version object.
3618         (Version.__len__): Return 5 so that the Version object can be treated as
3619         a list or tuple.
3620         (Version.__getitem__): Get item in Version object by index or string.
3621         (Version.__setitem__): Set item in Version object by index or string.
3622         (Version.__str__): Convert version to printable string, omitting trailing 0's.
3623         (Version.__cmp__): Compare two version strings, major taking precedence over
3624         minor, minor taking precedence over build.
3625         * Scripts/webkitpy/common/version_unittest.py: Added.