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