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