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