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