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