Perl uninitialized value $isEnabled when running build-jsc using a CMake build
[WebKit-https.git] / Tools / ChangeLog
1 2018-06-29  Daniel Bates  <dabates@apple.com>
2
3         Perl uninitialized value $isEnabled when running build-jsc using a CMake build
4         https://bugs.webkit.org/show_bug.cgi?id=187208
5
6         Reviewed by Tim Horton.
7
8         Share logic for computing the feature flags to enable in CMake with both script
9         build-webkit and script build-jsc instead of duplicating it. This also fixes a
10         bug in the version of this logic in build-jsc that was inadvertently not updated
11         in r222394. In r222394 we removed the notion of a default value for a feature flag
12         listed in webkitperl::FeatureList.
13
14         We keep the current behavior of build-jsc and leave it up to the build system
15         to determine whether to enable or disable ENABLE_EXPERIMENTAL_FEATURES.
16
17         * Scripts/build-jsc:
18         (buildMyProject):
19         (cMakeArgsFromFeatures): Deleted.
20         * Scripts/build-webkit:
21         (cMakeArgsFromFeatures): Deleted; moved to webkitdirs.pm.
22         * Scripts/webkitdirs.pm:
23         (cmakeArgsFromFeatures): Moved code from script build-webkit so that it can be shared
24         with build-jsc.
25
26 2018-06-29  Tim Horton  <timothy_horton@apple.com>
27
28         Add -apple-color-filter and system appearance toggles to MiniBrowser
29         https://bugs.webkit.org/show_bug.cgi?id=187210
30
31         Reviewed by Simon Fraser.
32
33         * MiniBrowser/mac/AppDelegate.m:
34         (defaultConfiguration):
35         * MiniBrowser/mac/SettingsController.h:
36         * MiniBrowser/mac/SettingsController.m:
37         (-[SettingsController _populateMenu]):
38         (-[SettingsController validateMenuItem:]):
39         (-[SettingsController toggleAppleColorFilterEnabled:]):
40         (-[SettingsController appleColorFilterEnabled]):
41         (-[SettingsController toggleUseSystemAppearance:]):
42         (-[SettingsController useSystemAppearance]):
43         * MiniBrowser/mac/WK1BrowserWindowController.m:
44         (-[WK1BrowserWindowController didChangeSettings]):
45         * MiniBrowser/mac/WK2BrowserWindowController.m:
46         (-[WK2BrowserWindowController didChangeSettings]):
47
48 2018-06-29  Aditya Keerthi  <akeerthi@apple.com>
49
50         [macOS] Do not crash if there is an attempt to copy a file URL to the clipboard
51         https://bugs.webkit.org/show_bug.cgi?id=187183
52
53         Reviewed by Wenson Hsieh.
54
55         Added a 'runSingly' option to the TestOptions struct. Setting this option to true
56         will force a new PlatformWebView to be created before running a test. This ensures
57         that any state set by previous tests are not preserved.
58
59         One example of the importance of having this ability is in the case where we want
60         to test functionality that deals with read access to files. If a test were to
61         load a valid file URL, universal read access will be granted in WebProcessProxy.
62         This prevents us from testing cases that rely on us not have universal read
63         access. Now, if we write the test using the 'runSingly' option, any state set
64         by previous tests is cleared. Consequently, our test will behave as expected.
65
66         * WebKitTestRunner/PlatformWebView.h:
67         (WTR::PlatformWebView::viewSupportsOptions const):
68         * WebKitTestRunner/TestController.cpp:
69         (WTR::updateTestOptionsFromTestHeader):
70         * WebKitTestRunner/TestOptions.h:
71         (WTR::TestOptions::hasSameInitializationOptions const):
72
73 2018-06-29  Daniel Bates  <dabates@apple.com>
74
75         [lldb-webkit] Non-empty strings may be pretty-printed as empty
76         https://bugs.webkit.org/show_bug.cgi?id=187185
77
78         Reviewed by Simon Fraser.
79
80         For some reason lldb(1) sometimes has an issue accessing members of WTF::StringImplShape
81         via a WTF::StringImpl pointer (why?). Explicitly casting a WTF::StringImpl* to a
82         WTF::StringImplShape* before accessing such members makes LLDB happy.
83
84         I tried writing a test for this both for the LLVM project and to add to our lldb_webkit unit
85         tests to no avail. I have only been able to reproduce this bug sporadically during my WebCore/WebKit
86         debugging sessions so far.
87
88         * lldb/lldb_webkit.py:
89         (WTFStringImplProvider.__init__): Explicitly cast the WTF::StringImpl* to WTF::StringImplShape*.
90         (WTFStringImplProvider.get_data8): Update code now that we are directly accessing WTF::StringImplShape*.
91         (WTFStringImplProvider.get_data16): Ditto.
92
93 2018-06-29  Chris Dumez  <cdumez@apple.com>
94
95         WebKitLegacy: Can trigger recursive loads triggering debug assertions
96         https://bugs.webkit.org/show_bug.cgi?id=187121
97         <rdar://problem/41259430>
98
99         Reviewed by Brent Fulgham.
100
101         Add API test coverage.
102
103         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
104         * TestWebKitAPI/Tests/mac/StartLoadInDidFailProvisionalLoad.mm: Added.
105         (-[StartLoadInDidFailProvisionalLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]):
106         (-[StartLoadInDidFailProvisionalLoadDelegate webView:didFinishLoadForFrame:]):
107         (TestWebKitAPI::TEST):
108
109 2018-06-29  Lucas Forschler  <lforschler@apple.com>
110
111         Teach bisect-builds to retrieve supported platforms from the rest api.
112         https://bugs.webkit.org/show_bug.cgi?id=187195
113         
114         This patch updates bisect-builds to use v2_2 of the API. v2_2 adds two api endpoints: /platforms, and /minified-platforms.
115         These endpoints scan a dynamoDB database, returning the identifier key for all available platforms.
116         The identifier keys are in the format: platform-architecture-configuration.
117
118         Reviewed by Aakash Jain.
119
120         * Scripts/bisect-builds:
121         (get_api_archive_url): refactored from get_api_url.
122         (get_platforms): helper function to retrieve from the platforms api.
123         (minified_platforms): returns a list of minified platforms currently in the database
124         (unminified_platforms): returns a list of unminified platforms currently in the database
125         (is_supported_platform): checks if the platform-architecture-configuration combo is supported
126         (fetch_revision_list): refactored to use get_api_archive_url
127         (get_api_url): Deleted/refactored to get_api_archive_url.
128
129 2018-06-29  Keith Miller  <keith_miller@apple.com>
130
131         run-jsc should print when jsc exits with non-zero status
132         https://bugs.webkit.org/show_bug.cgi?id=187192
133
134         Reviewed by Saam Barati.
135
136         * Scripts/run-jsc:
137
138 2018-06-29  Aakash Jain  <aakash_jain@apple.com>
139
140         [ews-build] Add timeout to webkitpy and webkitperl tests
141         https://bugs.webkit.org/show_bug.cgi?id=187191
142
143         Reviewed by Lucas Forschler.
144
145         * BuildSlaveSupport/ews-build/steps.py:
146         (RunWebKitPerlTests.__init__): Set timeout of 2 minutes.
147         (RunWebKitPyTests.__init__): Ditto.
148         * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
149
150 2018-06-29  Carlos Alberto Lopez Perez  <clopez@igalia.com>
151
152         [WPE]: Fix exception handling when flatpak is not installed
153         https://bugs.webkit.org/show_bug.cgi?id=186771
154
155         Unreviewed followup-fix after r233362
156
157         This was causing failures when flatpak is not installed.
158
159         * flatpak/flatpakutils.py:
160         (check_flatpak):
161
162 2018-06-29  Ross Kirsling  <ross.kirsling@sony.com>
163
164         [JSCOnly] Restore Windows build.
165         https://bugs.webkit.org/show_bug.cgi?id=187127
166
167         Reviewed by Michael Catanzaro.
168
169         * Scripts/build-jsc:
170         Fix condition for disabling FTL JIT on Windows.
171
172         * Scripts/webkitdirs.pm:
173         (executableProductDir):
174         JSCOnly should still use bin64 on Windows (for consistency with full WebKit build).
175         (determineIsWin64):
176         JSCOnly already defaults to 64-bit on Windows with Ninja -- ensure that this is true even with MSBuild.
177
178 2018-06-29  Thibault Saunier  <tsaunier@igalia.com>
179
180         [GTK][WPE]: Add a way to setup our development environment inside flatpak
181         https://bugs.webkit.org/show_bug.cgi?id=186771
182
183         Reviewed by Carlos Alberto Lopez Perez.
184
185         This patch introduce a way to setup the development environment inside flatpak[0]
186         removing the need for jhbuild when doing so. Anything needed to build/run minibrowser/ run
187         layout tests is provided either but the org.gnome.Sdk runtime or built with flatpak-builder.
188
189         The workflow is very similar to the "jhbuild based" one except that you should use update-webkit$PORTNAME-flatpak instead
190         of update-webkit$PORTNAME-libs and that script requires to specify a build configuration (--release is default).
191
192         Our scripts have been updated to be able to run inside that new build environment.
193
194         Since everything runs inside a flatpak sandbox, gdb needs to be run from within the sandbox, the script exposes a way to do it
195         easily with the `--gdb` option:
196
197           $ webkit-flatpak --gdb [-m COREDUMPCTL MATCHES]
198
199         The Layout test `GDBCrashLogGenerator` has been taugth how to use that and is able to retrieve stacktrace as with the jhbuild based workflow.
200
201         [0] http://flatpak.org
202
203         * Scripts/build-webkit:
204         * Scripts/generate-jsc-bundle:
205         (main):
206         * Scripts/run-gtk-tests:
207         * Scripts/run-minibrowser:
208         * Scripts/run-webdriver-tests:
209         * Scripts/run-webkit-tests:
210         * Scripts/run-wpe-tests:
211         * Scripts/update-webkitgtk-libs:
212         * Scripts/update-webkitwpe-libs:
213         * Scripts/webkit-flatpak: Added.
214         * Scripts/webkitdirs.pm:
215         (getJhbuildPath):
216         (getFlatpakPath):
217         (inFlatpakSandbox):
218         (runInFlatpak):
219         (runInFlatpakIfAvalaible):
220         (wrapperPrefixIfNeeded):
221         (shouldUseFlatpak):
222         * Scripts/webkitpy/port/base.py:
223         (Port._path_to_apache):
224         (Port._is_flatpak):
225         (Port._apache_config_file_name_for_platform):
226         (Port._should_use_flatpak):
227         (Port):
228         (Port._in_flatpak_sandbox):
229         (Port._should_use_jhbuild):
230         * Scripts/webkitpy/port/gtk.py:
231         (GtkPort.setup_environ_for_server):
232         * Scripts/webkitpy/port/linux_get_crash_log.py:
233         (GDBCrashLogGenerator._get_trace_from_systemd):
234         (GDBCrashLogGenerator.generate_crash_log):
235         * Scripts/webkitpy/port/wpe.py:
236         (WPEPort.setup_environ_for_server):
237         * Scripts/webkitpy/w3c/wpt_runner.py:
238         (main):
239         * flatpak/files/default.xkm: Added.
240         * flatpak/files/httpd-autogen.sh: Added.
241         * flatpak/flatpakutils.py: Added.
242         (Colors):
243         (Console):
244         (Console.message):
245         (remove_extension_points):
246         (remove_comments):
247         (remove_comments._replacer):
248         (load_manifest):
249         (expand_manifest):
250         (FlatpakObject):
251         (FlatpakObject.__init__):
252         (FlatpakObject.flatpak):
253         (FlatpakPackages):
254         (FlatpakPackages.__init__):
255         (FlatpakPackages.__detect_packages):
256         (FlatpakPackages.__detect_packages.in):
257         (FlatpakPackages.__detect_runtimes):
258         (FlatpakPackages.__detect_apps):
259         (FlatpakPackages.__iter__):
260         (FlatpakRepos):
261         (FlatpakRepos.__init__):
262         (FlatpakRepos.update):
263         (FlatpakRepos.add):
264         (FlatpakRepo):
265         (FlatpakRepo.__init__):
266         (FlatpakRepo.repo_file):
267         (FlatpakPackage):
268         (FlatpakPackage.__init__):
269         (FlatpakPackage.__str__):
270         (FlatpakPackage.is_installed):
271         (FlatpakPackage.install):
272         (FlatpakPackage.update):
273         (WebkitFlatpak):
274         (WebkitFlatpak.load_from_args):
275         (WebkitFlatpak.__init__):
276         (WebkitFlatpak.check_flatpak):
277         (WebkitFlatpak.check_flatpak.comparable_version):
278         (WebkitFlatpak.clean_args):
279         (WebkitFlatpak.run_in_sandbox):
280         (WebkitFlatpak.run):
281         (WebkitFlatpak.has_environment):
282         (WebkitFlatpak.setup_dev_env):
283         (WebkitFlatpak.install_all):
284         (WebkitFlatpak.run_gdb):
285         (WebkitFlatpak.update_all):
286         (is_sandboxed):
287         (run_in_sandbox_if_available):
288         * flatpak/org.webkit.GTK.yaml: Added.
289         * flatpak/org.webkit.WPE.yaml: Added.
290         * flatpak/org.webkit.WebKit.yaml: Added.
291         * flatpak/patches/httpd-0001-configure-use-pkg-config-for-PCRE-detection.patch: Added.
292         * flatpak/patches/xvfb-0001-HACK-Avoid-compiling-a-kbm-file.patch: Added.
293
294 2018-06-28  Wenson Hsieh  <wenson_hsieh@apple.com>
295
296         [iOS] DataTransfer.getData always returns the empty string when dropping text
297         https://bugs.webkit.org/show_bug.cgi?id=187130
298         <rdar://problem/41014117>
299
300         Reviewed by Ryosuke Niwa.
301
302         Add 2 new API tests to verify that:
303         -   When dropping an item with text, markup, and URL representations, the page is allowed to get "text/html",
304             "text/plain" and "text/uri-list" data.
305         -   Adding a suggested name to a plain text item causes WebKit to treat it as a file, and suppress access to
306             DataTransfer.getData().
307
308         Additionally tweaks a couple of existing API tests. Namely, in two API tests
309         (ExternalSourceOverrideDropFileUpload and ExternalSourceHTMLToUploadArea) only a markup string is dropped, and
310         we previously expected to handle the drop as a file. To allow this test to continue serving its purpose, tweak
311         them such that the registered items appear to be file-backed (i.e. by adding a suggested filename in one of the
312         tests, and specifying UIPreferredPresentationStyleAttachment in the other).
313
314         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
315         (TestWebKitAPI::TEST):
316
317 2018-06-28  Basuke Suzuki  <Basuke.Suzuki@sony.com>
318
319         Unreviewed, rolling out r226652.
320         https://bugs.webkit.org/show_bug.cgi?id=180827
321
322         "PlatformInfo should never be instantiated in isolation. So, PlatformInfo should
323         not have default argument values. The preferred way to get a PlatformInfo object
324         is to instantiate a Host object." (Requested by dbates).
325
326         Reverted changeset:
327
328         "[webkitpy] PlatformInfo should have default argument for casual use"
329         https://bugs.webkit.org/show_bug.cgi?id=180827
330
331 2018-06-28  Simon Fraser  <simon.fraser@apple.com>
332
333         Try to address test failures on the bots.
334
335         Allow the test to distinguish between a failure to find the variable, and an error
336         reporting vector capacity.
337
338         * lldb/lldb_webkit_unittest.py:
339         (TestSummaryProviders.serial_test_WTFVectorProvider_empty_vector):
340         (TestSummaryProviders.serial_test_WTFVectorProvider_vector_size_and_capacity):
341
342 2018-06-28  Lucas Forschler  <lforschler@apple.com>
343
344         Add Windows support for WEBKIT_API_KEY.
345         https://bugs.webkit.org/show_bug.cgi?id=187155
346
347         Reviewed by Daniel Bates.
348
349         * EWSTools/start-queue-win.sh:
350
351 2018-06-28  Aakash Jain  <aakash_jain@apple.com>
352
353         [ews-build] Add support for WebKitPy-Tests-EWS
354         https://bugs.webkit.org/show_bug.cgi?id=187148
355
356         Reviewed by Lucas Forschler.
357
358         * BuildSlaveSupport/ews-build/factories.py: Added WebKitPyFactory.
359         * BuildSlaveSupport/ews-build/steps.py: Added build step RunWebKitPyTests.
360         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
361         * BuildSlaveSupport/ews-build/config.json: Updated to use CamelCase. 
362
363 2018-06-28  Daniel Bates  <dabates@apple.com>
364
365         Fix the iOS build following r233299
366         (https://bugs.webkit.org/show_bug.cgi?id=183744)
367
368         Only build lldbWebKitTester on Mac as that is the only supported platform at the time of writing.
369
370         * Makefile:
371
372 2018-06-28  Sihui Liu  <sihui_liu@apple.com>
373
374         Cookie API: cookie creation time is wrong
375         https://bugs.webkit.org/show_bug.cgi?id=187101
376
377         Reviewed by Geoffrey Garen.
378
379         Add test coverage: make sure the cookie creation time returned is the same as set.
380
381         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
382         (TEST):
383
384 2018-06-28  Simon Fraser  <simon.fraser@apple.com>
385
386         The lldb vector summary provider always shows zero capacity
387         https://bugs.webkit.org/show_bug.cgi?id=187132
388
389         Reviewed by Daniel Bates.
390         
391         WTFVectorProvider in lldb_webkit.py was calling GetChildMemberWithName('m_capacity')
392         on the buffer instead of the valobj.
393
394         * lldb/lldbWebKitTester/main.cpp:
395         (testSummaryProviders):
396         * lldb/lldb_webkit.py:
397         (WTFVectorProvider.update):
398         * lldb/lldb_webkit_unittest.py:
399         (TestSummaryProviders.serial_test_WTFString_SummaryProvider_16bit_string):
400         (TestSummaryProviders):
401         (TestSummaryProviders.serial_test_WTFVectorProvider_empty_vector):
402         (TestSummaryProviders.serial_test_WTFVectorProvider_vector_size_and_capacity):
403
404 2018-06-28  Adam Barth  <abarth@webkit.org>
405
406         Switch OS(FUCHSIA) to using JSCOnly
407         https://bugs.webkit.org/show_bug.cgi?id=187133
408
409         Reviewed by Yusuke Suzuki.
410
411         Switch Fuchsia from being a port to just being an OS. We now use a
412         CMAKE_TOOLCHAIN_FILE to configure the toolchain and the target triple.
413
414         * Scripts/webkitdirs.pm: Remove isFuchsia() and clients. Turns out we
415         can do everything we need using a CMAKE_TOOLCHAIN_FILE via the
416         --cmakeargs flag.
417
418 2018-06-27  Ryosuke Niwa  <rniwa@webkit.org>
419
420         Make MotionMark's plan file more robust against code changes
421         https://bugs.webkit.org/show_bug.cgi?id=187116
422         <rdar://problem/41533956>
423
424         Reviewed by Saam Barati.
425
426         Moved the code to auto-start the test to the load event listener.
427
428         * Scripts/webkitpy/benchmark_runner/data/patches/webserver/MotionMark.patch:
429
430 2018-06-27  Daniel Bates  <dabates@apple.com>
431
432         Add some tests for lldb_webkit.py
433         https://bugs.webkit.org/show_bug.cgi?id=183744
434
435         Reviewed by Alexey Proskuryakov.
436
437         Adds some tests to ensure we do not regress LLDB pretty-printing of WTF::StringImpl
438         and WTF::String objects.
439
440         The tests make use of the LLDB Python API (lldb.py) and a simple debug-built test
441         program, lldbWebKitTester, to run. For now, we only support building lldbWebKitTester
442         on Mac.
443
444         * Makefile: Build the simple test tool lldbWebKitTester on Mac.
445         * Scripts/build-lldbwebkittester: Added.
446         (buildProjectOrDie):
447         * Scripts/dump-class-layout: Extract logic to compute the path to the LLDB Python module
448         from here to Scripts/webkitpy/common/system/systemhost.py so that it can used by both
449         this script and lldb/lldb_webkit_unittest.py. Also import the lldb module at the top of
450         the file and take advantage of Python's default error semantics to throw an exception
451         if the import fails instead of handling it ourself. This has the side effect that we
452         now always import the LLDB Python module even if this script is invoked with --help.
453         If this turns out to be a significant annoyance then we can look to dynamically import
454         the module as we did before this change.
455         (webkit_build_dir):
456         (main):
457         (developer_dir): Deleted.
458         (import_lldb): Deleted.
459         * Scripts/webkitpy/common/checkout/scm/scm_unittest.py: Update FIXME comment to reflect
460         that fact that test-webkitpy does not support class and module fixtures. This is because
461         test-webkitpy currently implements parallelism by breaking down existing test classes
462         into individual test methods itself and having each worker run exactly one test method (via
463         unittest.TestLoader.loadTestsFromName()) at a time. As a result of this reorganization,
464         setUpModule()/setUpClass() are called for each test method as opposed to once per test
465         class/test module.
466         (remove_dir): Ditto.
467         * Scripts/webkitpy/common/system/systemhost.py:
468         (SystemHost):
469         (SystemHost.path_to_lldb_python_directory): Added.
470         * Scripts/webkitpy/test/main.py:
471         (_find_lldb_webkit_tester): Returns whether there exists a Debug or Release-built lldbWebKitTester.
472         (_build_lldb_webkit_tester): Builds lldbWebKitTester. For now, we only support building
473         lldbWebKitTester on Mac.
474         (main): Add Tools/lldb to the test search path if the platform has lldb.py.
475         (Tester.run): Pass a boolean as to whether we will run the lldb_webkit unit tests.
476         (Tester._run_tests): Modified to take a boolean as to whether to run the lldb_webkit unit tests.
477         If we will run these tests then build lldbWebKitTester if it has not already been built as the
478         unit tests depend on this program.
479         * lldb/lldbWebKitTester/Configurations/Base.xcconfig: Added.
480         * lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig: Added.
481         * lldb/lldbWebKitTester/Configurations/lldbWebKitTester.xcconfig: Added.
482         * lldb/lldbWebKitTester/Makefile: Added.
483         * lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj: Added.
484         * lldb/lldbWebKitTester/main.cpp: Added.
485         (breakForTestingSummaryProviders):
486         (utf16String):
487         (testSummaryProviders):
488         (main):
489         * lldb/lldb_webkit_unittest.py: Added.
490         (destroy_cached_debug_session):
491         (LLDBDebugSession):
492         (LLDBDebugSession.setup):
493         (LLDBDebugSession.tearDown):
494         (TestSummaryProviders):
495         (TestSummaryProviders.setUpClass):
496         (TestSummaryProviders._sbFrame):
497         (TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_null_string):
498         (TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_empty_string):
499         (TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_8bit_string):
500         (TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_16bit_string):
501         (TestSummaryProviders.serial_test_WTFString_SummaryProvider_null_string):
502         (TestSummaryProviders.serial_test_WTFString_SummaryProvider_empty_string):
503         (TestSummaryProviders.serial_test_WTFString_SummaryProvider_8bit_string):
504         (TestSummaryProviders.serial_test_WTFString_SummaryProvider_16bit_string):
505
506 2018-06-27  Adam Barth  <abarth@webkit.org>
507
508         Add Fuchsia support to build-jsc
509         https://bugs.webkit.org/show_bug.cgi?id=187086
510
511         Reviewed by Yusuke Suzuki.
512
513         Add Fuchsia port to webkitdirs.pm. This patch is sufficient to make
514         build-jsc kick off a cmake for Fuchsia.
515
516         * Scripts/webkitdirs.pm:
517         (determineSourceDir):
518         (argumentsForConfiguration):
519         (determineXcodeSDK):
520         (findMatchingArguments):
521         (determinePortName):
522         (isFuchsia):
523         (setupAppleWinEnv):
524         (wrapperPrefixIfNeeded):
525         (relaunchIOSSimulator):
526         (debugMiniBrowser):
527
528 2018-06-27  Daniel Bates  <dabates@apple.com>
529
530         style-queue "AttributeError: 'NoneType' object has no attribute 'is_obsolete'" when processing security patch
531         https://bugs.webkit.org/show_bug.cgi?id=187120
532
533         Reviewed by David Kilzer.
534
535         Teach the style queue how to refetch a patch from the status server as we did for non-Style
536         EWS queues.
537
538         * Scripts/webkitpy/tool/bot/stylequeuetask.py:
539         (StyleQueueTask.validate): Similar to change made to EarlyWarningSystemTask.validate() in r233107,
540         only check if the bug associated with the patch we are processing is closed if the attachment has a
541         non-None Bug object.
542         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
543         (AbstractEarlyWarningSystem.refetch_patch): Extract logic to refetch a patch from here...
544         * Scripts/webkitpy/tool/commands/queues.py:
545         (PatchProcessingQueue._refetch_patch): ... to here.
546         (StyleQueue.refetch_patch): Turn around and call PatchProcessingQueue._refetch_patch().
547
548 2018-06-27  Tadeu Zagallo  <tzagallo@apple.com>
549
550         Unreviewed, add myself as a WebKit committer.
551
552         * Scripts/webkitpy/common/config/contributors.json:
553
554 2018-06-27  Daniel Bates  <dabates@apple.com>
555
556         webkit-patch should ignore non-ASCII characters in the status server API key
557         https://bugs.webkit.org/show_bug.cgi?id=187107
558
559         Reviewed by Lucas Forschler.
560
561         The API key should only consists of ASCII characters. If it contains any
562         non-ASCII characters then log a warning and ignore them.
563
564         * Scripts/webkitpy/common/net/statusserver.py:
565         (StatusServer.set_api_key): Force conversion to ASCII.
566         * Scripts/webkitpy/tool/main.py:
567         (WebKitPatch._status_server_api_key): Convert to ASCII, ignoring non-ASCII
568         characters and logging a warning.
569
570 2018-06-27  Jonathan Bedard  <jbedard@apple.com>
571
572         Enable WebKit iOS 12 build
573         https://bugs.webkit.org/show_bug.cgi?id=187024
574         <rdar://problem/39759057>
575
576         Reviewed by David Kilzer.
577
578         * Scripts/configure-xcode-for-ios-development:
579         (copyMissingHeadersFromSDKToSDKIfNeeded): Copy launch.h into embedded SDKs.
580
581 2018-06-27  Robin Morisset  <rmorisset@apple.com>
582
583         [WSL] Add a control-flow stack to the execution rules in WSL.ott
584         https://bugs.webkit.org/show_bug.cgi?id=186310
585
586         Rubberstamped by Filip Pizlo.
587
588         The goal of this is to enable (future) rules about uniform control flow for barriers.
589         It required adding two new special construct: Join(s) and JoinExpr(e) whose only role is to pop the last element of the stack.
590
591         * WebGPUShadingLanguageRI/SpecWork/WSL.ott:
592
593 2018-06-27  Robin Morisset  <rmorisset@apple.com>
594
595         [WSL] Fix minor formatting issues in the grammar section
596         https://bugs.webkit.org/show_bug.cgi?id=186310
597
598         Rubberstamped by Filip Pizlo.
599
600         * WebGPUShadingLanguageRI/SpecWork/source/index.rst:
601
602 2018-06-27  Robin Morisset  <rmorisset@apple.com>
603
604         [WSL] Put the full grammar in the Sphinx document
605         https://bugs.webkit.org/show_bug.cgi?id=186310
606
607         Rubberstamped by Filip Pizlo.
608
609         Put the grammar's production rules in the Sphinx document, along with a few comments and the rules for desugaring.
610         Also includes a bit of clean-up of the antlr rules.
611
612         * WebGPUShadingLanguageRI/SpecWork/WSL.g4:
613         * WebGPUShadingLanguageRI/SpecWork/source/index.rst:
614
615 2018-06-26  Chris Dumez  <cdumez@apple.com>
616
617         Deal better with the network process crashing on startup
618         https://bugs.webkit.org/show_bug.cgi?id=187065
619         <rdar://problem/41451622>
620
621         Reviewed by Geoffrey Garen.
622
623         Add layout test coverage.
624
625         * TestWebKitAPI/Tests/WebKit/NetworkProcessCrashWithPendingConnection.mm:
626         (-[MonitorWebContentCrashNavigationDelegate _webView:webContentProcessDidTerminateWithReason:]):
627         (-[MonitorWebContentCrashNavigationDelegate webView:didFinishNavigation:]):
628         (TestWebKitAPI::TEST):
629
630 2018-06-25  Yusuke Suzuki  <utatane.tea@gmail.com>
631
632         Remove static initializers more
633         https://bugs.webkit.org/show_bug.cgi?id=186969
634
635         Reviewed by Michael Catanzaro.
636
637         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
638         (WTR::assignedUrlsCache):
639         (WTR::dumpResourceURL):
640         (WTR::InjectedBundlePage::resetAfterTest):
641         (WTR::InjectedBundlePage::didInitiateLoadForResource):
642         * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
643         (WTR::AccessibilityNotificationHandler::setNotificationFunctionCallback):
644         (WTR::AccessibilityNotificationHandler::removeAccessibilityNotificationHandler):
645         (WTR::AccessibilityNotificationHandler::connectAccessibilityCallbacks):
646         (WTR::AccessibilityNotificationHandler::disconnectAccessibilityCallbacks):
647         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
648         (WTR::AccessibilityUIElement::stringAttributeValue):
649         Use NeverDestroyed<> and static functions.
650
651 2018-06-26  Aakash Jain  <aakash_jain@apple.com>
652
653         [ews-build] Add support for compiling WebKit
654         https://bugs.webkit.org/show_bug.cgi?id=187019
655
656         Reviewed by Lucas Forschler.
657
658         * BuildSlaveSupport/ews-build/steps.py:
659         (CompileWebKit): Added, class to compile WebKit.
660         (CleanBuild): Added, class to clean up the build.
661         (KillOldProcesses): Added, class to kill old processes.
662         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
663         * BuildSlaveSupport/ews-build/config.json: Renamed ios-11-simulator to ios-simulator-11, to match with build.webkit.org code.
664         Added configuration, architecture which is required for compiling. Renamed Release to release as the tools expect lower-case release.
665         * BuildSlaveSupport/ews-build/factories.py: Added BuildFactory.
666         * BuildSlaveSupport/ews-build/loadConfig.py: Renamed configuraton value to lower-case as tools expect lower-case values.
667         * BuildSlaveSupport/ews-build/loadConfig_unittest.py: Ditto.
668
669 2018-06-26  Aakash Jain  <aakash_jain@apple.com>
670
671         [ews-build] Add support for WebKitPerl-Tests-EWS
672         https://bugs.webkit.org/show_bug.cgi?id=187023
673
674         Reviewed by Lucas Forschler.
675
676         * BuildSlaveSupport/ews-build/config.json: Added WebKitPerl-tests-EWS.
677         * BuildSlaveSupport/ews-build/factories.py: Added WebKitPerlFactory.
678         * BuildSlaveSupport/ews-build/steps.py: Added build step RunWebKitPerlTests.
679         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-test.
680
681 2018-06-26  Aakash Jain  <aakash_jain@apple.com>
682
683         [build.webkit.org] Rename badly named variable kls to schedulerType
684         https://bugs.webkit.org/show_bug.cgi?id=186926
685
686         Reviewed by Lucas Forschler.
687
688         * BuildSlaveSupport/build.webkit.org-config/loadConfig.py:
689         (loadBuilderConfig): Renamed kls to schedulerType.
690
691 2018-06-26  Daniel Bates  <dabates@apple.com>
692
693         EWS should pass --status-host-uses-http when invoking webkit-patch, if needed
694         https://bugs.webkit.org/show_bug.cgi?id=187061
695
696         Reviewed by Per Arne Vollan.
697
698         When EWS invokes webkit-patch to perform an operation (e.g. apply an attachment)
699         it should pass the command line option --status-host-uses-http, if EWS was
700         started with this command line option, so that we query the status server over
701         HTTP in child "webkit-patch" processes as we do in the main EWS process.
702
703         * Scripts/webkitpy/common/net/statusserver_mock.py:
704         (MockStatusServer.__init__):
705         * Scripts/webkitpy/tool/commands/queues.py:
706         (AbstractQueue.run_webkit_patch):
707
708 2018-06-26  Daniel Bates  <dabates@apple.com>
709
710         webkit-patch: Make attachment commands work with status-server hosted attachments
711         https://bugs.webkit.org/show_bug.cgi?id=187056
712
713         Reviewed by Per Arne Vollan.
714
715         Allow the EWS bots to apply, build, test, check-style, and (in the future) land
716         attachments hosted on the status server. We only download an attachment from the
717         status server if we do not have sufficient permission to download it from Bugzilla
718         (e.g. security-sensitive patches).
719
720         A valid status server API key is required to run these commands by hand. Otherwise,
721         the status server will not provide attachment data.
722
723         * Scripts/webkitpy/common/net/statusserver_mock.py:
724         (MockStatusServer.fetch_attachment): Log a message for testing purposes.
725         * Scripts/webkitpy/tool/commands/download.py:
726         (ProcessAttachmentsMixin._fetch_list_of_patches_to_process): Fetch the attachment
727         from the status server if we do not have permission to fetch it from Bugzilla.
728         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
729         (EarlyWarningSystemTest._default_expected_logs): Update expected result when
730         using a custom work item and when fetching an attachment from the status server.
731         (_test_ews): Modified to take use_security_sensitive_patch (defaults to False) as
732         to whether to use a security-sensitive patch when testing.
733         (test_ewses_with_security_sensitive_patch): Added.
734
735 2018-06-26  Daniel Bates  <dabates@apple.com>
736
737         contributors.json fails to parse after r233209
738
739         Removing trailing ',' that caused this file to be malformed. Also ran
740         "validate-committer-lists -c" to canonicalize the style of this file.
741
742         * Scripts/webkitpy/common/config/contributors.json:
743
744 2018-06-26  Timothy Horton  <timothy_horton@apple.com>
745
746         Add Aditya to contributors.json as a contributor
747
748         * Scripts/webkitpy/common/config/contributors.json:
749
750 2018-06-26  Brent Fulgham  <bfulgham@apple.com>
751
752         Provide a way for Injected Bundles to indicate classes approved for NSSecureCoding
753         https://bugs.webkit.org/show_bug.cgi?id=186788
754         <rdar://problem/41094167>
755
756         Reviewed by Chris Dumez.
757
758         Add a new test case to exercise the class check during NSSecureCoding.
759
760         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
761         * TestWebKitAPI/Tests/WebKit/mac/CustomBundleObject.h: Added.
762         * TestWebKitAPI/Tests/WebKit/mac/CustomBundleObject.mm: Added.
763         (-[CustomBundleObject initWithValue:]):
764         (+[CustomBundleObject supportsSecureCoding]):
765         (-[CustomBundleObject copyWithZone:]):
766         (-[CustomBundleObject initWithCoder:]):
767         (-[CustomBundleObject encodeWithCoder:]):
768         * TestWebKitAPI/Tests/WebKit/mac/CustomBundleParameter.mm: Added.
769         (TestWebKitAPI::didReceiveMessageFromInjectedBundle):
770         (TestWebKitAPI::didFinishLoadForFrame):
771         * TestWebKitAPI/Tests/WebKit/mac/CustomBundleParameter_Bundle.mm: Added.
772         (TestWebKitAPI::CustomBundleParameterTest::CustomBundleParameterTest):
773         (TestWebKitAPI::CustomBundleParameterTest::didCreatePage):
774
775 2018-06-25  Daniel Bates  <dabates@apple.com>
776
777         Log a message when fetching attachment data from the status server
778         https://bugs.webkit.org/show_bug.cgi?id=187032
779
780         Reviewed by Zalan Bujtas.
781
782         Currently we silently fetch from the status server an attachment when fetching
783         the attachment from Bugzilla fails due to an access denied error. Instead we
784         should emit a message when fetching data from the status server to indicate
785         that webkit-patch/EWS is still processing the command/trying to obtain the
786         patch.
787
788         * Scripts/webkitpy/common/net/statusserver.py:
789         (StatusServer._fetch_attachment_page):
790
791 2018-06-25  Aakash Jain  <aakash_jain@apple.com>
792
793         [ews-build] Add support for Bindings-tests-EWS
794         https://bugs.webkit.org/show_bug.cgi?id=187014
795
796         Reviewed by Lucas Forschler.
797
798         * BuildSlaveSupport/ews-build/factories.py:
799         (BindingsFactory): Added RunBindingsTests build step to BindingsFactory.
800         * BuildSlaveSupport/ews-build/steps.py:
801         (RunBindingsTests): Added build-step for running Bindings tests.
802         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
803
804 2018-06-25  Aakash Jain  <aakash_jain@apple.com>
805
806         [ews-build] Add support for Style-EWS
807         https://bugs.webkit.org/show_bug.cgi?id=186955
808
809         Reviewed by Lucas Forschler.
810
811         * BuildSlaveSupport/ews-build/factories.py:
812         (Factory): Base class for all the factory.
813         * BuildSlaveSupport/ews-build/loadConfig.py: Initialize factory with required parameters.
814         * BuildSlaveSupport/ews-build/runUnittests.py: Added, script to run all the unit tests.
815         * BuildSlaveSupport/ews-build/steps.py: Added.
816         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
817
818 2018-06-25  Youenn Fablet  <youenn@apple.com>
819
820         Add API to control mock media devices
821         https://bugs.webkit.org/show_bug.cgi?id=186958
822
823         Reviewed by Eric Carlson.
824
825         Add test runner API to clear/add/remove/reset mock media devices.
826
827         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
828         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
829         (WTR::TestRunner::addMockMediaDevice):
830         (WTR::TestRunner::addMockCameraDevice):
831         (WTR::TestRunner::addMockMicrophoneDevice):
832         (WTR::TestRunner::addMockScreenDevice):
833         (WTR::TestRunner::clearMockMediaDevices):
834         (WTR::TestRunner::removeMockMediaDevice):
835         (WTR::TestRunner::resetMockMediaDevices):
836         * WebKitTestRunner/InjectedBundle/TestRunner.h:
837         * WebKitTestRunner/TestController.cpp:
838         (WTR::TestController::addMockMediaDevice):
839         (WTR::TestController::clearMockMediaDevices):
840         (WTR::TestController::removeMockMediaDevice):
841         (WTR::TestController::resetMockMediaDevices):
842         * WebKitTestRunner/TestController.h:
843         * WebKitTestRunner/TestInvocation.cpp:
844         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
845
846 2018-06-25  Aakash Jain  <aakash_jain@apple.com>
847
848         [ews-build] Add support for try Buildbot try schedulers
849         https://bugs.webkit.org/show_bug.cgi?id=186948
850
851         Reviewed by Lucas Forschler.
852
853         * BuildSlaveSupport/ews-build/config.json: Use Try_Userpass scheduler.
854         * BuildSlaveSupport/ews-build/loadConfig.py: Updated to use try scheduler.
855
856 2018-06-25  Ross Kirsling  <ross.kirsling@sony.com>
857
858         [WinCairo] Unreviewed build fix for r233088.
859
860         * BuildSlaveSupport/built-product-archive:
861         (extractBuiltProduct):
862         "move" throws instead of overwriting, so just use "copy" instead.
863
864 2018-06-25  Leo Balter  <leonardo.balter@gmail.com>
865
866         [test262-runner] Sort the list of failing files in the HTML report
867         https://bugs.webkit.org/show_bug.cgi?id=186998
868
869         Reviewed by Michael Saboff.
870
871         * Scripts/test262/Runner.pm:
872         (printHTMLResults): The current list of failing files it not ordered and it's hard to read.
873         This small patch will sort the list.
874
875 2018-06-25  Robin Morisset  <rmorisset@apple.com>
876
877         [WSL] Start writing the Sphinx document
878         https://bugs.webkit.org/show_bug.cgi?id=186310
879
880         Rubberstamped by Filip Pizlo.
881
882         Very early work, just has the lexer and a few fragments of the parser so far.
883         Also fixing some minor mistake in the formal rules.
884
885         * WebGPUShadingLanguageRI/SpecWork/WSL.g4:
886         * WebGPUShadingLanguageRI/SpecWork/WSL.ott:
887         * WebGPUShadingLanguageRI/SpecWork/source/conf.py:
888         * WebGPUShadingLanguageRI/SpecWork/source/index.rst:
889
890 2018-06-23  Yusuke Suzuki  <utatane.tea@gmail.com>
891
892         [WTF] Add user-defined literal for ASCIILiteral
893         https://bugs.webkit.org/show_bug.cgi?id=186839
894
895         Reviewed by Darin Adler.
896
897         * TestWebKitAPI/Tests/WTF/StringOperators.cpp:
898         (TestWebKitAPI::TEST):
899         * TestWebKitAPI/Tests/WTF/WTFString.cpp:
900         (TestWebKitAPI::TEST):
901         * TestWebKitAPI/Tests/WTF/WorkerPool.cpp:
902         (TestWebKitAPI::TEST):
903         * TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:
904         (TEST_F):
905         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
906         (TestWebKitAPI::TEST_F):
907         * TestWebKitAPI/Tests/WebCore/URL.cpp:
908         (TestWebKitAPI::TEST_F):
909         * TestWebKitAPI/Tests/WebCore/ios/PreviewLoader.cpp:
910         (TestWebKitAPI::TEST):
911         * TestWebKitAPI/Tests/WebCore/mac/GPUCommandQueue.mm:
912         (TestWebKitAPI::TEST_F):
913         * TestWebKitAPI/Tests/WebCore/mac/GPUTest.h:
914         * TestWebKitAPI/Tests/WebKitCocoa/ContentFilteringPlugIn.mm:
915         (-[MockContentFilterEnabler initWithCoder:]):
916         * TestWebKitAPI/Tests/mac/ContentFiltering.mm:
917         (TestWebKitAPI::loadAlternateTest):
918
919 2018-06-22  Brady Eidson  <beidson@apple.com>
920
921         WKURLSchemeHandler doesn't handle sync XHR.
922         <rdar://problem/40955884> and https://bugs.webkit.org/show_bug.cgi?id=186902
923
924         Reviewed by Chris Dumez.
925
926         * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
927         (-[SyncScheme webView:startURLSchemeTask:]):
928         (-[SyncScheme webView:stopURLSchemeTask:]):
929         (-[SyncMessageHandler userContentController:didReceiveScriptMessage:]):
930         (catch):
931
932 2018-06-22  Daniel Bates  <dabates@apple.com>
933
934         Security EWS: bots fails with exception 'NoneType' object has no attribute 'is_closed'
935         https://bugs.webkit.org/show_bug.cgi?id=186923
936
937         Reviewed by Lucas Forschler.
938
939         Attachments downloaded from the status server (http://webkit-queues.webkit.org) do not
940         have an associated Bug object (i.e. Attachment.bug() is None) and reflect the state they
941         were in, including flags set, at the time they were uploaded to the status server. We
942         will add support for fetching up-to-date status info about the attachment and its bug
943         in <https://bugs.webkit.org/show_bug.cgi?id=186817>. For now, we only check if the
944         bug associated with the patch we are processing is closed if the attachment has a
945         non-None Bug object.
946
947         * Scripts/webkitpy/tool/bot/earlywarningsystemtask.py:
948         (EarlyWarningSystemTask.validate):
949
950 2018-06-22  Ross Kirsling  <ross.kirsling@sony.com>
951
952         [Win] ImageDiff should use DLLLauncher
953         https://bugs.webkit.org/show_bug.cgi?id=186927
954
955         ImageDiff should use DLLLauncher to find DLLs under WEBKIT_LIBRARIES, in the same way as DRT & TestWebKitAPI.
956
957         Reviewed by Per Arne Vollan.
958
959         * ImageDiff/CMakeLists.txt:
960         * ImageDiff/ImageDiff.cpp:
961         (dllLauncherEntryPoint):
962         * ImageDiff/PlatformWin.cmake:
963
964 2018-06-22  Basuke Suzuki  <Basuke.Suzuki@sony.com>
965
966         [style] Fix --git-index option for check-webkit-style command
967         https://bugs.webkit.org/show_bug.cgi?id=186810
968
969         When --git-index is specified, it should be compared with HEAD, not the origin/master.
970
971         Reviewed by Daniel Bates.
972
973         * Scripts/webkitpy/common/checkout/scm/git.py:
974         (Git.create_patch):
975         * Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
976         (test_create_patch_with_git_index): Added.
977
978 2018-06-22  Ryan Haddad  <ryanhaddad@apple.com>
979
980         Unreviewed, fix syntax error introduced by r233088.
981
982         * BuildSlaveSupport/built-product-archive:
983         (extractBuiltProduct):
984
985 2018-06-22  Ross Kirsling  <ross.kirsling@sony.com>
986
987         [WinCairo][Buildbot] Test bots should use same WinCairoRequirements version as the triggering build
988         https://bugs.webkit.org/show_bug.cgi?id=186857
989
990         Reviewed by Lucas Forschler.
991
992         * BuildSlaveSupport/built-product-archive:
993         (archiveBuiltProduct):
994         (extractBuiltProduct):
995         Save and restore the WinCairoRequirements version using the build archive.
996
997         * Scripts/download-github-release.py: Renamed from Tools/Scripts/download-latest-github-release.py.
998         Generalize download script -- get the latest version by default, but allow an arbitrary version to be specified.
999
1000         * Scripts/update-vswhere.py:
1001         Consume renamed script.
1002
1003         * Scripts/update-webkit-wincairo-libs.py:
1004         Consume renamed script and specify a version to download when a config file is present.
1005
1006 2018-06-20  Darin Adler  <darin@apple.com>
1007
1008         [Cocoa] Use the isDirectory: variants of NSURL methods more to eliminate unnecessary file system activity
1009         https://bugs.webkit.org/show_bug.cgi?id=186875
1010
1011         Reviewed by Anders Carlsson.
1012
1013         * DumpRenderTree/mac/DumpRenderTree.mm:
1014         (activateTestingFonts): Use isDirectory:NO to create a URL for a font file.
1015         * WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
1016         (WTR::activateFonts): Ditto.
1017         (WTR::installFakeHelvetica): Ditto.
1018
1019 2018-06-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1020
1021         [GTK] WebDriver: use a dictionary for session capabilities in StartAutomationSession message
1022         https://bugs.webkit.org/show_bug.cgi?id=186915
1023
1024         Reviewed by Žan Doberšek.
1025
1026         Update /webkit/WebKitAutomationSession/request-session to use the new StartAutomationSession message signature.
1027
1028         * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
1029
1030 2018-06-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1031
1032         Unreviewed. Fix GLib test /webkit/WebKitSecurityManager/file-xhr after r231000
1033
1034         We are now receiving two console messages instead of one. Simply update the test to check both messages.
1035
1036         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
1037         (consoleMessageReceivedCallback):
1038         (testWebContextSecurityFileXHR):
1039
1040 2018-06-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1041
1042         Unreviewed GLib gardening. Update expectations of TestSSL.
1043
1044         /webkit/WebKitWebView/tls-errors-policy and /webkit/WebKitWebView/load-failed-with-tls-errors are failing only
1045         in the bots.
1046
1047         * TestWebKitAPI/glib/TestExpectations.json:
1048
1049 2018-06-21  Daniel Bates  <dabates@apple.com>
1050
1051         EWS for security bugs
1052         https://bugs.webkit.org/show_bug.cgi?id=186291
1053         <rdar://problem/40829658>
1054
1055         Substitute webkit.status-api-key for webkit.status_api_key as Git configuration variables can
1056         only consist of alphanumeric characters and underscores (_) per the second paragraph of section
1057         Configuration File of <https://git-scm.com/docs/git-config/2.18.0#_configuration_file>:
1058
1059              The variable names are case-insensitive, allow only alphanumeric characters and -, and must
1060              start with an alphabetic character.
1061
1062         * Scripts/webkitpy/tool/main.py:
1063         (WebKitPatch._status_server_api_key_from_git):
1064
1065 2018-06-21  Daniel Bates  <dabates@apple.com>
1066
1067         EWS for security bugs
1068         https://bugs.webkit.org/show_bug.cgi?id=186291
1069         <rdar://problem/40829658>
1070
1071         In r232979, I inadvertently removed a line of code in _parse_authorized_api_keys() to define a local called api_keys.
1072         Add this code back.
1073
1074         * QueueStatusServer/config/authorization.py:
1075         (_parse_authorized_api_keys):
1076
1077 2018-06-21  Daniel Bates  <dabates@apple.com>
1078
1079         EWS should not try to post comments or upload result archives to security-sensitive
1080         bugs unless it has access
1081         https://bugs.webkit.org/show_bug.cgi?id=186831
1082
1083         Reviewed by Lucas Forschler.
1084
1085         Following r232979 security-sensitive patches are uploaded to the status server so
1086         that they can be retrieved and processed by EWS bots without the need for Bugzilla
1087         security bug access. Although the EWS machinery is robust against unexpected exceptions,
1088         including exceptions raised when interacting with Bugzilla bugs/attachments with
1089         insufficient credentials, we should not depend on such defenses as they cause webkit-
1090         patch to log a message for the "unexpected" exception. We should reserve such logging
1091         for truly unexpected exceptions that indicate a programming mistake that we need to fix.
1092
1093         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
1094         (AbstractEarlyWarningSystem._post_reject_message_on_bug): Bail out early if we cannot
1095         access the bug.
1096         * Scripts/webkitpy/tool/commands/queues.py:
1097         (PatchProcessingQueue._can_access_bug): Added.
1098         (PatchProcessingQueue._upload_results_archive_for_patch): Only add an attachment if we
1099         can access the bug.
1100         (CommitQueue.process_work_item): Only post a rejection comment (i.e. call CommitterValidatorreject_patch_from_commit_queue())
1101         if we can access the bug.
1102
1103 2018-06-21  Lucas Forschler  <lforschler@apple.com>
1104
1105         bisect-builds --list not showing all builds
1106         https://bugs.webkit.org/show_bug.cgi?id=185790
1107
1108         The AWS Gateway API call into dynamoDB is limited to returning 1MB of query data. Our archive set has overgrown this limit,
1109         causing us to retrieve a truncated list of results. Fortunately, when this limit is reached, dynamoDB returns a 
1110         "LastEvaluatedKey", which can be used to continue the query in another request. 
1111
1112         This patch teaches bisect-build to pass along this key when needed. The backend api was updated from v2 to v2_1 to support
1113         this new querystring option. Any existing code using v2 will not be affected.
1114         
1115         Reviewed by Aakash Jain.
1116
1117         * Scripts/bisect-builds:
1118         (get_api_url): added optional LastEvaluatedKey argument, which will append the query string to the base api url.
1119         (fetch_revision_list): Added to allow a recursive call which will query until we retrieve every item requested.
1120         (main): teach how to use fetch_revision_list.
1121
1122 2018-06-21  Keith Rollin  <krollin@apple.com>
1123
1124         check-webkit-style should warn about exported inline functions
1125         https://bugs.webkit.org/show_bug.cgi?id=186861
1126         <rdar://problem/41303668>
1127
1128         Reviewed by Brent Fulgham.
1129
1130         When checking binaries compiled with LTO enabled, WebKit's
1131         check-for-weak-vtables-and-externals script can complain about
1132         exported inline functions. For instance, in
1133         Source/WebCore/page/scrolling/ScrollingTree.h, the following:
1134
1135         WEBCORE_EXPORT virtual void reportSynchronousScrollingReasonsChanged(MonotonicTime, SynchronousScrollingReasons) { }
1136         WEBCORE_EXPORT virtual void reportExposedUnfilledArea(MonotonicTime, unsigned /* unfilledArea */) { }
1137
1138         Can result in the following error messages:
1139
1140         ERROR: WebCore has a weak external symbol in it (.../OpenSource/WebKitBuild/Release/WebCore.framework/Versions/A/WebCore)
1141         ERROR: A weak external symbol is generated when a symbol is defined in multiple compilation units and is also marked as being exported from the library.
1142         ERROR: A common cause of weak external symbols is when an inline function is listed in the linker export file.
1143         ERROR: symbol __ZN7WebCore13ScrollingTree25reportExposedUnfilledAreaEN3WTF13MonotonicTimeEj
1144         ERROR: symbol __ZN7WebCore13ScrollingTree40reportSynchronousScrollingReasonsChangedEN3WTF13MonotonicTimeEj
1145
1146         Unfortunately, these errors are only emitted when LTO is enabled,
1147         meaning that a developer could check-in a file that will fail an LTO
1148         build if they don't build with that option locally. Therefore, try to
1149         head this off by updating check-webkit-style to identify and warn
1150         about these cases (which includes when an export macro is applied
1151         directly to an inline method as well as when an inline method is part
1152         of an exported class).
1153
1154         * Scripts/webkitpy/style/checkers/cpp.py:
1155         (_FunctionState.begin):
1156         (_FunctionState.export_macro):
1157         (_ClassInfo.__init__):
1158         (check_for_non_standard_constructs):
1159         (check_function_definition):
1160         (process_line):
1161         (CppChecker):
1162         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
1163         (FunctionDetectionTest.perform_function_detection):
1164         (FunctionDetectionTest.test_webcore_export):
1165
1166 2018-06-21  Aakash Jain  <aakash_jain@apple.com>
1167
1168         [ews-build] unit-tests fail when run from another directory
1169         https://bugs.webkit.org/show_bug.cgi?id=186872
1170
1171         Reviewed by Lucas Forschler.
1172
1173         * BuildSlaveSupport/ews-build/loadConfig.py:
1174         (loadBuilderConfig): Add support for passing master_prefix_path.
1175         * BuildSlaveSupport/ews-build/loadConfig_unittest.py:
1176         (ConfigDotJSONTest.test_configuration): Set master_prefix_path as current directory.
1177
1178 2018-06-21  Aakash Jain  <aakash_jain@apple.com>
1179
1180         Add support for using localhost worker in OpenSource EWS Buildbot
1181         https://bugs.webkit.org/show_bug.cgi?id=186871
1182
1183         Reviewed by Lucas Forschler.
1184
1185         * BuildSlaveSupport/ews-build/loadConfig.py:
1186         (loadBuilderConfig): Added a worker named 'local-worker' if use_localhost_worker option is used.
1187         * BuildSlaveSupport/ews-build/master.cfg: Check BUILDBOT_TESTING environment variable and use_localhost_worker if so.
1188
1189 2018-06-21  Aakash Jain  <aakash_jain@apple.com>
1190
1191         Add force schedulers to OpenSource EWS Buildbot
1192         https://bugs.webkit.org/show_bug.cgi?id=186876
1193
1194         Reviewed by Lucas Forschler.
1195
1196         * BuildSlaveSupport/ews-build/loadConfig.py:
1197         (loadBuilderConfig): Added support for ForceScheduler.
1198
1199 2018-06-21  Robin Morisset  <rmorisset@apple.com>
1200
1201         [WSL] Merge WSL_type.ott and WSL_exec.ott
1202         https://bugs.webkit.org/show_bug.cgi?id=186310
1203
1204         Rubberstamped by Filip Pizlo.
1205
1206         I moved the execution rules into WSL_type.ott, that was renamed WSL.ott.
1207         I also changed the execution judgements:
1208         - they now emit memory events instead of having an explicit store (so they can be connected later to a memory model)
1209         - the environment is now unchangeable (except inside blocks, which are the only place that variable declarations can appear)
1210         - various rules were simplified.
1211
1212         * WebGPUShadingLanguageRI/SpecWork/WSL.ott: Copied from Tools/WebGPUShadingLanguageRI/SpecWork/WSL_type.ott.
1213         * WebGPUShadingLanguageRI/SpecWork/WSL_exec.ott: Removed.
1214         * WebGPUShadingLanguageRI/SpecWork/WSL_type.ott: Removed.
1215
1216 2018-06-21  Leo Balter  <leonardo.balter@gmail.com>
1217
1218         [test262-runner] Improve failures output
1219         https://bugs.webkit.org/show_bug.cgi?id=186858
1220
1221         Reviewed by Michael Saboff.
1222
1223         * Scripts/test262/Runner.pm:
1224         (main):
1225         (processResult):
1226
1227 2018-06-21  Caitlin Potter  <caitp@igalia.com>
1228
1229         [Tools] add a --debug option to test262/Runner.pm for buildbots
1230         https://bugs.webkit.org/show_bug.cgi?id=186113
1231
1232         Reviewed by Michael Saboff.
1233
1234         test262-runner runs Debug builds by default, but this allows us to be
1235         explicit about it in buildbots.
1236
1237         * Scripts/test262/Runner.pm:
1238         (processCLI):
1239
1240 2018-06-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1241
1242         run-gtk-tests (glib/common.py) cannot determine build directory when webKitBranchBuild=true
1243         https://bugs.webkit.org/show_bug.cgi?id=185643
1244
1245         Reviewed by Frédéric Wang.
1246
1247         Check if webKitBranchBuild is true in git config to add the branch name to the build path.
1248
1249         * Scripts/webkitpy/common/checkout/scm/git.py:
1250         (Git.read_git_config): Add output_type parameter.
1251         (Git.read_config): Call read_git_config with cws and executive.
1252         (Git._upstream_branch): Use read_config().
1253         (Git._assert_can_squash): Ditto.
1254         (Git.remote_branch_ref): Ditto.
1255         * Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
1256         (GitSVNTest.test_read_git_config):
1257         * glib/common.py:
1258         (get_build_path):
1259
1260 2018-06-20  Wenson Hsieh  <wenson_hsieh@apple.com>
1261
1262         [WebKit on watchOS] Fixed position elements sometimes flicker when scrolling
1263         https://bugs.webkit.org/show_bug.cgi?id=186860
1264         <rdar://problem/39953563>
1265
1266         Reviewed by Tim Horton.
1267
1268         Add a new API test to exercise a race condition between receiving remote layer tree commits and updating visible
1269         content rects which would result in the compositing layer for a fixed position element sometimes appearing in
1270         the wrong place. See WebKit ChangeLog for more details.
1271
1272         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1273         * TestWebKitAPI/Tests/WebKitCocoa/fixed-nav-bar.html: Added.
1274         * TestWebKitAPI/Tests/ios/WKScrollViewTests.mm: Added.
1275         (traverseLayerTree):
1276         (TEST):
1277
1278 2018-06-20  Daniel Bates  <dabates@apple.com>
1279
1280         AttributeError: StatusServer instance has no attribute '_api_key' thrown when processing a patch
1281         https://bugs.webkit.org/show_bug.cgi?id=186852
1282
1283         Fixes an issue where StatusServer._api_key may not be defined. This issue manifests itself
1284         in a Python AttributeError exception when an EWS bot tries to fetch the next patch to process.
1285
1286         Currently StatusServer._api_key is only defined when either the environment variable WEBKIT_STATUS_API_KEY
1287         or the Git configuration key webkit.status_api_key has a non-empty value. Instead we should
1288         always define StatusServer._api_key in the StatusServer constructor.
1289
1290         * Scripts/webkitpy/common/net/statusserver.py:
1291         (StatusServer.__init__):
1292
1293 2018-06-20  Robin Morisset  <rmorisset@apple.com>
1294
1295         [WSL] Add details to the sphinx outline
1296         https://bugs.webkit.org/show_bug.cgi?id=186310
1297
1298         Rubberstamped by Filip Pizlo.
1299
1300         Mostly improving the sphinx outline.
1301         Also started moving the execution rules to WSL_type.ott (which will eventually become WSL.ott).
1302         Tried formalizing the gathering of declarations into the environment, but I think I will scratch it.
1303             It is both trivial to do (and to explain in english) and a bit of a pain to formalize.
1304
1305         * WebGPUShadingLanguageRI/SpecWork/WSL_type.ott:
1306         * WebGPUShadingLanguageRI/SpecWork/source/index.rst:
1307
1308 2018-06-20  Commit Queue  <commit-queue@webkit.org>
1309
1310         Unreviewed, rolling out r232844.
1311         https://bugs.webkit.org/show_bug.cgi?id=186843
1312
1313         "Too many flakiness on the tests, so the EWS bots cant process
1314         patches correctly" (Requested by clopez on #webkit).
1315
1316         Reverted changeset:
1317
1318         "[GTK] Enable tests on the GTK EWS queue"
1319         https://bugs.webkit.org/show_bug.cgi?id=186559
1320         https://trac.webkit.org/changeset/232844
1321
1322 2018-06-20  Rob Buis  <rbuis@igalia.com>
1323
1324         [GTK] ASSERTION FAILED: url == m_string in UserAgentQuirks test
1325         https://bugs.webkit.org/show_bug.cgi?id=186838
1326
1327         This URL constructor expects canonicalized input, so fix the passed URL.
1328
1329         Reviewed by Frédéric Wang.
1330
1331         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
1332         (TestWebKitAPI::TEST):
1333
1334 2018-06-20  Robin Morisset  <rmorisset@apple.com>
1335
1336         [WSL] Make the typing rules explicitely translate type syntax into actual types
1337         https://bugs.webkit.org/show_bug.cgi?id=186310
1338
1339         Rubberstamped by Filip Pizlo.
1340
1341         The typing rules must describe how and most importantly when typedefs and the like are resolved.
1342         This is important because they can be shadowed (by type variables for example), and we want to make it unambiguous what behaviour is required in that case.
1343
1344         * WebGPUShadingLanguageRI/SpecWork/WSL.g4:
1345         * WebGPUShadingLanguageRI/SpecWork/WSL_type.ott:
1346
1347 2018-06-20  Yusuke Suzuki  <utatane.tea@gmail.com>
1348
1349         [GTK][WPE][Nicosia] Add name for Nicosia Painting Threads
1350         https://bugs.webkit.org/show_bug.cgi?id=186836
1351
1352         Reviewed by Carlos Garcia Campos.
1353
1354         * TestWebKitAPI/Tests/WTF/WorkerPool.cpp:
1355         (TestWebKitAPI::TEST):
1356
1357 2018-06-20  Yusuke Suzuki  <utatane.tea@gmail.com>
1358
1359         [WPE] Remove warnings by setting nullptr for unused listeners
1360         https://bugs.webkit.org/show_bug.cgi?id=186835
1361
1362         Reviewed by Carlos Garcia Campos.
1363
1364         frame, axis_source, axis_stop, and axis_discrete are unused.
1365         Setting nullptr explicitly to remove warnings in GCC.
1366
1367         * wpe/backends/WindowViewBackend.cpp:
1368
1369 2018-06-19  Leo Balter  <leonardo.balter@gmail.com>
1370
1371         [test262-runner] Reduce flakiness of unit tests for the runner
1372         https://bugs.webkit.org/show_bug.cgi?id=186824
1373
1374         Reviewed by Michael Saboff.
1375
1376         * Scripts/test262/Runner.pm:
1377         (main):
1378         * Scripts/webkitperl/test262_unittest/test262-runner-tests.pl:
1379
1380 2018-06-19  Leo Balter  <leonardo.balter@gmail.com>
1381
1382         [test262-runner] Print results report to HTML
1383         https://bugs.webkit.org/show_bug.cgi?id=186790
1384
1385         Reviewed by Michael Saboff.
1386
1387         After runing the tests, 2 html files are created with a list to failing tests and summaries.
1388         * Scripts/test262/Runner.pm:
1389         (main):
1390         (summarizeResults):
1391         (printHTML):
1392
1393 2018-06-19  Keith Rollin  <krollin@apple.com>
1394
1395         Crash running check-webkit-style on webrtc/.../exceptions.py
1396         https://bugs.webkit.org/show_bug.cgi?id=186816
1397         <rdar://problem/41262553>
1398
1399         Reviewed by Michael Catanzaro.
1400
1401         It's not apparent to me why the crash is occurring. Trying to write a
1402         unittest that checks this file in isolation does not reproduce the
1403         crash. But the crash goes away when updating to pylint-0.25.2.
1404
1405         * Scripts/webkitpy/thirdparty/__init__.py:
1406         (AutoinstallImportHook._install_pylint):
1407
1408 2018-06-19  Keith Rollin  <krollin@apple.com>
1409
1410         cpp style checker needs to know more about NOLINT
1411         https://bugs.webkit.org/show_bug.cgi?id=186796
1412
1413         Reviewed by Aakash Jain.
1414
1415         Running check-webkit-style on
1416         ThirdParty/gtest/src/gtest-internal-inl.h crashes with a KeyError as
1417         it tries to look up information about a particular #include in a
1418         dictionary it maintains. The problem has to do with the following
1419         lines in gtest-internal-inl.h:
1420
1421         #include <gtest/gtest.h>  // NOLINT
1422         #include <gtest/gtest-spi.h>
1423
1424         The NOLINT annotation will prevent the cpp-checker from processing or
1425         even seeing that line. In skipping that line, information regarding
1426         that line is NOT added to some internal tables. However, when the code
1427         that checks that #includes are correctly alphabetized gets to the
1428         "gtest-spi.h" line, it will not respect the NOLINT annotation and will
1429         see the gtest.h line. When doing so, it runs afoul of the fact that it
1430         hadn't seen that line before and it crashes when it tries to look up
1431         that line in some internal records.
1432
1433         Fix this by catering to the possibility that a #include line may not
1434         have been entered into these internal records.
1435
1436         * Scripts/webkitpy/style/checkers/cpp.py:
1437         (check_include_line):
1438         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
1439
1440 2018-06-19  Daniel Bates  <dabates@apple.com>
1441
1442         EWS for security bugs
1443         https://bugs.webkit.org/show_bug.cgi?id=186291
1444         <rdar://problem/40829658>
1445
1446         Update comment in AbstractEarlyWarningSystem.refetch_patch() to reference <https://bugs.webkit.org/show_bug.cgi?id=186817>.
1447
1448         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
1449         (AbstractEarlyWarningSystem.refetch_patch):
1450
1451 2018-06-19  Daniel Bates  <dabates@apple.com>
1452
1453         EWS for security bugs
1454         https://bugs.webkit.org/show_bug.cgi?id=186291
1455         <rdar://problem/40829658>
1456
1457         Reviewed by Lucas Forschler.
1458
1459         Part 1 of 2.
1460
1461         Implements support for EWS processing of patches on security sensitive bugs. We add new
1462         endpoints to the status server to support uploading and downloading of patches and associated
1463         metadata. When webkit-patch submits a patch for EWS processing it will now upload the contents
1464         and metadata for the patch to the status server if the patch is on a security sensitive bug.
1465         We teach the EWS machinery in webkitpy to query the status server for a patch only if fetching
1466         the patch from Bugzilla is not permitted due to an authorization error.
1467
1468         Fetching patches from the status server requires an API key. The API key is read from the
1469         environment variable WEBKIT_STATUS_API_KEY or the value of the Git configuration key webkit.status_api_key
1470         (in that order). Contact me or another Apple engineer for an API key.
1471
1472         Additionally, default to using HTTPS when querying the status server and expose an optional
1473         command line option called --status-host-uses-http to use the former behavior of querying
1474         over HTTP.
1475
1476         * QueueStatusServer/config/authorization.py: Added.
1477         (_path_to_authorized_api_keys_file): Returns the absolute filesystem path to the file authorized_api_keys.txt.
1478         (_parse_authorized_api_keys):
1479         (authorized_api_keys):
1480         (_parse_authorization_header): Parses the API key from the Authorization header. We use a
1481         custom authentication scheme: "apikey". See remark below for more details.
1482         (is_authorized): Checks if the request includes an API key and whether that API key is in the
1483         list of authorized keys (performs a case-sensitive match). The API key may be specified either
1484         in a HTTP header Authorization or in the query string argument "apikey". When using the HTTP
1485         headers approach the Authorization header should have the form: "Authorization: apikey X" where
1486         X is the case-sensitive API key.
1487         * QueueStatusServer/handlers/fetchattachment.py: Added.
1488         (FetchAttachment):
1489         (FetchAttachment.get):
1490         * QueueStatusServer/handlers/releasepatch.py:
1491         (ReleasePatch.check_processed_by_all_queues): Returns whether the specified attachment was processed by all the queues.
1492         (ReleasePatch.post): Delete the patch from AppEngine (if we have it) once the patch was processed
1493         by all the queues.
1494         * QueueStatusServer/handlers/submittoews.py:
1495         (SubmitToEWS._should_add_to_ews_queue): Fix a typo in a comment while I am working in this code.
1496         * QueueStatusServer/handlers/uploadattachment.py: Added.
1497         (UploadAttachment):
1498         (UploadAttachment.get):
1499         (UploadAttachment.post):
1500         * QueueStatusServer/main.py: Add new routes /upload-attachment and /attachment to upload an attachment
1501         and view an attachment (or its metadata), respectively.
1502         * QueueStatusServer/model/attachmentdata.py: Added.
1503         (AttachmentData):
1504         (AttachmentData.add_attachment_data):
1505         (AttachmentData.lookup_if_exists):
1506         (AttachmentData.remove_attachment_data):
1507         * QueueStatusServer/templates/uploadattachment.html: Added.
1508         * Scripts/webkitpy/common/net/bugzilla/attachment.py:
1509         (Attachment.committer):
1510         (Attachment):
1511         (Attachment.to_json): Serialize to JSON so that we can upload it to AppEngine.
1512         (Attachment.from_json): Deserialize from JSON. This is used as part of downloading a patch from AppEngine.
1513         * Scripts/webkitpy/common/net/bugzilla/attachment_unittest.py:
1514         (AttachmentTest.test_convert_to_json_and_back): Added.
1515         * Scripts/webkitpy/common/net/bugzilla/bug.py:
1516         (Bug.groups): Returns a frozenset of groups that the bug is a member of.
1517         (Bug.is_security_sensitive): Returns whether the bug is in group Security-Sensitive.
1518         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
1519         (BugzillaQueries.fetch_attachment_ids_from_review_queue): Modified to take an optional boolean, only_security_bugs,
1520         as to whether to only fetch attachment ids for unreviewed patches associated with security bugs. By default, we
1521         keep the current behavior and query for the attachment ids of all unreviewed patches that the currently logged in
1522         Bugzilla user can see, which may include patches associated with security bugs.
1523         (Bugzilla._parse_date): Update for moved and renamed constant. See remark for class Bugzilla.
1524         (Bugzilla._parse_bug_dictionary_from_xml): Modified to return an empty dictionary if we do not have access to view the bug.
1525         Otherwise, extract the name of the group the bug is in.
1526         (Bugzilla.fetch_bug): Modified to return None if we do not have access to view the bug.
1527         (Bugzilla._parse_bug_title_from_attachment_page): Extracted out logic to parse the title of the Attachment page
1528         from _parse_bug_id_from_attachment_page() so that it can be used from both _parse_bug_id_from_attachment_page()
1529         and get_bug_id_for_attachment_id().
1530         (Bugzilla): Moved class constant _bugzilla_date_format to Scripts/webkitpy/common/net/bugzilla/constants.py
1531         and renamed it to BUGZILLA_DATE_FORMAT.
1532         (Bugzilla.AccessError):
1533         (Bugzilla.AccessError.__init__):
1534         (Bugzilla._parse_bug_id_from_attachment_page): Modified to return a tuple of ("bug id", "error code") so that
1535         the caller can know the reason the parse failed if it did. The parse will fail if we do not have access to view
1536         the bug.
1537         (Bugzilla.bug_id_for_attachment_id): Modified to take a boolean throw_on_access_error (default: False)
1538         as to whether to raise a Bugzilla.AccessError exception and pass it through to get_bug_id_for_attachment_id().
1539         (Bugzilla.get_bug_id_for_attachment_id): Modified to take a boolean throw_on_access_error (default: False)
1540         as to whether to raise a Bugzilla.AccessError exception if we do not have access to the bug associated with
1541         the specified attachment id.
1542         (Bugzilla.fetch_attachment):
1543         * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
1544         (MockBugzillaQueries.fetch_attachment_ids_from_review_queue):
1545         (MockBugzilla):
1546         (MockBugzilla.fetch_attachment):
1547         (MockBugzilla.fetch_attachment_contents):
1548         (MockBugzilla.add_patch_to_bug):
1549         * Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py:
1550         * Scripts/webkitpy/common/net/bugzilla/constants.py: Added.
1551         * Scripts/webkitpy/common/net/statusserver.py:
1552         (StatusServer)
1553         (StatusServer.__init__): Modified to take an boolean use_https as to whether to query the server using
1554         HTTPS (default: True - use HTTPS).
1555         (StatusServer.set_host): Moved logic to compute the server URL from her to _server_url().
1556         (StatusServer.set_use_https): Added.
1557         (StatusServer.set_api_key): Added.
1558         (StatusServer._server_url): Added.
1559         (StatusServer._authorization_header_name_and_value_pair): Added.
1560         (StatusServer.results_url_for_status): Update to use _server_url().
1561         (StatusServer._post_status_to_server): Ditto.
1562         (StatusServer._post_svn_revision_to_server): Ditto.
1563         (StatusServer._post_work_items_to_server): Ditto.
1564         (StatusServer._upload_attachment_to_server): Added.
1565         (StatusServer.upload_attachment): Added.
1566         (StatusServer._post_work_item_to_ews): Update to use _server_url().
1567         (StatusServer.next_work_item): Ditto.
1568         (StatusServer._post_release_work_item): Ditto.
1569         (StatusServer._post_release_lock): Ditto.
1570         (StatusServer._fetch_attachment_page): Added.
1571         (StatusServer.fetch_attachment): Added.
1572         (StatusServer._fetch_url): Add the API Key to the request if we have one.
1573         (StatusServer.patch_status): Update to use _server_url().
1574         (StatusServer.svn_revision): Ditto.
1575         * Scripts/webkitpy/common/net/statusserver_mock.py:
1576         (MockStatusServer.upload_attachment): Added.
1577         (MockStatusServer.fetch_attachment): Added.
1578         * Scripts/webkitpy/tool/bot/feeders.py:
1579         (EWSFeeder.feed): Modified to download patches on security bugs and upload them to the status server (AppEngine).
1580         * Scripts/webkitpy/tool/commands/download.py:
1581         (ProcessAttachmentsMixin._fetch_list_of_patches_to_process): Modified to handle the case when fetching the
1582         bug details from Bugzilla fail, say because we are not allowed to the view the bug.
1583         (ProcessBugsMixin._fetch_list_of_patches_to_process): Filter out None values for attachments that we failed
1584         to fetch, say because we are not allowed to the view the bug the attachment is on.
1585         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
1586         (AbstractEarlyWarningSystem.refetch_patch): For now, refetch the patch from the status server. Ideally, we
1587         need a way to ask the status server to fetch the patch again from Bugzilla (or at least its metadata) so
1588         that the EWS can check the current state of the patch (i.e. is it still marked r?).
1589         * Scripts/webkitpy/tool/commands/queries_unittest.py:
1590         (QueryCommandsTest.test_patches_to_review): Update expected result.
1591         * Scripts/webkitpy/tool/commands/queues.py:
1592         (AbstractPatchQueue._next_patch): Fetch the patch  from the status server if we failed to fetch it from
1593         Bugzilla because we do not have permission to view it.
1594         * Scripts/webkitpy/tool/commands/queues_unittest.py:
1595         * Scripts/webkitpy/tool/commands/upload_unittest.py:
1596         (test_upload_of_security_sensitive_patch_with_no_review_and_ews): Added.
1597         * Scripts/webkitpy/tool/main.py:
1598         (WebKitPatch):
1599         (WebKitPatch._status_server_api_key_from_git): Read the API key from the Git configuration key webkit.status_api_key.
1600         (WebKitPatch._status_server_api_key): Read the API key from the environment variable WEBKIT_STATUS_API_KEY.
1601         (WebKitPatch.handle_global_options): Read the API key and update the state of the StatusServer object, if applicable.
1602         * Scripts/webkitpy/tool/steps/obsoletepatches.py:
1603         (ObsoletePatches.run): Modified to handle the case when fetching the bug details from Bugzilla fail, say because we
1604         are not allowed to the view the bug.
1605         * Scripts/webkitpy/tool/steps/submittoews.py:
1606         (SubmitToEWS.run): Upload the contents of the patch and the Bugzilla metadata about it to the status server
1607         if the patch was posted to a security bug.
1608
1609 2018-06-19  Daniel Bates  <dabates@apple.com>
1610
1611         QueueStatusServer: "'NoneType' object has no attribute 'message'" in ReleasePatch.get()
1612         when attachment is skipped by queue
1613         https://bugs.webkit.org/show_bug.cgi?id=186748
1614
1615         Reviewed by Lucas Forschler.
1616
1617         Fixes an issue where releasing a patch that was skipped by a queue would cause an AttributeError
1618         in ReleasePatch.get().
1619
1620         When removing a patch from a queue we update queue statistics. As part of this process
1621         we record the last message posted to the status server for the patch. Currently if a patch
1622         is skipped by the queue when picking the next patch to process (say, we failed to fetch the
1623         attachment) then the queue does not post a message to the status server before it asks the
1624         status server to remove the patch from the list of patches the queue needs to process. Instead
1625         the queue should tell the status server that it chose to skip the patch before asking for the
1626         patch to be removed from its list of patches to process.
1627
1628         * Scripts/webkitpy/common/net/bugzilla/attachment.py:
1629         (Attachment.bug_id): Return None if we do not have a bug ID. This can happen if we failed
1630         to fetch the attachment from Bugzilla (say, Bugzilla's markup changed) or we do not have
1631         have permission to view the Bugzilla bug.
1632         * Scripts/webkitpy/common/net/bugzilla/attachment_unittest.py: Added.
1633         (AttachmentTest):
1634         (AttachmentTest.test_no_bug_id):
1635         * Scripts/webkitpy/tool/commands/queues.py:
1636         (AbstractPatchQueue._next_patch): Call AbstractPatchQueue._did_skip() to post a status
1637         update to the status server and then release the work item.
1638         * Scripts/webkitpy/tool/commands/queues_unittest.py:
1639         (AbstractPatchQueueTest.test_next_patch): Update expected result.
1640
1641 2018-06-19  Leo Balter  <leonardo.balter@gmail.com>
1642
1643         Test262-Runner: Improve files queue to optimize CPU usage/balancing
1644         https://bugs.webkit.org/show_bug.cgi?id=186443
1645
1646         Reviewed by Michael Saboff.
1647
1648         This patch creates a queue manager for to keep the child process open while the parent process feed each child with test files to run.
1649         * Scripts/test262/Runner.pm:
1650         (processCLI):
1651         (main):
1652
1653 2018-06-19  Wenson Hsieh  <wenson_hsieh@apple.com>
1654
1655         [WebKit on watchOS] Vend username text content type when using scribble in login fields
1656         https://bugs.webkit.org/show_bug.cgi?id=186791
1657         <rdar://problem/41226935>
1658
1659         Reviewed by Beth Dakin.
1660
1661         Add testing support for grabbing the current text content type of the focused element.
1662
1663         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
1664         (WTR::UIScriptController::textContentType const):
1665         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
1666         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
1667         (WTR::UIScriptController::textContentType const):
1668         * TestRunnerShared/UIScriptContext/UIScriptController.h:
1669         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
1670         (WTR::UIScriptController::textContentType const):
1671
1672 2018-06-19  Robin Morisset  <rmorisset@apple.com>
1673
1674         [WSL] Improving the typing rules
1675         https://bugs.webkit.org/show_bug.cgi?id=186310
1676
1677         Rubberstamped by Filip Pizlo.
1678
1679         Several changes:
1680         - added a "well_formed" judgement, and defined it on function definitions (tying together with the typing rules)
1681         - cleaned up the desugaring relation (it now works on normal statements, and deals with for loops correctly)
1682         - added the null literal, the comma operator, the not operator, and parens
1683         - fixed a bunch of minor typographic issues
1684
1685         * WebGPUShadingLanguageRI/SpecWork/WSL_type.ott:
1686
1687 2018-06-18  Robin Morisset  <rmorisset@apple.com>
1688
1689         [WSL] Starting to write the spec
1690         https://bugs.webkit.org/show_bug.cgi?id=186310
1691
1692         Rubberstamped by Filip Pizlo.
1693
1694         This is a snapshot of my current work on the WSL spec (I will try to commit more regularly in the future).
1695
1696         WSL.g4 is the grammar, in antlr4 format. I only made minor changes in it since last time.
1697
1698         source/index.rst is the Sphinx document. 
1699         It currently only contain a very rough outline, and some TODOs.
1700         It can be compiled with make html or make pdf, and relies on Makefile and source/conf.py.
1701
1702         WSL_exec.ott is the current set of execution rules I have formalized.
1703         They will need a fair bit of refactoring, to account for the new desugaring phase,
1704             to be compatible with whatever memory model we decide on,
1705             and to be explicit about the memory layout of structs and arrays
1706         They can be compiled to latex with OTT (which in turn requires OCaml and opam).
1707             Just ask me by email if you want a pdf of all the rules without having to install all that.
1708
1709         WSL_type.ott is the current set of local typing rules I have formalized.
1710             Like WSL_exex.ott, it is very incomplete, lacking all function calls among other things.
1711
1712         * WebGPUShadingLanguageRI/SpecWork/Makefile: Added.
1713         * WebGPUShadingLanguageRI/SpecWork/WSL.g4:
1714         * WebGPUShadingLanguageRI/SpecWork/WSL_exec.ott: Added.
1715         * WebGPUShadingLanguageRI/SpecWork/WSL_type.ott: Added.
1716         * WebGPUShadingLanguageRI/SpecWork/source: Added.
1717         * WebGPUShadingLanguageRI/SpecWork/source/conf.py: Added.
1718         * WebGPUShadingLanguageRI/SpecWork/source/index.rst: Added.
1719
1720 2018-06-18  Chris Dumez  <cdumez@apple.com>
1721
1722         Crash under WebProcessPool::networkProcessFailedToLaunch():
1723         https://bugs.webkit.org/show_bug.cgi?id=186784
1724         <rdar://problem/33535377>
1725
1726         Reviewed by Brady Eidson.
1727
1728         Add API test coverage.
1729
1730         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
1731         (TEST):
1732
1733 2018-06-18  Zan Dobersek  <zdobersek@igalia.com>
1734
1735         [webkitpy] WPTRunner should remove any metadata content before (re)generating it
1736         https://bugs.webkit.org/show_bug.cgi?id=186755
1737
1738         Reviewed by Carlos Garcia Campos.
1739
1740         WPTRunner generates the WPT-compliant metadata content before each test
1741         run. Before it does so, it should remove the complete target directory
1742         for this metadata, allowing any change in the expectations JSON to be
1743         immediately reflected.
1744
1745         For example, if a test failure expectation is removed, the related .ini
1746         metadata file is not generated anymore, but the stale .ini file isn't
1747         removed from the current metadata directory. To avoid this, purging
1748         the metadata directory and regenerating it from scratch should be done
1749         for each test run.
1750
1751         * Scripts/webkitpy/w3c/wpt_runner.py:
1752         (WPTRunner._generate_metadata_directory):
1753         * Scripts/webkitpy/w3c/wpt_runner_unittest.py:
1754         (WPTRunnerTest.test_generate_metadata_directory):
1755
1756 2018-06-12  Darin Adler  <darin@apple.com>
1757
1758         [Cocoa] Make some RetainPtr refinements to get more ready for ARC
1759         https://bugs.webkit.org/show_bug.cgi?id=186526
1760
1761         Reviewed by Anders Carlsson.
1762
1763         * DumpRenderTree/mac/LayoutTestHelper.m:
1764         (colorProfileURLForDisplay): Use CFBridgingRelease instead of using
1765         CFAutorelease for a bridging use case.
1766
1767 2018-06-16  Leo Balter  <leonardo.balter@gmail.com>
1768
1769         [test262-runner] Handle items from the config list with inline comments
1770         https://bugs.webkit.org/show_bug.cgi?id=186707
1771
1772         Reviewed by Michael Saboff.
1773
1774         This is a workaround for the Yaml parser that bundles inline comments together with any items.
1775         * Scripts/test262/Runner.pm:
1776         (shouldSkip):
1777
1778 2018-06-16  Valerie R Young  <valerie@bocoup.com>
1779
1780         test262/Runner.pm: option to run test skipped in config file
1781         https://bugs.webkit.org/show_bug.cgi?id=186660
1782
1783         Reviewed by Michael Saboff.
1784
1785         Adds option --skipped-files, -S, to run all files skipped in the
1786         config.yaml file.
1787
1788         * Scripts/test262/Runner.pm:
1789         (processCLI):
1790         (main):
1791         (getBuildPath):
1792         (processFile):
1793         (processResult):
1794
1795 2018-05-18  Basuke Suzuki  <basuke.suzuki@sony.com>
1796
1797         Unreviewed, add myself as a WebKit committer.
1798
1799         * Scripts/webkitpy/common/config/contributors.json:
1800
1801 2018-06-15  Chris Dumez  <cdumez@apple.com>
1802
1803         Add API test coverage for SW RegistrationDatabase destruction and fix issues found by the test
1804         https://bugs.webkit.org/show_bug.cgi?id=186681
1805
1806         Reviewed by Brady Eidson.
1807
1808        Add API test coverage.
1809
1810         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
1811
1812 2018-06-15  Brady Eidson  <beidson@apple.com>
1813
1814         Crash in both StorageProcess and UIProcess when using custom WKWebsiteDataStores for data management.
1815         <rdar://problem/41019893> and https://bugs.webkit.org/show_bug.cgi?id=186682
1816
1817         Reviewed by Chris Dumez.
1818
1819         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1820         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
1821         (TEST):
1822
1823 2018-06-15  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1824
1825         [GTK] Fix adding error in browserperfdash_runner.
1826
1827         Unreviewed follow-up fix after r232820.
1828
1829         * Scripts/webkitpy/browserperfdash/browserperfdash_runner.py:
1830         (BrowserPerfDashRunner.run):
1831
1832 2018-06-15  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1833
1834         [GTK][WKE] Disable memory pressure handling when running layout tests (WTR)
1835         https://bugs.webkit.org/show_bug.cgi?id=186663
1836
1837         Reviewed by Michael Catanzaro.
1838
1839         Disable memory pressure handling when running tests via WTR by
1840         setting WEBKIT_DISABLE_MEMORY_PRESSURE_MONITOR=1 on the environment.
1841
1842         * WebKitTestRunner/gtk/main.cpp:
1843         (main):
1844         * WebKitTestRunner/wpe/main.cpp:
1845         (main):
1846
1847 2018-06-15  Jonathan Bedard  <jbedard@apple.com>
1848
1849         Add iOS 12 and watchOS 5 to webkitpy
1850         https://bugs.webkit.org/show_bug.cgi?id=186285
1851
1852         Reviewed by Aakash Jain.
1853
1854         * BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
1855         * BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
1856         Trigger the right build queues for iOS 12 on check-in.
1857         * Scripts/webkitpy/common/version_name_map.py:
1858         (VersionNameMap.__init__): Add iOS 12, tvOS 12 and watchOS 5.
1859         * Scripts/webkitpy/common/version_name_map_unittest.py:
1860         (VersionMapTestCase.test_ios_name_by_version): Test iOS 12 version-name mapping.
1861         * Scripts/webkitpy/port/ios_device_unittest.py:
1862         (IOSDeviceTest.test_layout_test_searchpath_without_apple_additions):
1863         * Scripts/webkitpy/port/ios_simulator_unittest.py:
1864         (IOSSimulatorTest.test_layout_test_searchpath_without_apple_additions):
1865
1866 2018-06-14  Saam Barati  <sbarati@apple.com>
1867
1868         sun spider compile time benchmark fails in run-jsc-benchmarks with JSC_validateOptions=1
1869         https://bugs.webkit.org/show_bug.cgi?id=186647
1870
1871         Reviewed by Yusuke Suzuki.
1872
1873         Let's use `unset JSC_useBlah` instead of `export JSC_useBlah=` to clear environment
1874         variables. The latter was causing crashes with when JSC_validateOptions was true.
1875
1876         * Scripts/run-jsc-benchmarks:
1877
1878 2018-06-14  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1879
1880         [GTK][buildbot] Raise timeouts for the step benchmark-test on the GTK perf bot
1881         https://bugs.webkit.org/show_bug.cgi?id=186635
1882
1883         Reviewed by Michael Catanzaro.
1884
1885         The current maximum timeout for a run-benchmark test is 1800 (Motionmark plan),
1886         but the buildbot default timeout for the whole step without text output is 1200.
1887         That means that a timeout on a single test can cause a whole step abort because
1888         the buildbot one will trigger first.
1889
1890         Set the benchmark-test step timeout to 2000 to avoid this.
1891
1892         When this benchmark-test was added in r197505 it was already added with a higher
1893         timeout than default (1500) due to the above problem, but it seems this has been
1894         ignored so far because buildbot won't accept the timeout to be set on the class
1895         definition (not even on the class constructor).
1896         The new timeout has to be defined in the addStep call itself.
1897         I have double-checked that by testing locally with the script run-buildbot-test.py
1898         And this upstream issue confirms that https://github.com/buildbot/buildbot/issues/3887
1899
1900         * BuildSlaveSupport/build.webkit.org-config/factories.py:
1901         (BuildAndPerfTestFactory.__init__):
1902         (DownloadAndPerfTestFactory.__init__):
1903         * BuildSlaveSupport/build.webkit.org-config/steps.py:
1904         (RunBenchmarkTests):
1905
1906 2018-06-14  Roy Reapor  <rreapor@apple.com>
1907
1908         Use new jQuery file layout
1909         https://bugs.webkit.org/show_bug.cgi?id=186636
1910
1911         Reviewed by Aakash Jain.
1912
1913         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
1914         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/rebaseline.html:
1915         * TestResultServer/static-dashboards/run-embedded-unittests.html:
1916
1917 2018-06-14  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1918
1919         [Win][MiniBrowser] Change to use WebKit by default if it's available
1920         https://bugs.webkit.org/show_bug.cgi?id=186633
1921
1922         When MiniBrowser is built with WebKit, use it by default. Also add command
1923         line switch for WebKitLegacy.
1924
1925         Reviewed by Youenn Fablet.
1926
1927         * MiniBrowser/win/Common.cpp:
1928         (parseCommandLine):
1929         (dllLauncherEntryPoint): Deleted.
1930         * MiniBrowser/win/Common.h:
1931         * MiniBrowser/win/WinMain.cpp:
1932         (wWinMain):
1933         (dllLauncherEntryPoint):
1934
1935 2018-06-14  Matt Lewis  <jlewis3@apple.com>
1936
1937         Unreviewed, rolling out r232823.
1938
1939         This caused both test timeouts and api failures.
1940
1941         Reverted changeset:
1942
1943         "[Mail] Use the Mail Viewer width as the base for resolving
1944         horizontal viewport units"
1945         https://bugs.webkit.org/show_bug.cgi?id=186585
1946         https://trac.webkit.org/changeset/232823
1947
1948 2018-06-14  Youenn Fablet  <youenn@apple.com>
1949
1950         TestWebKitAPI.WebKit.WKNavigationResponsePDFType fails after r232815
1951         https://bugs.webkit.org/show_bug.cgi?id=186631
1952
1953         Reviewed by Chris Dumez.
1954
1955         * TestWebKitAPI/Tests/WebKitCocoa/WKNavigationResponse.mm:
1956         (TEST): Update PDF plug-in identifier.
1957
1958 2018-06-14  Leo Balter  <leonardo.balter@gmail.com>
1959
1960         [test262-runner] Improve displayed settings, use rel paths
1961         https://bugs.webkit.org/show_bug.cgi?id=186626
1962
1963         Reviewed by Michael Saboff.
1964
1965         Use relative paths for the information printed in the settings summary after calling the Test262 Runner. This provides a cleaner summary that is easier to read and consume.
1966         * Scripts/test262/Runner.pm:
1967         (processCLI):
1968         (getBuildPath):
1969
1970 2018-06-14  Leo Balter  <leonardo.balter@gmail.com>
1971
1972         Test262-Runner: Add more information in the summarized stats
1973         https://bugs.webkit.org/show_bug.cgi?id=185749
1974
1975         Reviewed by Michael Saboff.
1976
1977         This patch adds extra information in the summarized stats for the given results for each run.
1978         This includes a total of files, a total of executed files and a time information per path and feature.
1979         * Scripts/test262/Runner.pm:
1980         (summarizeResults):
1981
1982 2018-06-14  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1983
1984         [GTK] Enable tests on the GTK EWS queue
1985         https://bugs.webkit.org/show_bug.cgi?id=186559
1986
1987         Reviewed by Michael Catanzaro.
1988
1989         Enable testing for the gtk-wk2 EWS queue.
1990
1991         * Scripts/webkitpy/common/config/ews.json:
1992
1993 2018-06-14  Valerie R Young  <valerie@bocoup.com>
1994
1995         [test262-runner] Test output should summarize tests that are
1996         unexpectedly passing/failing.
1997         https://bugs.webkit.org/show_bug.cgi?id=186527
1998
1999         Reviewed by Michael Saboff.
2000
2001         * Scripts/test262/Runner.pm:
2002         (main):
2003           In verbose mode, a summary of all new failing tests
2004           and all new passing tests are printed at the end of
2005           the script output.
2006
2007 2018-06-14  Zan Dobersek  <zdobersek@igalia.com>
2008
2009         [GTK][WPE] MiniBrowsers should be able to ignore TLS errors
2010         https://bugs.webkit.org/show_bug.cgi?id=186557
2011
2012         Reviewed by Carlos Garcia Campos.
2013
2014         Add the --ignore-tls-errors flags to the GTK and WPE MiniBrowsers.
2015         Enabling the flag enforces ignoring of TLS errors that occur during
2016         load. This is primarily useful for loading test cases from the wpt or
2017         run-webkit-httpd servers where testing-purpose certificates are used.
2018
2019         * MiniBrowser/gtk/main.c:
2020         (main):
2021         * MiniBrowser/wpe/main.cpp:
2022         (main):
2023
2024 2018-06-13  Adrian Perez de Castro  <aperez@igalia.com>
2025
2026         [WPE] Trying to access the remote inspector hits an assertion in the UIProcess
2027         https://bugs.webkit.org/show_bug.cgi?id=186588
2028
2029         Reviewed by Carlos Garcia Campos.
2030
2031         Make both the WPE and GTK+ ports use /org/webkit/inspector as base prefix
2032         for resource paths, which avoids needing a switcheroo depending on the port.
2033
2034         * WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
2035         (WTR::TestRunner::inspectorTestStubURL):
2036         * glib/generate-inspector-gresource-manifest.py:
2037
2038 2018-06-11  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2039
2040         [GTK] Add a script to upload the data generated with run-benchmark to a browserperfdash server and use it on the gtk perf bot
2041         https://bugs.webkit.org/show_bug.cgi?id=166885
2042
2043         Reviewed by Michael Catanzaro.
2044
2045         This patch adds a new script that will execute run-benchmark and upload the results it generates to a browserperfdash web app.
2046
2047         It also modifies the buildbot config file so the GTK performance bot runs this script on the perf-test step.
2048
2049         * BuildSlaveSupport/build.webkit.org-config/steps.py:
2050         (RunBenchmarkTests):
2051         * Scripts/browserperfdash-benchmark: Added.
2052         * Scripts/webkitpy/browserperfdash/README: Added.
2053         * Scripts/webkitpy/browserperfdash/__init__.py: Added.
2054         * Scripts/webkitpy/browserperfdash/browserperfdash_runner.py: Added.
2055         (parse_args):
2056         (BrowserPerfDashRunner):
2057         (BrowserPerfDashRunner.__init__):
2058         (BrowserPerfDashRunner._parse_config_file):
2059         (BrowserPerfDashRunner._get_test_version_string):
2060         (BrowserPerfDashRunner._get_test_data_json_string):
2061         (BrowserPerfDashRunner._upload_result):
2062         (BrowserPerfDashRunner.run):
2063         (format_logger):
2064         (main):
2065         * Scripts/webkitpy/browserperfdash/browserperfdash_unittest.py: Added.
2066         (FakeBenchmarkRunner):
2067         (FakeBenchmarkRunner.__init__):
2068         (FakeBenchmarkRunner.execute):
2069         (BrowserPerfDashRunnerTest):
2070         (BrowserPerfDashRunnerTest.test_list_plans_at_least_five):
2071         (BrowserPerfDashRunnerTest.test_benchmark_runner_subclasses_at_least_two):
2072         (BrowserPerfDashRunnerTest.test_can_construct_runner_object_minimum_parameters):
2073         * Scripts/webkitpy/browserperfdash/config-file-example.txt: Added.
2074
2075 2018-06-13  David Fenton  <david_fenton@apple.com>
2076
2077         Unreviewed, add myself as a WebKit committer.
2078
2079         * Scripts/webkitpy/common/config/contributors.json:
2080
2081 2018-06-13  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2082
2083         [JSCOnly] Add a MIPS32el JSCOnly EWS (follow-up fix)
2084         https://bugs.webkit.org/show_bug.cgi?id=186523
2085
2086         Unreviewed follow-up fix after r232748
2087
2088         * Scripts/webkitpy/common/config/ports.py:
2089         (JscOnlyPort.build_jsc_command): It is needed to pass a --jsc-only argument to the build-jsc script.
2090         * Scripts/webkitpy/common/config/ports_unittest.py:
2091         (DeprecatedPortTest.test_jsconly_port):
2092
2093 2018-06-12  Thibault Saunier  <tsaunier@igalia.com>
2094
2095         webkitpy: Implement coredumpctl support on linux
2096         https://bugs.webkit.org/show_bug.cgi?id=184039
2097
2098         Reviewed by Daniel Bates.
2099
2100         And start using an Executive to run subprocesses
2101         in GDBCrashLogGenerator.
2102
2103         Unit tests adapted to the new API and still passing.
2104
2105         * Scripts/webkitpy/port/linux_get_crash_log.py:
2106         (GDBCrashLogGenerator):
2107         (GDBCrashLogGenerator._get_trace_from_systemd):
2108         (GDBCrashLogGenerator.generate_crash_log):
2109
2110 2018-06-12  Valerie R Young  <valerie@bocoup.com>
2111
2112         test262/Runner.pm: fix one test (can't find jsc)
2113         https://bugs.webkit.org/show_bug.cgi?id=186573
2114
2115         Reviewed by Michael Saboff.
2116
2117         * Scripts/webkitperl/test262_unittest/test262-runner-tests.pl:
2118         fix subtest to use mock JSC
2119
2120 2018-06-12  Tim Horton  <timothy_horton@apple.com>
2121
2122         Add a API test for r232601
2123         https://bugs.webkit.org/show_bug.cgi?id=186417
2124
2125         Reviewed by Wenson Hsieh.
2126
2127         * TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
2128         (immediateSubviewOfClass):
2129         (TEST):
2130         Ensure that we put the view hierarchy back together (move WKContentView
2131         out of the animated resize view) and unhide WKContentView after a
2132         resize-with-hidden-content.
2133
2134 2018-06-12  Valerie R Young  <valerie@bocoup.com>
2135
2136         test262/Runner.pm: add unit tests
2137         https://bugs.webkit.org/show_bug.cgi?id=185783
2138
2139         Reviewed by Michael Saboff.
2140
2141         * Scripts/webkitperl/test262_unittest/README: Added.
2142         * Scripts/webkitperl/test262_unittest/fixtures/expectations-compare.yaml: Added.
2143         * Scripts/webkitperl/test262_unittest/fixtures/expectations.yaml: Added.
2144         * Scripts/webkitperl/test262_unittest/fixtures/mock-jsc-fail-new-error.pl: Added.
2145         * Scripts/webkitperl/test262_unittest/fixtures/mock-jsc-fail.pl: Added.
2146         * Scripts/webkitperl/test262_unittest/fixtures/mock-jsc-pass.pl: Added.
2147         * Scripts/webkitperl/test262_unittest/fixtures/test/expected-to-fail-now-failing-with-new-error.js: Added.
2148         * Scripts/webkitperl/test262_unittest/fixtures/test/expected-to-fail-now-failing.js: Added.
2149         * Scripts/webkitperl/test262_unittest/fixtures/test/expected-to-fail-now-passing.js: Added.
2150         (f):
2151         * Scripts/webkitperl/test262_unittest/fixtures/test/expected-to-pass-now-failing.js: Added.
2152         * Scripts/webkitperl/test262_unittest/fixtures/test/fail.js: Added.
2153         * Scripts/webkitperl/test262_unittest/fixtures/test/pass.js: Added.
2154         (f):
2155         * Scripts/webkitperl/test262_unittest/test262-runner-tests.pl: Added.
2156
2157 2018-06-12  Valerie R Young  <valerie@bocoup.com>
2158
2159         test262/Runner.pm: minor updates
2160         https://bugs.webkit.org/show_bug.cgi?id=186399
2161
2162         - If harness files cannot be found in a CLI supplied
2163         test262 path, then default to webkit's test262 harness files.
2164         - Lazily create the test262-results directory (only right before
2165         writing to it)
2166        - If an expectation file is supplied via the CLI, save to the
2167         supplied location instead of the default webkit location
2168         (JSTest/test262/expectation.yaml).
2169
2170         Reviewed by Michael Saboff.
2171
2172         * Scripts/test262/Runner.pm:
2173         (processCLI):
2174         (main):
2175         (compileTest):
2176         (processResult):
2177         (getHarness):
2178         (summarizeResults):
2179
2180 2018-06-11  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2181
2182         [JSCOnly] Add a MIPS32el JSCOnly EWS
2183         https://bugs.webkit.org/show_bug.cgi?id=186523
2184
2185         Reviewed by Michael Catanzaro.
2186
2187         Add a new jsc-mips-ews queue that will execute build-jsc for the jsc-only (Linux) port.
2188         The worker(s) on this queue should be pre-configured to cross-build JSC for MIPS32el.
2189
2190         * QueueStatusServer/config/queues.py:
2191         * QueueStatusServer/model/queues.py:
2192         (Queue.display_name):
2193         * Scripts/webkitpy/common/config/ews.json:
2194         * Scripts/webkitpy/common/config/ports.py:
2195         (DeprecatedPort.port):
2196         (WpePort.run_webkit_tests_command):
2197         (JscOnlyPort):
2198         (JscOnlyPort.build_jsc_command):
2199         * Scripts/webkitpy/common/config/ports_unittest.py:
2200         (DeprecatedPortTest.test_wincairo_port):
2201         (DeprecatedPortTest):
2202         (DeprecatedPortTest.test_jsconly_port):
2203         * Scripts/webkitpy/port/factory.py:
2204         (PortFactory):
2205         * Scripts/webkitpy/port/jsc_only.py: Added. Add a basic port definition. Required by the EWS tooling.
2206         (JscOnlyPort):
2207         (JscOnlyPort.__init__):
2208         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
2209         (test_ews_name):
2210
2211 2018-06-12  Zan Dobersek  <zdobersek@igalia.com>
2212
2213         Add run-web-platform-tests script
2214         https://bugs.webkit.org/show_bug.cgi?id=183356
2215
2216         Reviewed by Carlos Alberto Lopez Perez.
2217
2218         Add the run-web-platform-tests script that allows running WebKit builds
2219         against the external web-platform-tests project.
2220
2221         The script sets up all the port-specific information, including the
2222         display driver. If no web-platform-tests repository location is
2223         specified, the TestDownloader utility is used to clone the repository,
2224         and path to that clone is leveraged instead.
2225
2226         Port-specific TestManifest.ini and TestExpectations.json file paths are
2227         then constructed, bailing if any of the files is missing. The JSON file
2228         is then used to construct the metadata file tree, creating an .ini file
2229         for each test that is disabled, has a certain expectation, or has
2230         subtests that themselves have certain expectations. This metadata tree
2231         is built under the build directory, and is purged and reconstructed for
2232         each separate run.
2233
2234         Lastly, the WPT python module is imported from the web-platform-tests
2235         source location, and wpt.main() is invoked along with all the necessary
2236         arguments that set up a web-platform-tests suite run using the WebKit
2237         product.
2238
2239         * Scripts/run-web-platform-tests: Added.
2240         * Scripts/webkitpy/common/config/ports_mock.py:
2241         (MockPort.run_bindings_tests_command):
2242         (MockPort):
2243         (MockPort.wpt_metadata_directory):
2244         (MockPort.wpt_manifest_file):
2245         * Scripts/webkitpy/port/base.py:
2246         (Port.wpt_metadata_directory):
2247         (Port):
2248         (Port.wpt_manifest_file):
2249         * Scripts/webkitpy/w3c/common.py:
2250         (is_file_exportable):
2251         (WPTPaths):
2252         (WPTPaths.checkout_directory):
2253         (WPTPaths.wpt_checkout_path):
2254         * Scripts/webkitpy/w3c/test_downloader.py:
2255         (TestDownloader.clone_tests):
2256         (TestDownloader):
2257         (TestDownloader.download_tests):
2258         * Scripts/webkitpy/w3c/test_exporter.py:
2259         (WebPlatformTestExporter.__init__):
2260         * Scripts/webkitpy/w3c/wpt_runner.py: Added.
2261         (main):
2262         (parse_args):
2263         (create_webdriver):
2264         (spawn_wpt):
2265         (WPTRunner):
2266         (WPTRunner.__init__):
2267         (WPTRunner._prepare_wpt_checkout):
2268         (WPTRunner._generate_metadata_directory):
2269         (WPTRunner.run):
2270         * Scripts/webkitpy/w3c/wpt_runner_unittest.py: Added.
2271         (WPTRunnerTest):
2272         (WPTRunnerTest.MockTestDownloader):
2273         (WPTRunnerTest.MockTestDownloader.default_options):
2274         (WPTRunnerTest.MockTestDownloader.__init__):
2275         (WPTRunnerTest.MockTestDownloader.clone_tests):
2276         (WPTRunnerTest.MockWebDriver):
2277         (WPTRunnerTest.MockWebDriver.create):
2278         (WPTRunnerTest.MockWebDriver.binary_path):
2279         (WPTRunnerTest.MockWebDriver.browser_path):
2280         (WPTRunnerTest.MockWebDriver.browser_args):
2281         (WPTRunnerTest.MockSpawnWPT):
2282         (WPTRunnerTest.MockSpawnWPT.__init__):
2283         (WPTRunnerTest.MockSpawnWPT.__call__):
2284         (WPTRunnerTest.TestInstance):
2285         (WPTRunnerTest.TestInstance.__init__):
2286         (WPTRunnerTest.TestInstance.prepare_mock_files_for_run):
2287         (WPTRunnerTest.test_prepare_wpt_checkout):
2288         (WPTRunnerTest.test_prepare_wpt_checkout_specified_path):
2289         (WPTRunnerTest.test_generate_metadata_directory):
2290         (WPTRunnerTest.test_run):
2291         (WPTRunnerTest.test_run_with_specified_options):
2292         (WPTRunnerTest.test_run_with_args):
2293
2294 2018-06-11  Mark Lam  <mark.lam@apple.com>
2295
2296         Add support for webkit-test-runner jscOptions in DumpRenderTree and WebKitTestRunner.
2297         https://bugs.webkit.org/show_bug.cgi?id=186451
2298         <rdar://problem/40875792>
2299
2300         Reviewed by Tim Horton.
2301
2302         This jscOptions option can be used by a layout test to specify some JSC runtime
2303         options needed by the test e.g. by adding something like this to the top of the
2304         html file after the DOCTYPE tag:
2305             <!-- webkit-test-runner [ jscOptions=--useIntlPluralRules=true ] -->
2306
2307         If more than one option is needed, the options can be specified as a comma
2308         separated string e.g.
2309             <!-- webkit-test-runner [ jscOptions=--useIntlPluralRules=true,--useZombieMode=true ] -->
2310
2311         This only works with JSC options that can be changed at runtime.  Not all JSC
2312         options can be changed this way as some options are only checked and set once at
2313         VM / process initialization time: changing this type of options may have no
2314         effect.  It's the test writer's responsibility to determine which options are
2315         appropriate for with this webkit-test-runner jscOptions option.
2316
2317         This implementation is a workaround until we can change the run-webkit-tests
2318         scripts to parse the option and apply it to a new launch of DRT or WKTR:
2319         https://bugs.webkit.org/show_bug.cgi?id=186452
2320
2321         * DumpRenderTree/TestOptions.cpp:
2322         (TestOptions::TestOptions):
2323         (TestOptions::webViewIsCompatibleWithOptions const):
2324         * DumpRenderTree/TestOptions.h:
2325         * DumpRenderTree/mac/DumpRenderTree.mm:
2326         (setJSCOptions):
2327         (resetWebViewToConsistentStateBeforeTesting):
2328         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2329         (WTR::InjectedBundle::didReceiveMessageToPage):
2330         * WebKitTestRunner/TestController.cpp:
2331         (WTR::TestController::resetStateToConsistentValues):
2332         (WTR::updateTestOptionsFromTestHeader):
2333         * WebKitTestRunner/TestOptions.h:
2334         (WTR::TestOptions::hasSameInitializationOptions const):
2335
2336 2018-06-11  Brady Eidson  <beidson@apple.com>
2337
2338         Add a command line default to force WebKitTestRunner to turn on process swap on navigation.
2339         https://bugs.webkit.org/show_bug.cgi?id=186534
2340
2341         Reviewed by Chris Dumez.
2342
2343         Right now Process Swap On Navigation is enabled on a per-test basis.
2344         The future is to enable it by default.
2345
2346         Adding a 'defaults write' helps us get to that future.
2347
2348         * WebKitTestRunner/TestController.cpp:
2349         (WTR::TestController::testOptionsForTest const):
2350         (WTR::TestController::platformAddTestOptions const):
2351         * WebKitTestRunner/TestController.h:
2352         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2353         (WTR::TestController::platformAddTestOptions const):
2354
2355 2018-06-11  Chris Dumez  <cdumez@apple.com>
2356
2357         Allow enabling PSON in layout tests without window.open support
2358         https://bugs.webkit.org/show_bug.cgi?id=186537
2359
2360         Reviewed by Geoffrey Garen.
2361
2362         Allow enabling PSON in layout tests without window.open support since window.open support
2363         is far from being ready and we plan to enable PSON in layout tests soon.
2364
2365         * WebKitTestRunner/TestController.cpp:
2366         (WTR::TestController::createWebViewWithOptions):
2367         (WTR::updateTestOptionsFromTestHeader):
2368         * WebKitTestRunner/TestOptions.h:
2369         (WTR::TestOptions::hasSameInitializationOptions const):
2370
2371 2018-06-11  Brady Eidson  <beidson@apple.com>
2372
2373         Followup to [Cocoa] Remove all uses of NSAutoreleasePool as part of preparation for ARC
2374         https://bugs.webkit.org/show_bug.cgi?id=186436
2375
2376         Patch by Darin Adler
2377         Reviewed by Brady Eidson.
2378
2379         * TestWebKitAPI/Tests/mac/StopLoadingFromDidFinishLoading.mm:
2380         (TestWebKitAPI::TEST):
2381
2382 2018-06-11  Mark Lam  <mark.lam@apple.com>
2383
2384         Gardening: skip BigInt tests on iOS until the feature is stable.
2385         <rdar://problem/40331121>
2386
2387         Not reviewed.
2388
2389         * Scripts/run-jsc-stress-tests:
2390
2391 2018-06-11  Fujii Hironori  <Hironori.Fujii@sony.com>
2392
2393         [Win][MiniBrowser] Add WebKitBrowserWindow class for modern WebKit API
2394         https://bugs.webkit.org/show_bug.cgi?id=186478
2395
2396         Reviewed by Alex Christensen.
2397
2398         Added "New WebKit Window" and "New WebKitLegacy Window" menu
2399         items. Disabled the menu item "New WebKit Window" if
2400         !ENABLE(WEBKIT).
2401
2402         * MiniBrowser/win/CMakeLists.txt: Added WebKitBrowserWindow.cpp
2403         source file and ENABLE_WEBKIT macro if ENABLE_WEBKIT.
2404         * MiniBrowser/win/MainWindow.cpp:
2405         (MainWindow::MainWindow):
2406         (MainWindow::create):
2407         (MainWindow::init):
2408         (MainWindow::WndProc):
2409         * MiniBrowser/win/MainWindow.h:
2410         * MiniBrowser/win/MiniBrowserLib.rc:
2411         * MiniBrowser/win/MiniBrowserLibResource.h:
2412         * MiniBrowser/win/PrintWebUIDelegate.cpp:
2413         (PrintWebUIDelegate::createWebViewWithRequest):
2414         * MiniBrowser/win/WebKitBrowserWindow.cpp: Added.
2415         (createString):
2416         (toUtf8):
2417         (createWKString):
2418         (createWKURL):
2419         (WebKitBrowserWindow::create):
2420         (WebKitBrowserWindow::WebKitBrowserWindow):
2421         (WebKitBrowserWindow::init):
2422         (WebKitBrowserWindow::hwnd):
2423         (WebKitBrowserWindow::loadURL):
2424         (WebKitBrowserWindow::loadHTMLString):
2425         (WebKitBrowserWindow::navigateForwardOrBackward):
2426         (WebKitBrowserWindow::navigateToHistory):
2427         (WebKitBrowserWindow::setPreference):
2428         (WebKitBrowserWindow::print):
2429         (WebKitBrowserWindow::launchInspector):
2430         (WebKitBrowserWindow::setUserAgent):
2431         (WebKitBrowserWindow::userAgent):
2432         (WebKitBrowserWindow::showLayerTree):
2433         (WebKitBrowserWindow::updateStatistics):
2434         (WebKitBrowserWindow::resetZoom):
2435         (WebKitBrowserWindow::zoomIn):
2436         (WebKitBrowserWindow::zoomOut):
2437         (toWebKitBrowserWindow):
2438         (WebKitBrowserWindow::didReceiveTitleForFrame):
2439         (WebKitBrowserWindow::didCommitLoadForFrame):
2440         * MiniBrowser/win/WebKitBrowserWindow.h:
2441         * MiniBrowser/win/WinMain.cpp:
2442         (wWinMain):
2443
2444 2018-06-11  Keith Miller  <keith_miller@apple.com>
2445
2446         Add missing whitespace to run-jsc command
2447         https://bugs.webkit.org/show_bug.cgi?id=186528
2448
2449         Reviewed by Mark Lam.
2450
2451         * Scripts/run-jsc:
2452
2453 2018-06-11  Philippe Normand  <pnormand@igalia.com>
2454
2455         [webkitpy] PHP7.2 support on Debian platforms
2456         https://bugs.webkit.org/show_bug.cgi?id=186521
2457
2458         Reviewed by Michael Catanzaro.
2459
2460         * Scripts/webkitpy/port/base.py:
2461         (Port._debian_php_version): Refactor and add PHP 7.2 version support.
2462
2463 2018-06-11  Carlos Garcia Campos  <cgarcia@igalia.com>
2464
2465         Unreviewed. Fix WPE API and layout tests after r232670.
2466
2467         Now that dyz is not installed, there's not -default.so symlink for the WPE backend, so we need to use
2468         WPE_BACKEND_LIBRARY environment variable to ensure tests are run with fdo backend.
2469
2470         * Scripts/run-wpe-tests:
2471         (WPETestRunner.__init__):
2472         (WPETestRunner):
2473         (WPETestRunner.setup_testing_environment):
2474         * Scripts/webkitpy/port/wpe.py:
2475         (WPEPort.setup_environ_for_server):
2476         * glib/api_test_runner.py:
2477         (TestRunner.setup_testing_environment):
2478         (TestRunner.run_tests):
2479         (TestRunner._setup_testing_environment): Deleted.
2480
2481 2018-06-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2482
2483         [GTK][WPE] Add API run run javascript from a WebKitWebView in an isolated world
2484         https://bugs.webkit.org/show_bug.cgi?id=186192
2485
2486         Reviewed by Michael Catanzaro.
2487
2488         Add tests cases for the new API.
2489
2490         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
2491         (testWebViewRunJavaScript):
2492         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
2493         (methodCallCallback):
2494         (webkit_web_extension_initialize_with_user_data):
2495         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
2496         (runJavaScriptInWorldReadyCallback):
2497         (WebViewTest::runJavaScriptFromGResourceAndWaitUntilFinished):
2498         (WebViewTest::runJavaScriptInWorldAndWaitUntilFinished):
2499         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
2500
2501 2018-06-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2502
2503         [WPE] Add a MiniBrowser and use it to run WebDriver tests
2504         https://bugs.webkit.org/show_bug.cgi?id=186345
2505
2506         Reviewed by Žan Doberšek.
2507
2508         Most of the code is based on dyz and gtk MiniBrowser. This patch adds a new internal library WPEToolingBackends,
2509         including the headless view backend and a new window backend to be used by the MiniBrowser. MiniBrowser can also
2510         run in headless mode, by using the headless backend instead of the window one, which will allow us to run the
2511         WebDriver tests in the bots.
2512
2513         * CMakeLists.txt:
2514         * MiniBrowser/wpe/CMakeLists.txt: Added.
2515         * MiniBrowser/wpe/main.cpp: Added.
2516         (automationStartedCallback):
2517         (createViewBackend):
2518         (main):
2519         * Scripts/run-minibrowser: Remove WPE specific code.
2520         * Scripts/run-webdriver-tests: Add headless display-server option.
2521         * Scripts/webkitdirs.pm:
2522         (launcherName): Remove WPE specific code.
2523         * Scripts/webkitpy/webdriver_tests/webdriver_driver_wpe.py:
2524         (WebDriverWPE.browser_name): Return MiniBrowser.
2525         (WebDriverWPE.browser_path): Return the path to the MiniBrowser in build dir.
2526         (WebDriverWPE.browser_args): Add --headless when running in headless mode.
2527         (WebDriverWPE.capabilities): Use the full browser path.
2528         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py:
2529         (WebDriverTestRunnerSelenium.collect_tests): Fix early return value.
2530         * TestWebKitAPI/PlatformWPE.cmake: Use WPEToolingBackends instead of HeadlessViewBackend.
2531         * TestWebKitAPI/PlatformWebView.h: Ditto.
2532         * TestWebKitAPI/glib/PlatformWPE.cmake: Ditto
2533         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
2534         (Test::createWebViewBackend): Ditto.
2535         * TestWebKitAPI/wpe/PlatformWebViewWPE.cpp:
2536         (TestWebKitAPI::PlatformWebView::initialize): Ditto.
2537         * WebKitTestRunner/PlatformWPE.cmake: Ditto.
2538         * WebKitTestRunner/PlatformWebView.h: Ditto.
2539         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
2540         (WTR::PlatformWebView::PlatformWebView): Ditto.
2541         * wpe/HeadlessViewBackend/CMakeLists.txt: Removed.
2542         * wpe/backends/CMakeLists.txt: Added.
2543         * wpe/backends/HeadlessViewBackend.cpp: Renamed from Tools/wpe/HeadlessViewBackend/HeadlessViewBackend.cpp.
2544         (WPEToolingBackends::getEGLDisplay):
2545         (WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend):
2546         (WPEToolingBackends::HeadlessViewBackend::~HeadlessViewBackend):
2547         (WPEToolingBackends::HeadlessViewBackend::createSnapshot):
2548         (WPEToolingBackends::HeadlessViewBackend::performUpdate):
2549         (WPEToolingBackends::HeadlessViewBackend::displayBuffer):
2550         * wpe/backends/HeadlessViewBackend.h: Renamed from Tools/wpe/HeadlessViewBackend/HeadlessViewBackend.h.
2551         * wpe/backends/ViewBackend.cpp: Added.
2552         (WPEToolingBackends::ViewBackend::ViewBackend):
2553         (WPEToolingBackends::ViewBackend::~ViewBackend):
2554         (WPEToolingBackends::ViewBackend::initialize):
2555         (WPEToolingBackends::ViewBackend::setInputClient):
2556         (WPEToolingBackends::ViewBackend::backend const):
2557         (WPEToolingBackends::ViewBackend::dispatchInputPointerEvent):
2558         (WPEToolingBackends::ViewBackend::dispatchInputAxisEvent):
2559         (WPEToolingBackends::ViewBackend::dispatchInputKeyboardEvent):
2560         * wpe/backends/ViewBackend.h: Added.
2561         * wpe/backends/WindowViewBackend.cpp: Added.
2562         (WPEToolingBackends::WindowViewBackend::WindowViewBackend):
2563         (WPEToolingBackends::WindowViewBackend::~WindowViewBackend):
2564         (WPEToolingBackends::WindowViewBackend::displayBuffer):
2565         (WPEToolingBackends::WindowViewBackend::handleKeyEvent):
2566         * wpe/backends/WindowViewBackend.h: Added.
2567         * wpe/jhbuild.modules: Remove dyz and add wayland-protocols.
2568
2569 2018-06-10  Fujii Hironori  <Hironori.Fujii@sony.com>
2570
2571         [Win][MiniBrowser] MiniBrowser class should be renamed to WebKitLegacyBrowserWindow
2572         https://bugs.webkit.org/show_bug.cgi?id=186427
2573
2574         Reviewed by Ryosuke Niwa.
2575
2576         * MiniBrowser/win/AccessibilityDelegate.cpp:
2577         * MiniBrowser/win/AccessibilityDelegate.h:
2578         (AccessibilityDelegate::AccessibilityDelegate):
2579         * MiniBrowser/win/CMakeLists.txt: Removed MiniBrowser.cpp. Added WebKitLegacyBrowserWindow.cpp.
2580         * MiniBrowser/win/Common.h:
2581         * MiniBrowser/win/MainWindow.cpp:
2582         (MainWindow::init):
2583         * MiniBrowser/win/MainWindow.h:
2584         * MiniBrowser/win/MiniBrowserWebHost.cpp:
2585         * MiniBrowser/win/MiniBrowserWebHost.h:
2586         (MiniBrowserWebHost::MiniBrowserWebHost):
2587         * MiniBrowser/win/PageLoadTestClient.cpp:
2588         (PageLoadTestClient::PageLoadTestClient):
2589         * MiniBrowser/win/PageLoadTestClient.h:
2590         * MiniBrowser/win/PrintWebUIDelegate.cpp:
2591         (PrintWebUIDelegate::createWebViewWithRequest):
2592         * MiniBrowser/win/PrintWebUIDelegate.h:
2593         (PrintWebUIDelegate::PrintWebUIDelegate):
2594         * MiniBrowser/win/ResourceLoadDelegate.cpp:
2595         * MiniBrowser/win/ResourceLoadDelegate.h:
2596         (ResourceLoadDelegate::ResourceLoadDelegate):
2597         * MiniBrowser/win/WebKitLegacyBrowserWindow.cpp: Renamed from Tools/MiniBrowser/win/MiniBrowser.cpp.
2598         * MiniBrowser/win/WebKitLegacyBrowserWindow.h: Renamed from Tools/MiniBrowser/win/MiniBrowser.h.
2599         * MiniBrowser/win/WebDownloadDelegate.cpp:
2600         (WebDownloadDelegate::WebDownloadDelegate):
2601         * MiniBrowser/win/WebDownloadDelegate.h:
2602
2603 2018-06-10  Chris Dumez  <cdumez@apple.com>
2604
2605         Reload the Web view in case of crash if the client does not implement webViewWebContentProcessDidTerminate delegate
2606         https://bugs.webkit.org/show_bug.cgi?id=186468
2607
2608         Reviewed by Geoffrey Garen.
2609
2610         Add API test coverage.
2611
2612         * TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
2613         (-[BasicNavigationDelegateWithoutCrashHandler webView:didStartProvisionalNavigation:]):
2614         (-[BasicNavigationDelegateWithoutCrashHandler webView:didFinishNavigation:]):
2615         (TEST):
2616
2617 2018-06-10  Michael Catanzaro  <mcatanzaro@igalia.com>
2618
2619         [WPE][GTK] paypal.com requires user agent quirk
2620         https://bugs.webkit.org/show_bug.cgi?id=186466
2621
2622         Reviewed by Carlos Garcia Campos.
2623
2624         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
2625         (TestWebKitAPI::TEST):
2626
2627 2018-06-09  Dan Bernstein  <mitz@apple.com>
2628
2629         [Xcode] Clean up and modernize some build setting definitions
2630         https://bugs.webkit.org/show_bug.cgi?id=186463
2631
2632         Reviewed by Sam Weinig.
2633
2634         * DumpRenderTree/mac/Configurations/Base.xcconfig: Removed definition for macOS 10.11.
2635           Simplified the definition of WK_PRIVATE_FRAMEWORK_STUBS_DIR now that
2636           WK_XCODE_SUPPORTS_TEXT_BASED_STUBS is true for all supported Xcode versions.
2637         * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig: Removed definition for macOS
2638           10.11.
2639         * MiniBrowser/Configurations/Base.xcconfig: Ditto.
2640         * MiniBrowser/Configurations/DebugRelease.xcconfig: Ditto.
2641         * TestWebKitAPI/Configurations/Base.xcconfig: Ditto.
2642         * TestWebKitAPI/Configurations/DebugRelease.xcconfig: Ditto.
2643         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Simplified the definitions of
2644           ENABLE_APPLE_PAY and ENABLE_VIDEO_PRESENTATION_MODE now macOS 10.12 is the earliest
2645           supported version.
2646         * TestWebKitAPI/Configurations/WebKitTargetConditionals.xcconfig: Removed definitions for
2647           macOS 10.11.
2648         * WebKitTestRunner/Configurations/Base.xcconfig: Ditto. Also simplified the definition of
2649           WK_PRIVATE_FRAMEWORK_STUBS_DIR now that WK_XCODE_SUPPORTS_TEXT_BASED_STUBS is true for all
2650           supported Xcode versions
2651         * WebKitTestRunner/Configurations/DebugRelease.xcconfig: Removed definition for macOS 10.11.
2652
2653 2018-06-09  Dan Bernstein  <mitz@apple.com>
2654
2655         Added missing file references to the Configuration group.
2656
2657         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2658
2659 2018-06-08  Darin Adler  <darin@apple.com>
2660
2661         [Cocoa] Remove all uses of NSAutoreleasePool as part of preparation for ARC
2662         https://bugs.webkit.org/show_bug.cgi?id=186436
2663
2664         Reviewed by Anders Carlsson.
2665
2666         * TestWebKitAPI/Tests/WebKitObjC/CustomProtocolsTest.mm:
2667         (TestWebKitAPI::WebKit2CustomProtocolsTest_ProcessPoolDestroyedDuringLoading):
2668         Use @autoreleasepool.
2669         * TestWebKitAPI/Tests/mac/MenuTypesForMouseEvents.mm:
2670         (TestWebKitAPI::buildAndPerformTest): Ditto.
2671         * TestWebKitAPI/Tests/mac/StopLoadingFromDidFinishLoading.mm:
2672         (TestWebKitAPI::WebKitLegacy_StopLoadingFromDidFinishLoading): Ditto.
2673
2674 2018-06-08  Wenson Hsieh  <wenson_hsieh@apple.com>
2675
2676         [WebKit on watchOS] Upstream watchOS source additions to OpenSource (Part 1)
2677         https://bugs.webkit.org/show_bug.cgi?id=186442
2678         <rdar://problem/40879364>
2679
2680         Reviewed by Tim Horton.
2681
2682         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2683
2684 2018-06-08  Alicia Boya García  <aboya@igalia.com>
2685
2686         [GTK] Update to libva-2.1.0 in jhbuild
2687         https://bugs.webkit.org/show_bug.cgi?id=186434
2688
2689         Reviewed by Philippe Normand.
2690
2691         * gstreamer/jhbuild.modules:
2692
2693 2018-06-07  Yusuke Suzuki  <utatane.tea@gmail.com>
2694
2695         [WTF] Add WorkerPool
2696         https://bugs.webkit.org/show_bug.cgi?id=174569
2697
2698         Reviewed by Carlos Garcia Campos.
2699
2700         * TestWebKitAPI/CMakeLists.txt:
2701         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2702         * TestWebKitAPI/Tests/WTF/WorkerPool.cpp: Added.
2703         (TestWebKitAPI::TEST):
2704
2705 2018-06-07  Fujii Hironori  <Hironori.Fujii@sony.com>
2706
2707         [Win][MiniBrowser] Add a new BrowserWindow interface to abstract WK1 and WK2 BrowserWindow
2708         https://bugs.webkit.org/show_bug.cgi?id=186421
2709
2710         Reviewed by Ryosuke Niwa.
2711
2712         This is the core patch to make MiniBrowser to support WK1 and WK2
2713         windows (Bug 184770).
2714
2715         I will rename MiniBrowser class to WK1BrowserWindow in a follow-up
2716         patch (Bug 184770 Comment 12).
2717
2718         * MiniBrowser/win/BrowserWindow.h: Added.
2719         * MiniBrowser/win/MainWindow.cpp:
2720         (MainWindow::WndProc):
2721         * MiniBrowser/win/MainWindow.h:
2722         (MainWindow::browserWindow const):
2723         * MiniBrowser/win/MiniBrowser.cpp:
2724         (MiniBrowser::create):
2725         (MiniBrowser::navigateForwardOrBackward): Removed the unsed first argument hWnd.
2726         (MiniBrowser::navigateToHistory): Ditto.
2727         * MiniBrowser/win/MiniBrowser.h: Inherit BrowserWindow interface.
2728         Make all other methods private and make delegates classes friends.
2729         * MiniBrowser/win/PrintWebUIDelegate.cpp:
2730         (PrintWebUIDelegate::createWebViewWithRequest):
2731
2732 2018-06-07  Fujii Hironori  <Hironori.Fujii@sony.com>
2733
2734         [Win][MiniBrowser] MiniBrowser::updateDeviceScaleFactor should be a MainWindow's method
2735         https://bugs.webkit.org/show_bug.cgi?id=186387
2736
2737         Reviewed by Ryosuke Niwa.
2738
2739         MiniBrowser::updateDeviceScaleFactor does nothing for MiniBrowser.
2740         It should be a MainWindow's method.
2741
2742         * MiniBrowser/win/MainWindow.cpp:
2743         (MainWindow::init): Call MainWindow::updateDeviceScaleFactor.
2744         (MainWindow::resizeSubViews): Do not set a font every time window size is changed.
2745         (MainWindow::WndProc): Call MainWindow::updateDeviceScaleFactor on WM_DPICHANGED.
2746         (MainWindow::updateDeviceScaleFactor): Converted from
2747         MiniBrowser::updateDeviceScaleFactor and
2748         MiniBrowser::generateFontForScaleFactor. Set a URL bar's font if DPI is changed.
2749         * MiniBrowser/win/MainWindow.h:
2750         * MiniBrowser/win/MiniBrowser.cpp:
2751         (MiniBrowser::init):
2752         (MiniBrowser::generateFontForScaleFactor): Deleted.
2753         (MiniBrowser::updateDeviceScaleFactor): Deleted.
2754         * MiniBrowser/win/MiniBrowser.h:
2755         (MiniBrowser::deviceScaleFactor): Deleted.
2756         (MiniBrowser::urlBarFont): Deleted.
2757
2758 2018-06-07  Jonathan Bedard  <jbedard@apple.com>
2759
2760         [webkitpy] Treat svn versions as Version objects
2761         https://bugs.webkit.org/show_bug.cgi?id=186403
2762         <rdar://problem/40904860>
2763
2764         Reviewed by Dan Bernstein.
2765
2766         * Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
2767         * Scripts/webkitpy/common/checkout/scm/svn.py:
2768         (SVN.svn_version): Return Version object instead of string.
2769         (SVN._status_regexp): Convert version string to Version object.
2770         (SVN.add_list): Ditto.
2771
2772 2018-06-07  Tadeu Zagallo  <tzagallo@apple.com>
2773
2774         Don't try to allocate JIT memory if we don't have the JIT entitlement
2775         https://bugs.webkit.org/show_bug.cgi?id=182605
2776         <rdar://problem/38271229>
2777
2778         Reviewed by Mark Lam.
2779
2780         Add the Security framework to the TestWTF target, since it's required by the new function to check the entitlements.
2781
2782         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2783
2784 2018-06-07  Mark Lam  <mark.lam@apple.com>
2785
2786         Enhance run-jsc-stress-tests to allow a test to specify test specific options required for it to run.
2787         https://bugs.webkit.org/show_bug.cgi?id=186409
2788         <rdar://problem/40909007>
2789
2790         Reviewed by Saam Barati.
2791
2792         This is needed because some tests are written with specific features in mind, and
2793         we may not necessarily want to enable that option for all tests.
2794
2795         We can now specify something like this at the top of a test file:
2796             //@ requireOptions("--useIntlPluralRules=true")
2797
2798         ... and ensure that that test will be run with the --useIntlPluralRules=true
2799         option for all test configurations that run the test.
2800
2801         * Scripts/run-jsc-stress-tests:
2802
2803 2018-06-07  Tim Horton  <timothy_horton@apple.com>
2804
2805         REGRESSION (r232544): [iOS] TestWebKitAPI.WebKit.OverrideLayoutSizeChangesDuringAnimatedResizeSucceed is failing
2806         https://bugs.webkit.org/show_bug.cgi?id=186395
2807         <rdar://problem/40902427>
2808
2809         Reviewed by Wenson Hsieh.
2810
2811         * TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
2812         (TEST):
2813         endAnimatedResize no longer synchronizes, so we have to wait for the next presentation update.
2814
2815 2018-06-07  Thibault Saunier  <tsaunier@igalia.com>
2816
2817         [GTK][WPE] Start implementing MediaStream API
2818         https://bugs.webkit.org/show_bug.cgi?id=185787
2819
2820         Reviewed by Philippe Normand.
2821
2822         * Scripts/webkitpy/style/checker.py: Apply special formatting rules for new GObject subclasses.
2823         * gstreamer/jhbuild.modules: Added a patch for the gst-plugins-base.
2824         * gstreamer/patches/gst-plugins-base-0001-parsebin-Post-STREAM_COLLECTION-on-EVENT_STREAM_COLL.patch:
2825         Added this fix to gst-plugings-base to fix the decodebin3. Merged as 89d0e9cc92a86aa0227ee87406737b6d31670aea
2826
2827 2018-06-07  Brendan McLoughlin  <brendan@bocoup.com>
2828
2829         Update web-platform-tests github location in webkitpy.w3c.test_importer
2830         https://bugs.webkit.org/show_bug.cgi?id=186392
2831
2832         Reviewed by Youenn Fablet.
2833
2834         * Scripts/webkitpy/w3c/test_importer.py:
2835         (TestImporter.write_import_log):
2836
2837 2018-06-07  Jonathan Bedard  <jbedard@apple.com>
2838
2839         webkitperl: Generalize .internal SDK suffix
2840         https://bugs.webkit.org/show_bug.cgi?id=186352
2841         <rdar://problem/40853947>
2842
2843         Reviewed by Alexey Proskuryakov.
2844
2845         * Scripts/build-webkit:
2846         * Scripts/package-root:
2847         (usage):
2848         * Scripts/webkitdirs.pm:
2849         (parseAvailableXcodeSDKS): Parse 'xcodebuild -showsdks' output.
2850         (availableXcodeSDKS): Generate a list of all available Xcode SDKs on this machine.
2851         (determineXcodeSDK): Always prefer .internal SDKs if available.
2852         * Scripts/webkitperl/webkitdirs_unittest/availableXcodeSDKS.pl:
2853
2854 2018-06-07  Fujii Hironori  <Hironori.Fujii@sony.com>
2855
2856         [Win][MiniBrowser] Support multiple windows properly
2857         https://bugs.webkit.org/show_bug.cgi?id=186263
2858
2859         Reviewed by Ryosuke Niwa.
2860
2861         The current implementation of
2862         PrintWebUIDelegate::createWebViewWithRequest is wrong. It is using
2863         CreateProcess to open a new window, and doesn't return the new
2864         instance of IWebView. As the result, for example, window.close
2865         doesn't work as expected.
2866
2867         In this change, a new MainWindow is created and return the
2868         IWebView in PrintWebUIDelegate::createWebViewWithRequest.
2869
2870         In addition to it, this change unifies the lifetime of MiniBrowser
2871         and its delegates AccessibilityDelegate, PrintWebUIDelegate,
2872         ResourceLoadDelegate and WebDownloadDelegate in order to keep
2873         MiniBrowser alive as long as the delegates live. Because the
2874         window of webview keeps references of such delegates and accesses
2875         those after MiniBrowser destruction.
2876
2877         * MiniBrowser/win/MainWindow.h: Added s_numInstances class member
2878         to count the number of instance to close the application. Do not
2879         use unique_ptr for m_browserWindow because it has ref count now.
2880         * MiniBrowser/win/MainWindow.cpp:
2881         (MainWindow::MainWindow): Increment s_numInstances.
2882         (MainWindow::~MainWindow): Decrement s_numInstances.
2883         (MainWindow::create):
2884         (MainWindow::init):
2885         (MainWindow::WndProc): Rename thiz to thisWindow. Keep this
2886         instance alive during this function by using RefPtr<MainWindow>.
2887         Deref the MainWindow instance on WM_DESTROY. Quit the application
2888         when the last MainWindow is closed.
2889         (MainWindow::cachesDialogProc): Rename thiz to thisWindow.
2890         (MainWindow::customUserAgentDialogProc): Ditto.
2891         * MiniBrowser/win/MiniBrowser.h: Added declarations AddRef and Release.
2892         * MiniBrowser/win/MiniBrowser.cpp:
2893         (MiniBrowser::create):
2894         (MiniBrowser::AddRef):
2895         (MiniBrowser::Release):
2896         (MiniBrowser::init): Passes this to the constructors of delegates.
2897         * MiniBrowser/win/AccessibilityDelegate.cpp:
2898         (AccessibilityDelegate::AddRef): Delegate to MiniBrowser.
2899         (AccessibilityDelegate::Release): Ditto.
2900         * MiniBrowser/win/AccessibilityDelegate.h: Removed m_refCount.
2901         (AccessibilityDelegate::AccessibilityDelegate):
2902         * MiniBrowser/win/MiniBrowserWebHost.cpp:
2903         (MiniBrowserWebHost::AddRef): Delegate to MiniBrowser.
2904         (MiniBrowserWebHost::Release): Ditto.
2905         * MiniBrowser/win/MiniBrowserWebHost.h: Removed m_refCount.
2906         * MiniBrowser/win/PrintWebUIDelegate.cpp:
2907         (PrintWebUIDelegate::createWebViewWithRequest): Create a new
2908         MainWindow and return the IWebView.
2909         (PrintWebUIDelegate::AddRef): Delegate to MiniBrowser.
2910         (PrintWebUIDelegate::Release): Ditto.
2911         * MiniBrowser/win/PrintWebUIDelegate.h: Removed m_refCount.
2912         (PrintWebUIDelegate::PrintWebUIDelegate):
2913         * MiniBrowser/win/ResourceLoadDelegate.cpp:
2914         (ResourceLoadDelegate::AddRef): Delegate to MiniBrowser.
2915         (ResourceLoadDelegate::Release): Ditto.
2916         * MiniBrowser/win/ResourceLoadDelegate.h: Removed m_refCount.
2917         * MiniBrowser/win/WebDownloadDelegate.cpp:
2918         (WebDownloadDelegate::WebDownloadDelegate):
2919         (WebDownloadDelegate::AddRef): Delegate to MiniBrowser.
2920         (WebDownloadDelegate::Release): Ditto.
2921         * MiniBrowser/win/WebDownloadDelegate.h: Removed m_refCount.
2922
2923 2018-06-06  Fujii Hironori  <Hironori.Fujii@sony.com>
2924
2925         [Win][MiniBrowser] Remove gMainWindow global variable
2926         https://bugs.webkit.org/show_bug.cgi?id=186378
2927
2928         Reviewed by Ryosuke Niwa.
2929
2930         I'm going to support multiple MainWindow in Bug 186263. It should
2931         not be assumed that MainWindow has only one instance. gMainWindow
2932         is used only in DisplayAuthDialog.
2933
2934         * MiniBrowser/win/Common.cpp:
2935         (authDialogProc): Use DWLP_USER to store the dialog data.
2936         (displayAuthDialog): Moved and renamed from
2937         MainWindow::displayAuthDialog. Use DialogBoxParam instead of
2938         DialogBox to pass a data pointer. Do not return S_OK if
2939         DialogBoxParam returns -1. Take a HWND argument as the parent
2940         window.
2941         (DisplayAuthDialog): Deleted.
2942         * MiniBrowser/win/Common.h:
2943         * MiniBrowser/win/MainWindow.cpp:
2944         (authDialogProc): Moved to Common.cpp.
2945         (MainWindow::displayAuthDialog): Ditto.
2946         * MiniBrowser/win/MainWindow.h:
2947         * MiniBrowser/win/ResourceLoadDelegate.cpp:
2948         (ResourceLoadDelegate::didReceiveAuthenticationChallenge):
2949         * MiniBrowser/win/WinMain.cpp:
2950         (wWinMain): Added a local variable mainWindow instead of using
2951         gMainWindow.
2952
2953 2018-06-06  Dan Bernstein  <mitz@apple.com>
2954
2955         [Xcode] Opt out of the New Build System
2956         https://bugs.webkit.org/show_bug.cgi?id=186380
2957
2958         Reviewed by Alexey Proskuryakov.
2959
2960         * Scripts/webkitdirs.pm:
2961         (XcodeOptions): Have -UseNewBuildSystem=NO passed to xcodebuild.
2962
2963 2018-06-06  Antoine Quint  <graouts@apple.com>
2964
2965         Rename color-filter to -apple-color-filter and do not expose it to Web content
2966         https://bugs.webkit.org/show_bug.cgi?id=186306
2967         <rdar://problem/39874167>
2968
2969         Reviewed by Simon Fraser.
2970
2971         Adding an option to turn support for the -apple-color-filter property on via an HTML comment.
2972
2973         * DumpRenderTree/TestOptions.cpp:
2974         (TestOptions::TestOptions):
2975         * DumpRenderTree/TestOptions.h:
2976         * DumpRenderTree/mac/DumpRenderTree.mm:
2977         (setWebPreferencesForTestOptions):
2978         * WebKitTestRunner/TestController.cpp:
2979         (WTR::TestController::resetPreferencesToConsistentValues):
2980         (WTR::updateTestOptionsFromTestHeader):
2981         * WebKitTestRunner/TestOptions.h:
2982         (WTR::TestOptions::hasSameInitializationOptions const):
2983         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2984         (WTR::TestController::platformCreateWebView):
2985
2986 2018-06-06  Brent Fulgham  <bfulgham@apple.com>
2987
2988         Adjust compile and runtime flags to match shippable state of features (Part 2)
2989         https://bugs.webkit.org/show_bug.cgi?id=186319
2990         <rdar://problem/40352045>
2991
2992         Unreviewed test fix.
2993
2994         TestWebKitAPI was timing out because 'color' input types are no longer support. I also discovered that the
2995         ASSERT_STREQ macro returns on error, which causes tests to time out whenever a 'done = true' call (needed to
2996         end the test) is done after ASSERT_STREQ, which might fail and return early, preventing the flag from being
2997         set.
2998
2999         * TestWebKitAPI/Tests/WebKitCocoa/InjectedBundleNodeHandleIsTextField.mm:
3000         (-[InjectedBundleNodeHandleIsTextField webProcessPlugIn:didCreateBrowserContextController:]): Make testing of
3001         the 'color' input type conditional on the feature being part of the build.
3002         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
3003         (-[AutoFillDelegate _webView:didClickAutoFillButtonWithUserInfo:]): Set the 'done=true' state before performing
3004         string equality assertions, since they do an early return and bypass the end state of the test.
3005         (-[DidResignInputElementStrongPasswordAppearanceDelegate _webView:didResignInputElementStrongPasswordAppearanceWithUserInfo:]): Ditto.
3006         (-[AutoFillAvailableDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): Ditto.
3007         (-[InjectedBundleNodeHandleIsTextFieldDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): Ditto.
3008
3009 2018-06-05  Chris Dumez  <cdumez@apple.com>
3010
3011         Regression(r232082): Websites get loaded inside of Messages App chat transcript
3012         https://bugs.webkit.org/show_bug.cgi?id=186331
3013         <rdar://problem/40735446>
3014
3015         Reviewed by Darin Adler.
3016
3017         Add API test coverage.
3018
3019         * TestWebKitAPI/Tests/mac/NoPolicyDelegateResponse.mm:
3020         (-[NoDecidePolicyForNavigationActionDecisionDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
3021         (-[NoDecidePolicyForNavigationActionDecisionDelegate webView:didStartProvisionalLoadForFrame:]):
3022         (TestWebKitAPI::TEST):
3023         (-[NoPolicyDelegateDecisionDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): Deleted.
3024         (-[NoPolicyDelegateDecisionDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]): Deleted.
3025         (-[NoPolicyDelegateDecisionDelegate webView:didFinishLoadForFrame:]): Deleted.
3026
3027 2018-06-05  Wenson Hsieh  <wenson_hsieh@apple.com>
3028
3029         DataInteractionTests ContentEditableToTextarea and ContentEditableToContentEditable are failing on recent iOS 12
3030         https://bugs.webkit.org/show_bug.cgi?id=186325
3031         <rdar://problem/40527850>
3032
3033         Reviewed by Tim Horton.
3034
3035         Tweak these API tests so that they're robust against changes to how NSAttributedStrings are serialized in item
3036         providers ("public.rtf" vs. "com.apple.flat-rtfd"). Across all versions of iOS, just verify that either rich
3037         text type is present in the list of dragged type identifiers, and that the rich text type is placed at a higher
3038         fidelity than plain text.
3039
3040         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3041         (checkRichTextTypePrecedesPlainTextType):
3042         (TestWebKitAPI::TEST):
3043         (checkTypeIdentifierPrecedesOtherTypeIdentifier): Deleted.
3044
3045 2018-06-05  Brent Fulgham  <bfulgham@apple.com>
3046
3047         Adjust compile and runtime flags to match shippable state of features
3048         https://bugs.webkit.org/show_bug.cgi?id=186319
3049         <rdar://problem/40352045>
3050
3051         Reviewed by Maciej Stachowiak, Jon Lee, and others.
3052
3053         This patch revises the compile time and runtime state for various features to match their
3054         suitability for end-user releases.
3055
3056         * TestWebKitAPI/Configurations/DebugRelease.xcconfig: Update to match WebKit definition of
3057         WK_RELOCATABLE_FRAMEWORKS so that ENABLE(EXPERIMENTAL_FEATURES) is defined properly for
3058         Cocoa builds.
3059         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Don't build ENABLE_INPUT_TYPE_COLOR
3060         or ENABLE_INPUT_TYPE_COLOR_POPOVER.
3061
3062 2018-06-05  Saam Barati  <sbarati@apple.com>
3063
3064         run-testmem should have a dry run option and an option to parse the stdout of executing the dry run
3065         https://bugs.webkit.org/show_bug.cgi?id=186293
3066
3067         Reviewed by Mark Lam.
3068
3069         This makes it easier to execute run-testmem on a device that doesn't have ruby
3070         on it. run-testmem now has a --dry option that will output commands to execute
3071         in bash. To run on a device that doesn't have ruby, just put its output into
3072         a bash script, and copy the PerformanceTests/testmem directory onto that device,
3073         and execute the bash script. Running that bash script will give you raw output.
3074         Make a file with that output and pass it into run-testmem using the --parse option.
3075         run-testmem will parse the raw output and compute the benchmark score.
3076
3077         * Scripts/run-testmem:
3078
3079 2018-06-05  Youenn Fablet  <youenn@apple.com>
3080
3081         ServiceWorker registration should store any script fetched through importScripts
3082         https://bugs.webkit.org/show_bug.cgi?id=182444
3083         <rdar://problem/37164835>
3084
3085         Reviewed by Chris Dumez.
3086
3087         Add support to crash the storage process from Internals.
3088
3089         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3090         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3091         (WTR::TestRunner::terminateStorageProcess):
3092         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3093         * WebKitTestRunner/TestController.cpp:
3094         (WTR::TestController::terminateStorageProcess):
3095         * WebKitTestRunner/TestController.h:
3096         * WebKitTestRunner/TestInvocation.cpp:
3097         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
3098
3099 2018-06-05  Brent Fulgham  <bfulgham@apple.com>
3100
3101         Revise DEFAULT_EXPERIMENTAL_FEATURES_ENABLED to work properly on Apple builds
3102         https://bugs.webkit.org/show_bug.cgi?id=186286
3103         <rdar://problem/40782992>
3104
3105         Reviewed by Dan Bernstein.
3106
3107         Use the WK_RELOCATABLE_FRAMEWORKS flag (which is always defined for non-production builds)
3108         to define ENABLE(EXPERIMENTAL_FEATURES) so that we do not need to manually
3109         change this flag when preparing for a production release.
3110
3111         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Use WK_RELOCATABLE_FRAMEWORKS to
3112         determine whether experimental features should be enabled, and use it to properly define
3113         the feature flag.
3114
3115 2018-06-05  Robin Morisset  <rmorisset@apple.com>
3116
3117         Add a grammar (in antlr4 format) to the WSL spec.
3118         https://bugs.webkit.org/show_bug.cgi?id=186310
3119
3120         Rubberstamped by Filip Pizlo
3121
3122         It is just the raw rules, without much comments and no typesetting.
3123         Compiles to any of Java/JS/C++/etc.. with antlr4 (requires a JDK)
3124
3125         It does not exactly match the parser of the current js implementation of WSL, it:
3126         - Accepts negative literals
3127         - Reserves keywords fallthrough/auto
3128         - Refuses '_' as a valid identifier
3129         - Accepts several capitalizations for Null/True/False
3130         - Accepts variable declarations at the top-level
3131         - Correctly parses ternary expressions
3132         - Forbids empty extension list for protocols
3133         - Does not allow a space between '[' and ']' in type suffixes
3134         - Correctly parses nested generics
3135         - Accepts a 'fallthrough;' statement (for switches)
3136         - Refuses chained relational operator (e.g. x < y < z)
3137         - Generally a completely different structure for parsing effectful expressions, although it probably accepts about the same language
3138         - Currently only accepts literals and identifiers as constexpr (while the js parser accepts way too much, including '(x += 42)')
3139         There are probably more differences that I missed. The js parser will probably have to be mostly rewritten to follow the spec more closely (and fix all the bugs).
3140         I will try to see if it can be automatically derived from the antlr4 grammar.
3141
3142         * WebGPUShadingLanguageRI/SpecWork/WSL.g4: Added.
3143
3144 2018-06-04  Frederic Wang  <fwang@igalia.com>
3145
3146         import-w3c-tests should rely on <meta name="flags"> to detect CSS manual tests
3147         https://bugs.webkit.org/show_bug.cgi?id=186261
3148
3149         Reviewed by Youenn Fablet.
3150
3151         * Scripts/webkitpy/w3c/test_parser.py:
3152         (TestParser.is_wpt_manualtest): Add code to detect whether a file is a manual test
3153         from its <meta name="flags"> tags. This is based on SourceFile::content_is_css_manual from
3154         the WPT repository.
3155         * Scripts/webkitpy/w3c/test_parser_unittest.py: Add a test to verify whether files with
3156         <meta name="flags"> are manual or non-manual according to CSS WG rules.
3157
3158 2018-06-04  Dan Bernstein  <mitz@apple.com>
3159
3160         Fixed building ImageDiff with the default build system in the Xcode 10 developer beta.
3161
3162         * ImageDiff/cg/Configurations/Base.xcconfig: Use #include? to include
3163           HaveInternalSDK.xcconfig, since it may not be preent.
3164
3165 2018-06-04  Dan Bernstein  <mitz@apple.com>
3166
3167         Fixed building TestWebKitAPI with a shared build directory with XCBuild, which is the
3168         default build system in the Xcode 10 developer beta.
3169
3170         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Changed the reference to the
3171           built libWTF.a to be relative to the built products directory.
3172
3173 2018-06-04  Chris Dumez  <cdumez@apple.com>
3174
3175         Rename "Cross-Origin-Options" HTTP header to "Cross-Origin-Window-Policy"
3176         https://bugs.webkit.org/show_bug.cgi?id=186287
3177         <rdar://problem/40783352>
3178
3179         Reviewed by Youenn Fablet.
3180
3181         * DumpRenderTree/mac/DumpRenderTree.mm:
3182         (enableExperimentalFeatures):
3183         * DumpRenderTree/win/DumpRenderTree.cpp:
3184         (enableExperimentalFeatures):
3185
3186 2018-06-04  Daniel Bates  <dabates@apple.com>
3187
3188         Typo in MockBugzillaQueries.fetch_attachment_ids_from_review_queue()
3189         https://bugs.webkit.org/show_bug.cgi?id=186290
3190
3191         Reviewed by Aakash Jain.
3192
3193         Although the usefulness of the code in MockBugzillaQueries.fetch_attachment_ids_from_review_queue() is
3194         questionable we should fix a typo when calling this mocked function with argument since.
3195
3196         * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
3197         (MockBugzillaQueries.fetch_attachment_ids_from_review_queue):
3198
3199 2018-06-04  Dan Bernstein  <mitz@apple.com>
3200
3201         Fixed building with the macOS Mojave seed SDK.
3202
3203         * TestWebKitAPI/Tests/mac/MediaPlaybackSleepAssertion.mm:
3204
3205 2018-06-04  Alexey Proskuryakov  <ap@apple.com>
3206
3207         Add Mojave support to WebKit tools
3208         https://bugs.webkit.org/show_bug.cgi?id=186282
3209
3210         Reviewed by Daniel Bates.
3211
3212         Nightly build support will be added separately.
3213
3214         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Mojave.png: Added.
3215         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Mojave@2x.png: Added.
3216         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
3217         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
3218         Added dashboard support.
3219
3220         * BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
3221         * BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
3222         Trigger the right build queues on check-in.
3223
3224         * Scripts/webkitpy/common/version_name_map.py:
3225         * Scripts/webkitpy/common/version_name_map_unittest.py:
3226         The main version mapping class updated.
3227
3228         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
3229         * Scripts/webkitpy/port/mac_unittest.py:
3230         Updated for more platforms in unit tests.
3231
3232         * TestResultServer/static-dashboards/flakiness_dashboard.js:
3233         Added the new platform to flakiness dashboard.
3234
3235 2018-06-04  Wenson Hsieh  <wenson_hsieh@apple.com>
3236
3237         [WebKit on watchOS] Remove all uses of the EXTRA_ZOOM_MODE compiler flag
3238         https://bugs.webkit.org/show_bug.cgi?id=186279
3239
3240         Reviewed by Tim Horton.
3241
3242         Replaces uses of ENABLE(EXTRA_ZOOM_MODE) with PLATFORM(WATCHOS).
3243
3244         * TestWebKitAPI/Tests/ios/RenderingProgressTests.mm:
3245
3246 2018-06-03  Fujii Hironori  <Hironori.Fujii@sony.com>
3247
3248         [Win][MiniBrowser] Remove gMiniBrowser global variable
3249         https://bugs.webkit.org/show_bug.cgi?id=186134
3250
3251         Reviewed by Brent Fulgham.
3252
3253         It should not be assumed there is only one main window and one browser
3254         window to support multiple windows properly. gMainWindow and
3255         gMiniBrowser global variables should be removed. This change
3256         removes gMiniBrowser.
3257
3258         * MiniBrowser/win/Common.cpp: Removed gMiniBrowser global variable.
3259         * MiniBrowser/win/Common.h: Ditto.
3260         * MiniBrowser/win/MainWindow.cpp:
3261         (MainWindow::init):
3262         (MainWindow::WndProc):
3263         (EditProc): Post WM_COMMAND if the enter key is pressed in URL bar.
3264         (MainWindow::cachesDialogProc): Renamed from Caches.
3265         (MainWindow::customUserAgentDialogProc): Renamed from CustomUserAgent.
3266         (MainWindow::onURLBarEnter): Extracted from EditProc.
3267         (BackButtonProc): Deleted.
3268         (ForwardButtonProc): Deleted.
3269         (Caches): Renamed to MainWindow::cachesDialogProc.
3270         (CustomUserAgent): Renamed to MainWindow::customUserAgentDialogProc.
3271         * MiniBrowser/win/MainWindow.h: Convert hCacheWnd global variable to a member variable of MainWindow.
3272         * MiniBrowser/win/MiniBrowserLibResource.h:
3273         * MiniBrowser/win/WinMain.cpp:
3274         (wWinMain):
3275
3276 2018-06-02  Darin Adler  <darin@apple.com>
3277
3278         [Cocoa] Update some code to be more ARC-compatible to prepare for future ARC adoption
3279         https://bugs.webkit.org/show_bug.cgi?id=186227
3280
3281         Reviewed by Dan Bernstein.
3282
3283         * DumpRenderTree/mac/AccessibilityCommonMac.mm:
3284         (+[NSString stringWithJSStringRef:]): Use CFBridgingRelease instead of autorelease.
3285         (-[NSString createJSStringRef]): Add __bridge to a bridging typecast.
3286
3287         * DumpRenderTree/mac/AccessibilityControllerMac.mm: Add a missing include.
3288
3289         * DumpRenderTree/mac/AccessibilityNotificationHandler.mm:
3290         (-[NSString createJSStringRef]): Add __bridge to a bridging typecast.
3291         * DumpRenderTree/mac/AccessibilityTextMarkerMac.mm:
3292         (AccessibilityTextMarker::isEqual): Ditto.
3293         (AccessibilityTextMarkerRange::isEqual): Ditto.
3294
3295         * DumpRenderTree/mac/DumpRenderTree.mm:
3296         (-[DumpRenderTree _waitForWebThread]): Use @autoreleasepool instead of NSAutoreleasePool.
3297         (DumpRenderTreeMain): Ditto.
3298         (WebThreadLockAfterDelegateCallbacksHaveCompleted): Ditto.
3299         (runTest): Ditto.
3300
3301         * DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:
3302         (copyFile): Use a std::pair to return both a URL and an error rather than using an
3303         out argument for the NSError.
3304         (-[DumpRenderTreeFilePromiseReceiver receivePromisedFilesAtDestination:options:operationQueue:reader:]):
3305         Updated for the above change.
3306
3307         * DumpRenderTree/mac/DumpRenderTreeWindow.mm:
3308         (-[DumpRenderTreeWindow _addToOpenWindows]): Add __bridge to a bridging typecast.
3309         (-[DumpRenderTreeWindow close]): Ditto.
3310         * DumpRenderTree/mac/LayoutTestHelper.m:
3311         (setDisplayColorProfile): Ditto.
3312
3313         * DumpRenderTree/mac/PolicyDelegate.mm: Add a missing include.
3314
3315         * DumpRenderTree/mac/ResourceLoadDelegate.mm:
3316         (-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):
3317         Add __bridge to a bridging typecast.
3318         * DumpRenderTree/mac/TestRunnerMac.mm:
3319         (-[APITestDelegateIPhone initWithTestRunner:utf8Data:baseURL:]): Ditto.
3320         (TestRunner::apiTestNewWindowDataLoadBaseURL): Use @autoreleasepool instead of NSAutoreleasePool.
3321
3322         * DumpRenderTree/mac/TextInputControllerMac.m: Fix a comment.
3323
3324         * DumpRenderTree/mac/UIScriptControllerMac.mm:
3325         (WTR::UIScriptController::replaceTextAtRange): Add __bridge to a bridging typecast.
3326         (WTR::UIScriptController::contentsOfUserInterfaceItem const): Ditto.
3327         (WTR::UIScriptController::overridePreference): Ditto.
3328         * DumpRenderTree/mac/WorkQueueItemMac.mm:
3329         (LoadItem::invoke const): Ditto.
3330         (LoadHTMLStringItem::invoke const): Ditto.
3331         (ScriptItem::invoke const): Ditto.
3332
3333         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
3334         (+[NSString stringWithJSStringRef:]): Use CFBridgingRelease instead of autorelease.
3335         (-[NSString createJSStringRef]): Add __bridge to a bridging typecast.
3336
3337         * WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm:
3338         (+[NSString stringWithJSStringRef:]): Use CFBridgingRelease instead of autorelease.
3339         (-[NSString createJSStringRef]): Add __bridge to a bridging typecast.
3340
3341         * WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
3342         (WTR::AccessibilityController::accessibleElementById): Add __bridge to a bridging typecast.
3343         * WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
3344         (-[NSString createJSStringRef]): Ditto.
3345         * WebKitTestRunner/InjectedBundle/mac/AccessibilityTextMarkerMac.mm:
3346         (WTR::AccessibilityTextMarker::isEqual): Ditto.
3347         * WebKitTestRunner/InjectedBundle/mac/AccessibilityTextMarkerRangeMac.mm:
3348         (WTR::AccessibilityTextMarkerRange::isEqual): Ditto.
3349         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
3350         (WTR::AccessibilityUIElement::setSelectedVisibleTextRange): Ditto.
3351         (WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker): Ditto.
3352         (WTR::AccessibilityUIElement::textMarkerRangeLength): Ditto.
3353         (WTR::AccessibilityUIElement::previousTextMarker): Ditto.
3354         (WTR::AccessibilityUIElement::nextTextMarker): Ditto.
3355         (WTR::AccessibilityUIElement::stringForTextMarkerRange): Ditto.
3356         (WTR::AccessibilityUIElement::textMarkerRangeForMarkers): Ditto.
3357         (WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange): Ditto.
3358         (WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange): Ditto.
3359         (WTR::AccessibilityUIElement::accessibilityElementForTextMarker): Ditto.
3360         (WTR::createJSStringRef): Ditto.
3361         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
3362         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
3363         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeContainsAttribute): Ditto.
3364         (WTR::AccessibilityUIElement::indexForTextMarker): Ditto.
3365         (WTR::AccessibilityUIElement::isTextMarkerValid): Ditto.
3366         (WTR::AccessibilityUIElement::leftWordTextMarkerRangeForTextMarker): Ditto.
3367         (WTR::AccessibilityUIElement::rightWordTextMarkerRangeForTextMarker): Ditto.
3368         (WTR::AccessibilityUIElement::previousWordStartTextMarkerForTextMarker): Ditto.
3369         (WTR::AccessibilityUIElement::nextWordEndTextMarkerForTextMarker): Ditto.
3370         (WTR::AccessibilityUIElement::paragraphTextMarkerRangeForTextMarker): Ditto.
3371         (WTR::AccessibilityUIElement::previousParagraphStartTextMarkerForTextMarker): Ditto.
3372         (WTR::AccessibilityUIElement::nextParagraphEndTextMarkerForTextMarker): Ditto.
3373         (WTR::AccessibilityUIElement::sentenceTextMarkerRangeForTextMarker): Ditto.
3374         (WTR::AccessibilityUIElement::previousSentenceStartTextMarkerForTextMarker): Ditto.
3375         (WTR::AccessibilityUIElement::nextSentenceEndTextMarkerForTextMarker): Ditto.
3376         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
3377         (WTR::initializeWebViewConfiguration): Ditto.
3378         (WTR::TestController::platformContext): Ditto.
3379         (WTR::TestController::platformPreferences): Ditto.
3380         (WTR::TestController::platformAdjustContext): Ditto.
3381         * WebKitTestRunner/mac/PlatformWebViewMac.mm:
3382         (WTR::PlatformWebView::PlatformWebView): Ditto.
3383         * WebKitTestRunner/mac/TestControllerMac.mm:
3384         (WTR::TestController::initializeInjectedBundlePath): Ditto.
3385         (WTR::TestController::initializeTestPluginDirectory): Ditto.
3386         (WTR::TestController::platformConfigureViewForTest): Ditto.
3387
3388         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
3389         (WTR::nsString): Use CFBridgingRelease instead of autorelease.
3390         (WTR::UIScriptController::platformPlayBackEventStream): Add __bridge to a bridging
3391         typecast.
3392
3393         * WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.mm: Add a missing include.
3394
3395         * WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:
3396         (-[LocalPasteboard setPropertyList:forType:]): Add _bridge to a bridging typecast.
3397         (-[LocalPasteboard setString:forType:]): Ditto.
3398
3399         * WebKitTestRunner/mac/main.mm:
3400         (main): Use @autoreleasepool instead of NSAutoreleasePool.
3401
3402 2018-06-02  Keith Miller  <keith_miller@apple.com>
3403
3404         run-jsc should pass the option to use dollar vm by default
3405         https://bugs.webkit.org/show_bug.cgi?id=186170
3406
3407         Reviewed by Yusuke Suzuki.
3408
3409         * Scripts/run-jsc:
3410
3411 2018-06-02  Commit Queue  <commit-queue@webkit.org>
3412
3413         Unreviewed, rolling out r232421.
3414         https://bugs.webkit.org/show_bug.cgi?id=186240
3415
3416         Breaks webkitpy tests (Requested by aakashjain on #webkit).
3417
3418         Reverted changeset:
3419
3420         "Add some tests for lldb_webkit.py"
3421         https://bugs.webkit.org/show_bug.cgi?id=183744
3422         https://trac.webkit.org/changeset/232421
3423
3424 2018-06-01  Daniel Bates  <dabates@apple.com>
3425
3426         Add some tests for lldb_webkit.py
3427         https://bugs.webkit.org/show_bug.cgi?id=183744
3428
3429         Reviewed by Alexey Proskuryakov.
3430
3431         Adds some tests to ensure we do not regress LLDB pretty-printing of WTF::StringImpl
3432         and WTF::String objects.
3433
3434         The tests make use of the LLDB Python API (lldb.py) and a simple debug-built test
3435         program, lldbWebKitTester, to run. For now, we only support building lldbWebKitTester
3436         on Mac.
3437
3438         * Makefile: Build the simple test tool lldbWebKitTester on Mac.
3439         * Scripts/build-lldbwebkittester: Added.
3440         (buildProjectOrDie):
3441         * Scripts/dump-class-layout: Extract logic to compute the path to the LLDB Python module
3442         from here to Scripts/webkitpy/common/system/systemhost.py so that it can used by both
3443         this script and lldb/lldb_webkit_unittest.py. Also import the lldb module at the top of
3444         the file and take advantage of Python's default error semantics to throw an exception
3445         if the import fails instead of handling it ourself. This has the side effect that we
3446         now always import the LLDB Python module even if this script is invoked with --help.
3447         If this turns out to be a significant annoyance then we can look to dynamically import
3448         the module as we did before this change.
3449         (webkit_build_dir):
3450         (main):
3451         (developer_dir): Deleted.
3452         (import_lldb): Deleted.
3453         * Scripts/webkitpy/common/checkout/scm/scm_unittest.py: Update FIXME comment to reflect
3454         that fact that test-webkitpy does not support class and module fixtures. This is because
3455         test-webkitpy currently implements parallelism by breaking down existing test classes
3456         into individual test methods itself and having each worker run exactly one test method (via
3457         unittest.TestLoader.loadTestsFromName()) at a time. As a result of this reorganization,
3458         setUpModule()/setUpClass() are called for each test method as opposed to once per test
3459         class/test module.
3460         (remove_dir): Ditto.
3461         * Scripts/webkitpy/common/system/systemhost.py:
3462         (SystemHost):
3463         (SystemHost.path_to_lldb_python_directory): Added.
3464         * Scripts/webkitpy/test/main.py:
3465         (_find_lldb_webkit_tester): Returns whether there exists a Debug or Release-built lldbWebKitTester.
3466         (_build_lldb_webkit_tester): Builds lldbWebKitTester. For now, we only support building
3467         lldbWebKitTester on Mac.
3468         (main): Add Tools/lldb to the test search path if the platform has lldb.py.
3469         (Tester.run): Pass a boolean as to whether we will run the lldb_webkit unit tests.
3470         (Tester._run_tests): Modified to take a boolean as to whether to run the lldb_webkit unit tests.
3471         If we will run these tests then build lldbWebKitTester if it has not already been built as the
3472         unit tests depend on this program.
3473         * lldb/lldbWebKitTester/Configurations/Base.xcconfig: Added.
3474         * lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig: Added.
3475         * lldb/lldbWebKitTester/Configurations/lldbWebKitTester.xcconfig: Added.
3476         * lldb/lldbWebKitTester/Makefile: Added.
3477         * lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj: Added.
3478         * lldb/lldbWebKitTester/main.cpp: Added.
3479         (breakForTestingSummaryProviders):
3480         (utf16String):
3481         (testSummaryProviders):
3482         (main):
3483         * lldb/lldb_webkit_unittest.py: Added.
3484         (destroy_cached_debug_session):
3485         (LLDBDebugSession):
3486         (LLDBDebugSession.setup):
3487         (LLDBDebugSession.tearDown):
3488         (TestSummaryProviders):
3489         (TestSummaryProviders.setUpClass):
3490         (TestSummaryProviders._sbFrame):
3491         (TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_null_string):
3492         (TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_empty_string):
3493         (TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_8bit_string):
3494         (TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_16bit_string):
3495         (TestSummaryProviders.serial_test_WTFString_SummaryProvider_null_string):
3496         (TestSummaryProviders.serial_test_WTFString_SummaryProvider_empty_string):
3497         (TestSummaryProviders.serial_test_WTFString_SummaryProvider_8bit_string):
3498         (TestSummaryProviders.serial_test_WTFString_SummaryProvider_16bit_string):
3499
3500 2018-06-01  Frederic Wang  <fwang@igalia.com>
3501
3502         export-w3c-test-changes cannot apply patches when some w3c-import.log files are changed
3503         https://bugs.webkit.org/show_bug.cgi?id=186133
3504
3505         Reviewed by Youenn Fablet.
3506
3507         * Scripts/webkitpy/w3c/test_exporter.py: Exclude w3c-import.log from the diff.
3508         * Scripts/webkitpy/w3c/test_exporter_unittest.py: Add unit test.
3509
3510 2018-05-31  Frederic Wang  <fwang@igalia.com>
3511
3512         export-w3c-test-changes should use the new location & name of the WPT repo
3513         https://bugs.webkit.org/show_bug.cgi?id=186135
3514
3515         Reviewed by Youenn Fablet.
3516
3517         Web platform tests have been moved to GitHub's web-platform-tests/wpt. This patch updates the
3518         corresponding variables to use the new organization and repository name. It also refactors a
3519         bit the code to reduce the amount of hardcoded strings.
3520
3521         * Scripts/webkitpy/w3c/common.py: Use org web-platform-tests, repo name wpt. Also removes the
3522         final slash to WPT_GH_URL, so it can be used for repo URL too.
3523         * Scripts/webkitpy/w3c/test_exporter.py: Import more symbols and define WPT_PR_URL from
3524         WPT_GH_URL.
3525         (WebPlatformTestExporter._wpt_fork_branch_github_url): Use WPT_GH_REPO_NAME.
3526         (WebPlatformTestExporter._wpt_fork_push_url): Use WPT_GH_REPO_NAME.
3527         (WebPlatformTestExporter._git): Use  WPT_GH_URL.
3528         (WebPlatformTestExporter._ensure_username_and_token): Use WPT_GH_ORG, WPT_GH_REPO_NAME.
3529         (WebPlatformTestExporter.make_pull_request): Use WPT_GH_ORG, WPT_GH_REPO_NAME.
3530         (parse_args): Use WPT_GH_REPO_NAME, WPT_GH_URL.
3531         * Scripts/webkitpy/w3c/test_exporter_unittest.py:
3532         (TestExporterTest.test_export): Update organization and repository names for the remote
3533         branch and pull request.
3534         (TestExporterTest.test_export_with_specific_branch): Update repository name.