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