Enable gigacage on iOS
[WebKit-https.git] / Tools / ChangeLog
1 2017-09-29  Filip Pizlo  <fpizlo@apple.com>
2
3         Enable gigacage on iOS
4         https://bugs.webkit.org/show_bug.cgi?id=177586
5
6         Reviewed by JF Bastien.
7         
8         Add a mode to test disabling Gigacage.
9
10         * Scripts/run-jsc-stress-tests:
11         * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
12
13 2017-10-06  Aishwarya Nirmal  <anirmal@apple.com>
14
15         [iOS] Respect the "caret-color" CSS property when editing
16         https://bugs.webkit.org/show_bug.cgi?id=177489
17         <rdar://problem/34600419>
18
19         Reviewed by Tim Horton.
20
21         Adds test for iOS caret color support.
22
23         * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
24         (TestWebKitAPI::TEST):
25         * TestWebKitAPI/ios/UIKitSPI.h:
26
27 2017-10-06  Alex Christensen  <achristensen@webkit.org>
28
29         Add more infrastructure to apply custom header fields to same-origin requests
30         https://bugs.webkit.org/show_bug.cgi?id=177629
31
32         Reviewed by Ryosuke Niwa.
33
34         * TestWebKitAPI/Tests/WebCore/HTTPHeaderField.cpp:
35         (canonicalizeHTTPHeader):
36         (shouldRemainUnchanged):
37         (shouldBeInvalid):
38         (shouldBecome):
39         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
40         (TEST):
41         (expectHeaders):
42         (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
43         (-[CustomHeaderFieldsDelegate webView:startURLSchemeTask:]):
44         (-[CustomHeaderFieldsDelegate webView:stopURLSchemeTask:]):
45
46         Test main resource requests, subresource requests, and cross-origin requests.
47
48 2017-10-06  Wenson Hsieh  <wenson_hsieh@apple.com>
49
50         [iOS] Tweak support for classifying form controls (followup to r222487)
51         https://bugs.webkit.org/show_bug.cgi?id=177917
52         <rdar://problem/34820122>
53
54         Reviewed by Dean Jackson.
55
56         Minor cleanup around autofill API tests added in r222487. Additionally, augments some of these API tests to
57         verify that after blurring the focused element, the content view no longer accepts autofill credentials (see
58         WebKit ChangeLog for more details). Also augments tests to verify that the URL in the autofill context matches
59         the document URL.
60
61         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
62
63         Remove the USE(APPLE_INTERNAL_SDK) guard for these API tests.
64
65         (newUIKeyboardLoginCredentialsSuggestion):
66
67         Add a stub implementation of UIKeyboardLoginCredentialsSuggestion. This allows
68         [UIKeyboardLoginCredentialsSuggestion new] to return a nonnull object, which allows these API tests to verify
69         that the credential filling codepath works as intended without any additional UIKit changes. Currently, tests
70         for the value of username and password fields are passing even though the fields are not being populated because
71         the expected string values are null, and the observed value is an empty string. We instead check the literal
72         string values here instead of credentialSuggestion's properties, so that tests verifying the behavior of
73         -insertTextSuggestion: will require username and password inputs to be populated.
74
75         (-[TestInputDelegate _webView:focusShouldStartInputSession:]):
76         (-[AutofillTestView initWithFrame:]):
77         (-[AutofillTestView _autofillInputView]):
78         (-[AutofillTestView textInputHasAutofillContext]):
79         (TestWebKitAPI::TEST):
80
81         Add an additional API test to verify that programmatic focus without user interaction (and also without testing
82         overrides) does not activate autofill.
83
84         (createUIKeyboardLoginCredentialsSuggestion): Deleted.
85         (-[WKWebView _privateTextInput]): Deleted.
86         * TestWebKitAPI/ios/UIKitSPI.h:
87
88         Minor gardening to remove iOS version >= 11 guards that are now unnecessary. Additionally, add some more private
89         header imports (with corresponding interface definitions for building and running with the public SDK).
90
91 2017-10-06  Antti Koivisto  <antti@apple.com>
92
93         Minor WeakPtr improvements
94         https://bugs.webkit.org/show_bug.cgi?id=177958
95
96         Reviewed by Sam Weinig.
97
98         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
99         (TestWebKitAPI::TEST):
100         (TestWebKitAPI::Base::createWeakPtr): Deleted.
101
102 2017-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>
103
104         Unreviewed. Fix parsing of GTK unit tests output in bot configuration.
105
106         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
107         (RunGtkAPITests.commandComplete): Remove trailing ':' from the regular expression.
108
109 2017-10-06  Charles Turner  <cturner@igalia.com>
110
111         Disable bmalloc when running Valgrind
112         https://bugs.webkit.org/show_bug.cgi?id=177923
113
114         Reviewed by Carlos Alberto Lopez Perez.
115
116         * Scripts/webkitpy/port/gtk.py:
117         (GtkPort.setup_environ_for_server):
118
119 2017-10-06  Zan Dobersek  <zdobersek@igalia.com>
120
121         Implement TestController::platformContext() for WPE, returning the
122         m_context pointer as the GTK+ port does. This fixes the crashes on
123         the WPE testers.
124
125         Rubber-stamped by Carlos Garcia Campos.
126
127         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
128         (WTR::TestController::platformContext):
129
130 2017-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
131
132         [GTK][WPE] Add API to configure and enable resource load statistics
133         https://bugs.webkit.org/show_bug.cgi?id=177943
134
135         Reviewed by Michael Catanzaro.
136
137         Add a command line option to enable intelligent tracking prevention to MiniBrowser and tests cases to check the
138         new API.
139
140         * MiniBrowser/gtk/main.c:
141         (main):
142         * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
143         (serverCallback):
144         (testWebsiteDataConfiguration):
145         (testWebsiteDataEphemeral):
146         (testWebsiteDataResourceLoadStats):
147         (beforeAll):
148         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
149         (Test::Test):
150         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
151         (directoryChangedCallback):
152         (WebViewTest::waitUntilFileExists):
153         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
154
155 2017-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
156
157         [GTK][WPE] All resource load statistics tests added in r212183 crash in GTK bots, timeout in GTK and WPE bots since r219049
158         https://bugs.webkit.org/show_bug.cgi?id=168171
159
160         Reviewed by Chris Dumez.
161
162         Implement all resource load statistics functions in TestController using the C API. Also enable the FileMonitor
163         unit test. This test requires a platform implementation of Util::run(), so I've added UtilitiesGLib.cpp with an
164         iplementation common to glib based ports using WTF RunLoop abstraction.
165
166         * TestWebKitAPI/PlatformGTK.cmake:
167         * TestWebKitAPI/PlatformWPE.cmake:
168         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
169         * TestWebKitAPI/glib/UtilitiesGLib.cpp: Copied from Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h.
170         (TestWebKitAPI::Util::run):
171         (TestWebKitAPI::Util::spinRunLoop):
172         (TestWebKitAPI::Util::sleep):
173         * TestWebKitAPI/gtk/PlatformUtilitiesGtk.cpp:
174         * TestWebKitAPI/wpe/PlatformUtilitiesWPE.cpp:
175         * WebKitTestRunner/TestController.cpp:
176         (WTR::TestController::platformAdjustContext):
177         (WTR::TestController::setStatisticsLastSeen):
178         (WTR::TestController::setStatisticsPrevalentResource):
179         (WTR::ResourceStatisticsCallbackContext::ResourceStatisticsCallbackContext):
180         (WTR::resourceStatisticsCallback):
181         (WTR::TestController::isStatisticsPrevalentResource):
182         (WTR::TestController::setStatisticsHasHadUserInteraction):
183         (WTR::TestController::isStatisticsHasHadUserInteraction):
184         (WTR::TestController::setStatisticsGrandfathered):
185         (WTR::TestController::isStatisticsGrandfathered):
186         (WTR::TestController::setStatisticsSubframeUnderTopFrameOrigin):
187         (WTR::TestController::setStatisticsSubresourceUnderTopFrameOrigin):
188         (WTR::TestController::setStatisticsSubresourceUniqueRedirectTo):
189         (WTR::TestController::setStatisticsTimeToLiveUserInteraction):
190         (WTR::TestController::setStatisticsTimeToLiveCookiePartitionFree):
191         (WTR::TestController::statisticsProcessStatisticsAndDataRecords):
192         (WTR::TestController::statisticsUpdateCookiePartitioning):
193         (WTR::TestController::statisticsSetShouldPartitionCookiesForHost):
194         (WTR::TestController::statisticsSubmitTelemetry):
195         (WTR::TestController::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
196         (WTR::TestController::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval):
197         (WTR::TestController::setStatisticsNotifyPagesWhenTelemetryWasCaptured):
198         (WTR::TestController::setStatisticsMinimumTimeBetweenDataRecordsRemoval):
199         (WTR::TestController::setStatisticsGrandfatheringTime):
200         (WTR::TestController::setStatisticsMaxStatisticsEntries):
201         (WTR::TestController::setStatisticsPruneEntriesDownTo):
202         (WTR::TestController::statisticsClearInMemoryAndPersistentStore):
203         (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
204         (WTR::TestController::statisticsClearThroughWebsiteDataRemovalCallback):
205         (WTR::TestController::statisticsClearThroughWebsiteDataRemoval):
206         (WTR::TestController::statisticsResetToConsistentState):
207         * WebKitTestRunner/TestController.h:
208
209 2017-10-05  Jer Noble  <jer.noble@apple.com>
210
211         [Cocoa] Enable ENABLE_ENCRYPTED_MEDIA build-time setting
212         https://bugs.webkit.org/show_bug.cgi?id=177261
213
214         Reviewed by Eric Carlson.
215
216         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
217
218 2017-10-05  Alex Christensen  <achristensen@webkit.org>
219
220         Add ObjC equivalent of WKPageNavigationClient.didChangeBackForwardList
221         https://bugs.webkit.org/show_bug.cgi?id=177966
222         <rdar://problem/22387135>
223
224         Reviewed by Tim Horton.
225
226         * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
227         (-[ListItemDelegate _webView:backForwardListItemAdded:removed:]):
228         (-[ListItemDelegate webView:didFinishNavigation:]):
229         (TEST):
230
231 2017-10-04  Megan Gardner  <megan_gardner@apple.com>
232
233         check-webkit-style erroneously requires a space between the carrot and brace in obj-c blocks.
234         https://bugs.webkit.org/show_bug.cgi?id=177897
235
236         Reviewed by Dan Bernstein and Jonathan Bedard.
237
238         Remove the check for a space between ^ and {, 
239         as this is valid and expected Obj-C. Now check to make sure there is
240         no space at all between ^ and {, and also that there is a space between
241         the end of an argument list and the {.
242
243         * Scripts/webkitpy/style/checkers/cpp.py:
244         (regex_for_lambdas_and_blocks):
245
246 2017-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
247
248         Unreviewed. Run WebKit2 C API tests in GTK+ bots again after the last WebKit2 -> WebKit rename.
249
250         * Scripts/run-gtk-tests:
251         (TestRunner):
252         (TestRunner._run_test):
253
254 2017-10-05  Darin Adler  <darin@apple.com>
255
256         Remove additional WebKitSystemInterface remnants
257         https://bugs.webkit.org/show_bug.cgi?id=177948
258
259         Reviewed by Andy Estes.
260
261         * DumpRenderTree/PlatformMac.cmake: Removed code to link the
262         WebKitSystemInterface library. Left in code that points to
263         the WebKitLibraries directory, but maybe that can be removed by
264         someone who is more certain it's no longer needed.
265
266         * Scripts/copy-webkitlibraries-to-product-directory: Removed code
267         to copy and delete WebKitSystemInterface libraries and headers.
268
269         * WebKitTestRunner/PlatformMac.cmake: Removed code to link the
270         WebKitSystemInterface library. Left in code that points to
271         the WebKitLibraries directory, but maybe that can be removed by
272         someone who is more certain it's no longer needed.
273
274 2017-10-05  Saam Barati  <sbarati@apple.com>
275
276         Unreviewed. Try to make debug type profiler tests stop timing out.
277
278         * Scripts/run-jsc-stress-tests:
279
280 2017-10-03  Frederic Wang  <fwang@igalia.com>
281
282         Remove Brotli from Source/ThirdParty
283         https://bugs.webkit.org/show_bug.cgi?id=177804
284
285         Reviewed by Michael Catanzaro.
286
287         * gtk/jhbuild.modules: Build brotli 1.0.1 from the official github repository.
288         * Scripts/webkitpy/style/checker.py: Remove brotli.
289
290 2017-10-04  Alex Christensen  <achristensen@webkit.org>
291
292         Stop linking with WebKitSystemInterface
293         https://bugs.webkit.org/show_bug.cgi?id=177915
294
295         Reviewed by Antti Koivisto.
296
297         * DumpRenderTree/mac/Configurations/Base.xcconfig:
298         * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
299         * DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
300         * DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig:
301         * WebKitTestRunner/Configurations/Base.xcconfig:
302         * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
303         * WebKitTestRunner/Configurations/InjectedBundle.xcconfig:
304         * WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
305         * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
306
307 2017-10-04  Alex Christensen  <achristensen@webkit.org>
308
309         Remove unnecessary includes of WebKitSystemInterface on Cocoa platforms
310         https://bugs.webkit.org/show_bug.cgi?id=177912
311
312         Reviewed by Saam Barati.
313
314         * DumpRenderTree/mac/DumpRenderTree.mm:
315
316 2017-10-04  Megan Gardner  <megan_gardner@apple.com>
317
318         Break out new touch debugging code into seperate file
319         https://bugs.webkit.org/show_bug.cgi?id=177796
320
321         Reviewed by Simon Fraser.
322
323         Encapsulate the new debug touch code into it's own file.
324         This allows for cleaner code and a better way to show the touches
325         in a completely separate window, which should also be in screen
326         coordinates, and not subject to any transforms that get put on the
327         WebViews.
328
329         * TestRunnerShared/spi/UIKitTestSPI.h:
330         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
331         * WebKitTestRunner/ios/HIDDebugTouchWindow.h: Added.
332         * WebKitTestRunner/ios/HIDDebugTouchWindow.mm: Added.
333         (+[HIDDebugTouchWindow sharedHIDDebugTouchWindow]):
334         (-[HIDDebugTouchWindow init]):
335         (-[HIDDebugTouchWindow dealloc]):
336         (-[HIDDebugTouchWindow updateDebugIndicatorForTouch:withPointInWindowCoordinates:isTouching:]):
337         (-[HIDDebugTouchWindow initDebugViewsIfNeeded]):
338         * WebKitTestRunner/ios/HIDEventGenerator.h:
339         * WebKitTestRunner/ios/HIDEventGenerator.mm:
340         (-[HIDEventGenerator init]):
341         (-[HIDEventGenerator _createIOHIDEventWithInfo:]):
342         (-[HIDEventGenerator _createIOHIDEventType:]):
343         (-[HIDEventGenerator _updateTouchPoints:count:]):
344         (-[HIDEventGenerator touchDownAtPoints:touchCount:]):
345         (-[HIDEventGenerator touchDown:touchCount:]):
346         (-[HIDEventGenerator liftUpAtPoints:touchCount:]):
347         (-[HIDEventGenerator liftUp:touchCount:]):
348         (-[HIDEventGenerator moveToPoints:touchCount:duration:]):
349         (-[HIDEventGenerator initDebugViewsIfNeeded]): Deleted.
350         (-[HIDEventGenerator updateDebugIndicatorForTouch:withPoint:isTouching:]): Deleted.
351         * WebKitTestRunner/ios/TestControllerIOS.mm:
352         (WTR::TestController::updatePlatformSpecificTestOptionsForTest const):
353
354 2017-10-04  JF Bastien  <jfbastien@apple.com>
355
356         WTF: Update std::expected to match current proposal
357         https://bugs.webkit.org/show_bug.cgi?id=177881
358
359         Reviewed by Mark Lam.
360
361         The proposal is likely to be in C++20 and I've been asked to help co-champion
362         it. I'm therefore updating our implementation to more closely match the current
363         proposal, and to make sure it'll work for us if standardized.
364
365          - Rename UnexpectedType to Unexpected to match the proposal.
366          - Remove relational operators, only equality / inequality remains.
367          - Fix minor type signatures.
368          - Add UnexpectedType typedef.
369          - Uncomment rebind implementation.
370          - Add in-place construction tag, as well as explicit error construction tag.
371          - Add template unexpected constructor.
372          - Note that make_unexpected isn't in the proposal anymore, but we keep it because we don't have C++17 deduction guides.
373          - Remove hashing, which isn't in the proposal anymore.
374
375         * TestWebKitAPI/Tests/WTF/Expected.cpp:
376         (WTF::operator<<):
377         (TestWebKitAPI::TEST):
378
379 2017-10-04  Lucas Forschler  <lforschler@apple.com>
380
381         https://bugs.webkit.org/show_bug.cgi?id=177888
382         WebKitArchiveSupport - add API Gateway to source control
383         This is a swagger configuration export via AWS API Gateway console.
384
385         Rubber-stamped by Alexey Proskuryakov.
386
387         * WebKitArchiveSupport/AWS-APIGateway: Added.
388         * WebKitArchiveSupport/AWS-APIGateway/stage-v2.json: Added.
389
390 2017-10-04  Mark Lam  <mark.lam@apple.com>
391
392         Add support for using Probe DFG OSR Exit behind a runtime flag.
393         https://bugs.webkit.org/show_bug.cgi?id=177844
394         <rdar://problem/34801425>
395
396         Reviewed by Saam Barati.
397
398         Enable --useProbeOSrExit=true for dfg-eager and ftl-no-cjit-validate-sampling-profiler
399         test configurations.
400
401         * Scripts/run-jsc-stress-tests:
402
403 2017-10-04  Jonathan Bedard  <jbedard@apple.com>
404
405         webkitpy.tool.steps.steps_unittest.StepsTest.test_runtests_api is flakey
406         https://bugs.webkit.org/show_bug.cgi?id=177751
407         <rdar://problem/34769470>
408
409         Reviewed by Daniel Bates.
410
411         Port._build_path() calls Tools/Scripts/webkit-build-directory and caches this
412         result. When capturing output from the MockExecutive, the first invocation of
413         Port._build_path() will log the running of Tools/Scripts/webkit-build-directory
414         but subsequent invocations will not.
415
416         * Scripts/webkitpy/tool/steps/steps_unittest.py:
417         (StepsTest):
418         (StepsTest.setUp): Cache the build path before running tests.
419
420 2017-10-04  Carlos Alberto Lopez Perez  <clopez@igalia.com>
421
422         [JHBuild][GTK][WKE] Circular dependency between harfbuzz and freetype6
423         https://bugs.webkit.org/show_bug.cgi?id=177865
424
425         Reviewed by Michael Catanzaro.
426
427         Build freetype6 without harfbuzz support.
428         This seems to be what distros like Fedora, Debian or OpenEmbedded do.
429         Also explicitly enable support for freetype and fontconfig on harfbuzz.
430
431         * gtk/jhbuild.modules: Enable also support for icu.
432         * wpe/jhbuild.modules:
433
434 2017-10-04  Yusuke Suzuki  <utatane.tea@gmail.com>
435
436         [Test262] Update Test262 to Oct 4 version
437         https://bugs.webkit.org/show_bug.cgi?id=177859
438
439         Reviewed by Sam Weinig.
440
441         * Scripts/import-test262-tests:
442
443 2017-10-04  Ryosuke Niwa  <rniwa@webkit.org>
444
445         Use blob URL when pasting RTFD instead of overriding DocumentLoader
446         https://bugs.webkit.org/show_bug.cgi?id=177801
447         <rdar://problem/34542270>
448
449         Reviewed by Wenson Hsieh.
450
451         Added a regression test for an assertion failure when pasting an empty RTFD as well as a test for pasting
452         RTFD with an image, which should result in an image element with a blob URL.
453
454         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
455         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
456         * TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
457         * TestWebKitAPI/Tests/WebKitCocoa/paste-rtfd.html:
458
459 2017-10-03  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
460
461         [GLib] Let WebCore know of low power situations
462         https://bugs.webkit.org/show_bug.cgi?id=177810
463
464         Reviewed by Carlos Garcia Campos.
465
466         * gtk/install-dependencies: add upower-glib dev packages for Debian, Arch and Fedora.
467
468 2017-10-03  Saam Barati  <sbarati@apple.com>
469
470         Implement polymorphic prototypes
471         https://bugs.webkit.org/show_bug.cgi?id=176391
472
473         Reviewed by Filip Pizlo.
474
475         * Scripts/run-jsc-stress-tests:
476
477 2017-10-03  Myles C. Maxfield  <mmaxfield@apple.com> 
478
479         Create a SPIR-V assembler 
480         https://bugs.webkit.org/show_bug.cgi?id=177726 
481
482         Reviewed by Filip Pizlo. 
483
484         Khronos has released a json file containing every SPIR-V opcode and operand at 
485         https://github.com/KhronosGroup/SPIRV-Headers/blob/master/include/spirv/1.2/spirv.core.grammar.json 
486         This patch creates a function which loads this file (via the fetch API), parses it, and creates
487         an object which holds two things: 
488         - For each opcode, a class which accepts the appropriate operands 
489         - For each enum type, an object which holds each enum value 
490         The constructor for each opcode is smart enough to do some basic type-checking of the argument, 
491         according to the types listed in Khronos's json file. 
492
493         This patch also includes an example .html file which outputs a dummy SPIR-V program, 
494         which happens to be compatible with the SPIR-V demo at 
495         https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/blob/master/demos/cube.cpp 
496         If you modify this demo to use the generated SPIR-V program, you can see the result in 
497         action.
498
499         This patch also commits a copy of Khronos's json file mentioned above. This isn't the first 
500         Khronos file we've committed into our repository with this license, so there shouldn't be any 
501         problems there. 
502
503         * WebGPUShadingLanguageRI/SPIR-V.js: Added. 
504         (SPIRV.): 
505         (SPIRVAssembler): 
506         (SPIRVAssembler.prototype.append): 
507         (SPIRVAssembler.prototype.get size): 
508         (SPIRVAssembler.prototype.get storage): 
509         (SPIRVAssembler.prototype.get result): 
510         * WebGPUShadingLanguageRI/SPIRV.html: Added. 
511         * WebGPUShadingLanguageRI/spirv.core.grammar.json: Added. 
512
513 2017-10-03  Chris Dumez  <cdumez@apple.com>
514
515         SharedStringHashStore should support removing hashes
516         https://bugs.webkit.org/show_bug.cgi?id=177770
517
518         Reviewed by Alex Christensen.
519
520         Add API test coverage.
521
522         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
523         * TestWebKitAPI/Tests/WebKitCocoa/VisitedLinkStore.mm: Added.
524         (TestWebKitAPI::TEST):
525
526 2017-10-03  Dewei Zhu  <dewei_zhu@apple.com>
527
528         Fix missing import for BenchmarkRunner.
529         https://bugs.webkit.org/show_bug.cgi?id=177842
530
531         Reviewed by Ryosuke Niwa.
532
533         'show_results' requires BenchmarkRunner.
534
535         * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
536
537 2017-10-03  Olivier Blin  <olivier.blin@softathome.com>
538
539         [WPE] Bump deps to add support for xdg-shell-unstable-v6 protocol
540         https://bugs.webkit.org/show_bug.cgi?id=177820
541
542         Reviewed by Žan Doberšek.
543
544         gnome-shell does not advertize the xdg-shell protocol anymore, but xdg-shell-unstable-v6 instead.
545         Support has been added in WPEBackend-mesa, we need to update the requirements.
546         wayland-1.10 is needed for wl_proxy_get_version(), used in the generated headers.
547
548         * wpe/jhbuild.modules:
549
550 2017-10-03  Alex Christensen  <achristensen@webkit.org>
551
552         Add ObjC SPI equivalent to WKPageLoaderClient.willGoToBackForwardListItem
553         https://bugs.webkit.org/show_bug.cgi?id=177825
554         <rdar://problem/22387505>
555
556         Reviewed by Tim Horton.
557
558         * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
559         (-[BackForwardDelegate _webView:willGoToBackForwardListItem:inPageCache:]):
560         (-[BackForwardDelegate webView:didFinishNavigation:]):
561         (TEST):
562
563 2017-10-03  Antti Koivisto  <antti@apple.com>
564
565         Allow assigning WeakPtr<Derived> to WeakPtr<Base>
566         https://bugs.webkit.org/show_bug.cgi?id=177817
567
568         Reviewed by Geoff Garen.
569
570         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
571         (TestWebKitAPI::Base::weakPtrFactory):
572         (TestWebKitAPI::TEST):
573
574 2017-10-03  Youenn Fablet  <youenn@apple.com>
575
576         Remove no longer needed WebRTC build infrastructure
577         https://bugs.webkit.org/show_bug.cgi?id=177756
578
579         Reviewed by Alejandro G. Castro.
580
581         * Scripts/generate-libwebrtc-cmake: Removed.
582         * Scripts/webkitpy/libwebrtc/__init__.py: Removed.
583         * Scripts/webkitpy/libwebrtc/generate_cmake.py: Removed.
584
585 2017-10-03  Joanmarie Diggs  <jdiggs@igalia.com>
586
587         AX: [ATK] ARIA drag-and-drop attribute values should be exposed via AtkObject attributes
588         https://bugs.webkit.org/show_bug.cgi?id=177763
589
590         Reviewed by Chris Fleizach.
591
592         Implement ariaIsGrabbed() and ariaDropEffects() for ATK.
593
594         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
595         (WTR::AccessibilityUIElement::ariaIsGrabbed const):
596         (WTR::AccessibilityUIElement::ariaDropEffects const):
597
598 2017-10-02  Myles C. Maxfield  <mmaxfield@apple.com>
599
600         Make WSL demo compatible with Microsoft Edge
601         https://bugs.webkit.org/show_bug.cgi?id=177643
602
603         Reviewed by Saam Barati.
604
605         This patch does two things. The first is it migrates a loop over ParentNode.children to a legacy style loop
606         because Microsoft Edge throws an exception when trying to use a for...of loop with it. This patch also hides
607         the compilation behind a setTimeout(0) so there is some indication that something is happening during a
608         compile.
609
610
611         * Tools/WebGPUShadingLanguageRI/index.html:
612
613 2017-10-02  Joanmarie Diggs  <jdiggs@igalia.com>
614
615         AX: [ATK] The value of aria-level is not exposed on non-heading roles
616         https://bugs.webkit.org/show_bug.cgi?id=177775
617
618         Reviewed by Chris Fleizach.
619
620         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
621         (WTR::AccessibilityUIElement::hierarchicalLevel const):
622
623 2017-10-02  Geoffrey Garen  <ggaren@apple.com>
624
625         WeakPtr should have a move constructor
626         https://bugs.webkit.org/show_bug.cgi?id=177789
627
628         Reviewed by Chris Dumez.
629
630         Chris made me write an API test. It wasn't that painful.
631
632         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
633         (TestWebKitAPI::TEST):
634
635 2017-10-02  Filip Pizlo  <fpizlo@apple.com>
636
637         WSL ^ should be *
638         https://bugs.webkit.org/show_bug.cgi?id=177705
639
640         Rubber stamped by Keith Miller.
641         
642         When I first wrote the prototype, I thought it would be cool to use ^ for pointers. Nobody agrees. I've
643         gotten so much feedback to use *. This changes pointers to use *.
644
645         * WebGPUShadingLanguageRI/DereferenceExpression.js:
646         (DereferenceExpression.prototype.toString):
647         (DereferenceExpression):
648         * WebGPUShadingLanguageRI/Intrinsics.js:
649         (Intrinsics):
650         * WebGPUShadingLanguageRI/Parse.js:
651         (parseType):
652         (parsePossiblePrefix):
653         * WebGPUShadingLanguageRI/PtrType.js:
654         (PtrType.prototype.toString):
655         (PtrType):
656         * WebGPUShadingLanguageRI/StandardLibrary.js:
657         * WebGPUShadingLanguageRI/Test.js:
658         (tests.simpleDereference):
659         (tests.dereferenceStore):
660         (tests.simpleMakePtr):
661         (tests.loadNull):
662         (tests.storeNull):
663         (tests.returnNull):
664         (tests.dereferenceDefaultNull):
665         (tests.defaultInitializedNull):
666         (tests.passNullToPtrMonomorphic):
667         (tests.passNullToPtrPolymorphic):
668         (tests.passNullAndNotNull):
669         (tests.passNullAndNotNullFullPoly):
670         (tests.passNullAndNotNullFullPolyReverse):
671         (tests.chainGeneric):
672         (tests.chainStruct):
673         (tests.chainStructNewlyValid):
674         (tests.chainStructDevice):
675         (tests.paramChainStructDevice):
676         (tests.simpleProtocolExtends):
677         (tests.protocolExtendsTwo):
678         (tests.overrideSubscriptStruct):
679         (tests.overrideSubscriptStructAndDoStores):
680         (tests.overrideSubscriptStructAndUsePointers):
681         (tests.overrideSubscriptStructAndUsePointersIncorrectly):
682         (tests.makeArrayRefFromPointer):
683         (tests.nonArrayRefArrayLengthFail):
684         (tests.constexprIsNotLValuePtr):
685         (tests.genericAccessors):
686         (tests.nestedSubscriptLValueEmulationSimple):
687         (tests.nestedSubscriptLValueEmulationGeneric):
688         (tests.shaderTypes):
689         (tests.enumPtrBase):
690         (tests.mutuallyRecursiveStructWithPointersBroken):
691         (tests.mutuallyRecursiveStructWithPointers):
692         (tests.linkedList):
693         (tests.pointerToPointer):
694         (tests.pointerGetter):
695         (tests.operatorCastWithTypeVariableInferredFromReturnType):
696         (tests.loneSetterPointer):
697         (tests.anderWithNothingWrong):
698         (tests.anderWithWrongNumberOfArguments):
699         (tests.anderDoesntReturnPointer):
700         (tests.anderDoesntTakeReference):
701         (tests.anderWithArrayRef):
702         (tests.pointerIndexGetter):
703         (tests.loneIndexSetterPointer):
704         (tests.indexAnderWithNothingWrong):
705         (tests.indexAnderWithWrongNumberOfArguments):
706         (tests.indexAnderDoesntReturnPointer):
707         (tests.indexAnderDoesntTakeReference):
708         (tests.indexAnderWithArrayRef):
709         (tests.devicePtrPtr):
710         (tests.threadgroupPtrPtr):
711         (tests.constantPtrPtr):
712         (tests.pointerIndexGetterInProtocol):
713         (tests.loneIndexSetterPointerInProtocol):
714         (tests.indexAnderWithNothingWrongInProtocol):
715         (tests.indexAnderWithWrongNumberOfArgumentsInProtocol):
716         (tests.indexAnderDoesntReturnPointerInProtocol):
717         (tests.indexAnderDoesntTakeReferenceInProtocol):
718         (tests.indexAnderWithArrayRefInProtocol):
719         (tests.andReturnedArrayRef):
720
721 2017-10-02  Filip Pizlo  <fpizlo@apple.com>
722
723         WSL should be fine with &foo()[i] if foo() returns a []
724         https://bugs.webkit.org/show_bug.cgi?id=177704
725
726         Reviewed by Saam Barati.
727         
728         Previously, we'd determine if a property access expression (base.field or base[index]) was an lvalue by
729         asking if its base was an lvalue. This is right in all cases except if the base is of type []. Then, the
730         property access expression is an lvalue so long as there is a setter or ander.
731         
732         This fixes the issue and adds a test.
733         
734         Also, this makes error messages in the case that something is not an lvalue a lot better. If something
735         is not an lvalue because we could not find anders or setters, then we will tell you why we could not
736         find them.
737
738         * WebGPUShadingLanguageRI/Checker.js:
739         (Checker.prototype.visitAssignment):
740         (Checker.prototype.visitReadModifyWriteExpression):
741         (Checker.prototype.visitMakePtrExpression):
742         (Checker.prototype._finishVisitingPropertyAccess):
743         * WebGPUShadingLanguageRI/DotExpression.js:
744         (DotExpression.prototype.get fieldName):
745         (DotExpression.prototype.get isLValue): Deleted.
746         (DotExpression.prototype.get addressSpace): Deleted.
747         * WebGPUShadingLanguageRI/IndexExpression.js:
748         (IndexExpression.prototype.get index):
749         (IndexExpression.prototype.get isLValue): Deleted.
750         (IndexExpression.prototype.get addressSpace): Deleted.
751         * WebGPUShadingLanguageRI/PropertyAccessExpression.js:
752         (PropertyAccessExpression):
753         (PropertyAccessExpression.prototype.get isLValue):
754         (PropertyAccessExpression.prototype.set isLValue):
755         * WebGPUShadingLanguageRI/PropertyResolver.js:
756         (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder.prototype.visitMakeArrayRefExpression):
757         (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder):
758         (PropertyResolver.prototype._visitRValuesWithinLValue):
759         * WebGPUShadingLanguageRI/Test.js:
760         (tests.storeNullArrayRef):
761         (tests.andReturnedArrayRef):
762
763 2017-10-02  Wenson Hsieh  <wenson_hsieh@apple.com>
764
765         Guard iOS webkitGetAsEntry API tests on older iOS versions
766
767         Unreviewed test gardening. After r222688, these tests require custom pasteboard data to be enabled by default,
768         so don't run them against shipping iOS.
769
770         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
771
772 2017-10-02  Carlos Garcia Campos  <cgarcia@igalia.com>
773
774         [WPE][GTK] Crash in webkit_web_resource_get_data_finish()
775         https://bugs.webkit.org/show_bug.cgi?id=177107
776
777         Reviewed by Michael Catanzaro.
778
779         Add a test case to check we handle errors when webkit_web_resource_get_data() fails.
780
781         * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
782         (webViewloadChanged):
783         (testWebResourceGetDataError):
784         (beforeAll):
785
786 2017-10-02  Alex Christensen  <achristensen@webkit.org>
787
788         Fix build after r222715
789         https://bugs.webkit.org/show_bug.cgi?id=177697
790
791         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
792         (TEST):
793         Use the public API instead of the removed SPI.
794
795 2017-10-02  Alex Christensen  <achristensen@webkit.org>
796
797         REGRESSION(r214201): WebProcess hangs during policy decisions
798         https://bugs.webkit.org/show_bug.cgi?id=177590
799         <rdar://problem/33362929>
800
801         Reviewed by Andy Estes.
802
803         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
804         * TestWebKitAPI/Tests/WebKitCocoa/JavaScriptDuringNavigation.mm: Added.
805         (-[JSNavigationDelegate webView:didFinishNavigation:]):
806         (-[JSNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
807         (-[JSNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
808         (-[JSNavigationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
809         (TEST):
810
811 2017-10-02  Jonathan Bedard  <jbedard@apple.com>
812
813         Log stack-trace for run-webkit-tests when interrupted
814         https://bugs.webkit.org/show_bug.cgi?id=176393
815         <rdar://problem/34262310>
816
817         Reviewed by Darin Adler.
818
819         When run-webkit-tests is stuck, it is difficult to immediately tell
820         why. Saving a stack-trace when run-webkit-tests is terminated
821         or stopped with CNTRL-C will make such issues easier to debug.
822
823         * Scripts/webkitpy/common/interupt_debugging.py: Added.
824         (log_stack_trace): Given a Python frame object, log a stack trace to
825         the provided file.
826         (log_stack_trace_on_term): Attach a listener to SIGTERM so that a
827         stack-trace can be logged when a program is terminated.
828         (log_stack_trace_on_cntrl_c): Attach a listener to SIGINT so that a
829         stack-trace can be logged when a program is CNTRL-Ced. 
830         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
831         (main): Set handlers to log stack trace on interruption.
832
833 2017-10-02  Michael Catanzaro  <mcatanzaro@igalia.com>
834
835         Remove ENABLE_CSS_REGIONS
836         https://bugs.webkit.org/show_bug.cgi?id=177689
837
838         Reviewed by Darin Adler.
839
840         * Scripts/webkitperl/FeatureList.pm:
841
842 2017-09-30  Carlos Garcia Campos  <cgarcia@igalia.com>
843
844         Unreviewed. Upgrade webkitgtk-test-fonts to version 0.0.7.
845
846         This version upgrades liberation fonts to version 2, that has a wider glyph coverage.
847
848         * gtk/jhbuild.modules:
849
850 2017-09-29  Alex Christensen  <achristensen@webkit.org>
851
852         Expose WebPreferences::webGLEnabled through WKPreferences
853         https://bugs.webkit.org/show_bug.cgi?id=177692
854         <rdar://problem/24110556>
855
856         Reviewed by Andy Estes.
857
858         * TestWebKitAPI/Tests/WebKitCocoa/Preferences.mm:
859         (-[AlertSaver alert]):
860         (-[AlertSaver webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
861         (TEST):
862
863 2017-09-29  Alex Christensen  <achristensen@webkit.org>
864
865         Fix WKWebViewConfigurationPrivate after r222663
866         https://bugs.webkit.org/show_bug.cgi?id=177644
867
868         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
869         * TestWebKitAPI/Tests/WebKitCocoa/Configuration.mm: Added.
870         (TEST):
871
872 2017-09-28  Ryosuke Niwa  <rniwa@webkit.org>
873
874         Image pasting is not working on tineye.com / gmail.com / GitHub.com due to lack of support for DataTransfer.items
875         https://bugs.webkit.org/show_bug.cgi?id=170449
876         <rdar://problem/31432525>
877
878         Reviewed by Wenson Hsieh.
879
880         Added an API test to paste an image from pasteboard. The test is shared between iOS and macOS.
881
882         The tests to paste image files are only enabled on macOS since putting files into pasteboard isn't a thing on iOS.
883
884         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
885         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm: Added.
886         (writeImageDataToPasteboard):
887         (writeBundleFileToPasteboard):
888         * TestWebKitAPI/Tests/WebKitCocoa/paste-image.html: Added.
889         * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-100px.tiff: Added.
890         * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-200px.png: Added.
891         * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-400px.gif: Added.
892         * TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-600px.jpg: Added.
893         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: Rebaselined the test now that types contain "Files".
894
895 2017-09-29  Wenson Hsieh  <wenson_hsieh@apple.com>
896
897         [iOS WK2] Implement -[WKContentView hasText] for compatibility with the UITextInput protocol
898         https://bugs.webkit.org/show_bug.cgi?id=177662
899         <rdar://problem/33410373>
900
901         Reviewed by Tim Horton.
902
903         Add EditorState API tests to check that the value of -[WKContentView hasText] is correct when editing both plain
904         and rich text areas.
905
906         * TestWebKitAPI/EditingTestHarness.h:
907         * TestWebKitAPI/EditingTestHarness.mm:
908         (-[EditingTestHarness insertParagraph]):
909         (-[EditingTestHarness insertText:]):
910         (-[EditingTestHarness insertHTML:]):
911         (-[EditingTestHarness selectAll]):
912         (-[EditingTestHarness deleteBackwards]):
913         * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
914
915         Add versions of EditingTestHarness helpers that don't require us to expect any editor state after executing the
916         edit command.
917
918         (TestWebKitAPI::checkContentViewHasTextWithFailureDescription):
919         (TestWebKitAPI::TEST):
920         * TestWebKitAPI/cocoa/TestWKWebView.h:
921         * TestWebKitAPI/cocoa/TestWKWebView.mm:
922         (-[TestWKWebView textInputContentView]):
923
924 2017-09-29  Charles Turner  <cturner@igalia.com>
925
926         Update my status.
927
928         Unreviewed.
929
930         * Scripts/webkitpy/common/config/contributors.json:
931
932 2017-09-28  Commit Queue  <commit-queue@webkit.org>
933
934         Unreviewed, rolling out r222639.
935         https://bugs.webkit.org/show_bug.cgi?id=177630
936
937         Breaks AppleWin build (Requested by dolmstead on #webkit).
938
939         Reverted changeset:
940
941         "[WinCairo][MiniBrowser] Add ca-bundle to display secure
942         pages."
943         https://bugs.webkit.org/show_bug.cgi?id=168486
944         http://trac.webkit.org/changeset/222639
945
946 2017-09-28  Joanmarie Diggs  <jdiggs@igalia.com>
947
948         AX: [ATK] object:state-changed notifications missing for multiple ARIA attributes
949         https://bugs.webkit.org/show_bug.cgi?id=177542
950
951         Add platform support for the notifications. Also add support for getting the
952         boolean argument indicating whether the state has been set or unset.
953
954         Reviewed by Chris Fleizach.
955
956         * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
957
958 2017-09-28  Basuke Suzuki  <Basuke.Suzuki@sony.com>
959
960         [WinCairo][MiniBrowser] Add ca-bundle to display secure pages.
961         Copy cacert.pem file into bundle directory.
962         https://bugs.webkit.org/show_bug.cgi?id=168486
963
964         Reviewed by Brent Fulgham.
965
966         * MiniBrowser/win/CMakeLists.txt:
967
968 2017-09-28  Lucas Forschler  <lforschler@apple.com>
969
970         check in AWS Lambda code used for WebKitArchiveSupport
971         https://bugs.webkit.org/show_bug.cgi?id=177614
972         
973         Rubber-stamped by Alexey Proskuryakov.
974
975         * WebKitArchiveSupport/lambda: Added.
976         * WebKitArchiveSupport/lambda/delete-minified-s3-archive-from-dynamodb.py: Added.
977         (lambda_handler):
978         * WebKitArchiveSupport/lambda/delete-s3-archive-from-dynamodb.py: Added.
979         (lambda_handler):
980         * WebKitArchiveSupport/lambda/register-archive-in-dynamodb.py: Added.
981         (lambda_handler):
982         * WebKitArchiveSupport/lambda/register-minified-s3-archive-in-dynamodb.py: Added.
983         (lambda_handler):
984
985 2017-09-28  Jiewen Tan  <jiewen_tan@apple.com>
986
987         WeakPtrFactory should allow downcasting
988         https://bugs.webkit.org/show_bug.cgi?id=177389
989         <rdar://problem/34604174>
990
991         Reviewed by Geoffrey Garen.
992
993         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
994         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
995         (TestWebKitAPI::Base::foo):
996         (TestWebKitAPI::Base::createWeakPtr):
997         (TestWebKitAPI::Derived::foo):
998         (TestWebKitAPI::TEST):
999
1000 2017-09-28  Megan Gardner  <megan_gardner@apple.com>
1001
1002         Add debug flag to WebKitTestRunner to show where touches are being generated
1003         https://bugs.webkit.org/show_bug.cgi?id=177583
1004
1005         Reviewed by Tim Horton and Wenson Hsieh.
1006
1007         Add a flag, and the ability to paint a dot where the HIDEventGenerator is creating fake touches to
1008         send through UIKit. This will help in debugging touch tests, because it will be easier to see if
1009         one is actually sending the touches at the locations that they expect. This will help differentiate between
1010         problems in the locations of the touches, and other problems that can come up when writing tests.
1011
1012         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1013         (parse_args):
1014         * Scripts/webkitpy/port/driver.py:
1015         (Driver.cmd_line):
1016         * WebKitTestRunner/Options.cpp:
1017         (WTR::Options::Options):
1018         (WTR::handleOptionShowTouches):
1019         (WTR::OptionsHandler::OptionsHandler):
1020         * WebKitTestRunner/Options.h:
1021         * WebKitTestRunner/TestController.cpp:
1022         (WTR::TestController::initialize):
1023         * WebKitTestRunner/TestController.h:
1024         (WTR::TestController::shouldShowTouches const):
1025         * WebKitTestRunner/TestOptions.h:
1026         * WebKitTestRunner/ios/HIDEventGenerator.h:
1027         * WebKitTestRunner/ios/HIDEventGenerator.mm:
1028         (-[DebugTouchView pointInside:withEvent:]):
1029         (-[HIDEventGenerator setShouldShowTouches:]):
1030         (-[HIDEventGenerator initDebugViews]):
1031         (-[HIDEventGenerator updateDebugUI:withPoint:isTouching:]):
1032         (-[HIDEventGenerator _createIOHIDEventWithInfo:]):
1033         (-[HIDEventGenerator _createIOHIDEventType:]):
1034         (-[HIDEventGenerator _updateTouchPoints:count:]):
1035         (-[HIDEventGenerator touchDownAtPoints:touchCount:]):
1036         (-[HIDEventGenerator liftUpAtPoints:touchCount:]):
1037         (-[HIDEventGenerator moveToPoints:touchCount:duration:]):
1038         (-[HIDEventGenerator markerEventReceived:]):
1039         * WebKitTestRunner/ios/TestControllerIOS.mm:
1040         (WTR::TestController::updatePlatformSpecificTestOptionsForTest const):
1041         * WebKitTestRunner/ios/mainIOS.mm:
1042         (-[WebKitTestRunnerApp _runTestController]):
1043
1044 2017-09-28  Mark Lam  <mark.lam@apple.com>
1045
1046         [Re-landing] Turn on exception scope verification for JSC tests.
1047         https://bugs.webkit.org/show_bug.cgi?id=162351
1048         <rdar://problem/29563911>
1049
1050         Reviewed by Saam Barati.
1051
1052         Update: I'm re-landing this patch now that test262 exception check validation
1053         failures have been fixed in r222617.  testapi still has some validation failures,
1054         but this patch does not affect testapi.
1055
1056         Added the option to --validateExceptionChecks=true option to BASE_OPTIONS in
1057         run-jsc-stress-tests.  This turns on exception scope verification on JSC test
1058         runs (which currently does not include testapi).
1059
1060         Some stats on time to run JSC stress and mozilla tests:
1061         1. Release build w/o --validateExceptionChecks=true: real 16m22.544s, user 156m24.080s, sys 123m3.649s
1062         2. Debug build w/o --validateExceptionChecks=true: real 78m34.206s, user 1661m57.008s, sys 73m21.177s
1063         3. Debug build w/ --validateExceptionChecks=true: real 77m41.106s, user 1656m13.924s, sys 73m42.309s
1064         4. Debug build w/ --validateExceptionChecks=true --dumpSimulatedThrows=true: real 92m56.918s, user 2012m56.441s, sys 75m14.174s
1065
1066         The stats shows that (2) and (3) has effectively no time difference.  Hence, the
1067         cost of enabling --validateExceptionChecks=true is not significant.
1068
1069         It would be nice to enable --dumpSimulatedThrows=true as well, but (4) is about
1070         21% slower than (3).  To avoid making debug test runs a lot slower, we'll leave
1071         --dumpSimulatedThrows=true off.  We can manually add that when we see a regression
1072         and need to debug the issue.  Otherwise, we wont pay the price for it.
1073
1074         * Scripts/run-jsc-stress-tests:
1075
1076 2017-09-27  Alex Christensen  <achristensen@webkit.org>
1077
1078         Add WKContentRuleList notify action type
1079         https://bugs.webkit.org/show_bug.cgi?id=177013
1080         <rdar://problem/31073936>
1081
1082         Reviewed by Darin Adler.
1083
1084         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1085         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
1086         (WebCore::ContentExtensions::operator<<):
1087         (TestWebKitAPI::InMemoryCompiledContentExtension::create):
1088         (TestWebKitAPI::InMemoryCompiledContentExtension::data):
1089         (TestWebKitAPI::InMemoryCompiledContentExtension::InMemoryCompiledContentExtension):
1090         (TestWebKitAPI::makeBackend):
1091         (TestWebKitAPI::TEST_F):
1092         (TestWebKitAPI::actionsEqual):
1093         (TestWebKitAPI::sequenceInstances):
1094         (TestWebKitAPI::InMemoryCompiledContentExtension::createFromFilter): Deleted.
1095         (TestWebKitAPI::InMemoryCompiledContentExtension::~InMemoryCompiledContentExtension): Deleted.
1096         * TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm: Added.
1097         (-[ContentRuleListNotificationDelegate _webView:URL:contentRuleListIdentifiers:notifications:]):
1098         (-[ContentRuleListNotificationDelegate webView:startURLSchemeTask:]):
1099         (-[ContentRuleListNotificationDelegate webView:stopURLSchemeTask:]):
1100         (-[ContentRuleListNotificationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
1101         (makeWarnContentRuleList):
1102         (TEST):
1103
1104 2017-09-27  Wenson Hsieh  <wenson_hsieh@apple.com>
1105
1106         Drag event DataTransfer has unexpected types "dyn.ah62d4..."
1107         https://bugs.webkit.org/show_bug.cgi?id=172526
1108         <rdar://problem/32396081>
1109
1110         Reviewed by Ryosuke Niwa.
1111
1112         Adds new API tests on iOS to cover various cases of using DataTransfer.setData, DataTransfer.getData, and
1113         DataTransfer.types, as well as their interaction with platform objects (source NSItemProviders in the case of
1114         drag and drop, and the general UIPasteboard for copy and paste).
1115
1116         * TestWebKitAPI/PlatformUtilities.h:
1117         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1118         * TestWebKitAPI/Tests/WebKitCocoa/dump-datatransfer-types.html: Added.
1119
1120         Introduce a new API test harness that both drag-and-drop and copy-and-paste tests use to dump DataTransfer's
1121         web-exposed types and values.
1122
1123         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1124         (checkFirstTypeIsPresentAndSecondTypeIsMissing):
1125         (checkJSONWithLogging):
1126         (TestWebKitAPI::TEST):
1127         (checkTypeIdentifierAndIsNotOtherTypeIdentifier): Deleted.
1128         * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
1129         (TestWebKitAPI::checkJSONWithLogging):
1130         (TestWebKitAPI::setUpWebViewForPasteboardTests):
1131         (TestWebKitAPI::TEST):
1132         * TestWebKitAPI/cocoa/PlatformUtilitiesCocoa.mm:
1133         (TestWebKitAPI::Util::jsonMatchesExpectedValues):
1134
1135 2017-09-27  Lucas Forschler  <lforschler@apple.com>
1136
1137         Add macOS High Sierra and iOS Simulator 11 support to bisect-builds.
1138         https://bugs.webkit.org/show_bug.cgi?id=177578
1139
1140         Reviewed by Alexey Proskuryakov.
1141
1142         * Scripts/bisect-builds:
1143         (minified_platforms):
1144         (unminified_platforms):
1145
1146 2017-09-27  Ryan Haddad  <ryanhaddad@apple.com>
1147
1148         Update TestResultsServer for High Sierra queues.
1149         https://bugs.webkit.org/show_bug.cgi?id=177500
1150
1151         Reviewed by Alexey Proskuryakov.
1152
1153         * TestResultServer/static-dashboards/builders.jsonp:
1154
1155 2017-09-27  Lucas Forschler  <lforschler@apple.com>
1156
1157         bisect-builds:add a README to the archive.
1158         https://bugs.webkit.org/show_bug.cgi?id=177376
1159
1160         Reviewed by Alexey Proskuryakov & Jon Davis.
1161
1162         * BuildSlaveSupport/built-product-archive:
1163         (addFilesToArchive): refactor function (was previously addLauncherToArchive)
1164         (createZip): Teach function to add the README
1165         (addLauncherToArchive): Deleted. (refactored to addFilesToArchive)
1166         * BuildSlaveSupport/run-webkit-archive: Deleted. (Moved to WebKitArchiveSupport)
1167         * WebKitArchiveSupport: Added.
1168         * WebKitArchiveSupport/README: Added. README which will be packaged up with the archive.
1169         * WebKitArchiveSupport/run-webkit-archive: Added. (Moved from BuildSlaveSupport)
1170
1171 2017-09-26  Tim Horton  <timothy_horton@apple.com>
1172
1173         Mac CMake bot should provide verbose build output
1174         https://bugs.webkit.org/show_bug.cgi?id=177512
1175
1176         Reviewed by Alexey Proskuryakov.
1177
1178         * BuildSlaveSupport/build.webkit.org-config/config.json:
1179         It's hard to diagnose weird bot-only build problems without the
1180         full verbose build output, so turn that on. The Xcode builders
1181         do it too, so why not CMake!
1182
1183 2017-09-26  Tim Horton  <timothy_horton@apple.com>
1184
1185         Make it possible to easily get verbose ninja output from build-webkit
1186         https://bugs.webkit.org/show_bug.cgi?id=177511
1187
1188         Reviewed by Sam Weinig.
1189
1190         * Scripts/build-webkit:
1191         Add a -v/--verbose argument to build-webkit, which sets the environment
1192         variable VERBOSE=1, which buildCMakeGeneratedProject already checks.
1193
1194         * Scripts/webkitdirs.pm:
1195         (buildCMakeGeneratedProject):
1196         Add ninja verbosity arguments to @makeArgs, which are appended
1197         after the -- and thus handed to ninja; the previous implementation
1198         (appending to @args) would only work if @makeArgs was non-empty and thus
1199         the -- was included.
1200
1201 2017-09-26  Said Abou-Hallawa  <sabouhallawa@apple.com>
1202
1203         Followup (r222427): SynchronizedFixedQueue should not have a public constructor
1204         https://bugs.webkit.org/show_bug.cgi?id=177458
1205
1206         Reviewed by Tim Horton.
1207
1208         Fix the definition and the creation of SynchronizedFixedQueue.
1209
1210         * TestWebKitAPI/Tests/WTF/SynchronizedFixedQueue.cpp:
1211         (TestWebKitAPI::ToUpperConverter::ToUpperConverter):
1212         (TestWebKitAPI::ToUpperConverter::startProducing):
1213         (TestWebKitAPI::ToUpperConverter::startConsuming):
1214         (TestWebKitAPI::ToUpperConverter::stopProducing):
1215         (TestWebKitAPI::ToUpperConverter::stopConsuming):
1216         (TestWebKitAPI::ToUpperConverter::enqueueLower):
1217
1218 2017-09-26  Wenson Hsieh  <wenson_hsieh@apple.com>
1219
1220         [ios-simulator] API test DataInteractionTests.ExternalSourceDataTransferItemGetFolderAsEntry is failing
1221         https://bugs.webkit.org/show_bug.cgi?id=177271
1222
1223         Reviewed by Tim Horton and Megan Gardner.
1224
1225         Rebaseline a failing API test.
1226
1227         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1228         (TestWebKitAPI::TEST):
1229
1230 2017-09-26  Per Arne Vollan  <pvollan@apple.com>
1231
1232         Set LF eol-style on Windows shell script, because the script failed on one of the EWS
1233         bots, when it had the 'native' style.
1234
1235         Unreviewed Windows EWS fix. 
1236
1237         * EWSTools/start-queue-win.sh: Modified property svn:eol-style.
1238
1239 2017-09-26  Jonathan Bedard  <jbedard@apple.com>
1240
1241         webkitpy: Notify parent process when a worker is spawned
1242         https://bugs.webkit.org/show_bug.cgi?id=177467
1243         <rdar://problem/34660194>
1244
1245         Reviewed by Daniel Bates.
1246
1247         When we fork the parent process, there may be resources in that process
1248         which workers will take ownership of. Notify ports when a new worker is created
1249         so that these resources can be correctly managed.
1250
1251         * Scripts/webkitpy/common/message_pool.py:
1252         (_MessagePool._start_workers): After all workers are started, notify the caller
1253         that a worker has been created, unless we are running inline, in which case the
1254         parent process is still the worker.
1255         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
1256         (LayoutTestRunner._handle_did_spawn_worker): Notify the port that a worker process
1257         has been created.
1258         * Scripts/webkitpy/port/base.py:
1259         (Port.did_spawn_worker): Add function so that ports may manage any
1260         resources created on the parent process but managed by the provided worker.
1261         * Scripts/webkitpy/port/device.py:
1262         (Device.release_worker_resources): Call release_worker_resources on the
1263         platform_device if such a function is defined.
1264         * Scripts/webkitpy/port/ios.py:
1265         (IOSPort.did_spawn_worker): Release any worker resources on the iOS
1266         device object associated with the spawned worker.
1267         * Scripts/webkitpy/test/runner.py:
1268         (Runner.handle): Ignore the did_spawn_worker message during testing.
1269
1270 2017-09-26  Jer Noble  <jer.noble@apple.com>
1271
1272         Thrown ObjC exception when right clicking on <img> containing mp4 link
1273         https://bugs.webkit.org/show_bug.cgi?id=177370
1274
1275         Reviewed by Darin Adler.
1276
1277         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1278         * TestWebKitAPI/Tests/WebKit/mac/ContextMenuImgWithVideo.html: Added.
1279         * TestWebKitAPI/Tests/WebKit/mac/ContextMenuImgWithVideo.mm: Added.
1280         (-[ContextMenuImgWithVideoDelegate _webView:contextMenu:forElement:]):
1281         (TestWebKitAPI::TEST):
1282
1283 2017-09-26  Per Arne Vollan  <pvollan@apple.com>
1284
1285         [Win] 'webkit-patch clean' is failing on bot.
1286         https://bugs.webkit.org/show_bug.cgi?id=177488
1287
1288         Reviewed by Brent Fulgham.
1289
1290         If 'os.remove' throws an exception, catch it.
1291
1292         * Scripts/webkitpy/common/checkout/scm/svn.py:
1293         (SVN.discard_working_directory_changes):
1294
1295 2017-09-25  Frederik Riedel  <riedel@apple.com>
1296
1297         Expose way to set values of classified form controls as {Legacy WebKit, WebKit} SPI
1298         https://bugs.webkit.org/show_bug.cgi?id=174394
1299         <rdar://problem/33183504>
1300
1301         Reviewed by Ryosuke Niwa.
1302
1303         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1304         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm: Added.
1305         (-[WKWebView _privateTextInput]): Testing helpers.
1306         (TestWebKitAPI::TEST): Added test cases to test AutoFill for web views.
1307         * TestWebKitAPI/ios/UIKitSPI.h:
1308
1309 2017-09-25  Frederic Wang  <fwang@igalia.com>
1310
1311         Change my status to reviewer and reformat with validate-committer-lists
1312
1313         Unreviewed.
1314
1315         * Scripts/webkitpy/common/config/contributors.json:
1316
1317 2017-09-25  Ryan Haddad  <ryanhaddad@apple.com>
1318
1319         Add High Sierra bots to buildbot and dashboard.
1320         https://bugs.webkit.org/show_bug.cgi?id=177437
1321
1322         Reviewed by Alexey Proskuryakov.
1323
1324         * BuildSlaveSupport/build.webkit.org-config/config.json: Add High Sierra queues, move Leaks and JSC queues over from Sierra.
1325         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Update expected results.
1326         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js: Add High Sierra.
1327         (WebKitBuildbot):
1328
1329 2017-09-25  Chris Dumez  <cdumez@apple.com>
1330
1331         [WK2] Add API to query if a download was user-initiated
1332         https://bugs.webkit.org/show_bug.cgi?id=177435
1333         <rdar://problem/34498422>
1334
1335         Reviewed by Alex Christensen.
1336
1337         Add API test coverage.
1338
1339         * TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm:
1340         (TestWebKitAPI::decideDestinationWithSuggestedFilename):
1341         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
1342         (-[DownloadDelegate _downloadDidStart:]):
1343         (-[DownloadDelegate _downloadDidFinish:]):
1344         (runTest):
1345         (TEST):
1346         (-[BlobDownloadDelegate _downloadDidStart:]):
1347         (-[BlobDownloadDelegate _downloadDidFinish:]):
1348         (-[RedirectedDownloadDelegate _downloadDidStart:]):
1349         (-[RedirectedDownloadDelegate _downloadDidFinish:]):
1350
1351 2017-09-25  Commit Queue  <commit-queue@webkit.org>
1352
1353         Unreviewed, rolling out r222455.
1354         https://bugs.webkit.org/show_bug.cgi?id=177460
1355
1356         broke iOS build (Requested by alexchristensen on #webkit).
1357
1358         Reverted changeset:
1359
1360         "Add WKContentRuleList notify action type"
1361         https://bugs.webkit.org/show_bug.cgi?id=177013
1362         http://trac.webkit.org/changeset/222455
1363
1364 2017-09-25  Per Arne Vollan  <pvollan@apple.com>
1365
1366         [Win] run-api-tests is failing.
1367         https://bugs.webkit.org/show_bug.cgi?id=177454
1368
1369         Reviewed by Brent Fulgham.
1370
1371         TestWebKit.exe has changed name to TestWebKitLegacy.exe.
1372
1373         * Scripts/run-api-tests:
1374         (testToolPaths):
1375
1376 2017-09-25  Per Arne Vollan  <pvollan@apple.com>
1377
1378         [Win] Cygwin 64-bit EWS process cannot find Visual Studio installation.
1379         https://bugs.webkit.org/show_bug.cgi?id=177244
1380
1381         Reviewed by Alex Christensen.
1382
1383         The 64-bit EWS shell process should try to find Visual Studio in the 32-bit program files folder.
1384
1385         * EWSTools/start-queue-win.sh:
1386
1387 2017-09-25  Alex Christensen  <achristensen@webkit.org>
1388
1389         Add WKContentRuleList notify action type
1390         https://bugs.webkit.org/show_bug.cgi?id=177013
1391         <rdar://problem/31073936>
1392
1393         Reviewed by Darin Adler.
1394
1395         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1396         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
1397         (WebCore::ContentExtensions::operator<<):
1398         (TestWebKitAPI::InMemoryCompiledContentExtension::create):
1399         (TestWebKitAPI::InMemoryCompiledContentExtension::data):
1400         (TestWebKitAPI::InMemoryCompiledContentExtension::InMemoryCompiledContentExtension):
1401         (TestWebKitAPI::makeBackend):
1402         (TestWebKitAPI::TEST_F):
1403         (TestWebKitAPI::actionsEqual):
1404         (TestWebKitAPI::sequenceInstances):
1405         (TestWebKitAPI::InMemoryCompiledContentExtension::createFromFilter): Deleted.
1406         (TestWebKitAPI::InMemoryCompiledContentExtension::~InMemoryCompiledContentExtension): Deleted.
1407         * TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm: Added.
1408         (-[ContentRuleListNotificationDelegate _webView:URL:contentRuleListIdentifiers:notifications:]):
1409         (-[ContentRuleListNotificationDelegate webView:startURLSchemeTask:]):
1410         (-[ContentRuleListNotificationDelegate webView:stopURLSchemeTask:]):
1411         (-[ContentRuleListNotificationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
1412         (makeWarnContentRuleList):
1413         (TEST):
1414
1415 2017-09-25  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1416
1417         REGRESSION(r222160) [GTK] [Debug] Internal compiler error on the buildbot (huge memory usage by GCC)
1418         https://bugs.webkit.org/show_bug.cgi?id=177223
1419
1420         Reviewed by Carlos Garcia Campos.
1421
1422         When the user environment sets the variable NUMBER_OF_PROCESSORS
1423         this should be passed down to the build system (ninja or make) always.
1424
1425         Playing with the number of this variable is needed when using icecc
1426         (as you usually want to launch more parallel build process than your
1427         number of cores), or when you want to limit the number of parallel
1428         build process for hardware capacity reasons.
1429
1430         * Scripts/build-webkit:
1431
1432 2017-09-24  Fujii Hironori  <Hironori.Fujii@sony.com>
1433
1434         [GTK] Incremental builds fail every time Web Inspector icons are removed
1435         https://bugs.webkit.org/show_bug.cgi?id=177349
1436
1437         Reviewed by Carlos Garcia Campos.
1438
1439         Removing GTK WebInspector image files always breaks the GTK and
1440         WPE ports incremental builds.
1441
1442         * Scripts/webkitdirs.pm:
1443         (shouldRemoveCMakeCache): Check the timestamp of
1444         Source/WebInspectorUI/UserInterface/Images/gtk directory if
1445         isGtk() or isWPE().
1446
1447 2017-09-24  Joanmarie Diggs  <jdiggs@igalia.com>
1448
1449         [ATK] Object attributes are missing for ARIA live region roles
1450         https://bugs.webkit.org/show_bug.cgi?id=171174
1451
1452         Reviewed by Chris Fleizach.
1453
1454         Add support for testing property values for AXARIALive, AXARIAAtomic, and
1455         AXARIARelevant. Also add handling for testing whether AXElementBusy is
1456         "supported" (in ATK, busy is a state and is supported on all elements
1457         regardless of whether the state is present or absent from the state set).
1458
1459         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
1460         (WTR::AccessibilityUIElement::boolAttributeValue):
1461         (WTR::AccessibilityUIElement::isAttributeSupported):
1462
1463 2017-09-23  Michael Catanzaro  <mcatanzaro@igalia.com>
1464
1465         Unreviewed Mac CMake build fixup after r222194
1466
1467         * DumpRenderTree/PlatformMac.cmake:
1468
1469 2017-09-22  Zalan Bujtas  <zalan@apple.com>
1470
1471         WeakPtrFactory should populate m_ref lazily.
1472         https://bugs.webkit.org/show_bug.cgi?id=177375
1473
1474         Reviewed by Geoffrey Garen.
1475
1476         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
1477         (TestWebKitAPI::TEST):
1478
1479 2017-09-22  Filip Pizlo  <fpizlo@apple.com>
1480
1481         WSL should report an error if you try to create an operator overload that will never be called
1482         https://bugs.webkit.org/show_bug.cgi?id=177092
1483
1484         Reviewed by JF Bastien.
1485         
1486         This adds all kinds of checks to ensure that your operator overloads make sense. This adds all
1487         kinds of tests for those checks.
1488         
1489         In the process of writing those tests, I hit an awesome bug: function instantiation was
1490         instantiating all types, which meant that if that instantiated function needed to resolve calls
1491         to protocol functions, we'd fail because we would have cloned top-level struct types. We need
1492         to preserve the uninstantiated argument types, type arguments, and return type (for casts) in
1493         order to be able to resolve protocol calls. But we also need the instantiated version of the
1494         type arguments for execution. So, this adds some more stuff to the CallExpression class.
1495         
1496         * WebGPUShadingLanguageRI/All.js:
1497         * WebGPUShadingLanguageRI/ArrayRefType.js:
1498         (ArrayRefType.prototype.unifyImpl):
1499         * WebGPUShadingLanguageRI/ArrayType.js:
1500         (ArrayType.prototype.get isArray):
1501         * WebGPUShadingLanguageRI/CallExpression.js:
1502         (CallExpression.resolve):
1503         (CallExpression.prototype.resolve):
1504         (CallExpression.prototype.resolveToOverload):
1505         * WebGPUShadingLanguageRI/Checker.js:
1506         (Checker.prototype._checkOperatorOverload):
1507         (Checker.prototype.visitFuncDef):
1508         (Checker.prototype.visitProtocolDecl):
1509         (Checker.prototype.visitMakeArrayRefExpression):
1510         * WebGPUShadingLanguageRI/EBufferBuilder.js:
1511         (EBufferBuilder.prototype._createEPtr):
1512         * WebGPUShadingLanguageRI/EPtr.js:
1513         (EPtr):
1514         * WebGPUShadingLanguageRI/Evaluator.js:
1515         (Evaluator.prototype._snapshot):
1516         (Evaluator.prototype._runBody):
1517         (Evaluator.prototype.visitFunctionLikeBlock):
1518         (Evaluator.prototype.visitCallExpression):
1519         (Evaluator):
1520         (Evaluator.prototype.runFunc): Deleted.
1521         * WebGPUShadingLanguageRI/ExternalOrigin.js: Added.
1522         * WebGPUShadingLanguageRI/Func.js:
1523         (Func.prototype.toDeclString):
1524         * WebGPUShadingLanguageRI/FuncInstantiator.js:
1525         (FuncInstantiator.prototype.getUnique.InstantiationSubstitution.prototype.visitCallExpression):
1526         (FuncInstantiator.prototype.getUnique.InstantiationSubstitution):
1527         (FuncInstantiator.prototype.getUnique.InstantiationInstantiateImmediates.prototype.visitCallExpression):
1528         (FuncInstantiator.prototype.getUnique.InstantiationInstantiateImmediates):
1529         (FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitFuncDef):
1530         * WebGPUShadingLanguageRI/Intrinsics.js:
1531         (Intrinsics):
1532         * WebGPUShadingLanguageRI/LateChecker.js:
1533         (LateChecker.prototype.visitReferenceType):
1534         (LateChecker.prototype._checkShaderType):
1535         * WebGPUShadingLanguageRI/Lexer.js:
1536         (Lexer._textIsIdentifierImpl):
1537         (Lexer.textIsIdentifier):
1538         (Lexer.prototype.next):
1539         (Lexer):
1540         * WebGPUShadingLanguageRI/NameResolver.js:
1541         (NameResolver.prototype.visitProtocolDecl):
1542         * WebGPUShadingLanguageRI/Parse.js:
1543         (parseType.getAddressSpace):
1544         (parseType):
1545         * WebGPUShadingLanguageRI/Prepare.js:
1546         (let.prepare):
1547         * WebGPUShadingLanguageRI/PtrType.js:
1548         (PtrType.prototype.unifyImpl):
1549         * WebGPUShadingLanguageRI/ReferenceType.js:
1550         (ReferenceType):
1551         * WebGPUShadingLanguageRI/Rewriter.js:
1552         (Rewriter.prototype.visitReferenceType):
1553         (Rewriter.prototype.processDerivedCallData):
1554         * WebGPUShadingLanguageRI/StandardLibrary.js:
1555         (intToString):
1556         * WebGPUShadingLanguageRI/StatementCloner.js:
1557         (StatementCloner.prototype.visitFuncDef):
1558         * WebGPUShadingLanguageRI/StructLayoutBuilder.js:
1559         (StructLayoutBuilder.prototype.visitCallExpression):
1560         (StructLayoutBuilder):
1561         * WebGPUShadingLanguageRI/Substitution.js:
1562         (Substitution.prototype.visitTypeRef):
1563         * WebGPUShadingLanguageRI/Test.html:
1564         * WebGPUShadingLanguageRI/Test.js:
1565         (checkNumber):
1566         (set target):
1567         (tests.literalBool):
1568         (tests.identityBool):
1569         (tests.intSimpleMath):
1570         (tests.uintSimpleMath):
1571         (tests.uint8SimpleMath):
1572         (tests.equality):
1573         (tests.logicalNegation):
1574         (tests.notEquality):
1575         (tests.equalityTypeFailure):
1576         (tests.generalNegation):
1577         (tests.add1):
1578         (tests.simpleGeneric):
1579         (tests.nameResolutionFailure):
1580         (tests.simpleVariable):
1581         (tests.simpleAssignment):
1582         (tests.simpleDefault):
1583         (tests.simpleDereference):
1584         (tests.dereferenceStore):
1585         (tests.simpleMakePtr):
1586         (tests.threadArrayLoad):
1587         (tests.threadArrayLoadIntLiteral):
1588         (tests.deviceArrayLoad):
1589         (tests.threadArrayStore):
1590         (tests.deviceArrayStore):
1591         (tests.deviceArrayStoreIntLiteral):
1592         (tests.simpleProtocol):
1593         (tests.typeMismatchReturn):
1594         (tests.typeMismatchVariableDecl):
1595         (tests.typeMismatchAssignment):
1596         (tests.typeMismatchReturnParam):
1597         (tests.badAdd):
1598         (tests.lexerKeyword):
1599         (tests.simpleNoReturn):
1600         (tests.simpleUnreachableCode):
1601         (tests.simpleStruct):
1602         (tests.genericStructInstance):
1603         (tests.doubleGenericCallsDoubleGeneric):
1604         (tests.doubleGenericCallsSingleGeneric):
1605         (tests.loadNull):
1606         (tests.storeNull):
1607         (tests.returnNull):
1608         (tests.dereferenceDefaultNull):
1609         (tests.defaultInitializedNull):
1610         (tests.passNullToPtrMonomorphic):
1611         (tests.passNullToPtrPolymorphic):
1612         (tests.passNullToPolymorphic):
1613         (tests.loadNullArrayRef):
1614         (tests.storeNullArrayRef):
1615         (tests.returnNullArrayRef):
1616         (tests.dereferenceDefaultNullArrayRef):
1617         (tests.defaultInitializedNullArrayRef):
1618         (tests.defaultInitializedNullArrayRefIntLiteral):
1619         (tests.passNullToPtrMonomorphicArrayRef):
1620         (tests.passNullToPtrPolymorphicArrayRef):
1621         (tests.returnIntLiteralUint):
1622         (tests.returnIntLiteralDouble):
1623         (tests.badIntLiteralForInt):
1624         (tests.badIntLiteralForUint):
1625         (tests.badIntLiteralForDouble):
1626         (tests.passNullAndNotNull):
1627         (tests.passNullAndNotNullFullPoly):
1628         (tests.passNullAndNotNullFullPolyReverse):
1629         (tests.nullTypeVariableUnify):
1630         (tests.doubleNot):
1631         (tests.simpleRecursion):
1632         (tests.protocolMonoSigPolyDef):
1633         (tests.protocolPolySigPolyDef):
1634         (tests.protocolDoublePolySigDoublePolyDef):
1635         (tests.protocolDoublePolySigDoublePolyDefExplicit):
1636         (tests.variableShadowing):
1637         (tests.ifStatement):
1638         (tests.ifElseStatement):
1639         (tests.ifElseIfStatement):
1640         (tests.ifElseIfElseStatement):
1641         (tests.returnIf):
1642         (tests.simpleWhile):
1643         (tests.protocolMonoPolySigDoublePolyDefExplicit):
1644         (tests.ambiguousOverloadSimple):
1645         (tests.ambiguousOverloadOverlapping):
1646         (tests.ambiguousOverloadTieBreak):
1647         (tests.intOverloadResolution):
1648         (tests.intOverloadResolutionReverseOrder):
1649         (tests.intOverloadResolutionGeneric):
1650         (tests.intLiteralGeneric):
1651         (tests.intLiteralGenericWithProtocols):
1652         (tests.uintLiteralGeneric):
1653         (tests.uintLiteralGenericWithProtocols):
1654         (tests.intLiteralGenericSpecific):
1655         (tests.simpleConstexpr):
1656         (tests.break):
1657         (tests.continue):
1658         (tests.doWhile):
1659         (tests.forLoop):
1660         (tests.chainConstexpr):
1661         (tests.chainGeneric):
1662         (tests.chainStruct):
1663         (tests.chainStructNewlyValid):
1664         (tests.chainStructDevice):
1665         (tests.paramChainStructDevice):
1666         (tests.simpleProtocolExtends):
1667         (tests.protocolExtendsTwo):
1668         (tests.prefixPlusPlus):
1669         (tests.prefixPlusPlusResult):
1670         (tests.postfixPlusPlus):
1671         (tests.postfixPlusPlusResult):
1672         (tests.prefixMinusMinus):
1673         (tests.prefixMinusMinusResult):
1674         (tests.postfixMinusMinus):
1675         (tests.postfixMinusMinusResult):
1676         (tests.plusEquals):
1677         (tests.plusEqualsResult):
1678         (tests.minusEquals):
1679         (tests.minusEqualsResult):
1680         (tests.timesEquals):
1681         (tests.timesEqualsResult):
1682         (tests.divideEquals):
1683         (tests.divideEqualsResult):
1684         (tests.twoIntLiterals):
1685         (tests.unifyDifferentLiterals):
1686         (tests.unifyDifferentLiteralsBackwards):
1687         (tests.unifyVeryDifferentLiterals):
1688         (tests.unifyVeryDifferentLiteralsBackwards):
1689         (tests.assignUintToInt):
1690         (tests.buildArrayThenSumIt):
1691         (tests.buildArrayThenSumItUsingArrayReference):
1692         (tests.overrideSubscriptStruct):
1693         (tests.overrideSubscriptStructAndDoStores):
1694         (tests.overrideSubscriptStructAndUsePointers):
1695         (tests.overrideSubscriptStructAndUsePointersIncorrectly):
1696         (tests.makeArrayRefFromLocal):
1697         (tests.makeArrayRefFromPointer):
1698         (tests.makeArrayRefFromArrayRef):
1699         (tests.simpleLength):
1700         (tests.nonArrayRefArrayLengthSucceed):
1701         (tests.nonArrayRefArrayLengthFail):
1702         (tests.constexprIsNotLValuePtr):
1703         (tests.constexprIsNotLValueAssign):
1704         (tests.constexprIsNotLValueRMW):
1705         (tests.assignLength):
1706         (tests.assignLengthHelper):
1707         (tests.simpleGetter):
1708         (tests.simpleSetter):
1709         (tests.genericAccessors):
1710         (tests.bitSubscriptAccessor):
1711         (tests.nestedSubscriptLValueEmulationSimple):
1712         (tests.nestedSubscriptLValueEmulationGeneric):
1713         (tests.boolBitAnd):
1714         (tests.boolBitOr):
1715         (tests.boolBitXor):
1716         (tests.boolBitNot):
1717         (tests.intBitAnd):
1718         (tests.intBitOr):
1719         (tests.intBitXor):
1720         (tests.intBitNot):
1721         (tests.intLShift):
1722         (tests.intRShift):
1723         (tests.uintBitAnd):
1724         (tests.uintBitOr):
1725         (tests.uintBitXor):
1726         (tests.uintBitNot):
1727         (tests.uintLShift):
1728         (tests.uintRShift):
1729         (tests.uint8BitAnd):
1730         (tests.uint8BitOr):
1731         (tests.uint8BitXor):
1732         (tests.uint8BitNot):
1733         (tests.uint8LShift):
1734         (tests.uint8RShift):
1735         (tests.floatMath):
1736         (tests.genericCastInfer):
1737         (tests.booleanMath):
1738         (tests.typedefArray):
1739         (tests.shaderTypes):
1740         (tests.builtinVectors):
1741         (tests.instantiateStructInStruct):
1742         (tests.instantiateStructInStructWithInt2):
1743         (tests.simpleEnum):
1744         (tests.enumWithManualValues):
1745         (tests.enumWithoutZero):
1746         (tests.enumDuplicates):
1747         (tests.enumWithSomeManualValues):
1748         (tests.enumConstexprGenericFunction):
1749         (tests.enumConstexprGenericStruct):
1750         (tests.trap):
1751         (tests.swizzle):
1752         (tests.enumWithExplicitIntBase):
1753         (tests.enumWithUintBase):
1754         (tests.enumFloatBase):
1755         (tests.enumPtrBase):
1756         (tests.enumArrayRefBase):
1757         (tests.emptyStruct):
1758         (tests.enumStructBase):
1759         (tests.enumNoMembers):
1760         (tests.simpleSwitch):
1761         (tests.exhaustiveUint8Switch):
1762         (tests.notQuiteExhaustiveUint8Switch):
1763         (tests.notQuiteExhaustiveUint8SwitchWithDefault):
1764         (tests.switchFallThrough):
1765         (tests.switchBreak):
1766         (tests.enumSwitchBreakExhaustive):
1767         (tests.enumSwitchBreakNotQuiteExhaustive):
1768         (tests.enumSwitchBreakNotQuiteExhaustiveWithDefault):
1769         (tests.simpleRecursiveStruct):
1770         (tests.mutuallyRecursiveStruct):
1771         (tests.mutuallyRecursiveStructWithPointersBroken):
1772         (tests.mutuallyRecursiveStructWithPointers):
1773         (tests.linkedList):
1774         (tests.pointerToPointer):
1775         (tests.arrayRefToArrayRef):
1776         (tests.pointerGetter):
1777         (tests.loneSetter):
1778         (tests.setterWithMismatchedType):
1779         (tests.setterWithMatchedType):
1780         (tests.operatorWithUninferrableTypeVariable):
1781         (tests.operatorWithoutUninferrableTypeVariable):
1782         (tests.operatorCastWithUninferrableTypeVariable):
1783         (tests.operatorCastWithTypeVariableInferredFromReturnType):
1784         (tests.incWrongArgumentLength):
1785         (tests.decWrongArgumentLength):
1786         (tests.incWrongTypes):
1787         (tests.decWrongTypes):
1788         (tests.plusWrongArgumentLength):
1789         (tests.minusWrongArgumentLength):
1790         (tests.timesWrongArgumentLength):
1791         (tests.divideWrongArgumentLength):
1792         (tests.moduloWrongArgumentLength):
1793         (tests.bitAndWrongArgumentLength):
1794         (tests.bitOrWrongArgumentLength):
1795         (tests.bitXorWrongArgumentLength):
1796         (tests.lShiftWrongArgumentLength):
1797         (tests.rShiftWrongArgumentLength):
1798         (tests.bitNotWrongArgumentLength):
1799         (tests.equalsWrongArgumentLength):
1800         (tests.lessThanWrongArgumentLength):
1801         (tests.lessEqualWrongArgumentLength):
1802         (tests.greaterWrongArgumentLength):
1803         (tests.greaterEqualWrongArgumentLength):
1804         (tests.equalsWrongReturnType):
1805         (tests.notEqualsOverload):
1806         (tests.lessThanWrongReturnType):
1807         (tests.lessEqualWrongReturnType):
1808         (tests.greaterThanWrongReturnType):
1809         (tests.greaterEqualWrongReturnType):
1810         (tests.dotOperatorWrongArgumentLength):
1811         (tests.dotOperatorSetterWrongArgumentLength):
1812         (tests.loneSetterPointer):
1813         (tests.setterWithNoGetterOverload):
1814         (tests.setterWithNoGetterOverloadFixed):
1815         (tests.anderWithNothingWrong):
1816         (tests.anderWithWrongNumberOfArguments):
1817         (tests.anderDoesntReturnPointer):
1818         (tests.anderDoesntTakeReference):
1819         (tests.anderWithArrayRef):
1820         (tests.pointerIndexGetter):
1821         (tests.loneIndexSetter):
1822         (tests.notLoneIndexSetter):
1823         (tests.indexSetterWithMismatchedType):
1824         (tests.indexOperatorWrongArgumentLength):
1825         (tests.indexOperatorSetterWrongArgumentLength):
1826         (tests.loneIndexSetterPointer):
1827         (tests.indexSetterWithNoGetterOverload):
1828         (tests.indexSetterWithNoGetterOverloadFixed):
1829         (tests.indexAnderWithNothingWrong):
1830         (tests.indexAnderWithWrongNumberOfArguments):
1831         (tests.indexAnderDoesntReturnPointer):
1832         (tests.indexAnderDoesntTakeReference):
1833         (tests.indexAnderWithArrayRef):
1834         (tests.devicePtrPtr):
1835         (tests.threadgroupPtrPtr):
1836         (tests.constantPtrPtr):
1837         (tests.pointerIndexGetterInProtocol):
1838         (tests.loneIndexSetterInProtocol):
1839         (tests.notLoneIndexSetterInProtocol):
1840         (tests.indexSetterWithMismatchedTypeInProtocol):
1841         (tests.indexOperatorWrongArgumentLengthInProtocol):
1842         (tests.indexOperatorSetterWrongArgumentLengthInProtocol):
1843         (tests.loneIndexSetterPointerInProtocol):
1844         (tests.indexSetterWithNoGetterOverloadInProtocol):
1845         (tests.indexSetterWithNoGetterOverloadFixedInProtocol):
1846         (tests.indexAnderWithNothingWrongInProtocol):
1847         (tests.indexAnderWithWrongNumberOfArgumentsInProtocol):
1848         (tests.indexAnderDoesntReturnPointerInProtocol):
1849         (tests.indexAnderDoesntTakeReferenceInProtocol):
1850         (tests.indexAnderWithArrayRefInProtocol):
1851         (doTest):
1852         (this.window.let._.of.doTest):
1853         (TEST_literalBool): Deleted.
1854         (TEST_identityBool): Deleted.
1855         (TEST_intSimpleMath): Deleted.
1856         (TEST_uintSimpleMath): Deleted.
1857         (TEST_uint8SimpleMath): Deleted.
1858         (TEST_equality): Deleted.
1859         (TEST_logicalNegation): Deleted.
1860         (TEST_notEquality): Deleted.
1861         (TEST_equalityTypeFailure): Deleted.
1862         (): Deleted.
1863         (TEST_add1): Deleted.
1864         (TEST_simpleGeneric): Deleted.
1865         (TEST_nameResolutionFailure): Deleted.
1866         (TEST_simpleAssignment): Deleted.
1867         (TEST_simpleDefault): Deleted.
1868         (TEST_simpleDereference): Deleted.
1869         (TEST_dereferenceStore): Deleted.
1870         (TEST_simpleMakePtr): Deleted.
1871         (TEST_threadArrayLoad): Deleted.
1872         (TEST_threadArrayLoadIntLiteral): Deleted.
1873         (TEST_deviceArrayLoad): Deleted.
1874         (TEST_threadArrayStore): Deleted.
1875         (TEST_deviceArrayStore): Deleted.
1876         (TEST_deviceArrayStoreIntLiteral): Deleted.
1877         (TEST_simpleProtocol): Deleted.
1878         (TEST_typeMismatchReturn): Deleted.
1879         (TEST_simpleNoReturn): Deleted.
1880         (TEST_genericStructInstance): Deleted.
1881         (TEST_doubleGenericCallsDoubleGeneric): Deleted.
1882         (TEST_doubleGenericCallsSingleGeneric): Deleted.
1883         (TEST_dereferenceDefaultNull): Deleted.
1884         (TEST_dereferenceDefaultNullArrayRef): Deleted.
1885         (TEST_returnIntLiteralDouble): Deleted.
1886         (TEST_badIntLiteralForInt): Deleted.
1887         (TEST_passNullAndNotNullFullPoly): Deleted.
1888         (TEST_passNullAndNotNullFullPolyReverse): Deleted.
1889         (TEST_nullTypeVariableUnify.recurse): Deleted.
1890         (TEST_nullTypeVariableUnify.everyOrder): Deleted.
1891         (TEST_nullTypeVariableUnify.everyPair): Deleted.
1892         (TEST_nullTypeVariableUnify): Deleted.
1893         (TEST_simpleRecursion): Deleted.
1894         (TEST_protocolPolySigPolyDef): Deleted.
1895         (TEST_protocolDoublePolySigDoublePolyDef): Deleted.
1896         (TEST_protocolDoublePolySigDoublePolyDefExplicit): Deleted.
1897         (TEST_variableShadowing): Deleted.
1898         (TEST_ifStatement): Deleted.
1899         (TEST_ifElseStatement): Deleted.
1900         (TEST_ifElseIfStatement): Deleted.
1901         (TEST_ifElseIfElseStatement): Deleted.
1902         (TEST_returnIf): Deleted.
1903         (TEST_simpleWhile): Deleted.
1904         (TEST_protocolMonoPolySigDoublePolyDefExplicit): Deleted.
1905         (TEST_intOverloadResolution): Deleted.
1906         (TEST_intOverloadResolutionReverseOrder): Deleted.
1907         (TEST_intOverloadResolutionGeneric): Deleted.
1908         (TEST_intLiteralGeneric): Deleted.
1909         (TEST_intLiteralGenericWithProtocols): Deleted.
1910         (TEST_uintLiteralGeneric): Deleted.
1911         (TEST_uintLiteralGenericWithProtocols): Deleted.
1912         (TEST_intLiteralGenericSpecific): Deleted.
1913         (TEST_simpleConstexpr): Deleted.
1914         (TEST_break): Deleted.
1915         (TEST_forLoop): Deleted.
1916         (TEST_chainConstexpr): Deleted.
1917         (TEST_chainGeneric): Deleted.
1918         (TEST_chainStruct): Deleted.
1919         (TEST_chainStructNewlyValid): Deleted.
1920         (TEST_chainStructDevice): Deleted.
1921         (TEST_paramChainStructDevice): Deleted.
1922         (TEST_simpleProtocolExtends): Deleted.
1923         (TEST_protocolExtendsTwo): Deleted.
1924         (TEST_prefixPlusPlus): Deleted.
1925         (TEST_prefixPlusPlusResult): Deleted.
1926         (TEST_postfixPlusPlus): Deleted.
1927         (TEST_postfixPlusPlusResult): Deleted.
1928         (TEST_prefixMinusMinus): Deleted.
1929         (TEST_prefixMinusMinusResult): Deleted.
1930         (TEST_postfixMinusMinus): Deleted.
1931         (TEST_postfixMinusMinusResult): Deleted.
1932         (TEST_plusEquals): Deleted.
1933         (TEST_plusEqualsResult): Deleted.
1934         (TEST_minusEquals): Deleted.
1935         (TEST_minusEqualsResult): Deleted.
1936         (TEST_timesEquals): Deleted.
1937         (TEST_timesEqualsResult): Deleted.
1938         (TEST_divideEquals): Deleted.
1939         (TEST_divideEqualsResult): Deleted.
1940         (TEST_twoIntLiterals): Deleted.
1941         (TEST_unifyDifferentLiterals): Deleted.
1942         (TEST_buildArrayThenSumItUsingArrayReference): Deleted.
1943         (TEST_overrideSubscriptStruct): Deleted.
1944         (TEST_overrideSubscriptStructAndDoStores): Deleted.
1945         (TEST_overrideSubscriptStructAndUsePointers): Deleted.
1946         (TEST_overrideSubscriptStructAndUsePointersIncorrectly): Deleted.
1947         (TEST_makeArrayRefFromPointer): Deleted.
1948         (TEST_makeArrayRefFromArrayRef): Deleted.
1949         (TEST_nonArrayRefArrayLengthSucceed): Deleted.
1950         (TEST_nonArrayRefArrayLengthFail): Deleted.
1951         (TEST_simpleSetter): Deleted.
1952         (TEST_genericAccessors): Deleted.
1953         (TEST_bitSubscriptAccessor): Deleted.
1954         (TEST_nestedSubscriptLValueEmulationSimple): Deleted.
1955         (TEST_nestedSubscriptLValueEmulationGeneric): Deleted.
1956         (TEST_boolBitAnd): Deleted.
1957         (TEST_boolBitOr): Deleted.
1958         (TEST_boolBitXor): Deleted.
1959         (TEST_boolBitNot): Deleted.
1960         (TEST_intBitAnd): Deleted.
1961         (TEST_intBitOr): Deleted.
1962         (TEST_intBitXor): Deleted.
1963         (TEST_intBitNot): Deleted.
1964         (TEST_intLShift): Deleted.
1965         (TEST_intRShift): Deleted.
1966         (TEST_uintBitAnd): Deleted.
1967         (TEST_uintBitOr): Deleted.
1968         (TEST_uintBitXor): Deleted.
1969         (TEST_uintBitNot): Deleted.
1970         (TEST_uintLShift): Deleted.
1971         (TEST_uintRShift): Deleted.
1972         (TEST_uint8BitAnd): Deleted.
1973         (TEST_uint8BitOr): Deleted.
1974         (TEST_uint8BitXor): Deleted.
1975         (TEST_uint8BitNot): Deleted.
1976         (TEST_uint8LShift): Deleted.
1977         (TEST_uint8RShift): Deleted.
1978         (TEST_floatMath): Deleted.
1979         (TEST_booleanMath): Deleted.
1980         (TEST_typedefArray): Deleted.
1981         (TEST_shaderTypes): Deleted.
1982         (TEST_instantiateStructInStruct): Deleted.
1983         (TEST_instantiateStructInStructWithInt2): Deleted.
1984         (TEST_simpleEnum): Deleted.
1985         (TEST_enumWithManualValues): Deleted.
1986         (TEST_enumWithoutZero): Deleted.
1987         (TEST_enumConstexprGenericFunction): Deleted.
1988         (TEST_enumConstexprGenericStruct): Deleted.
1989         (TEST_trap): Deleted.
1990         (TEST_enumWithExplicitIntBase): Deleted.
1991         (TEST_enumWithUintBase): Deleted.
1992         (TEST_enumFloatBase): Deleted.
1993         (TEST_enumStructBase): Deleted.
1994         (TEST_simpleSwitch): Deleted.
1995         (TEST_exhaustiveUint8Switch): Deleted.
1996         (TEST_notQuiteExhaustiveUint8Switch): Deleted.
1997         (TEST_switchFallThrough): Deleted.
1998         (TEST_switchBreak): Deleted.
1999         (TEST_enumSwitchBreakExhaustive): Deleted.
2000         (TEST_enumSwitchBreakNotQuiteExhaustive): Deleted.
2001         (TEST_simpleRecursiveStruct): Deleted.
2002         (TEST_linkedList): Deleted.
2003         * WebGPUShadingLanguageRI/Type.js:
2004         (Type.prototype.get isArray):
2005         * WebGPUShadingLanguageRI/TypeRef.js:
2006         (TypeRef.wrap):
2007         * WebGPUShadingLanguageRI/TypeVariableTracker.js:
2008         (TypeVariableTracker.prototype.set get return):
2009         (TypeVariableTracker.prototype.visitVariableRef):
2010         (TypeVariableTracker):
2011         * WebGPUShadingLanguageRI/Visitor.js:
2012         (Visitor.prototype.visitProtocolDecl):
2013         * WebGPUShadingLanguageRI/index.html:
2014
2015 2017-09-22  Matt Lewis  <jlewis3@apple.com>
2016
2017         Unreviewed, rolling out r222394.
2018
2019         This broke the Windows Debug Build.
2020
2021         Reverted changeset:
2022
2023         "Remove build-webkit's notion of feature flags having a
2024         default value"
2025         https://bugs.webkit.org/show_bug.cgi?id=177338
2026         http://trac.webkit.org/changeset/222394
2027
2028 2017-09-22  Tim Horton <timothy_horton@apple.com> and Michael Catanzaro <mcatanzaro@igalia.com>
2029
2030         Remove build-webkit's notion of feature flags having a default value
2031         https://bugs.webkit.org/show_bug.cgi?id=177338
2032
2033         Reviewed by Alex Christensen.
2034
2035         Delegate feature flag default values to the build system.
2036         (FeatureDefines.xcconfig for Xcode, WebKitFeatures.cmake and Options*.cmake for CMake, and FeatureDefines.h for everyone)
2037
2038         * BuildSlaveSupport/build.webkit.org-config/config.json:
2039         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
2040         (Factory.__init__):
2041         Update GTK and WPE buildbot configuration to use --no-experimental-features on old stable
2042         bots instead of --default-cmake-features.
2043
2044         * Scripts/build-webkit:
2045         (cMakeArgsFromFeatures):
2046         Default feature values to 'undef'.
2047         Remove the --default-cmake-features argument; it is now the default.
2048         Add --no-experimental-features to replace it.
2049         Stop printing the default feature flag value in the help.
2050         Avoid propagating undefined values to the build system;
2051         only mention flags that are overridden on the command line.
2052
2053         This has the nice side effect of using the default CMake features
2054         for CMake builds, but still allowing toggling of them using the
2055         prettier --FEATURE and --no-FEATURE arguments.
2056
2057         * Scripts/webkitdirs.pm:
2058         (generateBuildSystemFromCMakeProject):
2059         No longer need to suppress CMake warnings about unused arguments.
2060
2061         * Scripts/webkitperl/FeatureList.pm:
2062         Remove the default values from the feature list.
2063
2064 2017-09-21  Joseph Pecoraro  <pecoraro@apple.com>
2065
2066         Unreviewed, add the ability to skip a test262 test.
2067
2068         * Scripts/run-jsc-stress-tests:
2069         Other handlers have :skip but a few didn't.
2070
2071 2017-09-21  Ryan Haddad  <ryanhaddad@apple.com>
2072
2073         Change architecture for ios-ews queue to arm64.
2074         https://bugs.webkit.org/show_bug.cgi?id=177332
2075
2076         Reviewed by Alexey Proskuryakov.
2077
2078         * Scripts/webkitpy/common/config/ews.json:
2079
2080 2017-09-21  Tim Horton  <timothy_horton@apple.com>
2081
2082         Use 'ninja' from the SDK if it exists
2083         https://bugs.webkit.org/show_bug.cgi?id=177330
2084
2085         Reviewed by Alex Christensen.
2086
2087         * Scripts/webkitdirs.pm:
2088         (canUseNinja):
2089         Check for ninja with xcrun in addition to commandExists() for Cocoa platforms.
2090
2091         (generateBuildSystemFromCMakeProject):
2092         (canUseNinjaGenerator): Deleted.
2093         Remove canUseNinjaGenerator; as noted in bug 177057, the Ninja generator
2094         is available in all versions of CMake supported by WebKit.
2095
2096 2017-09-21  Chris Dumez  <cdumez@apple.com>
2097
2098         Regression(r222308): new API tests are failing for !NETWORK_SESSION
2099         https://bugs.webkit.org/show_bug.cgi?id=177321
2100
2101         Reviewed by Alex Christensen.
2102
2103         Unskip API tests now that they pass everywhere.
2104
2105         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
2106         (TEST):
2107
2108 2017-09-21  Filip Pizlo  <fpizlo@apple.com>
2109
2110         Unreviewed, fix ability to run tests in browser.
2111
2112         * WebGPUShadingLanguageRI/Test.html:
2113         * WebGPUShadingLanguageRI/index.html:
2114
2115 2017-09-21  Jonathan Bedard  <jbedard@apple.com>
2116
2117         webkitpy: Ignore failure to get updated selenium version
2118         https://bugs.webkit.org/show_bug.cgi?id=177205
2119         <rdar://problem/34531669>
2120
2121         Reviewed by Lucas Forschler.
2122
2123         Sometime asking PyPI for the latest version of Selenium fails. We should try and
2124         fallback to, at a minimum, version 3.5.0 or a newer installed version.
2125
2126         * Scripts/webkitpy/thirdparty/__init__.py:
2127         (AutoinstallImportHook.greater_than_equal_to_version): Return true if the second
2128         version string is greater than or equal to the first version string.
2129         (AutoinstallImportHook._install_selenium): If we can't get the latest PyPI url,
2130         fallback to version 3.5.0 or a newer installed version.
2131
2132 2017-09-21  Filip Pizlo  <fpizlo@apple.com>
2133
2134         WSL should have some post-instantiation type checking
2135         https://bugs.webkit.org/show_bug.cgi?id=177303
2136
2137         Reviewed by Keith Miller.
2138         
2139         This patch removes the Primitive protocol! Yay!
2140         
2141         The Primitive protocol was an attempt to handle the fact that Metal wouldn't allow us to point a
2142         non-thread pointer at data structures that have pointers. This type checking rule interacts badly with
2143         generics. I was able to get it to mostly work by making Primitive into a dynamic protocol - a type
2144         belongs to it if it happens to be isPrimitive.
2145         
2146         But that was a mistake, since it makes it hard to create pointers that are generic over address space.
2147         Also, it's not an appropriate rule for targeting SPIR-V logical mode. That rule will be different, and
2148         possibly more complicated.
2149         
2150         All of these kinds of rules are easier to implement of we run them after instantiation, since then they
2151         don't get in the way of generics. That's what this patch does.
2152         
2153         This means that we get all of the same type checking power as before, and we still can catch the errors
2154         that Metal requires us to check for. It's easier to do those checks now.
2155         
2156         Finally, this removes the shader type checker's incomplete reimplementation of isPrimitive (which was
2157         called NonNumericSearcher). The shader type checker calls isPrimitive now.
2158
2159         * WebGPUShadingLanguageRI/AddressSpace.js:
2160         (needsPrimitiveProtocol): Deleted.
2161         (protocolSuffix): Deleted.
2162         * WebGPUShadingLanguageRI/All.js:
2163         * WebGPUShadingLanguageRI/Checker.js:
2164         (Checker.prototype._checkShaderType):
2165         (Checker.prototype._checkShaderType.NonNumericSearcher): Deleted.
2166         (Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitArrayRefType): Deleted.
2167         (Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitPtrType): Deleted.
2168         (Checker.prototype.visitReferenceType): Deleted.
2169         * WebGPUShadingLanguageRI/FuncInstantiator.js:
2170         (FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitFuncDef):
2171         * WebGPUShadingLanguageRI/Inline.js:
2172         (_inlineFunction):
2173         * WebGPUShadingLanguageRI/Intrinsics.js:
2174         (Intrinsics):
2175         * WebGPUShadingLanguageRI/LateChecker.js: Added.
2176         (LateChecker):
2177         (LateChecker.prototype.visitReferenceType):
2178         (LateChecker.prototype._checkShaderType):
2179         (LateChecker.prototype.visitFuncDef):
2180         * WebGPUShadingLanguageRI/LexerToken.js:
2181         (LexerToken.prototype.get isInternal): Deleted.
2182         * WebGPUShadingLanguageRI/NativeType.js:
2183         (NativeType):
2184         (NativeType.prototype.get name):
2185         (NativeType.prototype.get isPrimitive):
2186         (NativeType.prototype.set isPrimitive):
2187         (NativeType.prototype.toString):
2188         * WebGPUShadingLanguageRI/Parse.js:
2189         (parseNative):
2190         * WebGPUShadingLanguageRI/ProgramWithUnnecessaryThingsRemoved.js:
2191         (programWithUnnecessaryThingsRemoved):
2192         * WebGPUShadingLanguageRI/ProtocolDecl.js:
2193         * WebGPUShadingLanguageRI/ReferenceType.js:
2194         (ReferenceType.prototype.get elementType):
2195         (ReferenceType.prototype.get isPrimitive): Deleted.
2196         * WebGPUShadingLanguageRI/StandardLibrary.js:
2197         * WebGPUShadingLanguageRI/StatementCloner.js:
2198         (StatementCloner.prototype.visitNativeType):
2199         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:
2200         (synthesizeStructAccessors):
2201         * WebGPUShadingLanguageRI/Test.js:
2202         (TEST_passNullAndNotNullFullPoly):
2203         (TEST_passNullAndNotNullFullPolyReverse):
2204         (TEST_nullTypeVariableUnify):
2205         (TEST_chainStructNewlyValid):
2206         (TEST_chainStructDevice):
2207         (TEST_chainStructInvalid): Deleted.
2208         * WebGPUShadingLanguageRI/Type.js:
2209         (Type.prototype.get isPrimitive):
2210
2211 2017-09-21  Chris Dumez  <cdumez@apple.com>
2212
2213         Unreviewed, temporarily disable new API tests introduced in r222308 until they pass on El Capitan
2214
2215         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
2216         (TEST):
2217
2218 2017-09-21  Commit Queue  <commit-queue@webkit.org>
2219
2220         Unreviewed, rolling out r222272.
2221         https://bugs.webkit.org/show_bug.cgi?id=177316
2222
2223         This patch broke builds on some Win EWS bots. (Requested by
2224         perarne on #webkit).
2225
2226         Reverted changeset:
2227
2228         "[Win] Cygwin 64-bit EWS process cannot find Visual Studio
2229         installation."
2230         https://bugs.webkit.org/show_bug.cgi?id=177244
2231         http://trac.webkit.org/changeset/222272
2232
2233 2017-09-21  Filip Pizlo  <fpizlo@apple.com>
2234
2235         Unreviewed, fix a bug in the interactive app that was introduced by bad merging.
2236
2237         * WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
2238         (FlattenedStructOffsetGatherer.prototype.visitTypeRef):
2239         (FlattenedStructOffsetGatherer):
2240         * WebGPUShadingLanguageRI/index.html:
2241
2242 2017-09-20  Filip Pizlo  <fpizlo@apple.com>
2243
2244         WSL should support switch
2245         https://bugs.webkit.org/show_bug.cgi?id=176978
2246
2247         Reviewed by Keith Miller.
2248         
2249         This adds fairly complete support for switch statements. This includes things like verifying
2250         whether or not a default statement is needed. This even works when the programmer lists all of
2251         the values of an integer type.
2252         
2253         To test that last part, this patch adds uint8 support. It's easy add it, but of course it
2254         meant adding a lot of tests.
2255         
2256         This also fixes enum bugs, since switch does things to enums that we previously didn't test.
2257
2258         * WebGPUShadingLanguageRI/All.js:
2259         * WebGPUShadingLanguageRI/Checker.js:
2260         (Checker.prototype.visitSwitchStatement):
2261         * WebGPUShadingLanguageRI/EnumLiteral.js:
2262         (EnumLiteral.prototype.get valueForSelectedType):
2263         * WebGPUShadingLanguageRI/EnumType.js:
2264         (EnumType.prototype.allValues):
2265         (EnumType.prototype.valuesEqual):
2266         * WebGPUShadingLanguageRI/Evaluator.js:
2267         (Evaluator.prototype.visitSwitchStatement):
2268         * WebGPUShadingLanguageRI/Inliner.js:
2269         (Inliner.prototype.visitCallExpression):
2270         (Inliner):
2271         (Inliner.prototype.visitCastExpression): Deleted.
2272         * WebGPUShadingLanguageRI/Intrinsics.js:
2273         (Intrinsics.):
2274         (Intrinsics):
2275         * WebGPUShadingLanguageRI/LoopChecker.js:
2276         (LoopChecker):
2277         (LoopChecker.prototype.visitFuncDef):
2278         (LoopChecker.prototype.visitWhileLoop):
2279         (LoopChecker.prototype.visitDoWhileLoop):
2280         (LoopChecker.prototype.visitForLoop):
2281         (LoopChecker.prototype.visitSwitchStatement):
2282         (LoopChecker.prototype.visitBreak):
2283         (LoopChecker.prototype.visitContinue):
2284         * WebGPUShadingLanguageRI/Node.js:
2285         (Node.prototype.commit):
2286         * WebGPUShadingLanguageRI/Parse.js:
2287         (parseSwitchCase):
2288         (parseSwitchStatement):
2289         (parseStatement):
2290         (parseBlockBody):
2291         (parseBlock):
2292         * WebGPUShadingLanguageRI/Prepare.js:
2293         (let.prepare):
2294         * WebGPUShadingLanguageRI/ReturnChecker.js:
2295         (ReturnChecker.prototype._mergeReturnStyle):
2296         (ReturnChecker.prototype.visitIfStatement):
2297         (ReturnChecker.prototype.visitWhileLoop):
2298         (ReturnChecker.prototype.visitDoWhileLoop):
2299         (ReturnChecker.prototype.visitForLoop):
2300         (ReturnChecker.prototype.visitSwitchStatement):
2301         (ReturnChecker.prototype.visitContinue):
2302         (ReturnChecker):
2303         * WebGPUShadingLanguageRI/Rewriter.js:
2304         (Rewriter.prototype.visitSwitchStatement):
2305         (Rewriter.prototype.visitSwitchCase):
2306         * WebGPUShadingLanguageRI/StandardLibrary.js:
2307         (uint8.operator):
2308         (bool.operator):
2309         (_generateSwizzle):
2310         * WebGPUShadingLanguageRI/SwitchCase.js: Added.
2311         (SwitchCase):
2312         (SwitchCase.prototype.get origin):
2313         (SwitchCase.prototype.get isDefault):
2314         (SwitchCase.prototype.get value):
2315         (SwitchCase.prototype.get body):
2316         (SwitchCase.prototype.toString):
2317         * WebGPUShadingLanguageRI/SwitchStatement.js: Added.
2318         (SwitchStatement):
2319         (SwitchStatement.prototype.get origin):
2320         (SwitchStatement.prototype.get value):
2321         (SwitchStatement.prototype.add):
2322         (SwitchStatement.prototype.get switchCases):
2323         (SwitchStatement.prototype.toString):
2324         * WebGPUShadingLanguageRI/Test.html:
2325         * WebGPUShadingLanguageRI/Test.js:
2326         (makeUint8):
2327         (makeEnum):
2328         (checkUint8):
2329         (TEST_uint8SimpleMath):
2330         (TEST_equality):
2331         (TEST_notEquality):
2332         (TEST_uint8BitAnd):
2333         (TEST_uint8BitOr):
2334         (TEST_uint8BitXor):
2335         (TEST_uint8BitNot):
2336         (TEST_uint8LShift):
2337         (TEST_uint8RShift):
2338         (TEST_enumWithExplicitIntBase):
2339         (TEST_enumWithUintBase):
2340         (TEST_enumFloatBase):
2341         (TEST_enumStructBase):
2342         (TEST_simpleSwitch):
2343         (TEST_exhaustiveUint8Switch):
2344         (TEST_notQuiteExhaustiveUint8Switch):
2345         (TEST_switchFallThrough):
2346         (TEST_switchBreak):
2347         (TEST_enumSwitchBreakExhaustive):
2348         (TEST_enumSwitchBreakNotQuiteExhaustive):
2349         (doTest):
2350         * WebGPUShadingLanguageRI/UnificationContext.js:
2351         (UnificationContext):
2352         (UnificationContext.prototype.addExtraNode):
2353         (UnificationContext.prototype.get nodes):
2354         * WebGPUShadingLanguageRI/Visitor.js:
2355         (Visitor.prototype.visitProtocolDecl):
2356         * WebGPUShadingLanguageRI/index.html:
2357
2358 2017-09-20  Filip Pizlo  <fpizlo@apple.com>
2359
2360         WSL needs a way to verify that structs are not cyclic
2361         https://bugs.webkit.org/show_bug.cgi?id=177044
2362
2363         Reviewed by Myles Maxfield.
2364         
2365         This adds a recursive type checking phase. Even before adding this phase, the compiler would
2366         successfully detect recursive types - but at the cost of also rejecting programs that had
2367         recursive types indirectly through pointers. To make both things work, I had to change Visitor
2368         to no longer visit TypeRef.type by default. This resulted in some other changes in a few other
2369         parts of the code that previously relied on that behavior.
2370
2371         * WebGPUShadingLanguageRI/All.js:
2372         * WebGPUShadingLanguageRI/CheckRecursiveTypes.js: Added.
2373         (checkRecursiveTypes):
2374         * WebGPUShadingLanguageRI/Checker.js:
2375         (Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitArrayRefType):
2376         (Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitPtrType):
2377         (Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitTypeRef):
2378         (Checker.prototype._checkShaderType.NonNumericSearcher):
2379         (Checker.prototype._checkShaderType):
2380         (Checker.prototype.visitTypeRef):
2381         * WebGPUShadingLanguageRI/NameResolver.js:
2382         (NameResolver.prototype.visitProtocolDecl):
2383         * WebGPUShadingLanguageRI/Prepare.js:
2384         (let.prepare):
2385         * WebGPUShadingLanguageRI/RecursiveTypeChecker.js: Added.
2386         (RecursiveTypeChecker):
2387         (RecursiveTypeChecker.prototype.visitFuncDef):
2388         (RecursiveTypeChecker.prototype.visitNativeFunc):
2389         (RecursiveTypeChecker.prototype.visitStructType):
2390         (RecursiveTypeChecker.prototype.visitReferenceType):
2391         (RecursiveTypeChecker.prototype.visitTypeRef):
2392         * WebGPUShadingLanguageRI/StructLayoutBuilder.js:
2393         (StructLayoutBuilder.prototype.visitTypeRef):
2394         (StructLayoutBuilder):
2395         * WebGPUShadingLanguageRI/Test.html:
2396         * WebGPUShadingLanguageRI/Test.js:
2397         (TEST_simpleRecursiveStruct):
2398         * WebGPUShadingLanguageRI/TypeDefResolver.js:
2399         (TypeDefResolver.prototype.visitTypeRef):
2400         (TypeDefResolver):
2401         * WebGPUShadingLanguageRI/Visitor.js:
2402         (Visitor.prototype.visitProtocolDecl):
2403         * WebGPUShadingLanguageRI/index.html:
2404
2405 2017-09-21  Ryan Haddad  <ryanhaddad@apple.com>
2406
2407         Update TestResultsServer for iOS 11 queues.
2408         https://bugs.webkit.org/show_bug.cgi?id=177285
2409
2410         Reviewed by Alexey Proskuryakov.
2411
2412         * TestResultServer/static-dashboards/builders.jsonp:
2413
2414 2017-09-21  Alex Christensen  <achristensen@webkit.org>
2415
2416         REGRESSION(r221465) WKWebViews without WebGL delegate callbacks crash when WebGL contexts are created
2417         https://bugs.webkit.org/show_bug.cgi?id=177306
2418         <rdar://problem/34351988>
2419
2420         Reviewed by Chris Dumez.
2421
2422         * TestWebKitAPI/Tests/WebKitCocoa/WebGLPolicy.mm:
2423         (-[WebGLTestDelegate webView:startURLSchemeTask:]):
2424         (-[DelegateWithoutWebGL webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
2425         (TEST):
2426
2427 2017-09-20  Joseph Pecoraro  <pecoraro@apple.com>
2428
2429         Update test262 tests
2430         https://bugs.webkit.org/show_bug.cgi?id=177220
2431
2432         Reviewed by Saam Barati and Yusuke Suzuki.
2433
2434         * Scripts/import-test262-tests:
2435         - better detect upstream git repository url from import location
2436         - update JSTest test262 resources when importing from repository
2437         - take seconds instead of 20+ minutes to write yaml with --failures
2438         - update "negative" command to only include just the exception type
2439
2440 2017-09-20  Chris Dumez  <cdumez@apple.com>
2441
2442         [WK2] Add API to get the redirect chain of a WKDownload
2443         https://bugs.webkit.org/show_bug.cgi?id=176628
2444         <rdar://problem/34338279>
2445
2446         Reviewed by Alex Christensen.
2447
2448         Add API test coverage for the 2 cases:
2449         1. Download started as a download and is redirected while
2450            downloading.
2451         2. Download started as a load and was redirected during the
2452            initial load.
2453
2454         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
2455         (-[RedirectedDownloadDelegate _download:didReceiveServerRedirectToURL:]):
2456         (-[RedirectedDownloadDelegate _downloadDidFinish:]):
2457         (TEST):
2458
2459 2017-09-20  Alex Christensen  <achristensen@webkit.org>
2460
2461         Add infrastructure for adding custom headers to requests per website
2462         https://bugs.webkit.org/show_bug.cgi?id=177255
2463
2464         Reviewed by Geoffrey Garen.
2465
2466         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2467         * TestWebKitAPI/Tests/WebCore/HTTPHeaderField.cpp: Added.
2468         (shouldRemainUnchanged):
2469         (shouldBeInvalid):
2470         (shouldBecome):
2471         (TEST):
2472         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
2473         (TEST):
2474
2475 2017-09-20  Daniel Bates  <dabates@apple.com>
2476
2477         Spelling and grammar dots should not overlap
2478         https://bugs.webkit.org/show_bug.cgi?id=177265
2479         <rdar://problem/34556424>
2480
2481         Reviewed by David Hyatt.
2482
2483         Add unit tests for the subdivision algorithm.
2484
2485         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2486         * TestWebKitAPI/Tests/WebCore/MarkerSubrange.cpp: Added.
2487         (WebCore::operator<<):
2488         (WebCore::operator==):
2489         (TestWebKitAPI::TEST):
2490
2491 2017-09-20  Filip Pizlo  <fpizlo@apple.com>
2492
2493         WSL should not type-check functions in the standard library that it does not use
2494         https://bugs.webkit.org/show_bug.cgi?id=177269
2495
2496         Reviewed by JS Bastien.
2497         
2498         Once we added all of the swizzling operators, the size of the standard library ballooned to the point
2499         where it's just not practical to compile anything anymore. If you want to compile
2500         "int foo(int x) { return x}" then it will take some ridiculous amount of time (many seconds) because WSL
2501         will have to type check all of those swizzling operators.
2502         
2503         This change makes it so that after parsing the whole program, we remove the things that we aren't using.
2504         We can make a really good estimate of what we need even before doing any name resolution. In practice,
2505         this change removes almost all of the things from Program before we get to the hard work of type
2506         checking. That's true because the standard library contains _many_ things and you'd have to try very
2507         hard to use all of them.
2508         
2509         This is a 13x speed-up for Test.js. It went from 155 seconds to 12 seconds on my machine.
2510
2511         * WebGPUShadingLanguageRI/All.js:
2512         * WebGPUShadingLanguageRI/ConstexprTypeParameter.js:
2513         (ConstexprTypeParameter.prototype.get origin):
2514         * WebGPUShadingLanguageRI/Intrinsics.js:
2515         * WebGPUShadingLanguageRI/Lexer.js:
2516         (Lexer):
2517         (Lexer.prototype.get originKind):
2518         * WebGPUShadingLanguageRI/LexerToken.js:
2519         (LexerToken.prototype.get lexer):
2520         (LexerToken.prototype.get origin):
2521         (LexerToken.prototype.get originKind):
2522         (LexerToken.prototype.get isInternal):
2523         * WebGPUShadingLanguageRI/NameContext.js:
2524         (isWildcardKind):
2525         (NameContext.prototype.add):
2526         (NameContext.prototype.get let):
2527         (NameContext.prototype.mapFor): Deleted.
2528         * WebGPUShadingLanguageRI/NameFinder.js: Added.
2529         (NameFinder):
2530         (NameFinder.get worklist):
2531         * WebGPUShadingLanguageRI/NameResolver.js:
2532         (NameResolver.prototype.visitProtocolDecl):
2533         * WebGPUShadingLanguageRI/OriginKind.js: Added.
2534         (isOriginKind):
2535         * WebGPUShadingLanguageRI/Prepare.js:
2536         (let.prepare):
2537         * WebGPUShadingLanguageRI/ProgramWithUnnecessaryThingsRemoved.js: Added.
2538         (programWithUnnecessaryThingsRemoved):
2539         * WebGPUShadingLanguageRI/Test.html:
2540         * WebGPUShadingLanguageRI/Test.js:
2541         (doTest):
2542         * WebGPUShadingLanguageRI/index.html:
2543
2544 2017-09-20  Alex Christensen  <achristensen@webkit.org>
2545
2546         Remove ActionType::CSSDisplayNoneStyleSheet
2547         https://bugs.webkit.org/show_bug.cgi?id=177275
2548
2549         Reviewed by Andy Estes.
2550
2551         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
2552         (WebCore::ContentExtensions::operator<<):
2553         (TestWebKitAPI::testRequest):
2554         (TestWebKitAPI::TEST_F):
2555
2556 2017-09-20  Jonathan Bedard  <jbedard@apple.com>
2557
2558         Device iOS 11 builds fail with FileProvider linker errors
2559         https://bugs.webkit.org/show_bug.cgi?id=177272
2560         <rdar://problem/34557680>
2561
2562         Reviewed by David Kilzer.
2563
2564         For iOS device and simulator, the SYSTEM_LIBRARY_DIR should never
2565         be on the framework search path as neither platform should ever link
2566         with Mac frameworks.
2567
2568         * DumpRenderTree/mac/Configurations/Base.xcconfig:
2569         * WebKitTestRunner/Configurations/Base.xcconfig:
2570
2571 2017-09-20  Alex Christensen  <achristensen@webkit.org>
2572
2573         Remove ActionType::InvalidAction
2574         https://bugs.webkit.org/show_bug.cgi?id=177262
2575
2576         Reviewed by Tim Horton.
2577
2578         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
2579         (WebCore::ContentExtensions::operator<<):
2580
2581 2017-09-20  Myles C. Maxfield  <mmaxfield@apple.com>
2582
2583         Make a playground where people can try WSL
2584         https://bugs.webkit.org/show_bug.cgi?id=177125
2585
2586         Reviewed by Filip Pizlo.
2587
2588         This patch creates a webpage, index.html, which lets users type in a WSL program and
2589         run it, and see the results.
2590
2591         * WebGPUShadingLanguageRI/All.js:
2592         * WebGPUShadingLanguageRI/CallFunction.js:
2593         (callFunction):
2594         * WebGPUShadingLanguageRI/Checker.js:
2595         (Checker):
2596         (Checker.prototype._checkShaderType.NonNumericSearcher):
2597         (Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitArrayRefType):
2598         (Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitPtrType):
2599         (Checker.prototype._checkShaderType):
2600         (Checker.prototype.visitFuncDef):
2601         (Checker.prototype._requireBool):
2602         * WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js: Copied from Tools/WebGPUShadingLanguageRI/CallFunction.js.
2603         (FlattenedStructOffsetGatherer):
2604         (FlattenedStructOffsetGatherer.prototype.get result):
2605         (FlattenedStructOffsetGatherer.prototype.visitReferenceType):
2606         (FlattenedStructOffsetGatherer.prototype.visitField):
2607         (FlattenedStructOffsetGatherer.prototype.visitNativeType):
2608         * WebGPUShadingLanguageRI/Func.js:
2609         (Func.prototype.toDeclString):
2610         * WebGPUShadingLanguageRI/Inline.js:
2611         (resolveInlinedFunction):
2612         * WebGPUShadingLanguageRI/NameContext.js:
2613         (NameContext.prototype.get let):
2614         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
2615         (resolveOverloadImpl):
2616         * WebGPUShadingLanguageRI/StandardLibrary.js:
2617         * WebGPUShadingLanguageRI/Test.html:
2618         * WebGPUShadingLanguageRI/Test.js:
2619         (TEST_shaderTypes):
2620         * WebGPUShadingLanguageRI/index.html: Added.
2621
2622 2017-09-20  Myles C. Maxfield  <mmaxfield@apple.com>
2623
2624         [WSL] Restrict vertex and fragment entry points according to WSL.md
2625         https://bugs.webkit.org/show_bug.cgi?id=177253
2626
2627         Reviewed by Filip Pizlo.
2628
2629         Entry points can't have template arguments, and their argument/return types need to be restricted.
2630
2631         * WebGPUShadingLanguageRI/Checker.js:
2632         (Checker):
2633         (Checker.prototype._checkShaderType.NonNumericSearcher):
2634         (Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitArrayRefType):
2635         (Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitPtrType):
2636         (Checker.prototype._checkShaderType):
2637         (Checker.prototype.visitFuncDef):
2638         (Checker.prototype._requireBool):
2639         * WebGPUShadingLanguageRI/Func.js:
2640         (Func.prototype.toDeclString):
2641         * WebGPUShadingLanguageRI/Test.js:
2642         (TEST_shaderTypes):
2643
2644 2017-09-20  Per Arne Vollan  <pvollan@apple.com>
2645
2646         [Win] Cygwin 64-bit EWS process cannot find Visual Studio installation.
2647         https://bugs.webkit.org/show_bug.cgi?id=177244
2648
2649         Reviewed by Alex Christensen.
2650
2651         The 64-bit EWS shell process should try to find Visual Studio in the 32-bit program files folder.
2652
2653         * EWSTools/start-queue-win.sh:
2654
2655 2017-09-20  Myles C. Maxfield  <mmaxfield@apple.com>
2656
2657         Create vector swizzle operators in WSL's standard library
2658         https://bugs.webkit.org/show_bug.cgi?id=177116
2659
2660         Reviewed by Filip Pizlo.
2661
2662         Because there are 481 possible swizzling operators, StandardLibrary.js generates them
2663         instead of including them by hand.
2664
2665         Adding so many functions slows down the compiler quite a bit.
2666
2667         * WebGPUShadingLanguageRI/Prepare.js:
2668         (prepare):
2669         * WebGPUShadingLanguageRI/StandardLibrary.js:
2670         (intToString):
2671         (_generateSwizzle):
2672
2673 2017-09-20  Ms2ger  <Ms2ger@igalia.com>
2674
2675         [WPE] Update fontconfig to 2.12.4.
2676         https://bugs.webkit.org/show_bug.cgi?id=177228
2677
2678         Reviewed by Carlos Garcia Campos.
2679
2680         * wpe/jhbuild.modules:
2681         * wpe/patches/fontconfig-avoid-conflicts-with-integer-width-macros-from-TS-18.patch: Removed.
2682
2683 2017-09-19  Myles C. Maxfield  <mmaxfield@apple.com>
2684
2685         WSL should be able to trap when something fatal happens
2686         https://bugs.webkit.org/show_bug.cgi?id=177110
2687
2688         Reviewed by Filip Pizlo.
2689
2690         WSL programs can include a statement "trap;" which causes the entry
2691         point to immediately return the default value of its return type.
2692         This is implemented by throw/catch and populateDefaultValue().
2693
2694         * WebGPUShadingLanguageRI/All.js:
2695         * WebGPUShadingLanguageRI/EvaluationCommon.js:
2696         * WebGPUShadingLanguageRI/Evaluator.js:
2697         (Evaluator.prototype.visitTrapStatement):
2698         * WebGPUShadingLanguageRI/Parse.js:
2699         (parseStatement):
2700         * WebGPUShadingLanguageRI/ReturnChecker.js:
2701         (ReturnChecker.prototype.visitTrapStatement):
2702         * WebGPUShadingLanguageRI/Rewriter.js:
2703         (Rewriter.prototype.visitTrapStatement):
2704         * WebGPUShadingLanguageRI/StandardLibrary.js:
2705         * WebGPUShadingLanguageRI/Test.html:
2706         * WebGPUShadingLanguageRI/Test.js:
2707         * WebGPUShadingLanguageRI/TrapStatement.js: Copied from Tools/WebGPUShadingLanguageRI/EvaluationCommon.js.
2708         (TrapStatement):
2709         (TrapStatement.prototype.get origin):
2710         (TrapStatement.prototype.toString):
2711         * WebGPUShadingLanguageRI/Visitor.js:
2712         (Visitor.prototype.visitProtocolDecl):
2713
2714 2017-09-19  Ryan Haddad  <ryanhaddad@apple.com>
2715
2716         Unreviewed follow-up to r222229, remove invalid triggers.
2717
2718         * BuildSlaveSupport/build.webkit.org-config/config.json:
2719
2720 2017-09-19  Simon Fraser  <simon.fraser@apple.com>
2721
2722         tiled-drawing/tiled-backing-in-window.html fails on Retina displays
2723         https://bugs.webkit.org/show_bug.cgi?id=177113
2724
2725         Reviewed by Tim Horton.
2726
2727         This test removes the view from the window, and then dumps the layer tree, at which point
2728         some layers would report a contentsScale of 2 on Retina displays.
2729
2730         This occurs because WebKitTestRunner overrides the default device scale factor on NSWindow,
2731         but windowless views fall back to [NSScreen mainScreen].backingScaleFactor (in WebViewImpl::intrinsicDeviceScaleFactor()).
2732
2733         Fix by having PlatformWebView::changeWindowScaleIfNeeded() call -_setOverrideDeviceScaleFactor: on the view.
2734
2735         * WebKitTestRunner/mac/PlatformWebViewMac.mm:
2736         (WTR::PlatformWebView::changeWindowScaleIfNeeded):
2737
2738 2017-09-19  Wenson Hsieh  <wenson_hsieh@apple.com>
2739
2740         REGRESSION (r215613): Incorrect corners clipping with border-radius
2741         https://bugs.webkit.org/show_bug.cgi?id=176498
2742         <rdar://problem/34112607>
2743
2744         Reviewed by Tim Horton.
2745
2746         Add WebCore API tests for RoundedRect::contains().
2747
2748         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2749         * TestWebKitAPI/Tests/WebCore/RoundedRectTests.cpp: Added.
2750         (TestWebKitAPI::layoutRect):
2751         (TestWebKitAPI::TEST):
2752
2753 2017-09-19  Youenn Fablet  <youenn@apple.com>
2754
2755         Allow WTF::map to use any class that is iterable and has a size getter
2756         https://bugs.webkit.org/show_bug.cgi?id=177026
2757
2758         Reviewed by Darin Adler.
2759
2760         * TestWebKitAPI/Tests/WTF/Vector.cpp:
2761         (TestWebKitAPI::TEST):
2762
2763 2017-09-19  Ryan Haddad  <ryanhaddad@apple.com>
2764
2765         Update bot configuration for iOS 11.
2766         https://bugs.webkit.org/show_bug.cgi?id=177165
2767
2768         Reviewed by Alexey Proskuryakov.
2769
2770         * BuildSlaveSupport/build.webkit.org-config/config.json:
2771         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
2772         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
2773         (BubbleQueueServer):
2774         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
2775         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
2776         (WebKitBuildbot):
2777         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
2778         (table.queue-grid tr.platform.ios-simulator-10 img.logo): Deleted.
2779         (table.queue-grid tr.platform.ios-10 img.logo): Deleted.
2780         * BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
2781         (_should_file_trigger_build):
2782         * BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
2783         (ShouldBuildTest):
2784         (ShouldBuildTest.test_should_build):
2785
2786 2017-09-19  Filip Pizlo  <fpizlo@apple.com>
2787
2788         Primitive protocol should have capital name
2789         https://bugs.webkit.org/show_bug.cgi?id=177097
2790
2791         Reviewed by JF Bastien.
2792         
2793         As soon as I started programming in WSL, I found that I preferred to capitalize protocol names. So, my
2794         early decision to call the primitive protocol "primitive" instead of "Primitive" seems absurd now. This
2795         change reverses that decision.
2796         
2797         Aesthetically, this is a slight improvement. For example:
2798         
2799             struct Bar<T:Primitive> {
2800                 Foo<device T^> f;
2801             }
2802
2803         This makes more sense since all of the non-keyword type identifiers are capital.
2804         
2805         The one place where this is an aesthetic regression is native primitive typedefs, which now look like:
2806         
2807             native Primitive typedef bool;
2808         
2809         I'm happy with that tradeoff, since native typedefs are only in the standard library. Users don't see
2810         this.
2811
2812         * WebGPUShadingLanguageRI/AddressSpace.js:
2813         (protocolSuffix):
2814         * WebGPUShadingLanguageRI/Intrinsics.js:
2815         (Intrinsics):
2816         * WebGPUShadingLanguageRI/NativeType.js:
2817         (NativeType.prototype.toString):
2818         (NativeType):
2819         * WebGPUShadingLanguageRI/Parse.js:
2820         (parseNative):
2821         * WebGPUShadingLanguageRI/StandardLibrary.js:
2822         * WebGPUShadingLanguageRI/Test.js:
2823         (TEST_passNullAndNotNullFullPoly):
2824         (TEST_passNullAndNotNullFullPolyReverse):
2825
2826 2017-09-18  Filip Pizlo  <fpizlo@apple.com>
2827
2828         Cannot put typedefs of templated structs inside structs
2829         https://bugs.webkit.org/show_bug.cgi?id=177123
2830
2831         Reviewed by Michael Saboff.
2832         
2833         Ever since I wrote the generic type instantiation code in WSL, it had a bizarre stink to it. I
2834         did not know what it was, until I met this test case:
2835         
2836             struct Foo { int2 x; }
2837         
2838         The problem was that Type has a getter called instantiatedType, which invoked
2839         InstantiateImmediates. That's great. Where we went wrong was that TypeRef overrode
2840         instantiatedType, and then InstantiateImmediates called TypeRef.instantiatedType from its
2841         visitTypeRef. What a mess. None of that was necessary for anything, and it was just wrong. This
2842         patch fixes it so that:
2843         
2844         - Type has an instantiatedType getter, which does InstantiateImmediates. I didn't change this.
2845           This was the only part of the status quo that really made sense.
2846         
2847         - TypeRef no longer overrides instantiatedType.
2848         
2849         - InstantianteImmediates.prototype.visitTypeRef now does what TypeRef's instantiatedType would
2850           have done.
2851         
2852         And voila! This test case passes and so do all of the other test cases.
2853         
2854         The reason why that specific test case did not work was that the use of a TypeDef (int2) for
2855         a generic type instantiation (vec2<int>) caused there to be two TypeRef's in a row, sorta like
2856         this, if we could use wrap() to denote a TypeRef that just wrapped another type:
2857         
2858             wrap(vec2<int>)
2859         
2860         We would call instantiatedType on this monstrosity. Since TypeRef overrode instantiatedType,
2861         we would stop there because that TypeRef has no type arguments - it's just a wrapper. Well,
2862         actually, we'd do something a bit stranger than stopping there - there's more to the story -
2863         but the effect was the same. Now we do InstantiateImmediates, which recursively builds a new
2864         type. This chews through the wrapper and then instantiates the wrapped type, as we want it to.
2865         Also, this approach no longer has the stink. instantiatedType isn't overriden by anyone
2866         anymore!
2867
2868         * WebGPUShadingLanguageRI/Checker.js:
2869         * WebGPUShadingLanguageRI/InstantiateImmediates.js:
2870         (InstantiateImmediates.prototype.visitTypeRef):
2871         (InstantiateImmediates.prototype.visitReferenceType): Deleted.
2872         * WebGPUShadingLanguageRI/Test.js:
2873         (TEST_instantiateStructInStructWithInt2):
2874         * WebGPUShadingLanguageRI/TypeRef.js:
2875         (TypeRef.wrap):
2876         (TypeRef.prototype.setTypeAndArguments):
2877         (TypeRef.prototype.toString):
2878         (TypeRef):
2879         (TypeRef.prototype.get instantiatedType): Deleted.
2880
2881 2017-09-19  Per Arne Vollan  <pvollan@apple.com>
2882
2883         [Win] WebKit fails to build with 64-bit Perl.
2884         https://bugs.webkit.org/show_bug.cgi?id=177106
2885
2886         Reviewed by Brent Fulgham.
2887
2888         Visual Studio is installed in the 32-bit program files folder.
2889  
2890         * Scripts/webkitdirs.pm:
2891         (programFilesPathX86):
2892         (visualStudioInstallDir):
2893         (msBuildInstallDir):
2894
2895 2017-09-18  Filip Pizlo  <fpizlo@apple.com>
2896
2897         [WSL] Cannot put templated structs inside structs
2898         https://bugs.webkit.org/show_bug.cgi?id=177120
2899
2900         Reviewed by Myles Maxfield.
2901         
2902         It turns out that we still need to instantiate structs even if not passing type arguments,
2903         since its fields may need to be instantiated.
2904         
2905         This makes Myles's test case pass. When writing the test case, I encountered parser bugs, and
2906         I fixed them.
2907
2908         * WebGPUShadingLanguageRI/CallFunction.js:
2909         (callFunction):
2910         * WebGPUShadingLanguageRI/Checker.js:
2911         (Checker.prototype.visitReferenceType):
2912         * WebGPUShadingLanguageRI/FuncInstantiator.js:
2913         (FuncInstantiator.prototype.getUnique):
2914         (FuncInstantiator):
2915         * WebGPUShadingLanguageRI/Parse.js:
2916         (parseSuffixOperator):
2917         (parsePossibleSuffix):
2918         (parsePostIncrement):
2919         * WebGPUShadingLanguageRI/StructType.js:
2920         (StructType.prototype.instantiate):
2921         * WebGPUShadingLanguageRI/Test.js:
2922         (checkNumber):
2923         (checkEnum):
2924         (TEST_instantiateStructInStruct):
2925         * WebGPUShadingLanguageRI/TypeRef.js:
2926         (TypeRef.prototype.get instantiatedType):
2927         (TypeRef.prototype.get isPrimitive):
2928
2929 2017-09-18  Filip Pizlo  <fpizlo@apple.com>
2930
2931         WSL should support enum
2932         https://bugs.webkit.org/show_bug.cgi?id=176977
2933
2934         Reviewed by Myles Maxfield.
2935         
2936         This implements enum. Enums members are referenced Java-style. For example, if we have an enum like:
2937         
2938             enum Bank {
2939                 GP,
2940                 FP
2941             }
2942         
2943         Then you refer to the members by saying Bank.GP and Bank.FP.
2944         
2945         Also adds a hack that makes operator- on a literal fold the literal. This fixes two issues:
2946         
2947         - Lets you use negative literals in constexprs.
2948         - Means that negative literals also get literal type unification.
2949         
2950         WSL's constexpr support is really thin, but I think it's all we really need for now.
2951         
2952         * WebGPUShadingLanguageRI/All.js:
2953         * WebGPUShadingLanguageRI/Checker.js:
2954         (Checker.prototype.visitEnumType):
2955         (Checker.prototype.visitEnumLiteral):
2956         * WebGPUShadingLanguageRI/ConstexprFolder.js: Added.
2957         (ConstexprFolder.prototype.visitCallExpression):
2958         (ConstexprFolder.prototype.visitTypeOrVariableRef):
2959         (ConstexprFolder):
2960         * WebGPUShadingLanguageRI/CreateLiteral.js:
2961         (createLiteral.GenericLiteral.prototype.get valueForSelectedType):
2962         (createLiteral.GenericLiteral.prototype.get negConstexpr):
2963         * WebGPUShadingLanguageRI/DoubleLiteral.js:
2964         (let.DoubleLiteral.createLiteral.negConstexpr):
2965         * WebGPUShadingLanguageRI/EBufferBuilder.js:
2966         (EBufferBuilder.prototype.visitEnumLiteral):
2967         * WebGPUShadingLanguageRI/EnumLiteral.js: Added.
2968         (EnumLiteral):
2969         (EnumLiteral.prototype.get member):
2970         (EnumLiteral.prototype.get type):
2971         (EnumLiteral.prototype.get isConstexpr):
2972         (EnumLiteral.prototype.unifyImpl):
2973         (EnumLiteral.prototype.toString):
2974         * WebGPUShadingLanguageRI/EnumMember.js: Added.
2975         (EnumMember):
2976         (EnumMember.prototype.get origin):
2977         (EnumMember.prototype.get name):
2978         (EnumMember.prototype.toString):
2979         * WebGPUShadingLanguageRI/EnumType.js: Added.
2980         (EnumType):
2981         (EnumType.prototype.add):
2982         (EnumType.prototype.get origin):
2983         (EnumType.prototype.get name):
2984         (EnumType.prototype.get baseType):
2985         (EnumType.prototype.get memberNames):
2986         (EnumType.prototype.memberByName):
2987         (EnumType.prototype.get members):
2988         (EnumType.prototype.get memberMap):
2989         (EnumType.prototype.get isPrimitive):
2990         (EnumType.prototype.populateDefaultValue):
2991         (EnumType.prototype.get size):
2992         (EnumType.prototype.toString):
2993         * WebGPUShadingLanguageRI/Evaluator.js:
2994         (Evaluator.prototype.visitGenericLiteral):
2995         (Evaluator.prototype.visitEnumLiteral):
2996         * WebGPUShadingLanguageRI/FloatLiteral.js:
2997         (let.FloatLiteral.createLiteral.negConstexpr):
2998         * WebGPUShadingLanguageRI/FoldConstexprs.js: Added.
2999         (foldConstexprs):
3000         * WebGPUShadingLanguageRI/IntLiteral.js:
3001         (let.IntLiteral.createLiteral.negConstexpr):
3002         * WebGPUShadingLanguageRI/Intrinsics.js:
3003         (Intrinsics):
3004         * WebGPUShadingLanguageRI/NameResolver.js:
3005         (NameResolver.prototype.visitProtocolDecl):
3006         * WebGPUShadingLanguageRI/Parse.js:
3007         (parseConstexpr):
3008         (parsePossibleSuffix):
3009         (parseEnumMember):
3010         (parseEnumType):
3011         (parse):
3012         * WebGPUShadingLanguageRI/Prepare.js:
3013         (prepare):
3014         * WebGPUShadingLanguageRI/Rewriter.js:
3015         (Rewriter.prototype.visitEnumType):
3016         (Rewriter.prototype.visitEnumMember):
3017         (Rewriter.prototype.visitEnumLiteral):
3018         * WebGPUShadingLanguageRI/StructType.js:
3019         (StructType.prototype.get origin):
3020         (StructType.prototype.instantiate):
3021         * WebGPUShadingLanguageRI/SynthesizeEnumFunctions.js: Added.
3022         (synthesizeEnumFunctions):
3023         * WebGPUShadingLanguageRI/Test.html:
3024         * WebGPUShadingLanguageRI/Test.js:
3025         (checkEnum):
3026         (TEST_simpleEnum):
3027         (TEST_enumWithManualValues):
3028         (TEST_enumWithoutZero):
3029         (TEST_enumConstexprGenericFunction):
3030         (TEST_enumConstexprGenericStruct):
3031         * WebGPUShadingLanguageRI/UintLiteral.js:
3032         (let.UintLiteral.createLiteral.negConstexpr):
3033         * WebGPUShadingLanguageRI/Visitor.js:
3034         (Visitor.prototype.visitProtocolDecl):
3035
3036 2017-09-18  Filip Pizlo  <fpizlo@apple.com>
3037
3038         WSL prepare() should cache the parsed standard library
3039         https://bugs.webkit.org/show_bug.cgi?id=177118
3040
3041         Reviewed by Myles Maxfield.
3042         
3043         The execution time of Test.js is too damn high!
3044         
3045         So I made it 2x faster by caching the parsed standard library.
3046
3047         * WebGPUShadingLanguageRI/All.js:
3048         * WebGPUShadingLanguageRI/CloneProgram.js: Added.
3049         (cloneProgram):
3050         * WebGPUShadingLanguageRI/Prepare.js:
3051         (let.prepare):
3052         (prepare): Deleted.
3053         * WebGPUShadingLanguageRI/StatementCloner.js: Added.
3054         (StatementCloner.prototype.visitFuncDef):
3055         (StatementCloner.prototype.visitNativeFunc):
3056         (StatementCloner.prototype.visitNativeType):
3057         (StatementCloner.prototype.visitTypeDef):
3058         (StatementCloner.prototype.visitStructType):
3059         (StatementCloner.prototype.visitConstexprTypeParameter):
3060         (StatementCloner.prototype.visitProtocolDecl):
3061         * WebGPUShadingLanguageRI/Test.html:
3062         * WebGPUShadingLanguageRI/Test.js:
3063         (doTest):
3064
3065 2017-09-18  Michael Catanzaro  <mcatanzaro@igalia.com>
3066
3067         [CMake] Rename WebKit target to WebKitLegacy and rename WebKit2 target to WebKit
3068         https://bugs.webkit.org/show_bug.cgi?id=174558
3069
3070         Reviewed by Alex Christensen.
3071
3072         With help from Stephan Szabo, thanks!
3073
3074         * DumpRenderTree/PlatformMac.cmake:
3075         * DumpRenderTree/PlatformWin.cmake:
3076         * DumpRenderTree/win/AccessibilityControllerWin.cpp:
3077         * DumpRenderTree/win/DRTDesktopNotificationPresenter.h:
3078         * DumpRenderTree/win/DumpRenderTree.cpp:
3079         * DumpRenderTree/win/EditingDelegate.h:
3080         * DumpRenderTree/win/EventSender.cpp:
3081         * DumpRenderTree/win/FrameLoadDelegate.cpp:
3082         * DumpRenderTree/win/FrameLoadDelegate.h:
3083         * DumpRenderTree/win/GCControllerWin.cpp:
3084         * DumpRenderTree/win/HistoryDelegate.cpp:
3085         * DumpRenderTree/win/HistoryDelegate.h:
3086         * DumpRenderTree/win/PolicyDelegate.h:
3087         * DumpRenderTree/win/ResourceLoadDelegate.cpp:
3088         * DumpRenderTree/win/ResourceLoadDelegate.h:
3089         * DumpRenderTree/win/TestRunnerWin.cpp:
3090         * DumpRenderTree/win/TextInputControllerWin.cpp:
3091         * DumpRenderTree/win/UIDelegate.cpp:
3092         * DumpRenderTree/win/UIDelegate.h:
3093         * DumpRenderTree/win/WorkQueueItemWin.cpp:
3094         * MiniBrowser/gtk/CMakeLists.txt:
3095         * MiniBrowser/mac/CMakeLists.txt:
3096         * MiniBrowser/win/AccessibilityDelegate.cpp:
3097         * MiniBrowser/win/AccessibilityDelegate.h:
3098         * MiniBrowser/win/CMakeLists.txt:
3099         * MiniBrowser/win/Common.cpp:
3100         * MiniBrowser/win/DOMDefaultImpl.h:
3101         * MiniBrowser/win/MiniBrowser.cpp:
3102         * MiniBrowser/win/MiniBrowser.h:
3103         * MiniBrowser/win/MiniBrowserWebHost.cpp:
3104         * MiniBrowser/win/MiniBrowserWebHost.h:
3105         * MiniBrowser/win/PageLoadTestClient.h:
3106         * MiniBrowser/win/PrintWebUIDelegate.cpp:
3107         * MiniBrowser/win/PrintWebUIDelegate.h:
3108         * MiniBrowser/win/ResourceLoadDelegate.cpp:
3109         * MiniBrowser/win/ResourceLoadDelegate.h:
3110         * MiniBrowser/win/WebDownloadDelegate.h:
3111         * TestWebKitAPI/CMakeLists.txt:
3112         * TestWebKitAPI/PlatformGTK.cmake:
3113         * TestWebKitAPI/PlatformWPE.cmake:
3114         * TestWebKitAPI/PlatformWin.cmake:
3115         * TestWebKitAPI/Tests/WebKitLegacy/win/ScaleWebView.cpp:
3116         * TestWebKitAPI/Tests/WebKitLegacy/win/WebViewDestruction.cpp:
3117         * TestWebKitAPI/glib/CMakeLists.txt:
3118         * WebKitTestRunner/CMakeLists.txt:
3119         * WebKitTestRunner/PlatformGTK.cmake:
3120         * WebKitTestRunner/PlatformWPE.cmake:
3121
3122 2017-09-18  Myles C. Maxfield  <mmaxfield@apple.com>
3123
3124         Fill out vector types in WSL's standard library
3125         https://bugs.webkit.org/show_bug.cgi?id=177063
3126
3127         Reviewed by Filip Pizlo.
3128
3129         Now that we have struct types, operator&[], and operator==, fill out a few of the builtin vector types in the
3130         standard library. This patch creates three new types: vec2, vec3, and vec4, each of which takes a type
3131         argument, so you can say vec4<float>. This patch also adds typedefs of int4, uint4, float4, and double4 (along
3132         with their 2- and 3- length siblings).
3133
3134         This patch does not include the swizzling operators, so you can't say float4.yzw.
3135
3136         * WebGPUShadingLanguageRI/StandardLibrary.js:
3137         (operator.T.vec2.T):
3138         (bool.operator.T.Equatable):
3139         (thread.T.operator.T):
3140         (operator.T.vec3.T):
3141         (operator.T.vec4.T):
3142         * WebGPUShadingLanguageRI/Test.js:
3143         (TEST_builtinVectors):
3144
3145 2017-09-18  Myles C. Maxfield  <mmaxfield@apple.com>
3146
3147         WSL needs to annotate vertex shaders and fragment shaders
3148         https://bugs.webkit.org/show_bug.cgi?id=177066
3149
3150         Reviewed by Filip Pizlo.
3151
3152         Metal Shading Language requires annotating vertex and fragment shaders, so this information needs to be in
3153         the source WSL file.
3154
3155         * WebGPUShadingLanguageRI/Func.js:
3156         (Func):
3157         (Func.prototype.get shaderType):
3158         * WebGPUShadingLanguageRI/FuncDef.js:
3159         (FuncDef):
3160         * WebGPUShadingLanguageRI/NativeFunc.js:
3161         (NativeFunc):
3162         * WebGPUShadingLanguageRI/Parse.js:
3163         (parseFuncDecl):
3164         (parseProtocolFuncDecl):
3165         (parseFuncDef):
3166         (parseNativeFunc):
3167         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
3168         (resolveOverloadImpl):
3169         * WebGPUShadingLanguageRI/Test.js:
3170
3171 2017-09-18  Filip Pizlo  <fpizlo@apple.com>
3172
3173         WSL should know that constexpr parameters are not lvalues
3174         https://bugs.webkit.org/show_bug.cgi?id=177104
3175
3176         Reviewed by Saam Barati.
3177         
3178         This should be an error:
3179         
3180             void foo<int x>()
3181             {
3182                 x = 42;
3183             }
3184         
3185         Previously, it wasn't, because VariableRef always thought that it was an LValue. This patch
3186         teaches the type checker that not all VariableRefs are LValues.
3187
3188         * WebGPUShadingLanguageRI/ConstexprTypeParameter.js:
3189         (ConstexprTypeParameter.prototype.get varIsLValue):
3190         * WebGPUShadingLanguageRI/FuncParameter.js:
3191         (FuncParameter.prototype.get varIsLValue):
3192         * WebGPUShadingLanguageRI/Test.js:
3193         (TEST_nonArrayRefArrayLengthSucceed):
3194         (TEST_nonArrayRefArrayLengthFail):
3195         (TEST_nonArrayRefArrayLength): Deleted.
3196         (TEST_assignLength): Deleted.
3197         * WebGPUShadingLanguageRI/VariableDecl.js:
3198         (VariableDecl.prototype.get varIsLValue):
3199         * WebGPUShadingLanguageRI/VariableRef.js:
3200         (VariableRef.prototype.get isLValue):
3201
3202 2017-09-18  Ryan Haddad  <ryanhaddad@apple.com>
3203
3204         Unreviewed, rolling out r222170.
3205
3206         The API test added with this change is failing.
3207
3208         Reverted changeset:
3209
3210         "Allow WTF::map to use any class that is iterable and has a
3211         size getter"
3212         https://bugs.webkit.org/show_bug.cgi?id=177026
3213         http://trac.webkit.org/changeset/222170
3214
3215 2017-09-18  Myles C. Maxfield  <mmaxfield@apple.com>
3216
3217         Add a section in WSL's documentation about how API objects and WSL interact
3218         https://bugs.webkit.org/show_bug.cgi?id=177089
3219
3220         Reviewed by Filip Pizlo.
3221
3222         No global variables; entry points accept arguments. Buffers are array references ([]),
3223         and texture and sampler opaque types exist. Data is passed between stages in return
3224         values.
3225
3226         * WebGPUShadingLanguageRI/WSL.md:
3227
3228 2017-09-18  Filip Pizlo  <fpizlo@apple.com>
3229
3230         Unreviewed, fix typo.
3231
3232         * WebGPUShadingLanguageRI/WSL.md:
3233
3234 2017-09-18  Filip Pizlo  <fpizlo@apple.com>
3235
3236         WSL cannot use typedefs of arrays
3237         https://bugs.webkit.org/show_bug.cgi?id=177061
3238
3239         Reviewed by Saam Barati.
3240         
3241         This test case didn't work before because of a missing visit call in Checker.
3242
3243         * WebGPUShadingLanguageRI/Checker.js:
3244         (Checker.prototype.visitTypeRef):
3245         * WebGPUShadingLanguageRI/Test.js:
3246         (TEST_typedefArray):
3247
3248 2017-09-18  Youenn Fablet  <youenn@apple.com>
3249
3250         Allow WTF::map to use any class that is iterable and has a size getter
3251         https://bugs.webkit.org/show_bug.cgi?id=177026
3252
3253         Reviewed by Darin Adler.
3254
3255         * TestWebKitAPI/Tests/WTF/Vector.cpp:
3256         (TestWebKitAPI::TEST):
3257
3258 2017-09-16  Filip Pizlo  <fpizlo@apple.com>
3259
3260         Figure out how WSL will support field overloads like float4.xz and friends
3261         https://bugs.webkit.org/show_bug.cgi?id=177031
3262
3263         Reviewed by JF Bastien.
3264         
3265         WSL needs to support getters and setters, so that we can do things like:
3266         
3267             float4 vec;
3268             vec.zx = float2(1, 2);
3269             // z = 1, x = 2
3270         
3271         There's no way to express this float4.zx returning a pointer to something, since it's doing swizzling.
3272         It could return a crazy smart pointer, but that sounds like a lot of work. So, I decided to go for
3273         lvalue emulation instead.
3274         
3275         The idea of lvalue emulation is that when we try to make an lvalue work for an assignment or RMW
3276         operation (like += and friends), we consider the possibility that we have to first load the value using
3277         a getter and then store it with a setter. This patch makes this work recursively, so that this will
3278         work:
3279         
3280             float4 vec;
3281             vec.zwx.y = 42;
3282             // now w is 42
3283         
3284         This works because we decompose it automatically:
3285         
3286             float4 vec;
3287             float3 tmp = vec.zwx;
3288             tmp.y = 42;
3289             vec.zwx = tmp;
3290         
3291         This'll work to any depth.
3292         
3293         To check if this works, this patch adds two substantial new tests called TEST_genericAccessors() and
3294         TEST_bitSubscriptAccessor(). This tests that this stuff works with a lot of generic types, and that it's
3295         possible to turn integers into bitvectors using subscript overloading. This patch also adds smaller unit
3296         tests also.
3297         
3298         Oh, and it's now possible to get an array's length.
3299
3300         * WebGPUShadingLanguageRI/AddressSpace.js:
3301         (needsPrimitiveProtocol):
3302         (protocolSuffix):
3303         * WebGPUShadingLanguageRI/All.js:
3304         * WebGPUShadingLanguageRI/AnonymousVariable.js: Added.
3305         (AnonymousVariable):
3306         (AnonymousVariable.prototype.get origin):
3307         (AnonymousVariable.prototype.get name):
3308         (AnonymousVariable.prototype.toString):
3309         * WebGPUShadingLanguageRI/ArrayRefType.js:
3310         (ArrayRefType.prototype.argumentForAndOverload):
3311         (ArrayRefType.prototype.argumentTypeForAndOverload):
3312         * WebGPUShadingLanguageRI/ArrayType.js:
3313         (ArrayType.prototype.argumentForAndOverload):
3314         (ArrayType.prototype.argumentTypeForAndOverload):
3315         (ArrayType):
3316         * WebGPUShadingLanguageRI/Assignment.js:
3317         (Assignment):
3318         * WebGPUShadingLanguageRI/CallAssignment.js: Removed.
3319         * WebGPUShadingLanguageRI/CallExpression.js:
3320         (CallExpression.resolve):
3321         (CallExpression.prototype.resolve):
3322         (CallExpression.prototype.resolveToOverload):
3323         * WebGPUShadingLanguageRI/Checker.js:
3324         (Checker.prototype.visitProgram):
3325         (Checker.prototype.visitFuncDef):
3326         (Checker.prototype.visitNativeFunc):
3327         (Checker.prototype.visitProtocolDecl):
3328         (Checker.prototype.visitIdentityExpression):
3329         (Checker.prototype.visitReadModifyWriteExpression):
3330         (Checker.prototype.visitAnonymousVariable):
3331         (Checker.prototype.visitMakeArrayRefExpression):
3332         (Checker.prototype._finishVisitingPropertyAccess):
3333         (Checker.prototype.visitDotExpression):
3334         (Checker.prototype.visitIndexExpression):
3335         (Checker.prototype.visitCallExpression):
3336         (Checker):
3337         (Checker.prototype.visitProtocolDecl.NoticeTypeVariable.prototype.visitTypeRef): Deleted.
3338         (Checker.prototype.visitProtocolDecl.NoticeTypeVariable.prototype.visitVariableRef): Deleted.
3339         (Checker.prototype.visitProtocolDecl.NoticeTypeVariable): Deleted.
3340         (Checker.prototype.visitProtocolDecl.set throw): Deleted.
3341         * WebGPUShadingLanguageRI/CommaExpression.js:
3342         * WebGPUShadingLanguageRI/DotExpression.js:
3343         (DotExpression):
3344         (DotExpression.prototype.get struct):
3345         (DotExpression.prototype.get getFuncName):
3346         (DotExpression.prototype.get andFuncName):
3347         (DotExpression.prototype.get setFuncName):
3348         * WebGPUShadingLanguageRI/EBuffer.js:
3349         * WebGPUShadingLanguageRI/EBufferBuilder.js:
3350         (EBufferBuilder.prototype.visitAnonymousVariable):
3351         (EBufferBuilder.prototype.visitLetExpression): Deleted.
3352         * WebGPUShadingLanguageRI/Evaluator.js:
3353         (Evaluator.prototype.visitIdentityExpression):
3354         (Evaluator.prototype.visitMakePtrExpression):
3355         (Evaluator.prototype.visitAnonymousVariable):
3356         (Evaluator.prototype.visitDotExpression): Deleted.
3357         (Evaluator.prototype.visitLetExpression): Deleted.
3358         * WebGPUShadingLanguageRI/ExpressionFinder.js:
3359         (ExpressionFinder.prototype.visitReadModifyWriteExpression):
3360         (ExpressionFinder.prototype.visitIdentityExpression):
3361         * WebGPUShadingLanguageRI/ForLoop.js:
3362         (ForLoop.prototype.toString):
3363         (ForLoop):
3364         * WebGPUShadingLanguageRI/Func.js:
3365         (Func):
3366         * WebGPUShadingLanguageRI/FuncInstantiator.js:
3367         (FuncInstantiator.prototype.getUnique.InstantiationSubstitution.prototype.visitCallExpression):
3368         (FuncInstantiator.prototype.getUnique.InstantiationSubstitution):
3369         (FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitFuncDef):
3370         (FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitNativeFunc):
3371         (FuncInstantiator.prototype.getUnique.Instantiate):
3372         (FuncInstantiator.prototype.getUnique):
3373         (FuncInstantiator):
3374         * WebGPUShadingLanguageRI/IdentityExpression.js: Added.
3375         (IdentityExpression):
3376         (IdentityExpression.prototype.get target):
3377         (IdentityExpression.prototype.get unifyNode):
3378         (IdentityExpression.prototype.get isConstexpr):
3379         (IdentityExpression.prototype.get isLValue):
3380         (IdentityExpression.prototype.get addressSpace):
3381         (IdentityExpression.prototype.toString):
3382         * WebGPUShadingLanguageRI/IndexExpression.js: Added.
3383         (IndexExpression):
3384         (IndexExpression.prototype.get array):
3385         (IndexExpression.prototype.get index):
3386         (IndexExpression.prototype.get isLValue):
3387         (IndexExpression.prototype.get addressSpace):
3388         (IndexExpression.prototype.get getFuncName):
3389         (IndexExpression.prototype.get andFuncName):
3390         (IndexExpression.prototype.get setFuncName):
3391         (IndexExpression.prototype.toString):
3392         * WebGPUShadingLanguageRI/InferTypesForCall.js:
3393         (inferTypesForCall):
3394         * WebGPUShadingLanguageRI/Inline.js:
3395         (_inlineFunction):
3396         * WebGPUShadingLanguageRI/Inliner.js:
3397         (Inliner.prototype.visitCallExpression):
3398         (Inliner.prototype.visitDotExpression): Deleted.
3399         * WebGPUShadingLanguageRI/Intrinsics.js:
3400         (Intrinsics):
3401         * WebGPUShadingLanguageRI/LetExpression.js: Removed.
3402         * WebGPUShadingLanguageRI/MakeArrayRefExpression.js:
3403         (MakeArrayRefExpression.prototype.becomeConvertPtrToArrayRefExpression): Deleted.
3404         * WebGPUShadingLanguageRI/NameContext.js:
3405         (NameContext):
3406         (NameContext.prototype.add):
3407         (NameContext.prototype.doStatement):
3408         (NameContext.prototype.handleDefining): Deleted.
3409         (NameContext.prototype.isDefined): Deleted.
3410         (NameContext.prototype.define): Deleted.
3411         (NameContext.prototype.defineAll): Deleted.
3412         * WebGPUShadingLanguageRI/NameResolver.js:
3413         (NameResolver.prototype.doStatement):
3414         (NameResolver.prototype.visitProtocolDecl):
3415         (NameResolver.prototype.visitProgram): Deleted.
3416         * WebGPUShadingLanguageRI/NativeFunc.js:
3417         (NativeFunc):
3418         * WebGPUShadingLanguageRI/NativeFuncInstance.js:
3419         (NativeFuncInstance):
3420         (NativeFuncInstance.prototype.get implementationData):
3421         * WebGPUShadingLanguageRI/Node.js:
3422         (Node.prototype.visit):
3423         (Node.visit):
3424         (Node.unify): Deleted.
3425         * WebGPUShadingLanguageRI/NormalUsePropertyResolver.js: Added.
3426         (NormalUsePropertyResolver.prototype.visitDotExpression):
3427         (NormalUsePropertyResolver.prototype.visitIndexExpression):
3428         (NormalUsePropertyResolver):
3429         * WebGPUShadingLanguageRI/Parse.js:
3430         (finishParsingPostIncrement):
3431         (parsePossibleSuffix):
3432         (finishParsingPreIncrement):
3433         (genericParseCommaExpression):
3434         (parseFuncName):
3435         * WebGPUShadingLanguageRI/Prepare.js:
3436         (prepare):
3437         * WebGPUShadingLanguageRI/Program.js:
3438         (Program):
3439         (Program.prototype.get globalNameContext):
3440         (Program.prototype.add):
3441         * WebGPUShadingLanguageRI/PropertyAccessExpression.js: Added.
3442         (PropertyAccessExpression):
3443         (PropertyAccessExpression.prototype.get resultType):
3444         (PropertyAccessExpression.prototype.rewriteAfterCloning):
3445         (PropertyAccessExpression.prototype.updateCallsAfterChangingBase):
3446         (PropertyAccessExpression.prototype.emitGet):
3447         (PropertyAccessExpression.prototype.emitSet):
3448         * WebGPUShadingLanguageRI/PropertyResolver.js: Added.
3449         (PropertyResolver.prototype._visitPropertyAccess):
3450         (PropertyResolver.prototype.visitDotExpression):
3451         (PropertyResolver.prototype.visitIndexExpression):
3452         (PropertyResolver.prototype._handleReadModifyWrite):
3453         (PropertyResolver.prototype.visitReadModifyWriteExpression):
3454         (PropertyResolver.prototype.visitAssignment):
3455         (PropertyResolver.visitMakePtrExpression):
3456         (PropertyResolver.prototype.visitMakeArrayRefExpression):
3457         (PropertyResolver):
3458         * WebGPUShadingLanguageRI/PtrType.js:
3459         (PtrType.prototype.argumentForAndOverload):
3460         (PtrType.prototype.argumentTypeForAndOverload):
3461         (PtrType.prototype.returnTypeFromAndOverload):
3462         * WebGPUShadingLanguageRI/ReadModifyWriteExpression.js: Added.
3463         (ReadModifyWriteExpression):
3464         (ReadModifyWriteExpression.prototype.get lValue):
3465         (ReadModifyWriteExpression.prototype.oldValueRef):
3466         (ReadModifyWriteExpression.prototype.newValueRef):
3467         (ReadModifyWriteExpression.prototype.toString):
3468         * WebGPUShadingLanguageRI/ResolveNames.js:
3469         (createNameResolver):
3470         (resolveNamesInTypes):
3471         (resolveNamesInProtocols):
3472         (resolveNamesInFunctions):
3473         (resolveNames): Deleted.
3474         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
3475         (resolveOverloadImpl):
3476         * WebGPUShadingLanguageRI/ResolveProperties.js: Added.
3477         (resolveProperties):
3478         * WebGPUShadingLanguageRI/ResolveTypeDefs.js:
3479         (resolveTypeDefsInTypes):
3480         (resolveTypeDefsInProtocols):
3481         (resolveTypeDefsInFunctions):
3482         (resolveTypeDefs): Deleted.
3483         * WebGPUShadingLanguageRI/ReturnChecker.js:
3484         (ReturnChecker.prototype._isBoolCastFromLiteralTrue):
3485         * WebGPUShadingLanguageRI/Rewriter.js:
3486         (Rewriter):
3487         (Rewriter.prototype.visitVariableDecl):
3488         (Rewriter.prototype.visitTypeRef):
3489         (Rewriter.prototype.visitAssignment):
3490         (Rewriter.prototype.visitReadModifyWriteExpression):
3491         (Rewriter.prototype.visitDereferenceExpression):
3492         (Rewriter.prototype._handlePropertyAccessExpression):
3493         (Rewriter.prototype.visitDotExpression):
3494         (Rewriter.prototype.visitIndexExpression):
3495         (Rewriter.prototype.visitReturn):
3496         (Rewriter.prototype.visitGenericLiteralType):
3497         (Rewriter.prototype.visitNullType):
3498         (Rewriter.prototype.processDerivedCallData):
3499         (Rewriter.prototype.visitCallExpression):
3500         (Rewriter.prototype.visitFunctionLikeBlock):
3501         (Rewriter.prototype.visitIfStatement):
3502         (Rewriter.prototype.visitForLoop):
3503         (Rewriter.prototype.visitAnonymousVariable):
3504         (Rewriter.prototype.visitIdentityExpression):
3505         (Rewriter.prototype.visitLetExpression): Deleted.
3506         * WebGPUShadingLanguageRI/StandardLibrary.js:
3507         * WebGPUShadingLanguageRI/StructLayoutBuilder.js:
3508         (StructLayoutBuilder.prototype.visitNativeFuncInstance):
3509         (StructLayoutBuilder):
3510         * WebGPUShadingLanguageRI/StructType.js:
3511         (StructType.prototype.instantiate):
3512         * WebGPUShadingLanguageRI/Substitution.js:
3513         (Substitution.prototype.get map):
3514         * WebGPUShadingLanguageRI/SuffixCallAssignment.js: Removed.
3515         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: Added.
3516         (synthesizeStructAccessors.createTypeParameters):
3517         (synthesizeStructAccessors.):
3518         (synthesizeStructAccessors.createFieldType):
3519         (synthesizeStructAccessors.createTypeRef):
3520         (synthesizeStructAccessors.setupAnder):
3521         (synthesizeStructAccessors):
3522         * WebGPUShadingLanguageRI/Test.html:
3523         * WebGPUShadingLanguageRI/Test.js:
3524         (checkNumber):
3525         (TEST_simpleProtocol):
3526         (TEST_assignLength):
3527         (TEST_simpleSetter):
3528         (TEST_genericAccessors):
3529         * WebGPUShadingLanguageRI/Type.js:
3530         (Type.prototype.get isRef):
3531         (Type.prototype.argumentForAndOverload):
3532         (Type.prototype.argumentTypeForAndOverload):
3533         (Type.prototype.returnTypeFromAndOverload):
3534         (Type):
3535         * WebGPUShadingLanguageRI/TypeParameterRewriter.js: Added.
3536         (TypeParameterRewriter.prototype.visitConstexprTypeParameter):
3537         (TypeParameterRewriter.prototype.visitTypeVariable):
3538         (TypeParameterRewriter):
3539         * WebGPUShadingLanguageRI/TypeVariableTracker.js: Added.
3540         (TypeVariableTracker):
3541         * WebGPUShadingLanguageRI/Value.js:
3542         (Value.prototype.become):
3543         (Value):
3544         * WebGPUShadingLanguageRI/VariableRef.js:
3545         (VariableRef.prototype.get unifyNode):
3546         (VariableRef.prototype.get addressSpace):
3547         * WebGPUShadingLanguageRI/Visitor.js:
3548         (Visitor.prototype.visitNativeFuncInstance):
3549         (Visitor.prototype.visitProtocolDecl):
3550         (Visitor): Deleted.
3551         * WebGPUShadingLanguageRI/VisitorBase.js: Removed.
3552
3553 2017-09-18  Andy Estes  <aestes@apple.com>
3554
3555         [Cocoa] Upstream WKSetCrashReportApplicationSpecificInformation() from WebKitSystemInterface
3556         https://bugs.webkit.org/show_bug.cgi?id=177048
3557
3558         Reviewed by Alex Christensen.
3559
3560         * DumpRenderTree/mac/DumpRenderTree.mm:
3561         (runTest):
3562         * WebKitTestRunner/cocoa/CrashReporterInfo.mm:
3563         (WTR::setCrashReportApplicationSpecificInformationToURL):
3564
3565 2017-09-18  Tim Horton  <timothy_horton@apple.com>
3566
3567         build-webkit spawns fewer subprocesses than ninja uses by default
3568         https://bugs.webkit.org/show_bug.cgi?id=177057
3569
3570         Reviewed by Alex Christensen.
3571
3572         * Scripts/build-webkit:
3573         By default, ninja will parallelize over (cores + 2) jobs. build-webkit
3574         specifies -j(cores), which overrides this. Remove our override if building
3575         with ninja; just let it do its own thing. In my testing, this minor
3576         change is the difference between ~10% idle CPU time and 0.
3577
3578 2017-09-18  Lucas Forschler  <lforschler@apple.com>
3579
3580         Land a patch to verify svn->git update is working.
3581
3582 2017-09-18  Ms2ger  <Ms2ger@igalia.com>
3583
3584         Update my status.
3585
3586         Unreviewed.
3587
3588         * Scripts/webkitpy/common/config/contributors.json:
3589
3590 2017-09-17  Filip Pizlo  <fpizlo@apple.com>
3591
3592         Start working on WSL documentation
3593         https://bugs.webkit.org/show_bug.cgi?id=177064
3594
3595         Reviewed by Mylex Maxfield.
3596         
3597         This is a work in progress. I'd like to check it in and then keep adding to it.
3598
3599         * WebGPUShadingLanguageRI/WSL.md: Added.
3600
3601 2017-09-17  Myles C. Maxfield  <mmaxfield@apple.com>
3602
3603         WSL needs to understand && and ||