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