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