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