LayoutTests/imported/w3c:
[WebKit-https.git] / Tools / ChangeLog
1 2018-10-04  YUHAN WU  <yuhan_wu@apple.com>
2
3         Runtime flag and IDL for MediaRecorder
4         https://bugs.webkit.org/show_bug.cgi?id=190018
5
6         Reviewed by Youenn Fablet and Chris Dumez.
7
8         * DumpRenderTree/mac/DumpRenderTree.mm:
9         (enableExperimentalFeatures):
10
11 2018-10-04  Basuke Suzuki  <Basuke.Suzuki@sony.com>
12
13         [LayoutTests][Win] Stop wpt server correctly.
14         https://bugs.webkit.org/show_bug.cgi?id=190248
15
16         Reviewed by Fujii Hironori.
17
18         Use signal.CTRL_C_EVENT instead of signal.SIGINT for Windows.
19         Also refactoring the detection of Windows and cygwin environment check.
20
21         * Scripts/webkitpy/common/system/executive.py:
22         (Executive.__init__): Check environment once.
23         (Executive._should_close_fds):
24         (Executive.kill_process):
25         (Executive.check_running_pid):
26         (Executive.running_pids):
27         (Executive.interrupt): Use signal.CTRL_C_EVENT for Windows.
28         (Executive.kill_all):
29         (Executive._child_process_encoding):
30         (Executive._should_encode_child_process_arguments):
31         (Executive.popen):
32         (Executive.run_in_parallel):
33
34 2018-10-04  Michael Catanzaro  <mcatanzaro@igalia.com>
35
36         Convert tests to use navigation client
37         https://bugs.webkit.org/show_bug.cgi?id=190153
38
39         Reviewed by Alex Christensen.
40
41         Convert these tests from PagePolicyClient and PageLoaderClient to PageNavigationClient.
42
43         * TestWebKitAPI/Tests/WebKit/DownloadDecideDestinationCrash.cpp:
44         (TestWebKitAPI::decidePolicyForNavigationAction):
45         (TestWebKitAPI::setPagePolicyClient):
46         * TestWebKitAPI/Tests/WebKit/ProvisionalURLAfterWillSendRequestCallback.cpp:
47         (TestWebKitAPI::didCommitNavigationCallback):
48         (TestWebKitAPI::TEST):
49         (TestWebKitAPI::didCommitLoadForFrame): Deleted.
50
51 2018-10-03  Dan Bernstein  <mitz@apple.com>
52
53         [Cocoa] Let clients specify an NSFileWrapper subclassed to be used for _WKAttachment
54         https://bugs.webkit.org/show_bug.cgi?id=190270
55
56         Reviewed by Wenson Hsieh.
57
58         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
59         (TestWebKitAPI::TEST):
60
61 2018-10-03  Ryosuke Niwa  <rniwa@webkit.org>
62
63         Enable selectionAcrossShadowBoundariesEnabled by default in WebKitLegacy
64         https://bugs.webkit.org/show_bug.cgi?id=190238
65
66         Reviewed by Antti Koivisto.
67
68         * DumpRenderTree/TestOptions.h:
69         * DumpRenderTree/mac/DumpRenderTree.mm:
70         (resetWebPreferencesToConsistentValues):
71
72 2018-10-02  Wenson Hsieh  <wenson_hsieh@apple.com>
73
74         [WebKit2] Format > Bold and Format > Italic don't toggle between bold and italic style
75         https://bugs.webkit.org/show_bug.cgi?id=179787
76         <rdar://problem/35593389>
77
78         Reviewed by Tim Horton.
79
80         Add a test to verify that NSFontManager's selected font is updated when applying italic and bold styles using
81         menu items.
82
83         * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
84         (webViewForFontManagerTesting):
85         (menuItemCellForFontAction):
86         (TestWebKitAPI::TEST):
87
88 2018-10-02  Chris Dumez  <cdumez@apple.com>
89
90         REGRESSION: TestWebKitAPI.WKWebView.ProvisionalURLNotChange API test is failing
91         https://bugs.webkit.org/show_bug.cgi?id=190176
92         <rdar://problem/44925871>
93
94         Reviewed by Alex Christensen.
95
96         Use a URL that is truly recognized as invalid by WebCore's URL parser.
97
98         * TestWebKitAPI/Tests/WebKitCocoa/ProvisionalURLNotChange.mm:
99         (TEST):
100
101 2018-10-02  Alex Christensen  <achristensen@webkit.org>
102
103         Remove ParsedURLString
104         https://bugs.webkit.org/show_bug.cgi?id=190154
105
106         Reviewed by Chris Dumez.
107
108         * TestWebKitAPI/Tests/WebCore/URL.cpp:
109         (TestWebKitAPI::TEST_F):
110         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
111         (TestWebKitAPI::assertUserAgentForURLHasChromeBrowserQuirk):
112         (TestWebKitAPI::assertUserAgentForURLHasLinuxPlatformQuirk):
113         (TestWebKitAPI::assertUserAgentForURLHasMacPlatformQuirk):
114         (TestWebKitAPI::TEST):
115
116 2018-10-02  Daniel Bates  <dabates@apple.com>
117
118         Fix iOS TestWebKitAPI failures following <https://trac.webkit.org/changeset/236619>
119         (https://bugs.webkit.org/show_bug.cgi?id=190017)
120
121         For now swizzle +[UIKeyboard isInHardwareKeyboardMode] to return NO in the following tests:
122             WKWebViewAutofillTests.AutofillRequiresInputSession
123             DragAndDropTests.ExternalSourceJPEGOnly
124             DragAndDropTests.ExternalSourceUTF8PlainTextOnly
125
126         so that the presence of a hardware keyboad does not effect their results. In <https://bugs.webkit.org/show_bug.cgi?id=190211>
127         we will look to swizzle this method for all test by default.
128
129         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
130         (TestWebKitAPI::overrideIsInHardwareKeyboardMode):
131         (TestWebKitAPI::TEST):
132         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
133         (TestWebKitAPI::overrideIsInHardwareKeyboardMode):
134         (TestWebKitAPI::TEST):
135         * TestWebKitAPI/ios/UIKitSPI.h:
136
137 2018-10-02  Dawei Fenton  <realdawei@apple.com>
138
139         Unreviewed, rolling out r236751.
140
141         broke the iOS Build
142
143         Reverted changeset:
144
145         "Fix iOS TestWebKitAPI failures following
146         <https://trac.webkit.org/changeset/236619>"
147         https://bugs.webkit.org/show_bug.cgi?id=190017
148         https://trac.webkit.org/changeset/236751
149
150 2018-10-02  Daniel Bates  <dabates@apple.com>
151
152         Fix iOS TestWebKitAPI failures following <https://trac.webkit.org/changeset/236619>
153         (https://bugs.webkit.org/show_bug.cgi?id=190017)
154
155         For now swizzle +[UIKeyboard isInHardwareKeyboardMode] to return NO in the following tests:
156             WKWebViewAutofillTests.AutofillRequiresInputSession
157             DragAndDropTests.ExternalSourceJPEGOnly
158             DragAndDropTests.ExternalSourceUTF8PlainTextOnly
159
160         so that the presence of a hardware keyboad does not effect their results. In <https://bugs.webkit.org/show_bug.cgi?id=190211>
161         we will look to swizzle this method for all test by default.
162
163         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
164         (TestWebKitAPI::overrideIsInHardwareKeyboardMode):
165         (TestWebKitAPI::TEST):
166         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
167         (TestWebKitAPI::overrideIsInHardwareKeyboardMode):
168         (TestWebKitAPI::TEST):
169         * TestWebKitAPI/ios/UIKitSPI.h:
170
171 2018-10-01  Dean Jackson  <dino@apple.com>
172
173         Remove CSS Animation Triggers
174         https://bugs.webkit.org/show_bug.cgi?id=190175
175         <rdar://problem/44925626>
176
177         Reviewed by Simon Fraser.
178
179         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
180
181 2018-10-02  Thibault Saunier  <tsaunier@igalia.com>
182
183         [Flatpak] Use our own check of flatpak repos
184         https://bugs.webkit.org/show_bug.cgi?id=190194
185
186         Allowing us to not mess up with user installation
187         and "--assumeyes" everywhere.
188
189         Reviewed by Michael Catanzaro.
190
191         * flatpak/flatpakutils.py:
192         (FlatpakPackage.__init__):
193         (FlatpakPackage.install):
194         (FlatpakPackage.update):
195         (WebkitFlatpak.load_from_args):
196         (WebkitFlatpak.__init__):
197         (WebkitFlatpak.clean_args):
198
199 2018-10-02  Wenson Hsieh  <wenson_hsieh@apple.com>
200
201         [macOS] Implement a way for the UI process to request typing attributes at the current selection
202         https://bugs.webkit.org/show_bug.cgi?id=189983
203         <rdar://problem/44648705>
204
205         Reviewed by Ryosuke Niwa.
206
207         Adds new FontManagerTests that exercise -typingAttributesWithCompletionHandler:. See below for more detail.
208
209         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
210         * TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h:
211         * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
212
213         Add a new test that exercises font attribute modification via inspector bar. Also, add a new test that checks
214         typing attributes when using subscript/superscript/unscript. Lastly, augment an existing NSFontPanel test to
215         additionally check that shadowed text and strike-through are reflected in typing attributes.
216
217         (-[FontManagerTestWKWebView inspectorBarItemIdentifiers]):
218         (-[TestWKWebView typingAttributes]):
219
220         Add a synchronous wrapper around `-typingAttributesWithCompletionHandler:` by spinning the runloop.
221
222         (-[TestWKWebView collapseToStart]):
223         (webViewForFontManagerTesting):
224         (TestWebKitAPI::TEST):
225         * TestWebKitAPI/cocoa/TestWKWebView.h:
226         * TestWebKitAPI/mac/TestInspectorBar.h: Copied from Tools/TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h.
227         * TestWebKitAPI/mac/TestInspectorBar.mm: Added.
228
229         Introduce subclasses of `__InspectorBarItemController` and `NSInspectorBar` for testing inspector bar interaction.
230
231         (-[TestInspectorBarItemController initWithInspectorBar:]):
232         (-[TestInspectorBarItemController inspectorBar]):
233         (-[TestInspectorBarItemController updateSelectedAttributes]):
234         (-[TestInspectorBar initWithWebView:]):
235         (+[TestInspectorBar standardItemControllerClass]):
236         (+[TestInspectorBar standardTextItemIdentifiers]):
237         (-[TestInspectorBar _setStyleControlSelected:atIndex:]):
238         (-[TestInspectorBar chooseFontSize:]):
239         (-[TestInspectorBar chooseFontFamily:]):
240         (-[TestInspectorBar _chooseColor:inColorWell:]):
241         (-[TestInspectorBar chooseForegroundColor:]):
242         (-[TestInspectorBar chooseBackgroundColor:]):
243         (-[TestInspectorBar formatBold:]):
244         (-[TestInspectorBar formatItalic:]):
245         (-[TestInspectorBar formatUnderline:]):
246
247         Add helper methods to TestInspectorBar to simulate interacting with various controls (e.g. color wells and font
248         styling controls).
249
250         (-[TestInspectorBar itemController]):
251         (-[TestInspectorBar setItemController:]):
252
253 2018-10-02  Thibault Saunier  <tsaunier@igalia.com>
254
255         [Flatpak] Implement icecream and ccache support
256         https://bugs.webkit.org/show_bug.cgi?id=190146
257
258         Reviewed by Alejandro G. Castro.
259
260         * flatpak/flatpakutils.py:
261         (WebkitFlatpak.load_from_args):
262         (WebkitFlatpak.__init__):
263         (WebkitFlatpak.clean_args):
264         (WebkitFlatpak.run_in_sandbox):
265         (WebkitFlatpak.save_config):
266         (WebkitFlatpak):
267         (WebkitFlatpak.setup_ccache):
268         (WebkitFlatpak.setup_icecc):
269         (WebkitFlatpak.setup_dev_env):
270         * flatpak/org.webkit.WebKit.yaml:
271
272 2018-10-02  Michael Catanzaro  <mcatanzaro@igalia.com>
273
274         Unreviewed, fix missing return value in TestController::keyExistsInKeychain
275
276         * WebKitTestRunner/TestController.cpp:
277         (WTR::TestController::keyExistsInKeychain):
278
279 2018-10-02  Basuke Suzuki  <Basuke.Suzuki@sony.com>
280
281         [WinCairo] Enable WPT tests environment.
282         https://bugs.webkit.org/show_bug.cgi?id=190128
283
284         Reviewed by Youenn Fablet.
285
286         Escaping backslash of the path not to confuse the JSON parser.
287
288         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
289         (WebPlatformTestServer._prepare_config):
290
291 2018-10-01  Ross Kirsling  <ross.kirsling@sony.com>
292
293         [Win][DRT] Actually set "experimental:WebAnimationsCSSIntegrationEnabled" when requested
294         https://bugs.webkit.org/show_bug.cgi?id=190150
295
296         Reviewed by Fujii Hironori.
297
298         * DumpRenderTree/win/DumpRenderTree.cpp:
299         (setWebPreferencesForTestOptions):
300         DRT has been recognizing this field, but not propagating its value to WebPreferences.
301
302 2018-10-01  Alex Christensen  <achristensen@webkit.org>
303
304         Unreviewed, rolling out r236551.
305
306         Fails URL validating too aggressively
307
308         Reverted changeset:
309
310         "URLWithUserTypedString should return nil for URLs deemed to
311         be invalid by WebCore::URL"
312         https://bugs.webkit.org/show_bug.cgi?id=189979
313         https://trac.webkit.org/changeset/236551
314
315 2018-10-01  Wenson Hsieh  <wenson_hsieh@apple.com>
316
317         [iOS] Add SPI to customize the input accessory view when focusing an element
318         https://bugs.webkit.org/show_bug.cgi?id=190152
319         <rdar://problem/42754975>
320
321         Reviewed by Dan Bernstein.
322
323         Add an API test to verify that setting a custom input accessory view and custom input view on the form input
324         session when focusing an element overrides the first responder's (i.e. WKContentView's) `-inputView` and
325         `-inputAccessoryView`.
326
327         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
328         (webViewWithAutofocusedInput):
329         (TestWebKitAPI::TEST):
330         * TestWebKitAPI/Tests/ios/TestInputDelegate.h:
331         * TestWebKitAPI/Tests/ios/TestInputDelegate.mm:
332         (-[TestInputDelegate setWillStartInputSessionHandler:]):
333         (-[TestInputDelegate willStartInputSessionHandler]):
334         (-[TestInputDelegate _webView:willStartInputSession:]):
335
336 2018-10-01  Sihui Liu  <sihui_liu@apple.com>
337
338         Remove StorageProcess
339         https://bugs.webkit.org/show_bug.cgi?id=189975
340
341         Reviewed by Geoffrey Garen.
342
343         * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
344         (TEST):
345         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
346         * TestWebKitAPI/Tests/WebKitCocoa/WebProcessKillIDBCleanup.mm:
347         (TEST):
348         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
349         (TEST):
350         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
351         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
352         (WTR::TestRunner::terminateStorageProcess): Deleted.
353         * WebKitTestRunner/InjectedBundle/TestRunner.h:
354         * WebKitTestRunner/TestController.cpp:
355         (WTR::TestController::generatePageConfiguration):
356         (WTR::TestController::databaseProcessName): Deleted.
357         (WTR::TestController::databaseProcessDidCrash): Deleted.
358         (WTR::TestController::terminateStorageProcess): Deleted.
359         * WebKitTestRunner/TestController.h:
360         * WebKitTestRunner/TestInvocation.cpp:
361         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
362
363 2018-10-01  Jiewen Tan  <jiewen_tan@apple.com>
364
365         [WebAuthN] Import a JS CBOR coder
366         https://bugs.webkit.org/show_bug.cgi?id=189877
367         <rdar://problem/44701124>
368
369         Reviewed by Chris Dumez.
370
371         Add logic to only process privateKeyBase64, userCertificateBase64 and intermediateCACertificateBase64
372         only if acceptAttestation is true.
373
374         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
375         (WTR::TestRunner::setWebAuthenticationMockConfiguration):
376
377 2018-10-01  Chris Dumez  <cdumez@apple.com>
378
379         Regression(r236512): http/tests/navigation/keyboard-events-during-provisional-navigation.html is flaky
380         https://bugs.webkit.org/show_bug.cgi?id=190052
381
382         Reviewed by Ryosuke Niwa.
383
384         The test relies on EventSender to send events to the page synchronously to the page and then uses console.log
385         to log those events. It also uses console.log() before sending those events to indicate what the test is about
386         to do. Note that console.log() normally causes the WebKitTestRunner to send an asynchronous IPC to the UIProcess
387         so that it can log the message.
388         The issue is that EventSender uses IPC::SendOption::UseFullySynchronousModeForTesting when sending the
389         sync IPC to the UIProcess. This option causes follow-up *asynchronous* IPC sent from the synchronous IPC reply
390         handler to be transformed into synchronous IPC.
391         As a result, some of the console.log IPC ended up being asynchronous and some other ended up being synchronous.
392         Because synchronous and asynchronous IPC is not necessarily processed in-order by the UIProcess, the logged
393         messages may end up being out of order, leading to flakiness.
394
395         To address the issue, we now make sure that InjectedBundle::outputText() uses a new IPC::SendOption indicated
396         that the IPC should always be sent asynchronously, even if the connection is in fully synchronous mode. As a
397         result, all text outputing IPC to the UIProcess will be asynchronous, and thus in order.
398
399         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
400         (WTR::InjectedBundle::outputText):
401
402 2018-10-01  Daniel Bates  <dabates@apple.com>
403
404         [iOS] Special keys are misidentified in DOM keyboard events
405         https://bugs.webkit.org/show_bug.cgi?id=189974
406
407         Reviewed by Wenson Hsieh.
408
409         Add support for testing keys Forward Delete and Num Lock / Clear.
410
411         * WebKitTestRunner/ios/HIDEventGenerator.mm:
412         (hidUsageCodeForCharacter):
413
414 2018-10-01  Alex Christensen  <achristensen@webkit.org>
415
416         URL should not use TextEncoding internally
417         https://bugs.webkit.org/show_bug.cgi?id=190111
418
419         Reviewed by Andy Estes.
420
421         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
422         (TestWebKitAPI::testUserPass):
423         (TestWebKitAPI::TEST_F):
424
425 2018-10-01  Daniel Bates  <dabates@apple.com>
426
427         LLDB tests may use wrong configuration of lldbWebKitTester
428         https://bugs.webkit.org/show_bug.cgi?id=189011
429
430         Reviewed by Dean Jackson.
431
432         Fixes an issue where the LLDB unit tests may use the wrong configuration of lldbWebKitTester.
433         Additionally, add back the unit tests originally added in r235376 (https://bugs.webkit.org/show_bug.cgi?id=188936).
434
435         Currently the unit tests pick the LLDBWebKitTester binary based on the configuration set by
436         script set-webkit-configuration. This may not be the same configuration specified to test-webkitpy.
437         So, the unit tests may use the wrong binary. Instead we have test-webkitpy store the path
438         to the correct lldbWebKitTester binary that the unit tests should use in an environment variable,
439         called LLDB_WEBKIT_TESTER_EXECUTABLE. (We use an environment variable because the test driver,
440         test-webkitpy, and the unit tests cannot talk to each other directly due the limitations of
441         the Python unittest module, the Python multiprocessing module, and the general principle of unit
442         tests - to test code in isolation). The unit tests make use of the value of this environment
443         variable to launch lldbWebKitTester binary.
444
445         * Scripts/build-lldbwebkittester: We only support building lldbWebKitTester on Mac for now. Error
446         out if this script is invoked for a non-Mac platform.
447         * Scripts/webkitpy/test/main.py:
448         (Tester._run_tests): Build lldbWebKitTester and store the path to it in the environment variable
449         LLDB_WEBKIT_TESTER_EXECUTABLE.
450         (_build_lldb_webkit_tester): Deleted.
451         * lldb/dump_class_layout_unittest.py:
452         (TestDumpClassLayout.shouldSkip): Use SystemHost() here and remove the _host global variable as
453         this is the only call site that needs the Host object now.
454         (TestDumpClassLayout.setUpClass): Take the path to the lldbWebKitTester binary from the value of
455         the environment variable LLDB_WEBKIT_TESTER_EXECUTABLE.
456         * lldb/lldbWebKitTester/main.cpp:
457         (testSummaryProviders): Add back unit test support infrastructure originally added in r235376 (https://bugs.webkit.org/show_bug.cgi?id=188936).
458         * lldb/lldb_webkit_unittest.py:
459         (LLDBDebugSession.setup): Take the path to the lldbWebKitTester binary from the value of the environment
460         variable LLDB_WEBKIT_TESTER_EXECUTABLE.
461         (TestSummaryProviders):
462         (TestSummaryProviders.shouldSkip): Skip the tests on non-Mac platforms.
463         (TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):
464         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_empty):
465         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple):
466         (TestSummaryProviders.serial_test_WTFOptionSetProvider_empty):
467         (TestSummaryProviders.serial_test_WTFOptionSetProvider_simple):
468         Add back the unit tests originally added in r235376 (https://bugs.webkit.org/show_bug.cgi?id=188936).
469
470 2018-10-01  Olivier Blin  <olivier.blin@softathome.com>
471
472         [WPE] Update install-dependencies
473         https://bugs.webkit.org/show_bug.cgi?id=190127
474
475         Reviewed by Michael Catanzaro.
476
477         * wpe/install-dependencies:
478         libxrandr-dev is needed for gstreamer-vaapi in jhbuild
479         It is used by gstvaapidisplay_x11.c.
480         Add it only for Apt, already ok for Pacman and DNF.
481
482         Install libevent-dev for WebRTC (like GTK)
483
484         Install libasound2-dev for WebRTC.
485         Add it only for Apt, already ok for Pacam and DNF.
486
487         Install libgbm-dev for HeadlessViewBackend, which uses gbm.h
488
489 2018-10-01  Thibault Saunier  <tsaunier@igalia.com>
490
491         [Flatpak] Add libunwind in the sandbox
492         https://bugs.webkit.org/show_bug.cgi?id=190123
493
494         Allowing us to get proper traces in GStreamer trace grabing
495         debug functions.
496
497         Reviewed by Philippe Normand.
498
499         * flatpak/org.webkit.WebKit.yaml:
500
501 2018-09-29  Commit Queue  <commit-queue@webkit.org>
502
503         Unreviewed, rolling out r236631.
504         https://bugs.webkit.org/show_bug.cgi?id=190112
505
506         Caused various eventSender tests, including fast/css/pseudo-
507         active-style-sharing*, to fail (Requested by smfr on #webkit).
508
509         Reverted changeset:
510
511         "Regression(r236512): http/tests/navigation/keyboard-events-
512         during-provisional-navigation.html is flaky"
513         https://bugs.webkit.org/show_bug.cgi?id=190052
514         https://trac.webkit.org/changeset/236631
515
516 2018-09-28  Myles C. Maxfield  <mmaxfield@apple.com>
517
518         [WHLSL] Fix build after r236635
519         https://bugs.webkit.org/show_bug.cgi?id=189210
520
521         Unreviewed.
522
523         * WebGPUShadingLanguageRI/Intrinsics.js:
524         (Intrinsics.):
525         * WebGPUShadingLanguageRI/Test.js:
526         (tests.atomicsNull):
527         (tests.numThreads):
528         (tests.textureDimensionsNull):
529
530 2018-09-28  Myles C. Maxfield  <mmaxfield@apple.com>
531
532         [WHLSL] Allow uniform buffers to be used in the interpreter
533         https://bugs.webkit.org/show_bug.cgi?id=189210
534
535         Reviewed by Filip Pizlo.
536
537         Every lvalue is associated with an address space, and the propagation of these address spaces
538         matches the propagation of lvalues. Luckily, there was already the infrastructure to do most
539         of this, so this patch just goes the last few yards. It also updates the standard library to
540         allow for writing into all writable address spaces for out-params.
541
542         * WebGPUShadingLanguageRI/Checker.js:
543         (Checker.prototype.visitAssignment):
544         (Checker.prototype._finishVisitingPropertyAccess):
545         * WebGPUShadingLanguageRI/Intrinsics.js:
546         (Intrinsics.):
547         (Intrinsics.checkFalse):
548         (Intrinsics):
549         * WebGPUShadingLanguageRI/StandardLibrary.js:
550         (let.standardLibrary):
551         * WebGPUShadingLanguageRI/Test.js:
552         (tests.threadArrayRefLoad):
553         (tests.threadArrayRefLoadIntLiteral):
554         (tests.deviceArrayRefLoad):
555         (tests.threadArrayRefStore):
556         (tests.deviceArrayRefStore):
557         (tests.deviceArrayRefStoreIntLiteral):
558         (tests.threadPointerLoad):
559         (tests.threadPointerStore):
560         (tests.devicePointerLoad):
561         (tests.devicePointerStore):
562         (tests.arrayLoad):
563         (tests.constantAddressSpace):
564         (tests.standardLibraryDevicePointers):
565         (tests.threadArrayLoad): Deleted.
566         (tests.threadArrayLoadIntLiteral): Deleted.
567         (tests.deviceArrayLoad): Deleted.
568         (tests.threadArrayStore): Deleted.
569         (tests.deviceArrayStore): Deleted.
570         (tests.deviceArrayStoreIntLiteral): Deleted.
571
572 2018-09-28  Wenson Hsieh  <wenson_hsieh@apple.com>
573
574         No DOM API to instantiate an attachment for an img element
575         https://bugs.webkit.org/show_bug.cgi?id=189934
576         <rdar://problem/44743222>
577
578         Reviewed by Ryosuke Niwa.
579
580         Adds 3 new API tests in WKAttachmentTests:
581
582         `AddAttachmentToConnectedImageElement` verifies that an image element that's already in the document can gain an
583         attachment element via `HTMLAttachmentElement.getAttachmentIdentifier`.
584
585         `ChangeFileWrapperForPastedImage` verifies that an image that has been pasted produces a _WKAttachment in the UI
586         process, and changing the file wrapper of that _WKAttachment changes the pasted image.
587
588         `ConnectImageWithAttachmentToDocument` verifies that script can create an image element, ensure that it has an
589         attachment, and set a file wrapper for the generated _WKAttachment. Connecting the image to the document should
590         then result in an image element with the contents of the _WKAttachment's file wrapper.
591
592         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
593         (-[TestWKWebView imageElementSize]):
594         (-[TestWKWebView waitForImageElementSizeToBecome:]):
595         (TestWebKitAPI::TEST):
596         (-[TestWKWebView waitForAttachmentElementSizeToBecome:]): Deleted.
597
598 2018-09-28  Chris Dumez  <cdumez@apple.com>
599
600         Regression(r236512): http/tests/navigation/keyboard-events-during-provisional-navigation.html is flaky
601         https://bugs.webkit.org/show_bug.cgi?id=190052
602
603         Reviewed by Ryosuke Niwa.
604
605         The test relies on EventSender to send events to the page synchronously to the page and then uses console.log
606         to log those events. It also uses console.log() before sending those events to indicate what the test is about
607         to do. Note that console.log() normally causes the WebKitTestRunner to send an asynchronous IPC to the UIProcess
608         so that it can log the message.
609         The issue is that EventSender uses IPC::SendOption::UseFullySynchronousModeForTesting when sending the
610         sync IPC to the UIProcess. This option causes follow-up *asynchronous* IPC sent from the synchronous IPC reply
611         handler to be transformed into synchronous IPC.
612         As a result, some of the console.log IPC ended up being asynchronous and some other ended up being synchronous.
613         Because synchronous and asynchronous IPC is not necessarily processed in-order by the UIProcess, the logged
614         messages may end up being out of order, leading to flakiness.
615
616         To address the issue, we now make sure that InjectedBundle::outputText() uses a new IPC::SendOption indicating
617         that the IPC should always be sent asynchronously, even if the connection is in fully synchronous mode. As a
618         result, all text outputing IPC to the UIProcess will be asynchronous, and thus in order.
619
620         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
621         (WTR::InjectedBundle::outputText):
622
623 2018-09-28  Myles C. Maxfield  <mmaxfield@apple.com>
624
625         [WHLSL] Pointers should have automatically-generated equality checks
626         https://bugs.webkit.org/show_bug.cgi?id=189986
627
628         Reviewed by Filip Pizlo.
629
630         C allows for pointer equality, and we need it so people can do null checks.
631         This is generated the same way all our other NativeFuncs are generated - by Checker
632         creating NativeFuncs inside CallExpression.resolve().
633
634         This patch also does some general cleanup.
635
636         * WebGPUShadingLanguageRI/All.js: Everything the late checker does is no longer necessary.
637         The last thing it was doing was making sure that only primitive types are in resources, but
638         it's totally reasonable to put structs and arrays in resources, so I removed this pass. We
639         still have to add a check to make sure resources can't live within resources, but I expect
640         that will be done in the same place that semantics are checked.
641         * WebGPUShadingLanguageRI/AllocateAtEntryPoints.js:
642         (allocateAtEntryPoints.updateFunction.UpdateFunctions.prototype._addVariableDeclaration):
643         Name the global struct for debugging purposes.
644         * WebGPUShadingLanguageRI/CallExpression.js: 
645         (CallExpression.prototype._resolveByInstantiation): Cleanup
646         (CallExpression.prototype._resolveWithOperatorAnderIndexer): Ditto
647         (CallExpression.prototype._resolveWithOperatorLength): Ditto
648         (CallExpression.prototype._resolveWithReferenceComparator): Add support to automatically
649         generate pointer equality NativeFuncs.
650         * WebGPUShadingLanguageRI/EPtr.js: Implement pointer equality in the interpreter.
651         * WebGPUShadingLanguageRI/LateChecker.js: Removed.
652         * WebGPUShadingLanguageRI/LayoutBuffers.js: Renamed from Tools/WebGPUShadingLanguageRI/LateCheckAndLayoutBuffers.js.
653         (layoutBuffers):
654         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL Tests.xcodeproj/project.pbxproj:
655         * WebGPUShadingLanguageRI/NativeFunc.js:
656         * WebGPUShadingLanguageRI/OperatorArrayRefLength.js:
657         (OperatorArrayRefLength.prototype.instantiateImplementation):
658         (OperatorArrayRefLength):
659         * WebGPUShadingLanguageRI/Prepare.js:
660         (let.prepare):
661         * WebGPUShadingLanguageRI/SPIRV.html:
662         * WebGPUShadingLanguageRI/Test.html:
663         * WebGPUShadingLanguageRI/Test.js:
664         (tests.ternaryExpression):
665         (tests.break): Speed up testing time
666         (tests.doWhile): Ditto
667         (tests.forLoop): Ditto
668         (tests.atomics): Ditto
669         (tests.atomicsNull): Ditto
670         (tests.pointerEquality): Test pointer equality
671         (tests.standardLibraryDevicePointers):
672         (tests.devicePtrPtr): Deleted.
673         (tests.threadgroupPtrPtr): Deleted.
674         (tests.constantPtrPtr): Deleted.
675         * WebGPUShadingLanguageRI/index.html:
676
677 2018-09-28  Jiewen Tan  <jiewen_tan@apple.com>
678
679         [WebAuthN] Polish WebAuthN auto-test environment
680         https://bugs.webkit.org/show_bug.cgi?id=189283
681         <rdar://problem/44117828>
682
683         Reviewed by Chris Dumez.
684
685         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
686         (WTR::TestRunner::setWebAuthenticationMockConfiguration):
687
688 2018-09-28  Chris Dumez  <cdumez@apple.com>
689
690         Drop support for cross-origin-window-policy header
691         https://bugs.webkit.org/show_bug.cgi?id=190081
692
693         Reviewed by Ryosuke Niwa.
694
695         190081_DropCrossOriginWindowPolicy
696
697         * DumpRenderTree/mac/DumpRenderTree.mm:
698         (enableExperimentalFeatures):
699         * DumpRenderTree/win/DumpRenderTree.cpp:
700         (enableExperimentalFeatures):
701         * WebKitTestRunner/TestController.cpp:
702         (WTR::TestController::resetPreferencesToConsistentValues):
703
704 2018-09-28  Koby Boyango  <koby.b@mce.systems>
705
706         [WTF] Add ExternalStringImpl, a StringImpl for user controlled buffers
707         https://bugs.webkit.org/show_bug.cgi?id=189991
708
709         Reviewed by Yusuke Suzuki.
710
711         * TestWebKitAPI/Tests/WTF/StringImpl.cpp:
712
713 2018-09-27  Ryan Haddad  <ryanhaddad@apple.com>
714
715         Update flakiness dashboard configuration for Mojave queues
716         https://bugs.webkit.org/show_bug.cgi?id=190068
717
718         Reviewed by Alexey Proskuryakov.
719
720         * TestResultServer/static-dashboards/builders.jsonp:
721
722 2018-09-27  Ryan Haddad  <ryanhaddad@apple.com>
723
724         Bring up queues for Mojave
725         https://bugs.webkit.org/show_bug.cgi?id=189935
726
727         Unreviewed infrastructure fix.
728
729         * BuildSlaveSupport/build.webkit.org-config/config.json: Remove trigger, update bot assignment.
730
731 2018-09-24  Ryan Haddad  <ryanhaddad@apple.com>
732
733         Bring up queues for Mojave
734         https://bugs.webkit.org/show_bug.cgi?id=189935
735
736         Reviewed by Alexey Proskuryakov.
737
738         * BuildSlaveSupport/build.webkit.org-config/config.json:
739         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
740         (WebKitBuildbot):
741         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
742
743 2018-09-27  Ryan Haddad  <ryanhaddad@apple.com>
744
745         Increase the timeout for iOS Simulator data migration
746         https://bugs.webkit.org/show_bug.cgi?id=190059
747
748         Reviewed by Aakash Jain.
749
750         3 minutes isn't always enough time for the data migrator to complete
751         when booting up multiple iOS Simulators. Change the timeout to 10 minutes.
752
753         * Scripts/webkitpy/xcode/simulated_device.py:
754         (SimulatedDeviceManager): Create a constant for the default timeout.
755         (SimulatedDeviceManager.initialize_devices): Use new constant.
756         (SimulatedDeviceManager.swap): Ditto.
757         (SimulatedDeviceManager.wait_until_data_migration_is_done): Ditto.
758
759 2018-09-27  Alex Christensen  <achristensen@webkit.org>
760
761         URLParser should use TextEncoding through an abstract class
762         https://bugs.webkit.org/show_bug.cgi?id=190027
763
764         Reviewed by Andy Estes.
765
766         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
767         (TestWebKitAPI::checkURL):
768         (TestWebKitAPI::TEST_F):
769
770 2018-09-27  Ryan Haddad  <ryanhaddad@apple.com>
771
772         iOS Simulator bots should pass '--dedicated-simulators' to run-webkit-tests
773         https://bugs.webkit.org/show_bug.cgi?id=190042
774
775         Reviewed by Aakash Jain.
776
777         To make iOS Simulator bots resilient to issues that can arise from reusing
778         existing simulators, ensure that dedicated simulators are created for each test run.
779
780         * Scripts/webkitpy/common/config/ports.py:
781         (IOSSimulatorWK2Port.run_webkit_tests_command):
782
783 2018-09-27  Alex Christensen  <achristensen@webkit.org>
784
785         URLWithUserTypedString should return nil for URLs deemed to be invalid by WebCore::URL
786         https://bugs.webkit.org/show_bug.cgi?id=189979
787
788         Reviewed by Youenn Fablet.
789
790         * TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
791         (TestWebKitAPI::originalDataAsString):
792         (TestWebKitAPI::TEST):
793
794 2018-09-27  Basuke Suzuki  <Basuke.Suzuki@sony.com>
795
796         [Win][WebKit] Implement authentication dialog on MiniBrowser.
797         https://bugs.webkit.org/show_bug.cgi?id=189846
798
799         Reviewed by Fujii Hironori.
800
801         It was implemented for WebKitLegacy, but not for WebKit.
802         Also added text field to display Realm information.
803
804         * MiniBrowser/win/Common.cpp:
805         (authDialogProc):
806         (askCredential):
807         (displayAuthDialog): Deleted.
808         * MiniBrowser/win/Common.h:
809         * MiniBrowser/win/MiniBrowserLib.rc:
810         * MiniBrowser/win/MiniBrowserLibResource.h:
811         * MiniBrowser/win/ResourceLoadDelegate.cpp:
812         (ResourceLoadDelegate::didReceiveAuthenticationChallenge):
813         * MiniBrowser/win/WebKitBrowserWindow.cpp:
814         (createString):
815         (createUTF8String):
816         (createWKString):
817         (createWKURL):
818         (WebKitBrowserWindow::WebKitBrowserWindow):
819         (WebKitBrowserWindow::didReceiveAuthenticationChallenge):
820         (toNullTerminatedUTF8): Deleted.
821         * MiniBrowser/win/WebKitBrowserWindow.h:
822
823 2018-09-27  Youenn Fablet  <youenn@apple.com>
824
825         Enable getUserMedia in mini browser
826         https://bugs.webkit.org/show_bug.cgi?id=190012
827
828         Reviewed by Eric Carlson.
829
830         Enable MediaDevices and mock capture devices.
831         Grant mock devices access to any getUserMedia call.
832         Covered by manual testing.
833
834         * MiniBrowser/mac/AppDelegate.m:
835         (defaultConfiguration):
836         * MiniBrowser/mac/WK2BrowserWindowController.m:
837         (-[WK2BrowserWindowController _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
838         (-[WK2BrowserWindowController _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
839
840 2018-09-27  Antoine Quint  <graouts@apple.com>
841
842         [Web Animations] Turn Web Animations with CSS integration on
843         https://bugs.webkit.org/show_bug.cgi?id=184819
844         <rdar://problem/39597337>
845
846         Reviewed by Dean Jackson.
847
848         * DumpRenderTree/TestOptions.h:
849
850 2018-09-26  Alex Christensen  <achristensen@webkit.org>
851
852         Unreviewed, rolling out r236524.
853
854         Broke API tests
855
856         Reverted changeset:
857
858         "URLWithUserTypedString should return nil for URLs deemed to
859         be invalid by WebCore::URL"
860         https://bugs.webkit.org/show_bug.cgi?id=189979
861         https://trac.webkit.org/changeset/236524
862
863 2018-09-26  James Savage  <james.savage@apple.com>
864
865         Allow override of viewport configuration.
866         https://bugs.webkit.org/show_bug.cgi?id=188772.
867         <rdar://problem/43538892>.
868
869         Reviewed by Simon Fraser.
870
871         * WebKitTestRunner/TestController.cpp:
872         (WTR::updateTestOptionsFromTestHeader): Parse new test option key from comments.
873         * WebKitTestRunner/TestOptions.h:
874         * WebKitTestRunner/ios/TestControllerIOS.mm:
875         (WTR::TestController::platformConfigureViewForTest): Handle new test option by
876         modifying the web view's preferences accordingly.
877
878 2018-09-26  Alex Christensen  <achristensen@webkit.org>
879
880         URLs with mismatched surrogate pairs in the host should fail to parse
881         https://bugs.webkit.org/show_bug.cgi?id=190005
882
883         Reviewed by Chris Dumez.
884
885         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
886         (TestWebKitAPI::TEST_F):
887
888 2018-09-26  Alex Christensen  <achristensen@webkit.org>
889
890         URLWithUserTypedString should return nil for URLs deemed to be invalid by WebCore::URL
891         https://bugs.webkit.org/show_bug.cgi?id=189979
892         <rdar://problem/44119696>
893
894         Reviewed by Chris Dumez.
895
896         * TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
897         (TestWebKitAPI::TEST):
898
899 2018-09-26  Ryosuke Niwa  <rniwa@webkit.org>
900
901         Selection should work across shadow boundary when initiated by a mouse drag
902         https://bugs.webkit.org/show_bug.cgi?id=151380
903         <rdar://problem/24363872>
904
905         Reviewed by Wenson Hsieh.
906
907         Added the support for internal:selectionAcrossShadowBoundariesEnabled test option.
908
909         * DumpRenderTree/TestOptions.cpp:
910         (TestOptions::TestOptions):
911         * DumpRenderTree/TestOptions.h:
912         * DumpRenderTree/mac/DumpRenderTree.mm:
913         (resetWebPreferencesToConsistentValues):
914         (setWebPreferencesForTestOptions):
915
916 2018-09-26  Ryosuke Niwa  <rniwa@webkit.org>
917
918         MiniBrowser doesn't respect default enabled-ness of experimental and internal debug features
919         https://bugs.webkit.org/show_bug.cgi?id=189989
920
921         Reviewed by Simon Fraser.
922
923         When the preference isn't found in user defaults, use the default value of each feature's enabledness.
924
925         * MiniBrowser/mac/AppDelegate.m:
926         (defaultConfiguration):
927
928 2018-09-26  Philippe Normand  <pnormand@igalia.com>
929
930         [Flatpak] Bump to apr 1.6.5
931
932         Version 1.6.3 is no longer available on Apache's website.
933
934         Rubber-stamped by Michael Catanzaro.
935
936         * flatpak/org.webkit.WebKit.yaml:
937
938 2018-09-25  Jiewen Tan  <jiewen_tan@apple.com>
939
940         [WebAuthN] Make AuthenticatorManager
941         https://bugs.webkit.org/show_bug.cgi?id=189279
942         <rdar://problem/44116792>
943
944         Reviewed by Chris Dumez.
945
946         Besides the functionality to set the WebAuthenticationMockConfiguration. Three operations are
947         added to manipulate Keychain: addTestKeyToKeychain, cleanUpKeychain and keyExistedInKeychain.
948
949         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
950         * TestWebKitAPI/Tests/ios/LocalAuthenticator.mm: Removed.
951         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
952         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
953         (WTR::TestRunner::setWebAuthenticationMockConfiguration):
954         (WTR::TestRunner::addTestKeyToKeychain):
955         (WTR::TestRunner::cleanUpKeychain):
956         (WTR::TestRunner::isKeyExisted):
957         * WebKitTestRunner/InjectedBundle/TestRunner.h:
958         * WebKitTestRunner/TestController.cpp:
959         (WTR::TestController::addTestKeyToKeychain):
960         (WTR::TestController::cleanUpKeychain):
961         (WTR::TestController::isKeyExisted):
962         (WTR::TestController::setWebAuthenticationMockConfiguration):
963         * WebKitTestRunner/TestController.h:
964         * WebKitTestRunner/TestInvocation.cpp:
965         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
966         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
967         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
968         (WTR::TestController::addTestKeyToKeychain):
969         (WTR::TestController::cleanUpKeychain):
970         (WTR::TestController::keyExistedInKeychain):
971
972 2018-09-25  Sihui Liu  <sihui_liu@apple.com>
973
974         Move Service Worker Management from Storage Process to Network Process
975         https://bugs.webkit.org/show_bug.cgi?id=189422
976
977         Reviewed by Youenn Fablet.
978
979         Change a check in ServiceWorkers.HasServiceWorkerRegistrationBit as storage process is not
980         launched during service worker operations now.
981
982         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
983
984 2018-09-25  Eric Carlson  <eric.carlson@apple.com>
985
986         [MediaStream] Update constraints supported by getDisplayMedia
987         https://bugs.webkit.org/show_bug.cgi?id=189930
988         <rdar://problem/44740305>
989
990         Unreviewed, fix test broken by r236465.
991
992         * TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm:
993         (TestWebKitAPI::TEST_F):
994
995 2018-09-25  Myles C. Maxfield  <mmaxfield@apple.com>
996
997         [WHSL] Implement semantics
998         https://bugs.webkit.org/show_bug.cgi?id=189134
999
1000         Reviewed by Filip Pizlo.
1001
1002         This patch adds parsing support and adds the checks required to support HLSL-style semantics.
1003
1004         There are 3 places where semantics are allowed:
1005
1006         1. In a field in a struct. E.g.
1007
1008         struct R {
1009             float4 position : SV_Position;
1010         }
1011         vertex R foo() {
1012             ...
1013         }
1014
1015         2. In a parameter of a function. If the function is not an entry point, the semantic is ignored.
1016
1017         compute void foo(device float[] data : buffer(u0)) {
1018             ...
1019         }
1020
1021         3. On a function. This is so you don't have to create structs for the return types of simple vertex shaders.
1022
1023         vertex float4 foo() : SV_Position {
1024             ...
1025         }
1026
1027         The semantics are partitioned into 4 types:
1028
1029         1. Built-in variables. For example, : SV_Position.
1030         2. Resources. For example, : register(u0).
1031         3. Stage-in / stage-out variables. For example, : attribute(0).
1032         4. Specialization constants. For example, : specialized.
1033
1034         The semantics are validated according to a collection of rules:
1035
1036         - The same entry point can't list the same semantic twice
1037         - Each built-in type has an appropriate type that is listed in the spec. 
1038         - Each built-in is appropriate as either an input or an output of a particular shader stage
1039         - Resource semantics have to have the appropriate type (e.g. can't use register(s0) on a buffer)
1040         - Resources can't be output from entry points
1041         - The resource semantic mode must match the address space of the resource
1042         - Stage-in and stage-out variables have to be POD
1043         - Specialization constants can't be output from entry points, and have to be numbers
1044
1045         * WebGPUShadingLanguageRI/All.js:
1046         * WebGPUShadingLanguageRI/BuiltInSemantic.js: Added.
1047         (BuiltInSemantic):
1048         (BuiltInSemantic.prototype.get name):
1049         (BuiltInSemantic.prototype.get extraArguments):
1050         (BuiltInSemantic.prototype.isAcceptableType):
1051         (BuiltInSemantic.prototype.isAcceptableForShaderType):
1052         (BuiltInSemantic.prototype.toString):
1053         * WebGPUShadingLanguageRI/CallExpression.js:
1054         (CallExpression.prototype._resolveWithOperatorAnderIndexer):
1055         (CallExpression.prototype._resolveWithOperatorLength):
1056         * WebGPUShadingLanguageRI/Checker.js:
1057         (Checker):
1058         (Checker.prototype.visitProgram):
1059         (Checker.prototype._checkSemantics.Item):
1060         (Checker.prototype._checkSemantics.Item.prototype.get type):
1061         (Checker.prototype._checkSemantics.Item.prototype.get semantic):
1062         (Checker.prototype._checkSemantics.Gatherer):
1063         (Checker.prototype._checkSemantics.Gatherer.prototype.reset):
1064         (Checker.prototype._checkSemantics.Gatherer.prototype.set currentSemantic):
1065         (Checker.prototype._checkSemantics.Gatherer.prototype.get currentSemantic):
1066         (Checker.prototype._checkSemantics.Gatherer.prototype.get result):
1067         (Checker.prototype._checkSemantics.Gatherer.prototype.visitEnumType):
1068         (Checker.prototype._checkSemantics.Gatherer.prototype.visitVectorType):
1069         (Checker.prototype._checkSemantics.Gatherer.prototype.visitMatrixType):
1070         (Checker.prototype._checkSemantics.Gatherer.prototype.visitNativeType):
1071         (Checker.prototype._checkSemantics.Gatherer.prototype.visitStructType):
1072         (Checker.prototype._checkSemantics.Gatherer.prototype.visitTypeRef):
1073         (Checker.prototype._checkSemantics.Gatherer.prototype.visitPtrType):
1074         (Checker.prototype._checkSemantics.Gatherer.prototype.visitArrayRefType):
1075         (Checker.prototype._checkSemantics.Gatherer.prototype.visitArrayType):
1076         (Checker.prototype._checkSemantics.Gatherer.prototype.visitFuncParameter):
1077         (Checker.prototype._checkSemantics.checkDuplicateSemantics):
1078         (Checker.prototype._checkSemantics.checkSemanticTypes):
1079         (Checker.prototype._checkSemantics.checkSemanticForShaderType):
1080         (Checker.prototype._checkSemantics.PODChecker.prototype.visitEnumType):
1081         (Checker.prototype._checkSemantics.PODChecker.prototype.visitArrayType):
1082         (Checker.prototype._checkSemantics.PODChecker.prototype.visitVectorType):
1083         (Checker.prototype._checkSemantics.PODChecker.prototype.visitMatrixType):
1084         (Checker.prototype._checkSemantics.PODChecker.prototype.visitNativeType):
1085         (Checker.prototype._checkSemantics.PODChecker.prototype.visitPtrType):
1086         (Checker.prototype._checkSemantics.PODChecker.prototype.visitArrayRefType):
1087         (Checker.prototype._checkSemantics.PODChecker.prototype.visitStructType):
1088         (Checker.prototype._checkSemantics.PODChecker.prototype.visitTypeRef):
1089         (Checker.prototype._checkSemantics.PODChecker):
1090         (Checker.prototype._checkSemantics.checkPODData):
1091         (Checker.prototype._checkSemantics):
1092         (Checker.prototype._checkShaderType):
1093         (Checker.prototype._checkOperatorOverload):
1094         (Checker.prototype.visitFuncDef):
1095         (Checker.prototype.visitEnumType):
1096         (Checker.prototype.visitArrayType):
1097         (Checker.prototype.visitMakePtrExpression):
1098         (Checker.prototype.visitMakeArrayRefExpression):
1099         (Checker.prototype._finishVisitingPropertyAccess):
1100         (Checker.prototype.visitIndexExpression):
1101         (Checker.prototype.visitReturn):
1102         (Checker.prototype.visitSwitchStatement):
1103         (Checker.prototype.visitTernaryExpression):
1104         (Checker.prototype.visitCallExpression):
1105         * WebGPUShadingLanguageRI/Field.js:
1106         (Field):
1107         (Field.prototype.get semantic):
1108         (Field.prototype.toString):
1109         * WebGPUShadingLanguageRI/Func.js:
1110         (Func):
1111         (Func.prototype.get semantic):
1112         (Func.prototype.toDeclString):
1113         * WebGPUShadingLanguageRI/FuncDef.js:
1114         (FuncDef):
1115         * WebGPUShadingLanguageRI/FuncParameter.js:
1116         (FuncParameter):
1117         (FuncParameter.prototype.get semantic):
1118         (FuncParameter.prototype.toString):
1119         * WebGPUShadingLanguageRI/Intrinsics.js:
1120         * WebGPUShadingLanguageRI/LateChecker.js:
1121         (LateChecker.prototype.visitReferenceType):
1122         (LateChecker):
1123         (LateChecker.prototype._checkShaderType): Deleted.
1124         (LateChecker.prototype.visitFuncDef): Deleted.
1125         * WebGPUShadingLanguageRI/NativeFunc.js:
1126         (NativeFunc):
1127         * WebGPUShadingLanguageRI/Parse.js:
1128         (parseParameter):
1129         (parseFuncDecl):
1130         (parseFuncDef):
1131         (parseStageInOutSemantic):
1132         (parseResourceSemantic):
1133         (parseSpecializationConstantSemantic):
1134         (parseBuiltInSemantic):
1135         (parseField):
1136         (parseNativeFunc):
1137         * WebGPUShadingLanguageRI/ProgramWithUnnecessaryThingsRemoved.js:
1138         (programWithUnnecessaryThingsRemoved):
1139         * WebGPUShadingLanguageRI/ResourceSemantic.js: Added.
1140         (ResourceSemantic):
1141         (ResourceSemantic.prototype.get resourceMode):
1142         (ResourceSemantic.prototype.get index):
1143         (ResourceSemantic.prototype.get space):
1144         (ResourceSemantic.prototype.isAcceptableType):
1145         (ResourceSemantic.prototype.isAcceptableForShaderType):
1146         (ResourceSemantic.prototype.toString):
1147         * WebGPUShadingLanguageRI/Rewriter.js:
1148         (Rewriter.prototype.visitFuncParameter):
1149         (Rewriter.prototype.visitField):
1150         (Rewriter.prototype.visitBuiltInSemantic):
1151         (Rewriter.prototype.visitResourceSemantic):
1152         (Rewriter.prototype.visitStageInOutSemantic):
1153         (Rewriter.prototype.visitSpecializationConstantSemantic):
1154         (Rewriter):
1155         * WebGPUShadingLanguageRI/SPIRV.html:
1156         * WebGPUShadingLanguageRI/Semantic.js: Added.
1157         (Semantic):
1158         (Semantic.prototype.get origin):
1159         (Semantic.prototype.equalToOtherSemantic.Comparer.prototype.visitBuiltInSemantic):
1160         (Semantic.prototype.equalToOtherSemantic.Comparer.prototype.visitResourceSemantic):
1161         (Semantic.prototype.equalToOtherSemantic.Comparer.prototype.visitStageInOutSemantic):
1162         (Semantic.prototype.equalToOtherSemantic.Comparer.prototype.visitSpecializationConstantSemantic):
1163         (Semantic.prototype.equalToOtherSemantic.Comparer):
1164         (Semantic.prototype.equalToOtherSemantic):
1165         * WebGPUShadingLanguageRI/SpecializationConstantSemantic.js: Copied from Tools/WebGPUShadingLanguageRI/Field.js.
1166         (SpecializationConstantSemantic):
1167         (SpecializationConstantSemantic.prototype.isAcceptableType):
1168         (SpecializationConstantSemantic.prototype.isAcceptableForShaderType):
1169         (SpecializationConstantSemantic.prototype.toString):
1170         * WebGPUShadingLanguageRI/StageInOutSemantic.js: Copied from Tools/WebGPUShadingLanguageRI/FuncDef.js.
1171         (StageInOutSemantic):
1172         (StageInOutSemantic.prototype.get index):
1173         (StageInOutSemantic.prototype.isAcceptableType):
1174         (StageInOutSemantic.prototype.isAcceptableForShaderType):
1175         (StageInOutSemantic.prototype.toString):
1176         * WebGPUShadingLanguageRI/StatementCloner.js:
1177         (StatementCloner.prototype.visitNativeFunc):
1178         * WebGPUShadingLanguageRI/SynthesizeArrayOperatorLength.js:
1179         (synthesizeArrayOperatorLength):
1180         * WebGPUShadingLanguageRI/SynthesizeCopyConstructorOperator.js:
1181         (synthesizeCopyConstructorOperator):
1182         * WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js:
1183         (synthesizeDefaultConstructorOperator):
1184         * WebGPUShadingLanguageRI/SynthesizeEnumFunctions.js:
1185         (synthesizeEnumFunctions):
1186         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:
1187         (setupAnder):
1188         (synthesizeStructAccessorsForStructType):
1189         * WebGPUShadingLanguageRI/Test.html:
1190         * WebGPUShadingLanguageRI/Test.js:
1191         (tests.shaderTypes):
1192         * WebGPUShadingLanguageRI/Visitor.js:
1193         (Visitor.prototype.visitFunc):
1194         (Visitor.prototype.visitFuncParameter):
1195         (Visitor.prototype.visitField):
1196         (Visitor.prototype.visitBuiltInSemantic):
1197         (Visitor.prototype.visitResourceSemantic):
1198         (Visitor.prototype.visitStageInOutSemantic):
1199         (Visitor.prototype.visitSpecializationConstantSemantic):
1200         (Visitor):
1201         * WebGPUShadingLanguageRI/index.html:
1202
1203 2018-09-25  Thomas Denney  <tdenney@apple.com>
1204
1205         [WHLSL] Test suite for Metal code generation
1206         https://bugs.webkit.org/show_bug.cgi?id=187738
1207
1208         Reviewed by Myles C. Maxfield.
1209
1210         This patch adds an Xcode project that contains a Cocoa app that can be
1211         used for running WHLSL shaders on the GPU. It also contains an Xcode
1212         test suite that runs all of the tests in Test.js on the GPU.
1213
1214         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/.gitignore: Added.
1215         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/AppDelegate.h: Added.
1216         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/AppDelegate.m: Added.
1217         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Assets.xcassets/AppIcon.appiconset/Contents.json: Added.
1218         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Assets.xcassets/Contents.json: Added.
1219         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Base.lproj/Main.storyboard: Added.
1220         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CompileResult.h: Added.
1221         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CompileResult.m: Added.
1222         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Compiler.h: Added.
1223         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Compiler.m: Added.
1224         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CustomMetalView.h: Added.
1225         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CustomMetalView.m: Added.
1226         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Default.whlsl: Added.
1227         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Julia.whlsl: Added.
1228         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Mandelbrot.whlsl: Added.
1229         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Info.plist: Added.
1230         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OffscreenRenderer.h: Added.
1231         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OffscreenRenderer.m: Added.
1232         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OnscreenRenderer.h: Added.
1233         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OnscreenRenderer.m: Added.
1234         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/Renderer.h: Added.
1235         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/Renderer.m: Added.
1236         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestCallArgument.h: Added.
1237         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestCallArgument.m: Added.
1238         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestDescription.h: Added.
1239         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestDescription.m: Added.
1240         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamily.h: Added.
1241         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamily.m: Added.
1242         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamilyRunner.h: Added.
1243         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamilyRunner.m: Added.
1244         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/ViewController.h: Added.
1245         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/ViewController.m: Added.
1246         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/WHLSL.entitlements: Added.
1247         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/_SharedMetal.txt: Added.
1248         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/main.m: Added.
1249         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL Tests.xcodeproj/project.pbxproj: Added.
1250         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL ToyTests/Info.plist: Added.
1251         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL ToyTests/WHLSL_ToyTests.m: Added.
1252         * WebGPUShadingLanguageRI/Test.js:
1253         (tests.lotsOfLocalVariables):
1254
1255 2018-09-25  Myles C. Maxfield  <mmaxfield@apple.com>
1256
1257         Unreviewed build fix after r236455
1258         https://bugs.webkit.org/show_bug.cgi?id=189121
1259
1260         * WebGPUShadingLanguageRI/Test.js:
1261         (tests.shaderStages):
1262
1263 2018-09-24  Myles C. Maxfield  <mmaxfield@apple.com>
1264
1265         [WHLSL] Not all functions should be able to run in all shader stages
1266         https://bugs.webkit.org/show_bug.cgi?id=189121
1267
1268         Reviewed by Filip Pizlo.
1269
1270         ddx() and ddy() can only run in fragment shaders, and the barrier functions can only run in compute shaders.
1271         ddx_coarse() & friends are currently implemented as just calling ddx(), so we only need to modify those functions
1272         if/when we make them native.
1273
1274         The texture sampling functions that use implicit derivatives can run in any shader stage - they just use a LOD of
1275         0. Therefore, those functions are unchanged.
1276
1277         * WebGPUShadingLanguageRI/All.js:
1278         * WebGPUShadingLanguageRI/Intrinsics.js:
1279         * WebGPUShadingLanguageRI/LateChecker.js:
1280         (LateChecker.prototype._checkShaderType):
1281         * WebGPUShadingLanguageRI/NativeFunc.js:
1282         (NativeFunc):
1283         (NativeFunc.prototype.get stage):
1284         (NativeFunc.prototype.toDeclString):
1285         * WebGPUShadingLanguageRI/Parse.js:
1286         (parseFuncDecl):
1287         (parseNativeFunc):
1288         (parseNative):
1289         * WebGPUShadingLanguageRI/Prepare.js:
1290         (let.prepare):
1291         * WebGPUShadingLanguageRI/SPIRV.html:
1292         * WebGPUShadingLanguageRI/StandardLibrary.js:
1293         (let.standardLibrary):
1294         * WebGPUShadingLanguageRI/StatementCloner.js:
1295         (StatementCloner.prototype.visitNativeFunc):
1296         * WebGPUShadingLanguageRI/Test.html:
1297         * WebGPUShadingLanguageRI/Test.js:
1298         (tests.shaderStages):
1299         * WebGPUShadingLanguageRI/WSyntaxError.js:
1300         (WSyntaxError.prototype.toString):
1301         (WSyntaxError):
1302         * WebGPUShadingLanguageRI/index.html:
1303
1304 2018-09-24  Thomas Denney  <tdenney@apple.com>
1305
1306         [WHLSL] Implement trap statements in Metal code generation
1307         https://bugs.webkit.org/show_bug.cgi?id=189615
1308
1309         Reviewed by Myles C. Maxfield.
1310
1311         Each function called by an entry point now receives an additional
1312         boolean pointer parameter, which is set to false if the function traps.
1313         After each function call (to a non-native function) this trap parameter
1314         is checked. The behavior of the interpreter has also been updated so
1315         that a function entry point catches the trap and instead returns zero,
1316         matching the behavior of compiled code.
1317
1318         * WebGPUShadingLanguageRI/Evaluator.js: Adds a new flag to allow the
1319         test suite to check for traps and also returns zero from entry points
1320         whose invocation trapped.
1321         * WebGPUShadingLanguageRI/Metal/MSLBackend.js: Pass program to function
1322         declarations.
1323         * WebGPUShadingLanguageRI/Metal/MSLCodegenAll.js: Update dependencies.
1324         * WebGPUShadingLanguageRI/Metal/MSLFunctionDeclaration.js: Add program
1325         property.
1326         * WebGPUShadingLanguageRI/Metal/MSLFunctionDefinition.js: Ditto.
1327         * WebGPUShadingLanguageRI/Metal/MSLInsertTrapParameter.js: Added.
1328         * WebGPUShadingLanguageRI/Metal/MSLStatementEmitter.js: Conforms to the
1329         new trapping behavior.
1330         * WebGPUShadingLanguageRI/Test.js: Update tests that trap.
1331
1332 2018-09-24  Thomas Denney  <tdenney@apple.com>
1333
1334         [WHLSL] It shouldn’t be possible to use ternary expressions as l-values
1335         https://bugs.webkit.org/show_bug.cgi?id=189290
1336
1337         Reviewed by Myles C. Maxfield.
1338
1339         It is no longer possible for a ternary expression to be treated as an
1340         l-value. This patch adds several test cases to verify that this is the
1341         case.
1342
1343         * WebGPUShadingLanguageRI/Checker.js:
1344         (Checker.prototype.visitTernaryExpression): No longer check isLValue.
1345         * WebGPUShadingLanguageRI/NormalUsePropertyResolver:
1346         (NormalUsePropertyResolver.visitTernaryExpression): Deleted.
1347         * WebGPUShadingLanguageRI/Rewriter.js:
1348         (Rewriter.prototype.visitTernaryExpression): No longer copy isLValue.
1349         * WebGPUShadingLanguageRI/TernaryExpression.js:
1350         (TernaryExpression):
1351         (TernaryExpression.prototype.get elseExpression):
1352         (TernaryExpression.prototype.get isLValue): Deleted.
1353         (TernaryExpression.prototype.set isLValue): Deleted.
1354         * WebGPUShadingLanguageRI/Test.js:
1355         (tests.ternaryExpression): Add checks for failure if a failure is used
1356         as an l-value.
1357         (ternaryExpressionIsLValue.node.TernaryExpressionVisitor.prototype.visitTernaryExpression): Deleted.
1358         (ternaryExpressionIsLValue.node.TernaryExpressionVisitor): Deleted.
1359         (tests.ternaryExpressionIsLValue): Deleted.
1360
1361 2018-09-24  Jer Noble  <jer.noble@apple.com>
1362
1363         SharedBuffer should have an equality test
1364         https://bugs.webkit.org/show_bug.cgi?id=189919
1365
1366         Reviewed by Alex Christensen.
1367
1368         * TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
1369         (TestWebKitAPI::TEST_F):
1370
1371 2018-09-24  Alex Christensen  <achristensen@webkit.org>
1372
1373         Prepare to replace WKBundleFileHandleCreateWithPath with a version that takes a WKBundlePageRef
1374         https://bugs.webkit.org/show_bug.cgi?id=189929
1375
1376         Reviewed by Andy Estes.
1377
1378         * TestWebKitAPI/Tests/WebKit/WKBundleFileHandle_Bundle.cpp:
1379
1380 2018-09-24  Thomas Denney  <tdenney@apple.com>
1381
1382         [WHLSL] Casting user-created types to themselves should always work
1383         https://bugs.webkit.org/show_bug.cgi?id=189113
1384
1385         Reviewed by Myles C. Maxfield.
1386
1387         Casting user-defined types to themselves worked already, but we didn't
1388         test it anywhere.
1389
1390         * WebGPUShadingLanguageRI/Test.js:
1391         (tests.selfCasts):
1392
1393 2018-09-24  Zan Dobersek  <zdobersek@igalia.com>
1394
1395         Unreviewed build fix for Jhbuild-using ports.
1396
1397         * gstreamer/patches/gst-plugins-good-0010-matroskademux-Emit-no-more-pads-after-parsing-Tracks.patch:
1398         Adjust the patch so it applies cleanly on the 1.14.3 version of the
1399         gst-plugins-good package.
1400
1401 2018-09-24  Ryan Haddad  <ryanhaddad@apple.com>
1402
1403         Update flakiness dashboard configuration for iOS 12 queues
1404         https://bugs.webkit.org/show_bug.cgi?id=189688
1405
1406         Reviewed by Alexey Proskuryakov.
1407
1408         * TestResultServer/static-dashboards/builders.jsonp:
1409
1410 2018-09-24  Alicia Boya García  <aboya@igalia.com>
1411
1412         [GStreamer] Unreviewed build fix.
1413
1414         A GStreamer patch was not applying cleanly on 1.14.3.
1415
1416         * gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch:
1417
1418 2018-09-24  Alicia Boya García  <aboya@igalia.com>
1419
1420         [MSE][GStreamer] Use no-more-pads event for noticing initialization segments
1421         https://bugs.webkit.org/show_bug.cgi?id=189868
1422
1423         Reviewed by Xabier Rodriguez-Calvar.
1424
1425         Added patch from https://bugzilla.gnome.org/show_bug.cgi?id=797187
1426
1427         * gstreamer/jhbuild.modules:
1428         * gstreamer/patches/gst-plugins-good-0010-matroskademux-Emit-no-more-pads-after-parsing-Tracks.patch: Added.
1429
1430 2018-09-24  Alicia Boya García  <aboya@igalia.com>
1431         [MSE][GStreamer] Add patch to jhbuild: matroskademux: Allow Matroska headers to be read more than once
1432         https://bugs.webkit.org/show_bug.cgi?id=185731
1433
1434         Reviewed by Xabier Rodriguez-Calvar.
1435
1436         Upstream bug in GStreamer: https://bugzilla.gnome.org/show_bug.cgi?id=793333
1437
1438         This fixes YTTV 35. AppendMultipleInitOpusAudio (and any other use
1439         case where two WebM initialization segments are appended on a row).
1440
1441         * gstreamer/jhbuild.modules:
1442         * gstreamer/patches/gst-plugins-good-0007-matroskademux-Allow-Matroska-headers-to-be-read-more.patch: Added.
1443         * gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch: Added.
1444         * gstreamer/patches/gst-plugins-good-0009-matroskademux-Parse-successive-Tracks-elements.patch: Added.
1445
1446 2018-09-22  Myles C. Maxfield  <mmaxfield@apple.com>
1447
1448         [WHSL] Need grammar to specify kernel group size
1449         https://bugs.webkit.org/show_bug.cgi?id=189108
1450
1451         Reviewed by Dean Jackson.
1452
1453         In HLSL, compute functions are annotated with their workgroup size.
1454         For example,
1455
1456         [numthreads(3, 4, 5)] compute void foo(...) { ... }
1457
1458         * WebGPUShadingLanguageRI/All.js:
1459         * WebGPUShadingLanguageRI/Func.js:
1460         (Func):
1461         (Func.prototype.get attributeBlock):
1462         * WebGPUShadingLanguageRI/FuncAttribute.js: Copied from Tools/WebGPUShadingLanguageRI/FuncDef.js.
1463         (FuncAttribute):
1464         * WebGPUShadingLanguageRI/FuncDef.js:
1465         (FuncDef):
1466         * WebGPUShadingLanguageRI/FuncNumThreadsAttribute.js: Copied from Tools/WebGPUShadingLanguageRI/FuncDef.js.
1467         (FuncNumThreadsAttribute):
1468         (FuncNumThreadsAttribute.prototype.get x):
1469         (FuncNumThreadsAttribute.prototype.get y):
1470         (FuncNumThreadsAttribute.prototype.get z):
1471         * WebGPUShadingLanguageRI/LateChecker.js:
1472         (LateChecker.prototype._checkShaderType):
1473         * WebGPUShadingLanguageRI/Parse.js:
1474         (parseAttributeBlock):
1475         (parseFuncDecl):
1476         (parseFuncDef):
1477         (parseNativeFunc):
1478         * WebGPUShadingLanguageRI/SPIRV.html:
1479         * WebGPUShadingLanguageRI/StatementCloner.js:
1480         (StatementCloner.prototype.visitFuncDef):
1481         (StatementCloner.prototype.visitFuncNumThreadsAttribute):
1482         (StatementCloner):
1483         * WebGPUShadingLanguageRI/Test.html:
1484         * WebGPUShadingLanguageRI/Test.js:
1485         (tests.numThreads):
1486         * WebGPUShadingLanguageRI/Visitor.js:
1487         (Visitor.prototype.visitFunc):
1488         (Visitor.prototype.visitFuncNumThreadsAttribute):
1489         (Visitor):
1490         * WebGPUShadingLanguageRI/index.html:
1491
1492 2018-09-22  Myles C. Maxfield  <mmaxfield@apple.com>
1493
1494         Native functions which accept pointers need to do null checks
1495         https://bugs.webkit.org/show_bug.cgi?id=189883
1496
1497         Reviewed by Dean Jackson.
1498
1499         Simply guard all the places where we write through an author-provided pointer.
1500
1501         * WebGPUShadingLanguageRI/Intrinsics.js:
1502         (Intrinsics.):
1503         * WebGPUShadingLanguageRI/Test.js:
1504         (tests.textureDimensionsNull):
1505
1506 2018-09-22  Myles C. Maxfield  <mmaxfield@apple.com>
1507
1508         [WHLSL] Implement atomic operations and barriers
1509         https://bugs.webkit.org/show_bug.cgi?id=189025
1510
1511         Reviewed by Dean Jackson.
1512
1513         In the interpreter, atomic operations don't need to be atomic.
1514
1515         * WebGPUShadingLanguageRI/Intrinsics.js:
1516         (Intrinsics.):
1517         * WebGPUShadingLanguageRI/StandardLibrary.js:
1518         (let.standardLibrary):
1519         * WebGPUShadingLanguageRI/Test.js:
1520         (tests.atomics):
1521
1522 2018-09-22  Thibault Saunier  <tsaunier@igalia.com>
1523
1524         [WPE] Be very permissive in the MiniBrowser.
1525         https://bugs.webkit.org/show_bug.cgi?id=189800
1526
1527         This is just a test tool and we should make
1528         it just work, security and privacy is not really
1529         a primary focus here.
1530
1531         Reviewed by Žan Doberšek.
1532
1533         * MiniBrowser/wpe/main.cpp:
1534         (decidePermissionRequest):
1535         (main):
1536
1537 2018-09-21  Thomas Denney  <tdenney@apple.com>
1538
1539         [WHLSL] Local variables should be statically allocated
1540         https://bugs.webkit.org/show_bug.cgi?id=188402
1541
1542         Reviewed by Myles C. Maxfield.
1543
1544         An additional preparation stage is now performed so that all local
1545         variables and function parameters are allocated in a single struct at
1546         entry points. A pointer to this struct is then passed for function
1547         calls.
1548
1549         * WebGPUShadingLanguageRI/All.js: Update dependencies.
1550         * WebGPUShadingLanguageRI/AllocateAtEntryPoints.js: Added new stage.
1551         * WebGPUShadingLanguageRI/CallExpression.js:
1552         (CallExpression.prototype.set argumentList): Add setter because
1553         allocateAtEntryPoints needs to change this.
1554         * WebGPUShadingLanguageRI/EBufferBuilder.js: Remove a redundant
1555         constructor that wasn't used anywhere.
1556         * WebGPUShadingLanguageRI/Func.js:
1557         (Func.prototype.set parameters): Add setter.
1558         * WebGPUShadingLanguageRI/FuncDef.js:
1559         (FuncDef.prototype.set body): Ditto.
1560         * WebGPUShadingLanguageRI/Prepare.js:
1561         (let.prepare): Add call to allocateAtEntryPoints. This call cannot
1562         happen any earlier because it depends on having types for call
1563         arguments.
1564         * WebGPUShadingLanguageRI/Rewriter.js:
1565         (Rewriter.prototype.visitReturn): Resolve issue where the return
1566         statement's function wasn't copied. A null check is required as the
1567         Rewriter might be used before this property is set.
1568         * WebGPUShadingLanguageRI/SPIRV.html: Update dependencies.
1569         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: Abstracted logic
1570         into a separate function so that allocateAtEntryPoints can create the
1571         accessors for the struct type it introduces.
1572         * WebGPUShadingLanguageRI/Test.html: Update dependencies.
1573         * WebGPUShadingLanguageRI/Test.js: Add new tests to verify the static
1574         allocation transform works safely.
1575         * WebGPUShadingLanguageRI/index.html: Update dependencies.
1576
1577 2018-09-21  Jonathan Bedard  <jbedard@apple.com>
1578
1579         Bring up queues for iOS 12 (Build fix)
1580         https://bugs.webkit.org/show_bug.cgi?id=189683
1581
1582         Unreviewed build fix.
1583
1584         We should not build ImageDiff as x86 by default since 32 bit projects are
1585         deprecated in Xcode. ImageDiff should only be built once.
1586
1587         * Scripts/build-webkit:
1588         * Scripts/webkitdirs.pm:
1589         (argumentsForConfiguration):
1590
1591 2018-09-21  Adrian Perez de Castro  <aperez@igalia.com>
1592
1593         [WPE] Built RPM of WPE webkit fails to install with "nothing provides libWPEToolingBackends.so()"
1594         https://bugs.webkit.org/show_bug.cgi?id=189797
1595
1596         Reviewed by Žan Doberšek.
1597
1598         * wpe/backends/CMakeLists.txt: Make libWPEToolingBackends a static library to avoid
1599         the need for installing it. This works fine because the library only contains utility
1600         code intended to be reused from other various components (MiniBrowser, WebKitTestRunner).
1601
1602 2018-09-20  Daniel Bates  <dabates@apple.com>
1603
1604         Move IOKitSPI.h from TestRunnerShared to PAL
1605         https://bugs.webkit.org/show_bug.cgi?id=189804
1606
1607         Reviewed by Wenson Hsieh.
1608
1609         Towards fixing <https://bugs.webkit.org/show_bug.cgi?id=189604> move the IOKit SPI forward
1610         declarations to PAL so that they can be shared by WebKit, DumpRenderTree and WebKitTestRunner.
1611
1612         No functionality changed. So, no new tests.
1613
1614         * TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm:
1615         * TestRunnerShared/spi/UIKitTestSPI.h:
1616         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
1617         * WebKitTestRunner/ios/HIDEventGenerator.mm:
1618
1619 2018-09-20  Thomas Denney  <tdenney@apple.com>
1620
1621         [WHLSL] Metal code generation
1622         https://bugs.webkit.org/show_bug.cgi?id=187735
1623
1624         Reviewed by Myles C. Maxfield.
1625
1626         Adds support for generating Metal Shading Language from WHLSL. Clients
1627         should include the file MetalCodegenAll.js and then call whlslToMsl
1628         with their program source code to compile to Metal.
1629
1630         * WebGPUShadingLanguageRI/ArrayType.js:
1631         (ArrayType.prototype.get arrayRefType): Adds the arrayRefType method to
1632         all types to find the type of that expression when it is used in a
1633         MakeArrayRefExpression.
1634         * WebGPUShadingLanguageRI/MakeArrayRefExpression.js:
1635         (MakeArrayRefExpression):
1636         (MakeArrayRefExpression.prototype.get type): Uses the new arrayRefType
1637         getter on all types to find the type of the expression.
1638         * WebGPUShadingLanguageRI/Metal/MSLBackend.js: Added.
1639         * WebGPUShadingLanguageRI/Metal/MSLCodegenAll.js: Added.
1640         * WebGPUShadingLanguageRI/Metal/MSLCompileResult.js: Added.
1641         * WebGPUShadingLanguageRI/Metal/MSLConstexprEmitter.js: Added.
1642         * WebGPUShadingLanguageRI/Metal/MSLFunctionDeclaration.js: Added.
1643         * WebGPUShadingLanguageRI/Metal/MSLFunctionDefinition.js: Added.
1644         * WebGPUShadingLanguageRI/Metal/MSLFunctionForwardDeclaration.js: Added.
1645         * WebGPUShadingLanguageRI/Metal/MSLNameMangler.js: Added.
1646         * WebGPUShadingLanguageRI/Metal/MSLNativeFunctionCall.js: Added.
1647         * WebGPUShadingLanguageRI/Metal/MSLStatementEmitter.js: Added.
1648         * WebGPUShadingLanguageRI/Metal/MSLTypeAttributes.js: Added.
1649         * WebGPUShadingLanguageRI/Metal/MSLTypeAttributesMap.js: Added.
1650         * WebGPUShadingLanguageRI/Metal/MSLTypeUnifier.js: Added.
1651         * WebGPUShadingLanguageRI/Metal/TypeOf.js: Added.
1652         * WebGPUShadingLanguageRI/Metal/WhlslToMsl.js: Added.
1653         * WebGPUShadingLanguageRI/PropertyResolver.js:
1654         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:
1655         * WebGPUShadingLanguageRI/Test.js: Added awkward tests for the compiler
1656         to generate code for.
1657         (tests.incrementAndDecrement):
1658         (tests.returnIntLiteralUint):
1659         (tests.returnIntLiteralFloat):
1660         (tests.nestedSubscriptWithArraysInStructs):
1661         (tests.nestedSubscript):
1662         (tests.lotsOfLocalVariables):
1663         * WebGPUShadingLanguageRI/Type.js:
1664         (Type.prototype.get arrayRefType): See above.
1665
1666 2018-09-20  Ryan Haddad  <ryanhaddad@apple.com>
1667
1668         Bring up queues for iOS 12
1669         https://bugs.webkit.org/show_bug.cgi?id=189683
1670
1671         Unreviewed infrastructure fix.
1672
1673         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12@2x.png: Renamed from Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/iOS12@2x.png.
1674         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
1675         (BubbleQueueServer): Move EWS bubbles to the iOS 12 section of the dashboard.
1676
1677 2018-09-20  Ryan Haddad  <ryanhaddad@apple.com>
1678
1679         Bring up queues for iOS 12
1680         https://bugs.webkit.org/show_bug.cgi?id=189683
1681
1682         Reviewed by Aakash Jain.
1683
1684         * BuildSlaveSupport/build.webkit.org-config/config.json:
1685         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12.png: Added.
1686         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12Simulator.png: Added.
1687         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12Simulator@2x.png: Added.
1688         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/iOS12@2x.png: Added.
1689         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
1690         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
1691         (WebKitBuildbot):
1692         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
1693         (table.queue-grid tr.platform.ios-simulator-12 img.logo):
1694         (table.queue-grid tr.platform.ios-12 img.logo):
1695         (table.queue-grid tr.platform.ios-simulator-11 img.logo): Deleted.
1696         (table.queue-grid tr.platform.ios-11 img.logo): Deleted.
1697         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
1698         * BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
1699         (_should_file_trigger_build):
1700         * BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
1701         (ShouldBuildTest):
1702         (ShouldBuildTest.test_should_build):
1703
1704 2018-09-20  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1705
1706         [Win] TestRunner::queueLoad() fails to generate correct url for some urls.
1707         https://bugs.webkit.org/show_bug.cgi?id=189679
1708
1709         Reviewed by Fujii Hironori.
1710
1711         Replace the implementation with correct API call.
1712
1713         * DumpRenderTree/win/TestRunnerWin.cpp:
1714         (TestRunner::queueLoad): Call UrlCombineW.
1715
1716 2018-09-20  Michael Catanzaro  <mcatanzaro@igalia.com>
1717
1718         [WPE] fails to build on ARM arches complaining about undefined reference to `epoxy_eglMakeCurrent'
1719         https://bugs.webkit.org/show_bug.cgi?id=189556
1720
1721         Reviewed by Konstantin Tokarev.
1722
1723         This is only a speculative build fix as I didn't attempt to reproduce. Explicitly link to
1724         libepoxy.
1725
1726         * wpe/backends/CMakeLists.txt:
1727
1728 2018-09-20  Daniel Bates  <dabates@apple.com>
1729
1730         [iOS] Support testing more hardware special keys
1731         https://bugs.webkit.org/show_bug.cgi?id=189793
1732
1733         Reviewed by Simon Fraser.
1734
1735         * TestRunnerShared/spi/IOKitSPI.h: Add more SPI constants.
1736         * WebKitTestRunner/ios/HIDEventGenerator.mm:
1737         (keyCodeForDOMFunctionKey): Extracted out logic from hidUsageCodeForCharacter() to return the
1738         key code for the F1, F2, ..., F12 keys and extended the code to compute the key code for the
1739         F13, F14, ..., F24 keys.
1740         (hidUsageCodeForCharacter): Modified to call keyCodeForDOMFunctionKey().
1741
1742 2018-09-20  Michael Catanzaro  <mcatanzaro@igalia.com>
1743
1744         Unreviewed, remove accidentally-committed debugging changes from flatpakutils script
1745
1746         Aaaaaah maybe this is why changes are supposed to be reviewed.
1747
1748         * flatpak/flatpakutils.py:
1749         (WebkitFlatpak.clean_args):
1750
1751 2018-09-20  Michael Catanzaro  <mcatanzaro@igalia.com>
1752
1753         Unreviewed, manually rollout our switch to master runtime
1754
1755         Phil wants html5-codecs, which aren't available yet here. Let's switch back to 3.28 in the
1756         meantime, where we were already building GStreamer ourselves anyway. But use an updated
1757         SDK revision.
1758
1759         * flatpak/files/httpd-autogen.sh: Added.
1760         * flatpak/flatpakutils.py:
1761         (WebkitFlatpak.clean_args):
1762         * flatpak/org.webkit.GTK.yaml:
1763         * flatpak/org.webkit.WebKit.yaml:
1764         * flatpak/patches/httpd-0001-configure-use-pkg-config-for-PCRE-detection.patch: Added.
1765         * flatpak/patches/libgcrypt-0001-Use-pkg-config-to-detect-gpg-error.patch: Added.
1766
1767 2018-09-20  Thibault Saunier  <tsaunier@igalia.com>
1768
1769         [WPE][GTK] webkit-flatpak intercepts --help for other commands
1770         https://bugs.webkit.org/show_bug.cgi?id=189058
1771
1772         The approach of run_in_sandbox_if_available is that we basically have the
1773         same set of arguments to setup the sandbox (ie. port name, build type, etc...)
1774         and we can pass those args first to setup the flatpak launcher object
1775         and then to the underlying script. That doesn't work well with the `--help` argument
1776         as once processed it 1. prints the help (which make no sense to the user of the calling script)
1777         2. exits the app - The solution is to just make sure that `--help` is not used when using
1778         flatpakutils from any script that is not `webkit-flatpak` itself.
1779
1780         Reviewed by Michael Catanzaro.
1781
1782         * flatpak/flatpakutils.py:
1783         (WebkitFlatpak.load_from_args):
1784         (run_in_sandbox_if_available):
1785
1786 2018-09-20  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1787
1788         Unreviewed. Add W3C imported tests to the MSEEME watchlist.
1789
1790         * Scripts/webkitpy/common/config/watchlist:
1791
1792 2018-09-20  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1793
1794         Unreviewed. Fix the Streams API watchlist.
1795
1796         * Scripts/webkitpy/common/config/watchlist:
1797
1798 2018-09-19  Chris Dumez  <cdumez@apple.com>
1799
1800         Crash under WebProcessProxy::suspendedPageWasDestroyed(WebKit::SuspendedPageProxy&)
1801         https://bugs.webkit.org/show_bug.cgi?id=189721
1802         <rdar://problem/44359788>
1803
1804         Reviewed by Geoffrey Garen.
1805
1806         Add API test coverage.
1807
1808         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1809
1810 2018-09-19  Thomas Denney  <tdenney@apple.com>
1811
1812         [WHLSL] Improve test suite type safety
1813         https://bugs.webkit.org/show_bug.cgi?id=189502
1814
1815         Reviewed by Myles C. Maxfield.
1816
1817         Each of the 'makeT' functions now call the relevant cast function on the
1818         value before hand. The checkNumber function has also been removed and
1819         its uses have been replaced with functions that also check the type.
1820         Some of the arithmetic checks have been updated to reflect that the
1821         casts happen outside of WHLSL evaluation. Other tests have also been
1822         updated to reflect that some values cannot be precisely expressed in
1823         32-bit floating point.
1824
1825         * WebGPUShadingLanguageRI/Casts.js:
1826         (castToBool): Added.
1827         (castAndCheckValue): Added.
1828         (isBitwiseEquivalent): Moved from Intrinsics.js.
1829         * WebGPUShadingLanguageRI/Intrinsics.js: Ditto.
1830         * WebGPUShadingLanguageRI/SPIRV.html: Update depdencies.
1831         * WebGPUShadingLanguageRI/Test.html: Ditto.
1832         * WebGPUShadingLanguageRI/Test.js: Update makeT functions to do a cast
1833         and check the result. Some tests were also updated to reflect the change
1834         in the behavior of these functions.
1835         * WebGPUShadingLanguageRI/index.html: Update dependencies.
1836
1837 2018-09-19  John Wilander  <wilander@apple.com>
1838
1839         Resource Load Statistics: Add optional cap on partitioned cache max age
1840         https://bugs.webkit.org/show_bug.cgi?id=189711
1841         <rdar://problem/39246837>
1842
1843         Reviewed by Antti Koivisto and Chris Dumez.
1844
1845         This change adds infrastructure for layout tests of capped cache max age.
1846
1847         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1848         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1849         (WTR::TestRunner::setStatisticsCacheMaxAgeCap):
1850         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1851         * WebKitTestRunner/TestController.cpp:
1852         (WTR::TestController::setStatisticsCacheMaxAgeCap):
1853         * WebKitTestRunner/TestController.h:
1854         * WebKitTestRunner/TestInvocation.cpp:
1855         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1856
1857 2018-09-19  Dawei Fenton  <realdawei@apple.com>
1858
1859        Unreviewed. Update my email and alias in list of contributors.
1860
1861         * Scripts/webkitpy/common/config/contributors.json:
1862
1863 2018-09-19  Michael Catanzaro  <mcatanzaro@igalia.com>
1864
1865         [WPE][GTK] Unreviewed, try #3 to fix a typo
1866
1867         I feel like Charlie Brown, how hard this has been for me....
1868
1869         * Scripts/run-minibrowser:
1870         * Scripts/webkitdirs.pm:
1871         (runInFlatpakIfAvailable):
1872         (runInFlatpakIfAvailible): Deleted.
1873
1874 2018-09-19  Michael Catanzaro  <mcatanzaro@igalia.com>
1875
1876         [WPE][GTK] Unreviewed, fix that typo in more places
1877
1878         It got copied into webkitdirs.pm!
1879
1880         * Scripts/webkitdirs.pm:
1881         (runInFlatpakIfAvailible):
1882         (runInFlatpakIfAvalaible): Deleted.
1883
1884 2018-09-19  Michael Catanzaro  <mcatanzaro@igalia.com>
1885
1886         [WPE][GTK] Unreviewed, fix a pervasive typo in the webkit-flatpak script
1887
1888         * flatpak/flatpakutils.py:
1889         (WebkitFlatpak.load_from_args):
1890         (WebkitFlatpak.__init__):
1891         (WebkitFlatpak.run):
1892
1893 2018-09-19  Michael Catanzaro  <mcatanzaro@igalia.com>
1894
1895         [WPE][GTK] Unreviewed, update to latest GNOME SDK
1896
1897         * flatpak/org.webkit.WebKit.yaml:
1898
1899 2018-09-19  Michael Catanzaro  <mcatanzaro@igalia.com>
1900
1901         Unreviewed, rolling out r235500.
1902
1903         Time to switch back to master runtime
1904
1905         Reverted changeset:
1906
1907         "Unreviewed, rolling out r235114."
1908         https://bugs.webkit.org/show_bug.cgi?id=188731
1909         https://trac.webkit.org/changeset/235500
1910
1911 2018-09-19  Adrian Perez de Castro  <aperez@igalia.com>
1912
1913         Unreviewed. Add Pablo Saavedra to the list of contributors.
1914
1915         * Scripts/webkitpy/common/config/contributors.json:
1916
1917 2018-09-19  Philippe Normand  <pnormand@igalia.com>
1918
1919         [GStreamer] Add support for AV1 decoding
1920         https://bugs.webkit.org/show_bug.cgi?id=189647
1921
1922         Reviewed by Žan Doberšek.
1923
1924         Add patches required for AV1 decoding support. They're all
1925         upstream already and will be shipped in GStreamer 1.16. The aom
1926         GStreamer plugin depends on the aom library for which there's no
1927         official release yet.
1928
1929         * gstreamer/jhbuild.modules:
1930         * gstreamer/patches/gst-plugins-bad-0001-aomenc-Add-support-for-10-12bit-decoding.patch: Added.
1931         * gstreamer/patches/gst-plugins-bad-0002-aomenc-Handle-8-bit_depth-images-with-AOM_IMG_FMT_HI.patch: Added.
1932         * gstreamer/patches/gst-plugins-good-0001-qtdemux-Detect-and-expose-CEA-608-708-Closed-Caption.patch: Added. This one is unrelated but an implicit dependency of the next one.
1933         * gstreamer/patches/gst-plugins-good-0004-qtdemux-Add-initial-support-for-AV1-demuxing.patch: Added.
1934         * gstreamer/patches/gst-plugins-good-0005-qtdemux-Extract-AV1-codec_data-and-put-it-in-the-cap.patch: Added.
1935         * gstreamer/patches/gst-plugins-good-0006-qtdemux-Recognize-more-AV1-atoms.patch: Added.
1936
1937 2018-09-18  Jonathan Bedard  <jbedard@apple.com>
1938
1939         webkitpy: Clobbering and building occurs multiple times for iOS Simulator ports
1940         https://bugs.webkit.org/show_bug.cgi?id=189702
1941         <rdar://problem/44541704>
1942
1943         Reviewed by Aakash Jain.
1944
1945         * Scripts/webkitpy/layout_tests/controllers/manager.py:
1946         (Manager._set_up_run): Move build check and clobbering to run, since set up is
1947         run multiple times for iOS simulator.
1948         (Manager.run):
1949
1950 2018-09-18  Chris Dumez  <cdumez@apple.com>
1951
1952         "DidFirstVisuallyNonEmptyLayout" callback does not get called when restoring a page from PageCache
1953         https://bugs.webkit.org/show_bug.cgi?id=189681
1954         <rdar://problem/44526171>
1955
1956         Reviewed by Alex Christensen and Zalan Bujtas.
1957
1958         Add API test coverage.
1959
1960         * TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp:
1961         (TestWebKitAPI::didFinishNavigation):
1962         (TestWebKitAPI::TEST):
1963
1964 2018-09-18  Claudio Saavedra  <csaavedra@igalia.com>
1965
1966         [WPE] Implement mouse event modifiers
1967         https://bugs.webkit.org/show_bug.cgi?id=189697
1968
1969         Reviewed by Carlos Garcia Campos.
1970
1971         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
1972         (WTR::wkEventModifiersToWPE):
1973         (WTR::EventSenderProxy::mouseDown):
1974         (WTR::EventSenderProxy::mouseUp):
1975
1976 2018-09-17  Yusuke Suzuki  <utatane.tea@gmail.com>
1977
1978         [WTF] Use Semaphore and BinarySemaphore instead of dispatch_semaphore_t
1979         https://bugs.webkit.org/show_bug.cgi?id=185339
1980
1981         Reviewed by Mark Lam.
1982
1983         * TestWebKitAPI/Tests/WTF/SynchronizedFixedQueue.cpp:
1984         (TestWebKitAPI::ToUpperConverter::stopProducing):
1985         (TestWebKitAPI::ToUpperConverter::stopConsuming):
1986
1987 2018-09-17  Simon Fraser  <simon.fraser@apple.com>
1988
1989         Many modern media control tests leak documents in testing
1990         https://bugs.webkit.org/show_bug.cgi?id=189437
1991
1992         Reviewed by Darin Adler.
1993         
1994         In order to accurately detect leaks in media controls tests which use lots of
1995         SVGImages, we have to:
1996         - Fire a zero-delay timer after the postTask, in order for ImagesLoader's m_derefElementTimer
1997           to clear references to elements.
1998         - Have releaseCriticalMemory() call CachedResourceLoader's garbageCollectDocumentResources()
1999           to drop the last handle to the CachedResource for an SVGImage.
2000         - Call WKBundleReleaseMemory() after the GC and timer, since we need garbageCollectDocumentResources()
2001           to run again after that timer has fired.
2002         
2003         This should fix most of the spurious leak reports involving SVGImage documents.
2004
2005         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2006         (WTR::InjectedBundle::reportLiveDocuments):
2007         (WTR::InjectedBundle::didReceiveMessageToPage):
2008
2009 2018-09-17  Chris Dumez  <cdumez@apple.com>
2010
2011         PSON: window.open() with 'noopener' should only process-swap cross-site, not cross-origin
2012         https://bugs.webkit.org/show_bug.cgi?id=189602
2013         <rdar://problem/44430549>
2014
2015         Reviewed by Geoff Garen.
2016
2017         Add API test coverage.
2018
2019         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2020
2021 2018-09-17  Philippe Normand  <pnormand@igalia.com>
2022
2023         [JHBuild] Update to GStreamer 1.14.3
2024         https://bugs.webkit.org/show_bug.cgi?id=189450
2025
2026         Reviewed by Xabier Rodriguez-Calvar.
2027
2028         * gstreamer/jhbuild.modules: Bump GStreamer modules from 1.14.1 to 1.14.3.
2029
2030 2018-09-17  Philippe Normand  <pnormand@igalia.com>
2031
2032         [JHBuild] Doesn't check sha256 sums
2033         https://bugs.webkit.org/show_bug.cgi?id=189646
2034
2035         Reviewed by Michael Catanzaro.
2036
2037         * gstreamer/jhbuild.modules: Properly set the sha256: prefix on hashes.
2038
2039 2018-09-17  Sihui Liu  <sihui_liu@apple.com>
2040
2041         Move IndexedDB to Network Process
2042         https://bugs.webkit.org/show_bug.cgi?id=189415
2043         <rdar://problem/44396973>
2044
2045         Reviewed by Chris Dumez.
2046
2047         * TestWebKitAPI/Tests/WebKitCocoa/IDBDeleteRecovery.mm:
2048         (TEST):
2049         * TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm:
2050         (TEST):
2051         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBDatabaseProcessKill.mm:
2052         (TEST):
2053         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBMultiProcess.mm:
2054         (TEST):
2055         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
2056         (TEST):
2057
2058 2018-09-08  Darin Adler  <darin@apple.com>
2059
2060         Streamline JSRetainPtr, fix leaks of JSString and JSGlobalContext
2061         https://bugs.webkit.org/show_bug.cgi?id=189455
2062
2063         Reviewed by Keith Miller.
2064
2065         There is a lot of copied and pasted code for WebKit vs. Legacy WebKit
2066         testing and even for macOS vs. iOS vs. Windows platform-specific code.
2067         For now, this patch just makes corresponding changes to the copied code.
2068         Later we might get better results by merging more code instead of having
2069         all these separate copies.
2070
2071         * DumpRenderTree/AccessibilityController.cpp:
2072         (AccessibilityController::makeWindowObject): Use the adopt function
2073         instead of the special Adopt constructor of JSRetainPtr.
2074
2075         * DumpRenderTree/AccessibilityTextMarker.cpp: Removed unneeded include.
2076
2077         * DumpRenderTree/AccessibilityUIElement.cpp: Ditto.
2078         (allAttributesCallback): Don't adopt at this level; changed the
2079         underlying function to return a JSRetainPtr so the adopt is right next
2080         to the call to the create or copy function.
2081         (attributesOfLinkedUIElementsCallback): Ditto.
2082         (attributesOfDocumentLinksCallback): Ditto.
2083         (attributesOfChildrenCallback): Ditto.
2084         (parameterizedAttributeNamesCallback): Ditto.
2085         (attributesOfColumnHeadersCallback): Ditto.
2086         (attributesOfRowHeadersCallback): Ditto.
2087         (attributesOfColumnsCallback): Ditto.
2088         (attributesOfRowsCallback): Ditto.
2089         (attributesOfVisibleCellsCallback): Ditto.
2090         (attributesOfHeaderCallback): Ditto.
2091         (rowIndexRangeCallback): Ditto.
2092         (columnIndexRangeCallback): Ditto.
2093         (rangeForLineCallback): Ditto.
2094         (boundsForRangeCallback): Ditto.
2095         (rangeForPositionCallback): Ditto.
2096         (stringForRangeCallback): Ditto.
2097         (attributedStringForRangeCallback): Ditto.
2098         (uiElementCountForSearchPredicateCallback): Use the free adopt
2099         function instead of the adopt member function.
2100         (uiElementForSearchPredicateCallback): Ditto.
2101         (selectTextWithCriteriaCallback): Don't adopt at this level.
2102         (attributedStringForElementCallback): Ditto.
2103         (setValueCallback): Use free adopt.
2104         (stringAttributeValueCallback): Don't adopt at this level.
2105         (uiElementArrayAttributeValueCallback): Ditto.
2106         (uiElementAttributeValueCallback): Ditto.
2107         (stringForTextMarkerRangeCallback): Ditto.
2108         (attributedStringForTextMarkerRangeCallback): Ditto.
2109         (attributedStringForTextMarkerRangeWithOptionsCallback): Ditto.
2110         (getARIADropEffectsCallback): Ditto.
2111         (getClassListCallback): Ditto.
2112         (getRoleCallback): Ditto.
2113         (getSubroleCallback): Ditto.
2114         (getRoleDescriptionCallback): Ditto.
2115         (getComputedRoleStringCallback): Ditto.
2116         (getTitleCallback): Ditto.
2117         (getDescriptionCallback): Ditto.
2118         (getStringValueCallback): Ditto.
2119         (getLanguageCallback): Ditto.
2120         (getHelpTextCallback): Ditto.
2121         (getOrientationCallback): Ditto.
2122         (getPathDescriptionCallback): Ditto.
2123         (getSelectedTextRangeCallback): Ditto.
2124         (speakAsCallback): Ditto.
2125         (getValueDescriptionCallback): Ditto.
2126         (getAccessibilityValueCallback): Ditto.
2127         (getDocumentEncodingCallback): Ditto.
2128         (getDocumentURICallback): Ditto.
2129         (getURLCallback): Ditto.
2130         (characterAtOffsetCallback): Ditto.
2131         (wordAtOffsetCallback): Ditto.
2132         (lineAtOffsetCallback): Ditto.
2133         (sentenceAtOffsetCallback): Ditto.
2134         (stringForSelectionCallback): Ditto.
2135         (getIdentifierCallback): Ditto.
2136         (getTraitsCallback): Ditto.
2137         (supportedActionsCallback): Ditto.
2138         (mathPostscriptsDescriptionCallback): Ditto.
2139         (mathPrescriptsDescriptionCallback): Ditto.
2140         (AccessibilityUIElement::rangeForLine): Updated to return JSRetainPtr.
2141         (AccessibilityUIElement::rangeForPosition): Ditto.
2142         (AccessibilityUIElement::speakAs): Ditto.
2143         (AccessibilityUIElement::pathDescription const): Ditto.
2144         (AccessibilityUIElement::stringForTextMarkerRange): Ditto.
2145         (AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
2146         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
2147
2148         * DumpRenderTree/AccessibilityUIElement.h: Use JSRetainPtr instead of
2149         raw pointers for the results of the functions that create strings.
2150         The old way was difficult to get right; the functions didn't even follow
2151         the create/copy naming rule.
2152
2153         * DumpRenderTree/Bindings/CodeGeneratorDumpRenderTree.pm:
2154         (_platformTypeConstructor): Use the adopt function instead of the
2155         JSRetainPtr adopt constructor. Also nullptr instead of 0.
2156
2157         * DumpRenderTree/GCController.cpp:
2158         (GCController::makeWindowObject): Use adopt function instead of constructor.
2159
2160         * DumpRenderTree/TestRunner.cpp:
2161         (pathToLocalResourceCallback): Use adopt function instead of constructor.
2162         (addDisallowedURLCallback): Ditto.
2163         (addURLToRedirectCallback): Ditto.
2164         (clearApplicationCacheForOriginCallback): Ditto.
2165         (applicationCacheDiskUsageForOriginCallback): Ditto.
2166         (decodeHostNameCallback): Don't adopt at this level.
2167         (encodeHostNameCallback): Ditto.
2168         (execCommandCallback): Use adopt instead of JSRetainPtr::adopt.
2169         (findStringCallback): Use adopt function instead of constructor.
2170         (isCommandEnabledCallback): Ditto.
2171         (overridePreferenceCallback): Ditto.
2172         (queueLoadCallback): Ditto.
2173         (queueLoadHTMLStringCallback): Ditto.
2174         (queueLoadingScriptCallback): Ditto.
2175         (queueNonLoadingScriptCallback): Ditto.
2176         (setAuthenticationPasswordCallback): Ditto.
2177         (setAuthenticationUsernameCallback): Ditto.
2178         (setDomainRelaxationForbiddenForURLSchemeCallback): Ditto.
2179         (setMockGeolocationPositionUnavailableErrorCallback): Ditto.
2180         (setPOSIXLocaleCallback): Ditto.
2181         (setPersistentUserStyleSheetLocationCallback): Ditto.
2182         (setUserStyleSheetLocationCallback): Ditto.
2183         (setValueForUserCallback): Ditto.
2184         (setWillSendRequestClearHeaderCallback): Ditto.
2185         (setPageVisibilityCallback): Ditto.
2186         (evaluateInWebInspectorCallback): Ditto.
2187         (evaluateScriptInIsolatedWorldCallback): Ditto.
2188         (evaluateScriptInIsolatedWorldAndReturnValueCallback): Ditto.
2189         (addOriginAccessWhitelistEntryCallback): Ditto.
2190         (removeOriginAccessWhitelistEntryCallback): Ditto.
2191         (setScrollbarPolicyCallback): Ditto.
2192         (addUserScriptCallback): Ditto.
2193         (addUserStyleSheetCallback): Ditto.
2194         (apiTestNewWindowDataLoadBaseURLCallback): Ditto.
2195         (authenticateSessionCallback): Ditto.
2196         (getTitleTextDirectionCallback): Ditto.
2197         (getInspectorTestStubURLCallback): Ditto.
2198         (simulateLegacyWebNotificationClickCallback): Ditto.
2199         (setTextDirectionCallback): Ditto.
2200         (grantWebNotificationPermissionCallback): Ditto.
2201         (denyWebNotificationPermissionCallback): Ditto.
2202         (accummulateLogsForChannel): Ditto.
2203         (runUIScriptCallback): Ditto.
2204         (TestRunner::makeWindowObject): Ditto.
2205         (TestRunner::uiScriptDidComplete): Ditto.
2206         (TestRunner::setOpenPanelFiles): Ditto.
2207
2208         * DumpRenderTree/TestRunner.h: Use JSRetainPtr instead of
2209         raw pointers for the results of the functions that create strings.
2210
2211         * DumpRenderTree/ios/AccessibilityControllerIOS.mm:
2212         (AccessibilityController::platformName const): Use the adopt
2213         function instead of the adopt constructor.
2214
2215         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
2216         (createEmptyJSString): Added. This helper function makes reduces the
2217         repetitive code to create empty strings.
2218         (concatenateAttributeAndValue): Changed to return a JSRetainPtr.
2219         (AccessibilityUIElement::identifier): Ditto.
2220         (AccessibilityUIElement::traits): Ditto.
2221         (AccessibilityUIElement::url): Ditto.
2222         (AccessibilityUIElement::speakAs): Ditto.
2223         (AccessibilityUIElement::stringForSelection): Ditto.
2224         (AccessibilityUIElement::stringForRange): Ditto.
2225         (AccessibilityUIElement::attributedStringForRange): Ditto.
2226         (AccessibilityUIElement::attributedStringForElement): Ditto.
2227         (AccessibilityUIElement::pathDescription const): Ditto.
2228         (AccessibilityUIElement::stringForTextMarkerRange): Ditto.
2229         (AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
2230         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
2231         (AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
2232         (AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
2233         (AccessibilityUIElement::attributesOfChildren): Ditto.
2234         (AccessibilityUIElement::allAttributes): Ditto.
2235         (AccessibilityUIElement::stringAttributeValue): Ditto.
2236         (AccessibilityUIElement::parameterizedAttributeNames): Ditto.
2237         (AccessibilityUIElement::role): Ditto.
2238         (AccessibilityUIElement::subrole): Ditto.
2239         (AccessibilityUIElement::roleDescription): Ditto.
2240         (AccessibilityUIElement::computedRoleString): Ditto.
2241         (AccessibilityUIElement::title): Ditto.
2242         (AccessibilityUIElement::description): Ditto.
2243         (AccessibilityUIElement::orientation const): Ditto.
2244         (AccessibilityUIElement::stringValue): Ditto.
2245         (AccessibilityUIElement::language): Ditto.
2246         (AccessibilityUIElement::helpText const): Ditto.
2247         (AccessibilityUIElement::valueDescription): Ditto.
2248         (AccessibilityUIElement::ariaDropEffects const): Ditto.
2249         (AccessibilityUIElement::boundsForRange): Ditto.
2250         (AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
2251         (AccessibilityUIElement::attributesOfRowHeaders): Ditto.
2252         (AccessibilityUIElement::attributesOfColumns): Ditto.
2253         (AccessibilityUIElement::attributesOfRows): Ditto.
2254         (AccessibilityUIElement::attributesOfVisibleCells): Ditto.
2255         (AccessibilityUIElement::attributesOfHeader): Ditto.
2256         (AccessibilityUIElement::rowIndexRange): Ditto.
2257         (AccessibilityUIElement::columnIndexRange): Ditto.
2258         (AccessibilityUIElement::selectedTextRange): Ditto.
2259         (AccessibilityUIElement::accessibilityValue const): Ditto.
2260         (AccessibilityUIElement::documentEncoding): Ditto.
2261         (AccessibilityUIElement::documentURI): Ditto.
2262         (AccessibilityUIElement::selectTextWithCriteria): Ditto.
2263         (AccessibilityUIElement::classList const): Ditto.
2264
2265         * DumpRenderTree/mac/AccessibilityCommonMac.h: Changed the
2266         createJSStringRef method to return a JSRetainPtr.
2267         * DumpRenderTree/mac/AccessibilityCommonMac.mm:
2268         (-[NSString createJSStringRef]): Ditto.
2269         (searchPredicateParameterizedAttributeForSearchCriteria): Use the
2270         adopt function instead of the adopt constructor.
2271         * DumpRenderTree/mac/AccessibilityControllerMac.mm:
2272         (AccessibilityController::platformName const): Ditto.
2273
2274         * DumpRenderTree/mac/AccessibilityNotificationHandler.mm:
2275         (-[NSString createJSStringRef]): Return a JSRetainPtr.
2276         (makeValueRefForValue): Updated for the above, no adopt needed here now.
2277         (makeObjectRefForDictionary): Ditto.
2278         (-[AccessibilityNotificationHandler _notificationReceived:]): Ditto.
2279
2280         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
2281         (createEmptyJSString): Added. This helper function makes reduces the
2282         repetitive code to create empty strings.
2283         (concatenateAttributeAndValue): Changed to return a JSRetainPtr.
2284         (descriptionOfElements): Ditto.
2285         (selectTextParameterizedAttributeForCriteria): Ditto.
2286         (AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
2287         (AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
2288         (AccessibilityUIElement::attributesOfChildren): Ditto.
2289         (AccessibilityUIElement::allAttributes): Ditto.
2290         (AccessibilityUIElement::stringAttributeValue): Ditto.
2291         (AccessibilityUIElement::parameterizedAttributeNames): Ditto.
2292         (AccessibilityUIElement::role): Ditto.
2293         (AccessibilityUIElement::subrole): Ditto.
2294         (AccessibilityUIElement::roleDescription): Ditto.
2295         (AccessibilityUIElement::computedRoleString): Ditto.
2296         (AccessibilityUIElement::title): Ditto.
2297         (AccessibilityUIElement::description): Ditto.
2298         (AccessibilityUIElement::orientation const): Ditto.
2299         (AccessibilityUIElement::stringValue): Ditto.
2300         (AccessibilityUIElement::language): Ditto.
2301         (AccessibilityUIElement::helpText const): Ditto.
2302         (AccessibilityUIElement::valueDescription): Ditto.
2303         (AccessibilityUIElement::speakAs): Ditto.
2304         (AccessibilityUIElement::classList const): Ditto.
2305         (AccessibilityUIElement::ariaDropEffects const): Ditto.
2306         (AccessibilityUIElement::rangeForLine): Ditto.
2307         (AccessibilityUIElement::rangeForPosition): Ditto.
2308         (AccessibilityUIElement::boundsForRange): Ditto.
2309         (AccessibilityUIElement::stringForRange): Ditto.
2310         (AccessibilityUIElement::attributedStringForRange): Ditto.
2311         (AccessibilityUIElement::selectTextWithCriteria): Ditto.
2312         (AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
2313         (AccessibilityUIElement::attributesOfRowHeaders): Ditto.
2314         (AccessibilityUIElement::attributesOfColumns): Ditto.
2315         (AccessibilityUIElement::attributesOfRows): Ditto.
2316         (AccessibilityUIElement::attributesOfVisibleCells): Ditto.
2317         (AccessibilityUIElement::attributesOfHeader): Ditto.
2318         (AccessibilityUIElement::rowIndexRange): Ditto.
2319         (AccessibilityUIElement::columnIndexRange): Ditto.
2320         (AccessibilityUIElement::pathDescription const): Ditto.
2321         (AccessibilityUIElement::selectedTextRange): Ditto.
2322         (AccessibilityUIElement::accessibilityValue const): Ditto.
2323         (AccessibilityUIElement::documentEncoding): Ditto.
2324         (AccessibilityUIElement::documentURI): Ditto.
2325         (AccessibilityUIElement::url): Ditto.
2326         (AccessibilityUIElement::stringForTextMarkerRange): Ditto.
2327         (createJSStringRef): Ditto.
2328         (AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
2329         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
2330         (AccessibilityUIElement::supportedActions): Ditto.
2331         (AccessibilityUIElement::mathPostscriptsDescription const): Ditto.
2332         (AccessibilityUIElement::mathPrescriptsDescription const): Ditto.
2333
2334         * DumpRenderTree/mac/FrameLoadDelegate.mm:
2335         (-[FrameLoadDelegate didClearWindowObjectForFrame:inIsolatedWorld:]):
2336         Use the adopt function instead of the adopt constructor.
2337         * DumpRenderTree/mac/TestRunnerMac.mm:
2338         (originsArrayToJS): Ditto.
2339         (TestRunner::copyDecodedHostName): Return a JSRetainPtr.
2340         (TestRunner::copyEncodedHostName): Ditto.
2341         (TestRunner::pathToLocalResource): Ditto.
2342         (TestRunner::queueLoad): Use adopt function instead of constructor.
2343         (TestRunner::findString): Ditto.
2344         (TestRunner::inspectorTestStubURL): Return a JSRetainPtr.
2345
2346         * DumpRenderTree/win/AccessibilityControllerWin.cpp:
2347         (AccessibilityController::winNotificationReceived): Use adopt function
2348         instead of adopt constructor.
2349         (AccessibilityController::platformName const): Ditto.
2350
2351         * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
2352         (createEmptyJSString): Added. This helper function makes reduces the
2353         repetitive code to create empty strings.
2354         (AccessibilityUIElement::allAttributes): Changed to return a JSRetainPtr.
2355         (AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
2356         (AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
2357         (AccessibilityUIElement::attributesOfChildren): Ditto.
2358         (AccessibilityUIElement::parameterizedAttributeNames): Ditto.
2359         (AccessibilityUIElement::role): Ditto.
2360         (AccessibilityUIElement::subrole): Ditto.
2361         (AccessibilityUIElement::roleDescription): Ditto.
2362         (AccessibilityUIElement::computedRoleString): Ditto.
2363         (AccessibilityUIElement::title): Ditto.
2364         (AccessibilityUIElement::description): Ditto.
2365         (AccessibilityUIElement::stringValue): Ditto.
2366         (AccessibilityUIElement::language): Ditto.
2367         (AccessibilityUIElement::helpText const): Ditto.
2368         (AccessibilityUIElement::valueDescription): Ditto.
2369         (AccessibilityUIElement::ariaDropEffects const): Ditto.
2370         (AccessibilityUIElement::orientation const): Ditto.
2371         (AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
2372         (AccessibilityUIElement::attributesOfRowHeaders): Ditto.
2373         (AccessibilityUIElement::attributesOfColumns): Ditto.
2374         (AccessibilityUIElement::attributesOfRows): Ditto.
2375         (AccessibilityUIElement::attributesOfVisibleCells): Ditto.
2376         (AccessibilityUIElement::attributesOfHeader): Ditto.
2377         (AccessibilityUIElement::rowIndexRange): Ditto.
2378         (AccessibilityUIElement::columnIndexRange): Ditto.
2379         (AccessibilityUIElement::boundsForRange): Ditto.
2380         (AccessibilityUIElement::stringForRange): Ditto.
2381         (AccessibilityUIElement::attributedStringForRange): Ditto.
2382         (AccessibilityUIElement::selectTextWithCriteria): Ditto.
2383         (AccessibilityUIElement::selectedTextRange): Ditto.
2384         (AccessibilityUIElement::stringAttributeValue): Ditto.
2385         (AccessibilityUIElement::accessibilityValue const): Ditto.
2386         (AccessibilityUIElement::documentEncoding): Ditto.
2387         (AccessibilityUIElement::documentURI): Ditto.
2388         (AccessibilityUIElement::url): Ditto.
2389         (AccessibilityUIElement::classList const): Ditto.
2390
2391         * DumpRenderTree/win/TestRunnerWin.cpp:
2392         (TestRunner::copyDecodedHostName): Changed to return a JSRetainPtr.
2393         (TestRunner::copyEncodedHostName): Ditto.
2394         (TestRunner::pathToLocalResource): Ditto.
2395         (TestRunner::queueLoad): Ditto.
2396         (TestRunner::findString): Ditto.
2397         (TestRunner::inspectorTestStubURL): Ditto.
2398
2399         * TestRunnerShared/Bindings/JSWrapper.h:
2400         (WTR::setProperty): Use adopt function instead of constructor.
2401         * TestRunnerShared/UIScriptContext/UIScriptContext.cpp:
2402         (UIScriptContext::UIScriptContext): Ditto.
2403         (UIScriptContext::runUIScript): Ditto.
2404         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
2405         (WTR::toDeviceOrientation): Ditto.
2406
2407         * TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
2408         (nsTextCheckingType): Changed this function to not take an rvalue
2409         reference to a JSRetainPtr since it doesn't take ownership.
2410         (-[LayoutTestSpellChecker setResultsFromJSObject:inContext:]): Updated
2411         for the above change.
2412
2413         * TestWebKitAPI/JavaScriptTest.cpp:
2414         (TestWebKitAPI::javaScriptCallback): Use adopt function instead of
2415         adopt member function.
2416
2417         * TestWebKitAPI/Tests/WebKit/WKPageIsPlayingAudio.cpp: Removed unneeded include.
2418         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm: Ditto.
2419         * TestWebKitAPI/Tests/mac/DOMNodeFromJSObject.mm: Use adopt function instead of
2420         adopt constructor.
2421         * TestWebKitAPI/Tests/mac/JSWrapperForNodeInWebFrame.mm: Ditto.
2422
2423         * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
2424         Removed unneeded includes.
2425         * WebKitTestRunner/InjectedBundle/AccessibilityTextMarker.cpp: Ditto.
2426         * WebKitTestRunner/InjectedBundle/AccessibilityTextMarkerRange.cpp: Ditto.
2427         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp: Ditto.
2428
2429         * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:
2430         (_platformTypeConstructor): Use the adopt function instead of the
2431         JSRetainPtr adopt constructor. Also nullptr instead of 0.
2432
2433         * WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
2434         (WTR::arrayLength): Use adopt function instead of constructor.
2435         (WTR::parseModifierArray): Ditto.
2436         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
2437         (WTR::propertyValue): Ditto.
2438         (WTR::dumpPath): Ditto.
2439         (WTR::toJS): Ditto.
2440         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2441         (WTR::TestRunner::findString): Ditto.
2442         (WTR::TestRunner::statisticsDidRunTelemetryCallback): Ditto.
2443         (WTR::TestRunner::callDidReceiveAllStorageAccessEntriesCallback): Ditto.
2444         (WTR::TestRunner::setOpenPanelFiles): Ditto.
2445         * WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm:
2446         (WTR::AccessibilityController::platformName): Ditto.
2447
2448         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
2449         (-[NSString createJSStringRef]): Return a JSRetainPtr.
2450         This fixes storage leaks in many functions below, which were using
2451         the create function and putting the value right into a JSRetainPtr
2452         without adoption.
2453         (WTR::createEmptyJSString): Added. This helper function reduces the
2454         repetitive code to create empty strings.
2455         (WTR::concatenateAttributeAndValue): Return a JSRetainPtr.
2456         (WTR::AccessibilityUIElement::attributesOfLinkedUIElements):
2457         Use createEmptyJSString, fixing a storage leak due to missing adoption.
2458         (WTR::AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
2459         (WTR::AccessibilityUIElement::attributesOfChildren): Ditto.
2460         (WTR::AccessibilityUIElement::allAttributes): Ditto.
2461         (WTR::AccessibilityUIElement::stringAttributeValue): Ditto.
2462         (WTR::AccessibilityUIElement::parameterizedAttributeNames): Ditto.
2463         (WTR::AccessibilityUIElement::role): Ditto.
2464         (WTR::AccessibilityUIElement::subrole): Ditto.
2465         (WTR::AccessibilityUIElement::roleDescription): Ditto.
2466         (WTR::AccessibilityUIElement::computedRoleString): Ditto.
2467         (WTR::AccessibilityUIElement::title): Ditto.
2468         (WTR::AccessibilityUIElement::orientation const): Ditto.
2469         (WTR::AccessibilityUIElement::language): Ditto.
2470         (WTR::AccessibilityUIElement::valueDescription): Ditto.
2471         (WTR::AccessibilityUIElement::ariaDropEffects const): Ditto.
2472         (WTR::AccessibilityUIElement::boundsForRange): Ditto.
2473         (WTR::AccessibilityUIElement::stringForRange): Removed unneeded null check.
2474         (WTR::AccessibilityUIElement::attributedStringForRange): Ditto.
2475         (WTR::AccessibilityUIElement::attributesOfColumnHeaders):
2476         Use createEmptyJSString, fixing a storage leak due to missing adoption.
2477         (WTR::AccessibilityUIElement::attributesOfRowHeaders): Ditto.
2478         (WTR::AccessibilityUIElement::attributesOfColumns): Ditto.
2479         (WTR::AccessibilityUIElement::attributesOfRows): Ditto.
2480         (WTR::AccessibilityUIElement::attributesOfVisibleCells): Ditto.
2481         (WTR::AccessibilityUIElement::attributesOfHeader): Ditto.
2482         (WTR::AccessibilityUIElement::selectedTextRange): Ditto.
2483         (WTR::AccessibilityUIElement::accessibilityValue const): Ditto.
2484         (WTR::AccessibilityUIElement::documentEncoding): Ditto.
2485         (WTR::AccessibilityUIElement::documentURI): Ditto.
2486         (WTR::AccessibilityUIElement::stringForSelection): Removed unneeded
2487         null check.
2488         (WTR::AccessibilityUIElement::stringForTextMarkerRange):
2489         Use createEmptyJSString, fixing a storage leak due to missing adoption.
2490
2491         * WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.h:
2492         Use JSRetainPtr for the return value of createJSStringRef.
2493         * WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm:
2494         (-[NSString createJSStringRef]): Ditto.
2495         (WTR::searchPredicateParameterizedAttributeForSearchCriteria): Use the
2496         adopt function instead of the adopt constructor.
2497         * WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
2498         (WTR::AccessibilityController::platformName): Ditto
2499
2500         * WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
2501         (-[NSString createJSStringRef]): Return a JSRetainPtr.
2502         (makeValueRefForValue): Updated for above by removing adopt.
2503         (makeObjectRefForDictionary): Ditto.
2504         (-[AccessibilityNotificationHandler _notificationReceived:]): Ditto.
2505
2506         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
2507         (WTR::createEmptyJSString): Added. This helper function makes reduces the
2508         repetitive code to create empty strings.
2509         (WTR::concatenateAttributeAndValue): Return a JSRetainPtr.
2510         (WTR::descriptionOfElements): Ditto.
2511         (WTR::selectTextParameterizedAttributeForCriteria): Ditto.
2512         (WTR::AccessibilityUIElement::accessibilityValue const): Use createEmptyJSString,
2513         fixing a storage leak due to missing adoption.
2514         (WTR::AccessibilityUIElement::documentEncoding): Ditto.
2515         (WTR::AccessibilityUIElement::documentURI): Ditto.
2516         (WTR::createJSStringRef): Return a JSRetainPtr.
2517
2518         * WebKitTestRunner/StringFunctions.h:
2519         (WTR::toWK): Take a const& to eliminate a little bit of reference count churn.
2520         (WTR::toJS): Use the adopt function instead of the constructor.
2521
2522 2018-09-14  Dean Jackson  <dino@grorg.org>
2523
2524         Add Justin Michaud.
2525
2526         * Scripts/webkitpy/common/config/contributors.json:
2527
2528 2018-09-14  Ryan Haddad  <ryanhaddad@apple.com>
2529
2530         bots should pass --clobber-old-results to run-webkit-tests
2531         https://bugs.webkit.org/show_bug.cgi?id=189623
2532
2533         Reviewed by Aakash Jain.
2534
2535         In order to ensure that bots to not produce confusing results due to transient execptions,
2536         or run out of space if they continually hit an exception, old layout test results should be clobbered.
2537
2538         * BuildSlaveSupport/build.webkit.org-config/steps.py:
2539         (RunWebKitTests):
2540
2541 2018-09-13  Ryan Haddad  <ryanhaddad@apple.com>
2542
2543         Unreviewed, rolling out r235954.
2544
2545         Breaks the watchOS build.
2546
2547         Reverted changeset:
2548
2549         "Move IndexedDB to Network Process"
2550         https://bugs.webkit.org/show_bug.cgi?id=189415
2551         https://trac.webkit.org/changeset/235954
2552
2553 2018-09-13  Daniel Bates  <dabates@apple.com>
2554
2555         Add Copy WebKit Permalink plugin for Sublime Text
2556         https://bugs.webkit.org/show_bug.cgi?id=189589
2557
2558         Rubber-stamped by Joseph Pecoraro.
2559
2560         Port the Copy WebKit Permalink Automator service to a Sublime Text plugin. Once installed you can
2561         use the plugin to copy to the Clipboard a trac.webkit.org hyperlink to the selected line in the
2562         active document with or without blame annotations.
2563
2564         Once installed, you can Control-click (on Mac) or right-click (on Windows and Linux) on a line and
2565         choose Copy WebKit Permalink or Copy WebKit Permalink to Blame from the context menu to copy to the
2566         Clipboard a permanent hyperlink to the selected line without or with blame annotations, respectively.
2567         On Mac you can also invoke the same functionality using the keyboard shortcuts Command + Shift + Control + C
2568         and Command + Shift + Control + Option + C, respectively.
2569
2570         * CopyPermalink/Sublime Text/CopyWebKitPermalink/Context.sublime-menu: Added.
2571         * CopyPermalink/Sublime Text/CopyWebKitPermalink/CopyWebKitPermalink.py: Added.
2572         * CopyPermalink/Sublime Text/CopyWebKitPermalink/Default (OSX).sublime-keymap: Added.
2573         * CopyPermalink/Sublime Text/INSTALL: Added.
2574         * CopyPermalink/Xcode/Copy WebKit Permalink.workflow/Contents/Info.plist: Renamed from Tools/CopyPermalink/Copy WebKit Permalink.workflow/Contents/Info.plist.
2575         * CopyPermalink/Xcode/Copy WebKit Permalink.workflow/Contents/document.wflow: Renamed from Tools/CopyPermalink/Copy WebKit Permalink.workflow/Contents/document.wflow.
2576         * CopyPermalink/Xcode/INSTALL: Renamed from Tools/CopyPermalink/README.
2577
2578 2018-09-13  Carlos Garcia Campos  <cgarcia@igalia.com>
2579
2580         Unreviewed. Fix WebDriver tests after r235225.
2581
2582         Use wpt serve command to run the http server.
2583
2584         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:
2585         (WebDriverW3CWebServer.__init__):
2586         (WebDriverW3CWebServer.start):
2587         (WebDriverW3CWebServer.stop):
2588
2589 2018-09-13  Carlos Garcia Campos  <cgarcia@igalia.com>
2590
2591         [GTK][WPE] Allow to run script dialogs asynchronously in the UI process
2592         https://bugs.webkit.org/show_bug.cgi?id=189544
2593
2594         Reviewed by Michael Catanzaro.
2595
2596         Add test cases for the new API.
2597
2598         * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
2599         (testWebViewJavaScriptDialogs):
2600
2601 2018-09-12  Fujii Hironori  <Hironori.Fujii@sony.com>
2602
2603         [Win][Clang][ImageDiff] Fix compilation error and warning of PlatformImageCairo.cpp
2604         https://bugs.webkit.org/show_bug.cgi?id=189496
2605         <rdar://problem/44370981>
2606
2607         Unreviewed warning fix.
2608
2609         r235929 has introduced a new compilation warning:
2610         > Tools/ImageDiff/cairo/PlatformImageCairo.cpp:34:70: warning: unused parameter ‘imageSize’ [-Wunused-parameter]
2611
2612         * ImageDiff/cairo/PlatformImageCairo.cpp:
2613         (ImageDiff::PlatformImage::createFromStdin): Removed the variable name.
2614
2615 2018-09-12  Dan Bernstein  <mitz@apple.com>
2616
2617         [Cocoa] Complete support for Paste as Quotation
2618         https://bugs.webkit.org/show_bug.cgi?id=189504
2619
2620         Reviewed by Wenson Hsieh.
2621
2622         * MiniBrowser/mac/MainMenu.xib: Added a Paste as Quotation command in the Edit menu.
2623
2624 2018-09-12  Sihui Liu  <sihui_liu@apple.com>
2625
2626         Move IndexedDB to Network Process
2627         https://bugs.webkit.org/show_bug.cgi?id=189415
2628
2629         Reviewed by Geoffrey Garen.
2630
2631         * TestWebKitAPI/Tests/WebKitCocoa/IDBDeleteRecovery.mm:
2632         (TEST):
2633         * TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm:
2634         (TEST):
2635         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBDatabaseProcessKill.mm:
2636         (TEST):
2637         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBMultiProcess.mm:
2638         (TEST):
2639         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
2640         (TEST):
2641
2642 2018-09-12  Chris Dumez  <cdumez@apple.com>
2643
2644         PSON: No process swap on back navigation after URL bar navigation
2645         https://bugs.webkit.org/show_bug.cgi?id=189557
2646         <rdar://problem/44353108>
2647
2648         Reviewed by Alex Christensen.
2649
2650         Add API test coverage.
2651
2652         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2653
2654 2018-09-11  Dean Jackson  <dino@apple.com>
2655
2656         Header parsing for experimental and internal debug features
2657         https://bugs.webkit.org/show_bug.cgi?id=189486
2658         <rdar://problem/44320618>
2659
2660         Reviewed by Tim Horton.
2661
2662         Keep track of experimental and internal debug features in TestOptions, and
2663         allow webkit-test-runner headers to toggle them by name.
2664
2665         * DumpRenderTree/TestOptions.cpp:
2666         (TestOptions::TestOptions):
2667         * WebKitTestRunner/TestController.cpp:
2668         (WTR::TestController::resetPreferencesToConsistentValues):
2669         (WTR::updateTestOptionsFromTestHeader):
2670         * WebKitTestRunner/TestOptions.h:
2671         (WTR::TestOptions::hasSameInitializationOptions const):
2672
2673 2018-09-12  Fujii Hironori  <Hironori.Fujii@sony.com>
2674
2675         [Win][Clang][DumpRenderTree] 0 and nullptr can't be implicitly converted to AccessibilityUIElement
2676         https://bugs.webkit.org/show_bug.cgi?id=189492
2677
2678         Reviewed by Alex Christensen.
2679
2680         0 and nullptr can't be implicitly converted to
2681         AccessibilityUIElement because only Windows port typedefs
2682         PlatformUIElement as COMPtr<IAccessible> not a pointer.
2683
2684         Replaced "return 0" and "return nullptr" with "return { nullptr }".
2685
2686         * DumpRenderTree/AccessibilityUIElement.cpp:
2687         (AccessibilityUIElement::horizontalScrollbar const):
2688         (AccessibilityUIElement::verticalScrollbar const):
2689         (AccessibilityUIElement::uiElementAttributeValue const):
2690         (AccessibilityUIElement::accessibilityElementForTextMarker):
2691         * DumpRenderTree/win/AccessibilityControllerWin.cpp:
2692         (AccessibilityController::elementAtPoint):
2693         (AccessibilityController::accessibleElementById):
2694         (AccessibilityController::focusedElement):
2695         (AccessibilityController::rootElement):
2696         * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
2697         (AccessibilityUIElement::elementAtPoint):
2698         (AccessibilityUIElement::linkedUIElementAtIndex):
2699         (AccessibilityUIElement::getChildAtIndex):
2700         (AccessibilityUIElement::titleUIElement):
2701         (AccessibilityUIElement::parentElement):
2702         (AccessibilityUIElement::uiElementForSearchPredicate):
2703         (AccessibilityUIElement::cellForColumnAndRow):
2704         (AccessibilityUIElement::disclosedRowAtIndex):
2705         (AccessibilityUIElement::ariaOwnsElementAtIndex):
2706         (AccessibilityUIElement::ariaFlowToElementAtIndex):
2707         (AccessibilityUIElement::ariaControlsElementAtIndex):
2708         (AccessibilityUIElement::selectedRowAtIndex):
2709         (AccessibilityUIElement::rowAtIndex):
2710         (AccessibilityUIElement::disclosedByRow):
2711         (AccessibilityUIElement::selectedChildAtIndex const):
2712
2713 2018-09-11  Wenson Hsieh  <wenson_hsieh@apple.com>
2714
2715         FontManagerTests.ChangeFontColorWithColorPanel fails on macOS Sierra
2716         https://bugs.webkit.org/show_bug.cgi?id=189382
2717
2718         Reviewed by Ryosuke Niwa.
2719
2720         Fix the test by specifying colors in RGB colorspace.
2721
2722         * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
2723         (TestWebKitAPI::TEST):
2724
2725 2018-09-11  Fujii Hironori  <Hironori.Fujii@sony.com>
2726
2727         [Win][Clang][ImageDiff] Fix compilation error and warning of PlatformImageCairo.cpp
2728         https://bugs.webkit.org/show_bug.cgi?id=189496
2729
2730         Reviewed by Alex Christensen.
2731
2732         * ImageDiff/cairo/PlatformImageCairo.cpp:
2733         (ImageDiff::PlatformImage::createFromStdin): Removed unnecessary ReadContext struct.
2734         (ImageDiff::PlatformImage::writeAsPNGToStdout): Use '%lu' format type specifier for unsigned long.
2735
2736 2018-09-07  Dean Jackson  <dino@apple.com>
2737
2738         Add and expose Internal features from WebKit
2739         https://bugs.webkit.org/show_bug.cgi?id=189442
2740         <rdar://problem/44243404>
2741
2742         Reviewed by Simon Fraser.
2743
2744         Update MiniBrowser to expose an Internal feature menu.
2745
2746         * MiniBrowser/mac/AppDelegate.m:
2747         (defaultConfiguration):
2748         * MiniBrowser/mac/SettingsController.m:
2749         (-[SettingsController _populateMenu]):
2750         (-[SettingsController validateMenuItem:]):
2751         (-[SettingsController toggleExperimentalFeature:]):
2752         (-[SettingsController toggleInternalDebugFeature:]):
2753
2754 2018-09-11  Wenson Hsieh  <wenson_hsieh@apple.com>
2755
2756         [macOS] [WK2] Support changing foreground colors via color panel
2757         https://bugs.webkit.org/show_bug.cgi?id=189382
2758         <rdar://problem/44227311>
2759
2760         Reviewed by Ryosuke Niwa.
2761
2762         Add an API test that uses NSColorPanel to change the color of selected text, and also apply typing styles when
2763         the selection is collapsed. The test also exercises switching between opaque colors (alpha = 1) and transparent
2764         colors, as well as making different parts of a word different colors.
2765
2766         * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
2767         (-[TestWKWebView collapseToEnd]):
2768         (webViewForFontManagerTesting):
2769         (TestWebKitAPI::TEST):
2770         * TestWebKitAPI/cocoa/TestWKWebView.h:
2771
2772 == Rolled over to ChangeLog-2018-09-11 ==