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