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