Dragging & dropping a file creates an attachment element even when it's disabled
[WebKit-https.git] / Tools / ChangeLog
1 2017-09-12  Ryosuke Niwa  <rniwa@webkit.org>
2
3         Dragging & dropping a file creates an attachment element even when it's disabled
4         https://bugs.webkit.org/show_bug.cgi?id=176769
5
6         Reviewed by Tim Horton.
7
8         Added a webkit-test-runner flag to enable attachment element via runtime flag since this feature is now hidden
9         behind a runtime-enabled flag which needs to be set at the time of global object initialization.
10
11         * DumpRenderTree/TestOptions.h:
12         (TestOptions): Added.
13         * DumpRenderTree/TestOptions.mm:
14         (TestOptions::TestOptions):
15         * DumpRenderTree/mac/DumpRenderTree.mm:
16         (setWebPreferencesForTestOptions):
17         * WebKitTestRunner/TestController.cpp:
18         (WTR::TestController::resetPreferencesToConsistentValues):
19         (WTR::updateTestOptionsFromTestHeader):
20         * WebKitTestRunner/TestOptions.h:
21         (WTR::TestOptions::hasSameInitializationOptions const):
22         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
23         (WTR::TestController::platformCreateWebView):
24
25 2017-09-11  Filip Pizlo  <fpizlo@apple.com>
26
27         WSL should allow you to say "protocol Foo : Bar { ... }"
28         https://bugs.webkit.org/show_bug.cgi?id=176238
29
30         Reviewed by Mylex Maxfield.
31         
32         This makes protocol "subtyping" work. It's not really subtyping. Protocol A inherits protocol B
33         if every signature in B can be resolved against some signature in A. Also, you can explicitly
34         subtype protocols using extends syntax ("protocol Foo : Bar, Baz { ... }").
35         
36         Also makes the diagnostics when type variable constraints fail a _lot_ better. This will even
37         tell you diagnostics about why a function didn't match when protocols are not inheriting, and
38         then it will tell you why the inheritance failed.
39
40         * WebGPUShadingLanguageRI/All.js:
41         * WebGPUShadingLanguageRI/AutoWrapper.js:
42         (AutoWrapper.prototype.visitTypeVariable):
43         (AutoWrapper):
44         * WebGPUShadingLanguageRI/Checker.js:
45         (Checker.prototype.visitProtocolDecl.set throw):
46         * WebGPUShadingLanguageRI/ConstexprTypeParameter.js:
47         (ConstexprTypeParameter.prototype.verifyAsArgument):
48         (ConstexprTypeParameter.prototype.verifyAsParameter):
49         * WebGPUShadingLanguageRI/FlattenProtocolExtends.js: Added.
50         * WebGPUShadingLanguageRI/Func.js:
51         (Func.prototype.get typeParametersForCallResolution):
52         * WebGPUShadingLanguageRI/InferTypesForCall.js:
53         (inferTypesForCall):
54         * WebGPUShadingLanguageRI/IntLiteralType.js:
55         (IntLiteralType.prototype.verifyAsArgument):
56         * WebGPUShadingLanguageRI/NameResolver.js:
57         (NameResolver.prototype.visitProtocolDecl):
58         (NameResolver.prototype.visitProtocolRef): Deleted.
59         (NameResolver.prototype.visitProtocolFuncDecl): Deleted.
60         (NameResolver.prototype.visitTypeDef): Deleted.
61         (NameResolver.prototype.visitStructType): Deleted.
62         (NameResolver.prototype._resolveTypeArguments): Deleted.
63         (NameResolver.prototype.visitTypeRef): Deleted.
64         (NameResolver.prototype.visitReferenceType): Deleted.
65         (NameResolver.prototype.visitVariableDecl): Deleted.
66         (NameResolver.prototype.visitVariableRef): Deleted.
67         (NameResolver.prototype.visitReturn): Deleted.
68         (NameResolver.prototype.visitCallExpression): Deleted.
69         * WebGPUShadingLanguageRI/Node.js:
70         (Node.prototype.equals):
71         * WebGPUShadingLanguageRI/NullType.js:
72         (NullType.prototype.verifyAsArgument):
73         * WebGPUShadingLanguageRI/Parse.js:
74         (parseProtocolDecl):
75         * WebGPUShadingLanguageRI/Prepare.js:
76         (prepare):
77         * WebGPUShadingLanguageRI/ProtocolDecl.js:
78         (ProtocolDecl): Deleted.
79         (ProtocolDecl.prototype.add): Deleted.
80         (ProtocolDecl.prototype.get signatures): Deleted.
81         (ProtocolDecl.prototype.signaturesByName): Deleted.
82         (ProtocolDecl.prototype.get typeVariable): Deleted.
83         (ProtocolDecl.prototype.signaturesByNameWithTypeVariable): Deleted.
84         (ProtocolDecl.prototype.inherits): Deleted.
85         (ProtocolDecl.prototype.hasHeir): Deleted.
86         (ProtocolDecl.prototype.toString): Deleted.
87         * WebGPUShadingLanguageRI/ProtocolFuncDecl.js:
88         (ProtocolFuncDecl.prototype.get typeParametersForCallResolution):
89         (ProtocolFuncDecl):
90         * WebGPUShadingLanguageRI/Rewriter.js:
91         (Rewriter.prototype.visitProtocolDecl):
92         * WebGPUShadingLanguageRI/Test.html:
93         * WebGPUShadingLanguageRI/Test.js:
94         (TEST_nullTypeVariableUnify):
95         (TEST_simpleProtocolExtends):
96         (TEST_protocolExtendsTwo):
97         * WebGPUShadingLanguageRI/Type.js:
98         (Type.prototype.inherits):
99         * WebGPUShadingLanguageRI/TypeDefResolver.js:
100         (TypeDefResolver.prototype.visitTypeRef):
101         (TypeDefResolver):
102         * WebGPUShadingLanguageRI/TypeVariable.js:
103         (TypeVariable.prototype.inherits):
104         (TypeVariable.prototype.verifyAsArgument):
105         (TypeVariable.prototype.verifyAsParameter):
106         * WebGPUShadingLanguageRI/UnificationContext.js:
107         (UnificationContext.prototype.verify):
108         * WebGPUShadingLanguageRI/Visitor.js:
109         (Visitor.prototype.visitProtocolDecl):
110         (Visitor.prototype.visitTypeRef): Deleted.
111         (Visitor.prototype.visitNativeType): Deleted.
112         (Visitor.prototype.visitNativeTypeInstance): Deleted.
113         (Visitor.prototype.visitTypeDef): Deleted.
114         (Visitor.prototype.visitStructType): Deleted.
115         (Visitor.prototype.visitTypeVariable): Deleted.
116         (Visitor.prototype.visitConstexprTypeParameter): Deleted.
117         (Visitor.prototype.visitField): Deleted.
118         (Visitor.prototype.visitElementalType): Deleted.
119         (Visitor.prototype.visitReferenceType): Deleted.
120         (Visitor.prototype.visitPtrType): Deleted.
121         (Visitor.prototype.visitArrayRefType): Deleted.
122         (Visitor.prototype.visitArrayType): Deleted.
123         (Visitor.prototype.visitVariableDecl): Deleted.
124         (Visitor.prototype.visitAssignment): Deleted.
125         (Visitor.prototype.visitDereferenceExpression): Deleted.
126         (Visitor.prototype.visitDotExpression): Deleted.
127         (Visitor.prototype.visitMakePtrExpression): Deleted.
128         (Visitor.prototype.visitVariableRef): Deleted.
129         (Visitor.prototype.visitIfStatement): Deleted.
130         (Visitor.prototype.visitWhileLoop): Deleted.
131         (Visitor.prototype.visitDoWhileLoop): Deleted.
132         (Visitor.prototype.visitForLoop): Deleted.
133         (Visitor.prototype.visitReturn): Deleted.
134         (Visitor.prototype.visitContinue): Deleted.
135         (Visitor.prototype.visitBreak): Deleted.
136         (Visitor.prototype.visitIntLiteral): Deleted.
137         (Visitor.prototype.visitIntLiteralType): Deleted.
138         (Visitor.prototype.visitUintLiteral): Deleted.
139         (Visitor.prototype.visitNullLiteral): Deleted.
140         (Visitor.prototype.visitBoolLiteral): Deleted.
141         (Visitor.prototype.visitNullType): Deleted.
142         (Visitor.prototype.visitCallExpression): Deleted.
143         (Visitor.prototype.visitLogicalNot): Deleted.
144         (Visitor.prototype.visitFunctionLikeBlock): Deleted.
145         * WebGPUShadingLanguageRI/WrapChecker.js:
146         (WrapChecker.prototype.visitTypeVariable):
147         (WrapChecker):
148
149 2017-09-12  Carlos Garcia Campos  <cgarcia@igalia.com>
150
151         Remove duplicated test results from LayoutTest platform directories
152         https://bugs.webkit.org/show_bug.cgi?id=176686
153
154         Reviewed by Michael Catanzaro.
155
156         After several rebaselines we might end up with the same result in the platform directory than the common result
157         without noticing it. This patch adds a script to detect those cases and remove all duplicated results from the
158         repository.
159
160         * Scripts/check-for-duplicated-platform-test-results: Added.
161         (check_duplicate):
162         (check_duplicate.sha1):
163         (platform_list):
164
165 2017-09-12  Carlos Alberto Lopez Perez  <clopez@igalia.com>
166
167         The EWS build system is forcing a non UTF-8 locale and breaks meson.
168         https://bugs.webkit.org/show_bug.cgi?id=176761
169
170         Reviewed by Michael Catanzaro.
171
172         On 2011 in order to disable GCC smartquotes (UTF-8 pretty quotes)
173         that were causing trouble with the commit-queue server, the tooling
174         for the EWS bots started to force an LC_ALL=C locale.
175
176         This was needed back then apparently because the commit-queue server
177         was unable to handle properly UTF-8 text.
178
179         6 years forward and none of the ports that commit-queue tests before
180         landing a patch use GCC, but Clang. So this should not be an issue anymore.
181
182         Forcing a non UTF-8 locale breaks the Meson build system (that the
183         GTK/WPE ports use for some dependencies of its JHBuild dependencies
184         local build system).
185         It has also the potential to break things in subtle ways that are
186         hard to debug and detect. So better stop doing this.
187
188         This patch also changes TERM=none to TERM=dumb that is the proper
189         way to disable VT100 codes (see bug 127922).
190
191         * Scripts/webkitpy/common/system/environment.py:
192         (Environment.to_dictionary):
193         (Environment.disable_jhbuild_VT100_output):
194         * Scripts/webkitpy/common/system/environment_unittest.py:
195         (EnvironmentTest.test_disable_jhbuild_VT100_output):
196         * Scripts/webkitpy/port/base.py:
197         (Port._build_driver):
198         (Port._build_image_diff):
199         * Scripts/webkitpy/port/port_testcase.py:
200         (PortTestCase.test_build_driver):
201         * Scripts/webkitpy/tool/commands/download_unittest.py:
202         * Scripts/webkitpy/tool/steps/build.py:
203         (Build.build):
204         * Scripts/webkitpy/tool/steps/steps_unittest.py:
205
206 2017-09-12  Michael Catanzaro  <mcatanzaro@igalia.com>
207
208         [WPE][GTK] Run tests with G_DEBUG=fatal-criticals
209         https://bugs.webkit.org/show_bug.cgi?id=176755
210
211         Reviewed by Carlos Garcia Campos.
212
213         * Scripts/webkitpy/port/gtk.py:
214         (GtkPort.setup_environ_for_server):
215         * Scripts/webkitpy/port/wpe.py:
216         (WPEPort.setup_environ_for_server):
217
218 2017-09-12  Alex Christensen  <achristensen@webkit.org>
219
220         Fix build after r221922.
221         https://bugs.webkit.org/show_bug.cgi?id=176728
222
223         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
224         (-[ModalDelegate _webViewRunModal:]):
225         (-[ModalDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
226         (TEST):
227         svn-apply inserted the test too early in the file :(
228         Shift it down to where all the used static variables are declared.
229
230 2017-09-12  Alex Christensen  <achristensen@webkit.org>
231
232         Add WKUIDelegatePrivate equivalent of WKPageUIClient's runModal
233         https://bugs.webkit.org/show_bug.cgi?id=176728
234         <rdar://problem/29270035>
235
236         Reviewed by Tim Horton.
237
238         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
239         (-[ModalDelegate _webViewRunModal:]):
240         (-[ModalDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
241         (TEST):
242
243 2017-09-12  Daniel Bates  <dabates@apple.com>
244
245         REGRESSION (r215784): The title of right-to-left pages are empty
246         https://bugs.webkit.org/show_bug.cgi?id=176746
247         <rdar://problem/34211419>
248
249         Reviewed by Brent Fulgham.
250
251         Add unit test to ensure we do not regress StringWithDirection.truncateFromEnd().
252
253         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
254         * TestWebKitAPI/Tests/WebCore/StringWithDirection.cpp: Added.
255         (TestWebKitAPI::TEST):
256
257 2017-09-12  Alex Christensen  <achristensen@webkit.org>
258
259         Add WKUIDelegatePrivate equivalent of WKPageUIClient's decidePolicyForNotificationPermissionRequest
260         https://bugs.webkit.org/show_bug.cgi?id=176768
261         <rdar://problem/29270035>
262
263         Reviewed by Tim Horton.
264
265         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
266         (-[NotificationDelegate initWithAllowNotifications:]):
267         (-[NotificationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
268         (-[NotificationDelegate _webView:requestNotificationPermissionForSecurityOrigin:decisionHandler:]):
269         (TEST):
270
271 2017-09-12 Brent Fulgham  <bfulgham@apple.com>
272
273         Show punycode to user if a URL mixes Armenian Seh or Vo with other scripts
274         https://bugs.webkit.org/show_bug.cgi?id=176578
275         <rdar://problem/33906231>
276
277         Reviewed by Alex Christensen.
278
279         * TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
280         (TestWebKitAPI::TEST):
281
282 2017-09-12  Carlos Garcia Campos  <cgarcia@igalia.com>
283
284         [Freetype] Doesn't support coloured fonts
285         https://bugs.webkit.org/show_bug.cgi?id=156579
286
287         Reviewed by Michael Catanzaro.
288
289         Bump webkitgtk-test-fonts to 0.0.6 version that includes the EmijoOne font.
290
291         * gtk/jhbuild.modules:
292         * wpe/jhbuild.modules:
293
294 2017-09-11  Wenson Hsieh  <wenson_hsieh@apple.com>
295
296         [iOS DnD] Support DataTransfer.setDragImage when starting a drag on iOS
297         https://bugs.webkit.org/show_bug.cgi?id=176721
298         <rdar://problem/34373660>
299
300         Reviewed by Tim Horton.
301
302         In DataInteractionSimulator, ask the UIDragInteractionDelegate (WKContentView) for targeted drag previews after
303         retrieving UIDragItems during a lift. Remember these previews after the drag and drop simulation is complete, so
304         API tests (currently, just DragLiftPreviewDataTransferSetDragImage) can verify that the generated drag previews
305         are as expected.
306
307         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
308         * TestWebKitAPI/Tests/WebKitCocoa/DataTransfer-setDragImage.html: Added.
309
310         Adds a new test harness containing 5 draggable elements, each generating a drag image using different codepaths.
311         DragLiftPreviewDataTransferSetDragImage uses this page to check that the frame of the targeted drag preview in
312         each scenario is as expected.
313
314         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
315         (checkCGRectIsEqualToCGRectWithLogging):
316         (TestWebKitAPI::TEST):
317         * TestWebKitAPI/ios/DataInteractionSimulator.h:
318         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
319         (-[DataInteractionSimulator _resetSimulatedState]):
320         (-[DataInteractionSimulator _advanceProgress]):
321         (-[DataInteractionSimulator liftPreviews]):
322
323 2017-09-11  Tim Horton  <timothy_horton@apple.com>
324
325         REGRESSION (r221272): WKWebView gets stuck zoomed in if the web process crashes
326         https://bugs.webkit.org/show_bug.cgi?id=176767
327         <rdar://problem/34196874>
328
329         Reviewed by Dan Bernstein.
330
331         * TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
332         (TEST):
333         Add a test ensuring that override layout size persists through Web
334         Content process crash.
335
336 2017-09-11  Wenson Hsieh  <wenson_hsieh@apple.com>
337
338         [iOS WK2] Support tapping to add items to the current drag session in web content
339         https://bugs.webkit.org/show_bug.cgi?id=176421
340         <rdar://problem/31144674>
341
342         Reviewed by Tim Horton.
343
344         Adds a new drag and drop test that begins a drag on a text selection, adds an image and a link, and then drops
345         into a contenteditable area. This verifies that the text, link and image are inserted into the editable area
346         upon drop.
347
348         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
349         (TestWebKitAPI::TEST):
350
351 2017-09-11  Lucas Forschler  <lforschler@apple.com>
352
353         bisect-builds: add --list option
354         https://bugs.webkit.org/show_bug.cgi?id=174836
355
356         Reviewed by Aakash Jain & Stephanie Lewis.
357
358         * Scripts/bisect-builds:
359         (parse_args): add --list option
360         (minified_platforms): update supported platform list (add ios simulator)
361         (print_list_and_exit): helper function to print list and exit
362
363 2017-09-11  Wenson Hsieh  <wenson_hsieh@apple.com>
364
365         [iOS WK2] ExternalSourceDataTransferItemGetAsEntry tests produce inconsistent results on test automation bots
366         https://bugs.webkit.org/show_bug.cgi?id=176736
367
368         Reviewed by Andy Estes and Megan Gardner.
369
370         The test output dumped when dropping a file in DataTransferItem-getAsEntry.html should adhere to some deterministic order.
371         Currently, this is not enforced, so on some systems, these tests fail due to expected test output being out of order. To
372         fix this, simply have the test harness alphabetically sort the output before writing to the textarea.
373
374         * TestWebKitAPI/Tests/WebKitCocoa/DataTransferItem-getAsEntry.html:
375         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
376         (TestWebKitAPI::TEST):
377
378 2017-09-11  Ryosuke Niwa  <rniwa@webkit.org>
379
380         webkitbot should recognize commands even when colon is omitted
381         https://bugs.webkit.org/show_bug.cgi?id=176680
382         <rdar://problem/29933898>
383
384         Reviewed by Daniel Bates.
385
386         Recognize the IRC command even when : and , were not present.
387         Unfortunately, there is no unit test for this code at the moment.
388
389         * Scripts/webkitpy/common/net/irc/ircbot.py:
390         (IRCBot.on_pubmsg):
391
392 2017-09-11  Lucas Forschler  <lforschler@apple.com>
393
394         bisect-builds doesn't work due to missing requests module
395         https://bugs.webkit.org/show_bug.cgi?id=175709
396         
397         Reviewed by Ryosuke Niwa.
398
399         * Scripts/bisect-builds: use urllib2 instead of the requests module.
400         (get_s3_location_for_revision):
401         (main):
402
403 2017-09-11  Filip Pizlo  <fpizlo@apple.com>
404
405         WSL Substitution should probably wrap type variables of substituted types rather than just wrapping the whole type
406         https://bugs.webkit.org/show_bug.cgi?id=176677
407
408         Reviewed by Mylex Maxfield.
409         
410         This adds a checker that verifies that all type references and variable references are wrapped.
411         
412         Then this fixes errors found by that checker by making Substitution auto-wrap replacements rather than
413         manually wrapping the outer type (for types) and cloning (for values).
414
415         * WebGPUShadingLanguageRI/All.js:
416         * WebGPUShadingLanguageRI/AutoWrapper.js: Added.
417         (AutoWrapper.prototype.visitVariableRef):
418         (AutoWrapper.prototype.visitTypeRef):
419         (AutoWrapper.prototype.visitConstexprTypeParameter):
420         (AutoWrapper.prototype.visitFuncParameter):
421         (AutoWrapper.prototype.visitVariableDecl):
422         (AutoWrapper.prototype.visitStructType):
423         (AutoWrapper.prototype.visitNativeType):
424         (AutoWrapper):
425         * WebGPUShadingLanguageRI/CheckWrapped.js:
426         (checkExpressionWrapped):
427         (checkProgramWrapped):
428         (checkWrapped): Deleted.
429         * WebGPUShadingLanguageRI/Checker.js:
430         * WebGPUShadingLanguageRI/ExpressionFinder.js: Added.
431         (ExpressionFinder):
432         (ExpressionFinder.prototype.visitFunc):
433         (ExpressionFinder.prototype.visitFuncParameter):
434         (ExpressionFinder.prototype.visitConstexprTypeParameter):
435         (ExpressionFinder.prototype.visitAssignment):
436         (ExpressionFinder.prototype.visitCallExpression):
437         (ExpressionFinder.prototype.visitReturn):
438         (ExpressionFinder.prototype.visitWhileLoop):
439         (ExpressionFinder.prototype.visitDoWhileLoop):
440         (ExpressionFinder.prototype.visitIfStatement):
441         (ExpressionFinder.prototype.visitForLoop):
442         (ExpressionFinder.prototype.visitVariableDecl):
443         * WebGPUShadingLanguageRI/NativeFuncInstance.js:
444         (NativeFuncInstance):
445         * WebGPUShadingLanguageRI/Node.js:
446         (Node.prototype.substituteToUnification):
447         (Node):
448         (Node.prototype.clone): Deleted.
449         * WebGPUShadingLanguageRI/Prepare.js:
450         (prepare):
451         * WebGPUShadingLanguageRI/StructLayoutBuilder.js:
452         (StructLayoutBuilder.prototype.visitReferenceType):
453         (StructLayoutBuilder.prototype.visitField):
454         (StructLayoutBuilder):
455         * WebGPUShadingLanguageRI/Substitution.js:
456         (Substitution):
457         (Substitution.prototype.visitTypeRef):
458         (Substitution.prototype.visitVariableRef):
459         * WebGPUShadingLanguageRI/Test.html:
460         * WebGPUShadingLanguageRI/Test.js:
461         (TEST_chainConstexpr):
462         (TEST_chainGeneric):
463         (TEST_chainStruct):
464         (TEST_chainStructInvalid):
465         * WebGPUShadingLanguageRI/Visitor.js:
466         (Visitor.prototype.visitNativeTypeInstance):
467         * WebGPUShadingLanguageRI/WrapChecker.js:
468         (WrapChecker.prototype._foundUnwrapped.originString):
469         (WrapChecker.prototype._foundUnwrapped):
470         (WrapChecker):
471
472 2017-09-11  Ryan Haddad  <ryanhaddad@apple.com>
473
474         Fix multiple master.cfg unit test failures.
475         https://bugs.webkit.org/show_bug.cgi?id=176745
476
477         Reviewed by Alexey Proskuryakov.
478
479         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
480         (TestFactory.__init__): Add missing ':'.
481         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Update expected results for Windows and iOS build steps.
482
483 2017-09-11  Jonathan Bedard  <jbedard@apple.com>
484
485         Older versions should adopt newer version's expectations on mac
486         https://bugs.webkit.org/show_bug.cgi?id=176699
487         <rdar://problem/34367907>
488
489         Reviewed by Alexey Proskuryakov.
490
491         Before:
492                 mac-elcapitan-wk2
493                 mac-elcapitan
494                 mac-wk2
495                 mac
496                 wk2
497         After:
498                 mac-elcapitan-wk2
499                 mac-elcapitan
500                 mac-sierra-wk2
501                 mac-sierra
502                 mac-wk2
503                 mac
504                 wk2
505
506         * Scripts/webkitpy/port/mac.py:
507         (MacPort.default_baseline_search_path): Use VERSION_FALLBACK_ORDER to have old
508         versions inherit expectations from newer versions.
509         * Scripts/webkitpy/port/mac_unittest.py:
510         (MacTest.test_layout_test_searchpath_with_apple_additions): Check new behavior
511         with older versions inheriting expectations from newer versions.
512
513 2017-09-11  Ryan Haddad  <ryanhaddad@apple.com>
514
515         Skip JSC test wsl-tests.yaml/Test.js
516         https://bugs.webkit.org/show_bug.cgi?id=176727
517
518         Unreviewed test gardening.
519
520         * WebGPUShadingLanguageRI/wsl-tests.yaml:
521
522 2017-09-11  Alex Christensen  <achristensen@webkit.org>
523
524         Add WKUIDelegatePrivate equivalent of WKPageUIClient's decidePolicyForGeolocationPermissionRequest
525         https://bugs.webkit.org/show_bug.cgi?id=176642
526         <rdar://problem/29270035>
527
528         Reviewed by Darin Adler.
529
530         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
531         (-[GeolocationDelegate initWithAllowGeolocation:]):
532         (-[GeolocationDelegate _webView:requestGeolocationPermissionForFrame:decisionHandler:]):
533         (-[GeolocationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
534         (TEST):
535
536 2017-09-11  Wenson Hsieh  <wenson_hsieh@apple.com>
537
538         [iOS DnD] Elements in the DOM with the `draggable` attribute should be draggable
539         https://bugs.webkit.org/show_bug.cgi?id=176664
540         <rdar://problem/32596156>
541
542         Reviewed by Tim Horton.
543
544         Adds a new API test checking that elements marked as drag sources via the `draggable` attribute can be dragged
545         with a non-null drag preview. Additionally, refactor the drag and drop simulator to not plumb drag/drop
546         interaction delegate calls through to the WKContentView via -_simulate*-prefixed testing SPI, but rather
547         by grabbing the WKWebView's drag and drop interaction delegates (i.e. the WKContentView) and calling delegate
548         methods directly. This avoids requiring boilerplate plumbing on WKWebView and WKContentView for each of the drag
549         and drop delegate methods, so these have been removed from WKWebView and WKContentView.
550
551         Additionally, renames MockDataOperationSession and MockDataInteractionSession to MockDragSession and
552         MockDropSession, respectively, and adjusts their ivars on DataInteractionSimulator to match.
553
554         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
555         * TestWebKitAPI/Tests/WebKitCocoa/custom-draggable-div.html: Added.
556
557         Add a new test harness covering dragging and dropping elements with the draggable attribute, using DataTransfer
558         API (setData and getData) as well.
559
560         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
561         (TestWebKitAPI::TEST):
562         * TestWebKitAPI/ios/DataInteractionSimulator.h:
563         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
564         (-[WKWebView dropInteractionDelegate]):
565         (-[WKWebView dragInteractionDelegate]):
566         (-[WKWebView dropInteraction]):
567         (-[WKWebView dragInteraction]):
568
569         Add testing utilities to ask a WKWebView for information about its drag/drop interactions and delegates. In this
570         case, this will return the WKWebView's WKContentView.
571
572         (-[DataInteractionSimulator _resetSimulatedState]):
573         (-[DataInteractionSimulator simulateAllTouchesCanceled:]):
574         (-[DataInteractionSimulator runFrom:to:additionalItemRequestLocations:]):
575         (-[DataInteractionSimulator _concludeDataInteractionAndPerformOperationIfNecessary]):
576         (-[DataInteractionSimulator _sendQueuedAdditionalItemRequest]):
577         (-[DataInteractionSimulator _advanceProgress]):
578
579         When beginning a drag session, ask the delegate for targeted lift previews and verify that these are non-null.
580         This check would fail prior to the tweak in DragDropInteractionState in this patch.
581
582         (-[DataInteractionSimulator _webView:showCustomSheetForElement:]):
583         (-[MockDataOperationSession initWithProviders:location:window:allowMove:]): Deleted.
584         (-[MockDataOperationSession session]): Deleted.
585         (-[MockDataOperationSession isLocal]): Deleted.
586         (-[MockDataOperationSession progress]): Deleted.
587         (-[MockDataOperationSession setProgressIndicatorStyle:]): Deleted.
588         (-[MockDataOperationSession progressIndicatorStyle]): Deleted.
589         (-[MockDataOperationSession operationMask]): Deleted.
590         (-[MockDataOperationSession localDragSession]): Deleted.
591         (-[MockDataOperationSession hasItemsConformingToTypeIdentifier:]): Deleted.
592         (-[MockDataOperationSession canCreateItemsOfClass:]): Deleted.
593         (-[MockDataOperationSession loadObjectsOfClass:completion:]): Deleted.
594         (-[MockDataInteractionSession initWithWindow:allowMove:]): Deleted.
595         (-[MockDataInteractionSession localOperationMask]): Deleted.
596         (-[MockDataInteractionSession externalOperationMask]): Deleted.
597
598         Replace various places where we called -_simulate* methods on WKWebView with calls to the
599         UIDragInteractionDelegate or UIDropInteractionDelegate (the WKContentView) instead. Also, adjust for some
600         mechanical renaming of drag and drop sessions.
601
602         (-[MockDataInteractionSession session]): Deleted.
603         * TestWebKitAPI/ios/UIKitSPI.h:
604
605 2017-09-11  Joseph Pecoraro  <pecoraro@apple.com>
606
607         Make the WPT entry point for LayoutTests/http/wpt more discoverable
608         https://bugs.webkit.org/show_bug.cgi?id=176494
609
610         Reviewed by Youenn Fablet.
611
612         * Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:
613         (run_server):
614         Output a tip for how to access the http/wpt tests.
615
616 2017-09-11  Mark Lam  <mark.lam@apple.com>
617
618         Turn on exception scope verification for JSC tests.
619         https://bugs.webkit.org/show_bug.cgi?id=162351
620         <rdar://problem/29563911>
621
622         Reviewed by Saam Barati.
623
624         Added the option to --validateExceptionChecks=true option to BASE_OPTIONS in
625         run-jsc-stress-tests.  This turns on exception scope verification on JSC test
626         runs (which currently does not include testapi).
627
628         Some stats on time to run JSC stress and mozilla tests:
629         1. Release build w/o --validateExceptionChecks=true: real 16m22.544s, user 156m24.080s, sys 123m3.649s
630         2. Debug build w/o --validateExceptionChecks=true: real 78m34.206s, user 1661m57.008s, sys 73m21.177s
631         3. Debug build w/ --validateExceptionChecks=true: real 77m41.106s, user 1656m13.924s, sys 73m42.309s
632         4. Debug build w/ --validateExceptionChecks=true --dumpSimulatedThrows=true: real 92m56.918s, user 2012m56.441s, sys 75m14.174s
633
634         The stats shows that (2) and (3) has effectively no time difference.  Hence, the
635         cost of enabling --validateExceptionChecks=true is not significant.
636
637         It would be nice to enable --dumpSimulatedThrows=true as well, but (4) is about
638         21% slower than (3).  To avoid making debug test runs a lot slower, we'll leave
639         --dumpSimulatedThrows=true off.  We can manually add that when we see a regression
640         and need to debug the issue.  Otherwise, we wont pay the price for it.
641
642         * Scripts/run-jsc-stress-tests:
643
644 2017-09-11  Myles C. Maxfield  <mmaxfield@apple.com>
645
646         WSL should support for loops
647         https://bugs.webkit.org/show_bug.cgi?id=176682
648
649         Reviewed by Filip Pizlo.
650
651         Follows the pattern of the existing infrastructure of while loops.
652
653         * WebGPUShadingLanguageRI/All.js:
654         * WebGPUShadingLanguageRI/Checker.js:
655         * WebGPUShadingLanguageRI/Evaluator.js:
656         (Evaluator.prototype.visitForLoop):
657         * WebGPUShadingLanguageRI/ForLoop.js: Copied from Tools/WebGPUShadingLanguageRI/LoopChecker.js.
658         (ForLoop):
659         (ForLoop.prototype.get origin):
660         (ForLoop.prototype.get initialization):
661         (ForLoop.prototype.get condition):
662         (ForLoop.prototype.get increment):
663         (ForLoop.prototype.get body):
664         (ForLoop.prototype.toString):
665         * WebGPUShadingLanguageRI/LoopChecker.js:
666         (LoopChecker.prototype.visitForLoop):
667         * WebGPUShadingLanguageRI/NameResolver.js:
668         (NameResolver.prototype.visitForLoop):
669         * WebGPUShadingLanguageRI/Parse.js:
670         (parseFor):
671         * WebGPUShadingLanguageRI/ReturnChecker.js:
672         (ReturnChecker.prototype._isBoolCastFromLiteralTrue):
673         (ReturnChecker.prototype.visitWhileLoop):
674         (ReturnChecker.prototype.visitDoWhileLoop):
675         (ReturnChecker.prototype.visitForLoop):
676         * WebGPUShadingLanguageRI/Rewriter.js:
677         (Rewriter.prototype.visitForLoop):
678         (Rewriter):
679         * WebGPUShadingLanguageRI/Test.html:
680         * WebGPUShadingLanguageRI/Test.js:
681         (TEST_forLoop):
682         * WebGPUShadingLanguageRI/Visitor.js:
683         (Visitor.prototype.visitForLoop):
684
685 2017-09-11  Robin Morisset  <rmorisset@apple.com>
686
687         Just added myself to the contributors.json file as a committer
688
689         Unreviewed
690
691 2017-09-10  Filip Pizlo  <fpizlo@apple.com>
692
693         IntLiteral should prefer int32 during overload resolution
694         https://bugs.webkit.org/show_bug.cgi?id=176675
695
696         Reviewed by Myles Maxfield.
697         
698         This makes intLiteralType prefer to resolve to int over other types.
699         
700         This also adds tests that if you pass intLiteral to T, then you can make it work by saying
701         int(intLiteral).
702
703         * WebGPUShadingLanguageRI/IntLiteralType.js:
704         (IntLiteralType):
705         (IntLiteralType.prototype.conversionCost):
706         * WebGPUShadingLanguageRI/Node.js:
707         (Node.prototype.conversionCost):
708         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
709         (resolveOverloadImpl):
710         * WebGPUShadingLanguageRI/Rewriter.js:
711         (Rewriter.prototype.visitIntLiteralType):
712         * WebGPUShadingLanguageRI/Test.js:
713         (TEST_intOverloadResolution):
714         (TEST_intOverloadResolutionReverseOrder):
715         (TEST_intOverloadResolutionGeneric):
716         (TEST_intLiteralGeneric):
717         * WebGPUShadingLanguageRI/UnificationContext.js:
718         (UnificationContext.prototype.get conversionCost):
719         * WebGPUShadingLanguageRI/Visitor.js:
720         (Visitor.prototype.visitIntLiteralType):
721
722 2017-09-10  Filip Pizlo  <fpizlo@apple.com>
723
724         WSL should be able to handle a simple constexpr type parameter
725         https://bugs.webkit.org/show_bug.cgi?id=176676
726
727         Reviewed by Myles Maxfield.
728         
729         This adds a test that uses a constexpr type parameter, and then fixed enough bugs to get this to work.
730
731         * WebGPUShadingLanguageRI/All.js:
732         * WebGPUShadingLanguageRI/CallExpression.js:
733         (CallExpression.prototype.resolve):
734         * WebGPUShadingLanguageRI/CheckWrapped.js: Added.
735         (checkWrapped):
736         * WebGPUShadingLanguageRI/Checker.js:
737         * WebGPUShadingLanguageRI/Evaluator.js:
738         (Evaluator.prototype.visitCallExpression):
739         (Evaluator):
740         * WebGPUShadingLanguageRI/Node.js:
741         (Node.prototype.substituteToUnification):
742         (Node.prototype.clone):
743         (Node):
744         * WebGPUShadingLanguageRI/Substitution.js:
745         (Substitution):
746         (Substitution.prototype.visitVariableRef):
747         * WebGPUShadingLanguageRI/Test.html:
748         * WebGPUShadingLanguageRI/Test.js:
749         (TEST_simpleConstexpr):
750         * WebGPUShadingLanguageRI/WrapChecker.js: Added.
751         (WrapChecker):
752         (WrapChecker.prototype.visitVariableRef):
753         (WrapChecker.prototype.visitTypeRef):
754         (WrapChecker.prototype.visitIntLiteral):
755         (WrapChecker.prototype._foundUnwrapped):
756         (WrapChecker.visitConstexprTypeParameter):
757         (WrapChecker.prototype.visitFuncParameter):
758         (WrapChecker.prototype.visitVariableDecl):
759         (WrapChecker.prototype.visitStructType):
760         (WrapChecker.prototype.visitNativeType):
761
762 2017-09-11  Carlos Alberto Lopez Perez  <clopez@igalia.com>
763
764         [WPE] Bump freetype version to 2.8.0
765         https://bugs.webkit.org/show_bug.cgi?id=176501
766
767         Reviewed by Michael Catanzaro.
768
769         Bump freetype on WPE like r221670 did on GTK.
770
771         * wpe/jhbuild.modules:
772         * wpe/patches/freetype6-2.4.11-truetype-font-height-fix.patch: Removed.
773
774 2017-09-10  Carlos Garcia Campos  <cgarcia@igalia.com>
775
776         REGRESSION: [GTK] Generated HTML API documentation is missing descriptions
777         https://bugs.webkit.org/show_bug.cgi?id=176667
778
779         Reviewed by Michael Catanzaro.
780
781         This is happening since we moved the implementation files to glib dirs. The generate-gtkdoc script assumes that
782         header and implementation files are always in the same directory. To reduce the input we pass to gtk-doc we
783         ignore cpp files for which there isn't a public header. The code to do this check doesn't consider cpp files in
784         a different directory than the header file. It also assumes that header and cpp files have the same filename
785         except for the extension, which is true in all cases but WebKitWebView that we have two files WebKitWebView.cpp
786         and WebKitWebViewGtk.cpp.
787
788         * gtk/generate-gtkdoc:
789         (files_to_ignore): Check also cpp files with the Gtk suffix.
790         (files_to_ignore.add_file_if_exists): Check if a file with the given name exists in any of the source dirs.
791
792 2017-09-10  Myles C. Maxfield  <mmaxfield@apple.com>
793
794         WSL should support while loops
795         https://bugs.webkit.org/show_bug.cgi?id=176581
796
797         Reviewed by Filip Pizlo.
798
799         There are a few interesting pieces to this patch:
800         1. Because the evaluator is just a node-based descent through the tree, the implementation of break
801         and continue are just "throw".
802         2. The ReturnChecker now has to return a three-state enum because of nested blocks. The outer block
803         cares about if the inner block has "break" as opposed to it having no returns nor breaks/continues.
804         3. ReturnChecker will treat "while (true)" the same as { }, but will not descend deeper for things
805         like "while (3 == 3)".
806         4. This patch also adds a few more boolean conditional functions like operator<().
807         5. I added another pass which makes sure there are no bare break/return keywords outside of loops.
808
809         * WebGPUShadingLanguageRI/All.js:
810         * WebGPUShadingLanguageRI/Break.js: Copied from Tools/WebGPUShadingLanguageRI/CheckUnreachableCode.js.
811         (Break):
812         (Break.prototype.get origin):
813         (Break.prototype.toString):
814         * WebGPUShadingLanguageRI/CheckLoops.js: Copied from Tools/WebGPUShadingLanguageRI/CheckReturns.js.
815         (checkLoops):
816         * WebGPUShadingLanguageRI/CheckReturns.js:
817         (checkReturns):
818         * WebGPUShadingLanguageRI/CheckUnreachableCode.js:
819         (checkUnreachableCode):
820         * WebGPUShadingLanguageRI/Checker.js:
821         * WebGPUShadingLanguageRI/Continue.js: Copied from Tools/WebGPUShadingLanguageRI/CheckReturns.js.
822         (Continue):
823         (Continue.prototype.get origin):
824         (Continue.prototype.toString):
825         * WebGPUShadingLanguageRI/Evaluator.js:
826         (Evaluator.prototype.visitWhileLoop):
827         (Evaluator.prototype.visitBreak):
828         (Evaluator.prototype.visitContinue):
829         * WebGPUShadingLanguageRI/Intrinsics.js:
830         (Intrinsics):
831         * WebGPUShadingLanguageRI/Lexer.js:
832         (Lexer.prototype.next):
833         (Lexer):
834         * WebGPUShadingLanguageRI/LoopChecker.js: Copied from Tools/WebGPUShadingLanguageRI/ReturnChecker.js.
835         (LoopChecker):
836         (LoopChecker.prototype.visitFuncDef):
837         (LoopChecker.prototype.visitWhileLoop):
838         (LoopChecker.prototype.visitBreak):
839         (LoopChecker.prototype.visitContinue):
840         * WebGPUShadingLanguageRI/NameResolver.js:
841         (NameResolver.prototype.visitWhileLoop):
842         * WebGPUShadingLanguageRI/Node.js:
843         (Node.prototype.visit):
844         * WebGPUShadingLanguageRI/Parse.js:
845         (parsePossibleRelationalInequality):
846         (parseBreak):
847         (parseContinue):
848         (parseWhile):
849         * WebGPUShadingLanguageRI/Prepare.js:
850         (prepare):
851         * WebGPUShadingLanguageRI/ReturnChecker.js:
852         (ReturnChecker):
853         (ReturnChecker.prototype.visitFuncDef):
854         (ReturnChecker.prototype.visitBlock):
855         (ReturnChecker.prototype.visitIfStatement):
856         (ReturnChecker.prototype.visitWhileLoop):
857         (ReturnChecker.prototype.visitReturn):
858         (ReturnChecker.prototype.visitBreak):
859         (ReturnChecker.prototype.visitContinue):
860         * WebGPUShadingLanguageRI/Rewriter.js:
861         (Rewriter.prototype.visitContinue):
862         (Rewriter.prototype.visitBreak):
863         (Rewriter.prototype.visitWhileLoop):
864         (Rewriter):
865         * WebGPUShadingLanguageRI/StandardLibraryPrologue.js:
866         * WebGPUShadingLanguageRI/Test.html:
867         * WebGPUShadingLanguageRI/Test.js:
868         (TEST_returnIf):
869         (TEST_simpleWhile):
870         * WebGPUShadingLanguageRI/UnreachableCodeChecker.js:
871         (UnreachableCodeChecker):
872         (UnreachableCodeChecker.prototype.visitBlock):
873         * WebGPUShadingLanguageRI/Visitor.js:
874         (Visitor.prototype.visitWhileLoop):
875         (Visitor.prototype.visitContinue):
876         (Visitor.prototype.visitBreak):
877         * WebGPUShadingLanguageRI/WhileLoop.js: Copied from Tools/WebGPUShadingLanguageRI/CheckReturns.js.
878         (WhileLoop):
879         (WhileLoop.prototype.get origin):
880         (WhileLoop.prototype.get conditional):
881         (WhileLoop.prototype.get body):
882         (WhileLoop.prototype.toString):
883
884 2017-09-07  Filip Pizlo  <fpizlo@apple.com>
885
886         WSL overload resolution should not be cascading
887         https://bugs.webkit.org/show_bug.cgi?id=176333
888
889         Reviewed by Myles Maxfield.
890         
891         This removes the cascading nature of overload resolution that WSL used to have, and replaces it with
892         something C++-like. If there are multiple overload candidates that match the callsite, then we resolve
893         them against each other. Anytime a function cannot be resolved onto another function, it is removed,
894         since this means that this function is in some way more general than the other one, and we are just
895         looking for the most specific function.
896         
897         If this process ends with only one function being selected, then we succeed, else we fail.
898         
899         Also changed the syntax for defining generic casts to:
900         
901         operator<T> Thingy<T>(things)
902         
903         Also fixed parsing of cast expressions. It's now possible to say a cast expression in WSL.
904         
905         The removal of cascading causes some problems. For example, the following two operators in our standard
906         library are ambiguous for bool(bool):
907         
908         operator<T> T(T)
909         operator<T:Equatable> bool(T)
910         
911         I think that what we really want is to say that the following operators are restricted to the standard
912         library:
913         
914         operator<T> T()
915         operator<T> T(T)
916         
917         It should not be possible to ever overload these.
918         
919         These changes are mostly tested by existing tests and the changes in the standard library, which has to
920         be parsed for every test.
921
922         * WebGPUShadingLanguageRI/All.js:
923         * WebGPUShadingLanguageRI/ArrayRefType.js:
924         (ArrayRefType.prototype.unifyImpl):
925         * WebGPUShadingLanguageRI/CallExpression.js:
926         (CallExpression):
927         (CallExpression.prototype.get isCast):
928         (CallExpression.prototype.get returnType):
929         (CallExpression.prototype.resolve):
930         (CallExpression.prototype.becomeCast):
931         (CallExpression.prototype.setCastData):
932         (CallExpression.prototype.toString):
933         * WebGPUShadingLanguageRI/Checker.js:
934         * WebGPUShadingLanguageRI/Evaluator.js:
935         (Evaluator.prototype.visitLogicalNot):
936         * WebGPUShadingLanguageRI/Func.js:
937         (Func.prototype.get returnTypeForOverloadResolution):
938         * WebGPUShadingLanguageRI/FuncDef.js:
939         (FuncDef):
940         * WebGPUShadingLanguageRI/FuncInstantiator.js:
941         (FuncInstantiator.prototype.getUnique.FindTypeVariable.prototype.visitTypeVariable):
942         (FuncInstantiator.prototype.getUnique.FindTypeVariable):
943         (FuncInstantiator.prototype.getUnique.InstantiationSubstitution.prototype.visitCallExpression):
944         (FuncInstantiator.prototype.getUnique.InstantiationSubstitution):
945         * WebGPUShadingLanguageRI/FunctionLikeBlock.js:
946         (FunctionLikeBlock.prototype.toString):
947         (FunctionLikeBlock):
948         * WebGPUShadingLanguageRI/InferTypesForCall.js: Added.
949         (inferTypesForCall):
950         * WebGPUShadingLanguageRI/Inline.js:
951         (resolveInlinedFunction):
952         * WebGPUShadingLanguageRI/Lexer.js:
953         (Lexer):
954         (Lexer.prototype.next):
955         * WebGPUShadingLanguageRI/NameContext.js:
956         (NameContext):
957         (NameContext.prototype.mapFor):
958         (NameContext.prototype.add):
959         (NameContext.prototype.get let):
960         (NameContext.prototype.Symbol.iterator):
961         (NameContext.get currentStatement): Deleted.
962         * WebGPUShadingLanguageRI/NameResolver.js:
963         (NameResolver.prototype.visitProgram):
964         (NameResolver.prototype.determinePossibleOverloads):
965         (NameResolver.prototype.visitProtocolFuncDecl):
966         (NameResolver.prototype.visitCallExpression):
967         (NameResolver):
968         * WebGPUShadingLanguageRI/NativeFunc.js:
969         (NativeFunc):
970         * WebGPUShadingLanguageRI/Node.js:
971         (Node.prototype.visit):
972         * WebGPUShadingLanguageRI/Parse.js:
973         (parsePossiblePrefix):
974         (parseFuncDecl):
975         (parseNativeFunc):
976         (parseNative):
977         (parsePreferredFuncDef):
978         (parse):
979         * WebGPUShadingLanguageRI/Prepare.js:
980         (prepare):
981         * WebGPUShadingLanguageRI/Program.js:
982         (Program.prototype.resolveFuncOverload): Deleted.
983         (Program.prototype.get nameContext): Deleted.
984         * WebGPUShadingLanguageRI/ProtocolDecl.js:
985         (ProtocolDecl.prototype.inherits):
986         (ProtocolDecl.prototype.hasHeir):
987         * WebGPUShadingLanguageRI/PtrType.js:
988         (PtrType.prototype.unifyImpl):
989         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
990         (resolveOverloadImpl):
991         * WebGPUShadingLanguageRI/Rewriter.js:
992         (Rewriter.prototype.visitProtocolFuncDecl):
993         (Rewriter.prototype.processDerivedCallData):
994         (Rewriter.prototype.visitCastExpression): Deleted.
995         * WebGPUShadingLanguageRI/StandardLibrary.js: Added.
996         (preferred.operator.T.T):
997         (operator.T.Equatable.bool):
998         * WebGPUShadingLanguageRI/StandardLibraryEpilogue.js: Removed.
999         * WebGPUShadingLanguageRI/StandardLibraryPrologue.js: Removed.
1000         * WebGPUShadingLanguageRI/Test.html:
1001         * WebGPUShadingLanguageRI/Test.js:
1002         (doLex):
1003         (checkUInt):
1004         (checkBool):
1005         * WebGPUShadingLanguageRI/TypeRef.js:
1006         (TypeRef.prototype.toString):
1007         (TypeRef):
1008         * WebGPUShadingLanguageRI/Visitor.js:
1009         (Visitor.prototype.visitCallExpression):
1010         (Visitor.prototype.visitCastExpression): Deleted.
1011
1012 2017-09-10  Brady Eidson  <beidson@apple.com>
1013
1014         Try to avoid creating the default WKWebsiteDataStore until its actually needed.
1015         <rdar://problem/33164453> and https://bugs.webkit.org/show_bug.cgi?id=176551
1016
1017         Reviewed by Tim Horton.
1018
1019         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
1020         (TEST):
1021
1022 2017-09-10  Michael Catanzaro  <mcatanzaro@igalia.com>
1023
1024         [GTK] Improve Ctrl+W and Ctrl+Q shortcuts in MiniBrowser
1025         https://bugs.webkit.org/show_bug.cgi?id=176619
1026
1027         Reviewed by Carlos Garcia Campos.
1028
1029         There are two different problems here. First, Ctrl+W is closing the entire window. That made
1030         sense when I implemented the shortcut a couple years ago, but now MiniBrowser supports tabs
1031         and it should really close only one single tab. Fix that.
1032
1033         Next, the keyboard shortcuts are not using webkit_web_view_try_close() and so are bypassing
1034         onbeforeunload handlers, which are respected when closing with the mouse. Fix that too.
1035
1036         * MiniBrowser/gtk/BrowserWindow.c:
1037         (browserWindowTryCloseCurrentWebView):
1038         (browserWindowTryClose):
1039         (browser_window_init):
1040
1041 2017-09-07  Myles C. Maxfield  <mmaxfield@apple.com>
1042
1043         Add "if" statements to WSL
1044         https://bugs.webkit.org/show_bug.cgi?id=176294
1045
1046         Reviewed by Filip Pizlo.
1047         
1048         Rolling back in after skipping Test.js on debug.
1049
1050         Fairly straightforward implementation. ReturnChecker only returns true iff there is an else block,
1051         and both the if body and the else body recursively return true.
1052
1053         In order to accept both syntaxes:
1054         if (foo)
1055             bar;
1056         ... and ...
1057         if (foo) {
1058             bar;
1059         }
1060         This patch lets parseStatement() call parseBlock(). This means that the following is valid:
1061         int x = 7;
1062         if (foo) {
1063             int x = 8;
1064             // x is 8 here!
1065         }
1066         // x is 7 here!
1067
1068         This production means that these blocks don't require "if" statements, so you can just have:
1069         int foo() {
1070            int x = 7;
1071            {
1072                int x = 8;
1073                // x is 8 here!
1074            }
1075            // x is 7 here!
1076         }
1077
1078         However, this patch doesn't touch the following use-case:
1079         if (int x = bar()) {
1080             // use x here
1081         }
1082
1083         * WebGPUShadingLanguageRI/All.js:
1084         * WebGPUShadingLanguageRI/Checker.js:
1085         * WebGPUShadingLanguageRI/Evaluator.js:
1086         (Evaluator.prototype.visitIfStatement):
1087         * WebGPUShadingLanguageRI/IfStatement.js: Copied from Tools/WebGPUShadingLanguageRI/TypeDef.js.
1088         (IfStatement):
1089         (IfStatement.prototype.get origin):
1090         (IfStatement.prototype.get conditional):
1091         (IfStatement.prototype.get body):
1092         (IfStatement.prototype.get elseBody):
1093         (IfStatement.prototype.toString):
1094         * WebGPUShadingLanguageRI/NameResolver.js:
1095         (NameResolver.prototype.visitIfStatement):
1096         * WebGPUShadingLanguageRI/Parse.js:
1097         (parseTypeParameters):
1098         (parseIfStatement):
1099         (parseStatement):
1100         * WebGPUShadingLanguageRI/ReturnChecker.js:
1101         (ReturnChecker.prototype.visitIfStatement):
1102         * WebGPUShadingLanguageRI/Rewriter.js:
1103         (Rewriter.prototype.visitIfStatement):
1104         (Rewriter):
1105         * WebGPUShadingLanguageRI/Test.html:
1106         * WebGPUShadingLanguageRI/Test.js:
1107         (TEST_variableShadowing):
1108         (TEST_ifStatement):
1109         (TEST_ifElseStatement):
1110         (TEST_ifElseIfStatement):
1111         (TEST_ifElseIfElseStatement):
1112         (TEST_returnIf):
1113         (TEST_protocolMonoPolySigDoublePolyDefExplicit): Deleted.
1114         * WebGPUShadingLanguageRI/TypeDef.js:
1115         (TypeDef.prototype.toString):
1116         (TypeDef):
1117         * WebGPUShadingLanguageRI/Visitor.js:
1118         (Visitor.prototype.visitIfStatement):
1119
1120 2017-09-09  Michael Catanzaro  <mcatanzaro@igalia.com>
1121
1122         [GTK] Unreviewed, fix typo forwad -> forward
1123
1124         * MiniBrowser/gtk/BrowserWindow.c:
1125         (browserWindowUpdateNavigationActions):
1126         (backForwardlistChanged):
1127         (browserWindowSwitchTab):
1128         (backForwadlistChanged): Deleted.
1129
1130 2017-09-09  Ryan Haddad  <ryanhaddad@apple.com>
1131
1132         Unreviewed, rolling out r221801.
1133
1134         This change introduced a webkitpy test failure.
1135
1136         Reverted changeset:
1137
1138         "bisect-builds doesn't work due to missing requests module"
1139         https://bugs.webkit.org/show_bug.cgi?id=175709
1140         http://trac.webkit.org/changeset/221801
1141
1142 2017-09-09  Ryan Haddad  <ryanhaddad@apple.com>
1143
1144         Unreviewed, rolling out r221776.
1145
1146         This change caused wsl-tests.yaml/Test.js to time out on Debug
1147         JSC bots.
1148
1149         Reverted changeset:
1150
1151         "Add "if" statements to WSL"
1152         https://bugs.webkit.org/show_bug.cgi?id=176294
1153         http://trac.webkit.org/changeset/221776
1154
1155 2017-09-09  Michael Catanzaro  <mcatanzaro@igalia.com>
1156
1157         MiniBrowser closes tab instead of window on close signal
1158         https://bugs.webkit.org/show_bug.cgi?id=176587
1159
1160         Reviewed by Carlos Garcia Campos.
1161
1162         This has been broken since we added support for multiple tabs. We need to run try_close for
1163         every open tab, not just the current one. If there are no onbeforeonload handlers then all
1164         tabs will close; if there are some, then they'll be respected, but the remaining tabs will
1165         be closed.
1166
1167         Note that we cannot simply iterate through the tabs of the GtkNotebook, as we'd be deleting
1168         tabs as we go, so save all the tabs into a separate list and then try to close each in turn.
1169
1170         * MiniBrowser/gtk/BrowserWindow.c:
1171         (browserWindowTryClose):
1172         (browserWindowDeleteEvent):
1173
1174 2017-09-09  Zan Dobersek  <zdobersek@igalia.com>
1175
1176         Unreviewed WPE build fix.
1177
1178         * TestWebKitAPI/PlatformWPE.cmake:
1179         Link WebCore archives into the TestWebCore binary as a group.
1180
1181 2017-09-08  Lucas Forschler  <lforschler@apple.com>
1182
1183         bisect-builds doesn't work due to missing requests module
1184         https://bugs.webkit.org/show_bug.cgi?id=175709
1185         
1186         Reviewed by Ryosuke Niwa.
1187
1188         * Scripts/bisect-builds: update import to webkitpy.thirdparty.autoinstalled
1189         * Scripts/webkitpy/thirdparty/__init__.py: add logic to install requests module.
1190         (AutoinstallImportHook.find_module):
1191         (AutoinstallImportHook):
1192         (AutoinstallImportHook._install_requests):
1193         * Scripts/webkitpy/thirdparty/__init___unittest.py:
1194         (ThirdpartyTest.test_imports):
1195
1196 2017-09-08  Lucas Forschler  <lforschler@apple.com>
1197
1198         Test commit to verify trac sync is working.
1199
1200 2017-09-08  Lucas Forschler  <lforschler@apple.com>
1201
1202         Test commit to verify git sync is working.
1203
1204 2017-09-08  Lucas Forschler  <lforschler@apple.com>
1205
1206         bisect-builds should not print out extracting command
1207         https://bugs.webkit.org/show_bug.cgi?id=175632
1208         
1209         Reviewed by Alexey Proskuryakov.
1210
1211         * Scripts/bisect-builds:
1212         (extract_archive):
1213
1214 2017-09-07  Joseph Pecoraro  <pecoraro@apple.com>
1215
1216         WebKit should claim that it can show responses for a broader range of JSON MIMETypes
1217         https://bugs.webkit.org/show_bug.cgi?id=176252
1218         <rdar://problem/34212885>
1219
1220         Reviewed by Ryosuke Niwa.
1221
1222         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1223         * TestWebKitAPI/Tests/WebKitCocoa/WKNavigationResponse.mm: Added.
1224         (-[WKNavigationResponseTestNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
1225         (-[WKNavigationResponseTestNavigationDelegate webView:didCommitNavigation:]):
1226         (-[WKNavigationResponseTestSchemeHandler webView:startURLSchemeTask:]):
1227         (-[WKNavigationResponseTestSchemeHandler webView:stopURLSchemeTask:]):
1228         (TEST):
1229         Test for canShowMIMEType with multiple JSON mime types and a garbage mime type.
1230         Previously canShowMIMEType would have been YES for "application/json" but
1231         NO for "application/vnd.api+json". Now it shows YES for both.
1232
1233         * TestWebKitAPI/PlatformGTK.cmake:
1234         * TestWebKitAPI/PlatformWPE.cmake:
1235         * TestWebKitAPI/PlatformWin.cmake:
1236         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1237         * TestWebKitAPI/Tests/WebCore/MIMETypeRegistry.cpp: Added.
1238         (TestWebKitAPI::TEST):
1239         Tests for MIMETypeRegistry's dynamic JSON mime type detection.
1240
1241 2017-09-07  Matthew Stewart  <matthew_r_stewart@apple.com>
1242
1243         Add Live PLT implemented with WebDriver
1244         https://bugs.webkit.org/show_bug.cgi?id=176436
1245
1246         Reviewed by Stephanie Lewis.
1247
1248         Adds a new PLT that runs on live websites.
1249
1250         * Scripts/run-webdriver-plt.py: Added.
1251         (parse_args):
1252         (start):
1253         (make_suites):
1254         (main):
1255         * Scripts/webkitpy/webdriver_plt/__init__.py: Added.
1256         * Scripts/webkitpy/webdriver_plt/liveplt.py: Added.
1257         (PageLoadTest):
1258         (PageLoadTest.__init__):
1259         (PageLoadTest.start):
1260         (PageLoadTest.run_suite):
1261         (PageLoadTest._get_driver_for_browser):
1262         (PageLoadTest._setup_browser_window):
1263         (PageLoadTest.run_one_test):
1264         (PageLoadTest.get_results):
1265         * Scripts/webkitpy/webdriver_plt/pltresults.py: Added.
1266         (PLTResults):
1267         (PLTResults.__init__):
1268         (PLTResults.__add__):
1269         (PLTResults.add_timing_result):
1270         (PLTResults.mean):
1271         (PLTResults.geometric_mean):
1272         (PLTResults.mean_coef_variance):
1273         (PLTResults.print_results):
1274         (PLTResults.print_url_results):
1275         (PLTResults._format_time):
1276         * Scripts/webkitpy/webdriver_plt/suites/__init__.py: Added.
1277         * Scripts/webkitpy/webdriver_plt/suites/arabic.suite: Added.
1278         * Scripts/webkitpy/webdriver_plt/suites/cjk.suite: Added.
1279         * Scripts/webkitpy/webdriver_plt/suites/news.suite: Added.
1280         * Scripts/webkitpy/webdriver_plt/suites/search.suite: Added.
1281         * Scripts/webkitpy/webdriver_plt/suites/shopping.suite: Added.
1282         * Scripts/webkitpy/webdriver_plt/suites/social.suite: Added.
1283         * Scripts/webkitpy/webdriver_plt/suites/suite.py: Added.
1284         (Suite):
1285         (Suite.__init__):
1286         (Suite.get_available_suites):
1287         * Scripts/webkitpy/webdriver_plt/urlresults.py: Added.
1288         (URLResults):
1289         (URLResults.__init__):
1290         (URLResults.__add__):
1291         (URLResults.mean):
1292         (URLResults.coef_variance):
1293         (URLResults.print_results):
1294         (URLResults._format_time):
1295
1296 2017-09-07  Myles C. Maxfield  <mmaxfield@apple.com>
1297
1298         Add "if" statements to WSL
1299         https://bugs.webkit.org/show_bug.cgi?id=176294
1300
1301         Reviewed by Filip Pizlo.
1302
1303         Fairly straightforward implementation. ReturnChecker only returns true iff there is an else block,
1304         and both the if body and the else body recursively return true.
1305
1306         In order to accept both syntaxes:
1307         if (foo)
1308             bar;
1309         ... and ...
1310         if (foo) {
1311             bar;
1312         }
1313         This patch lets parseStatement() call parseBlock(). This means that the following is valid:
1314         int x = 7;
1315         if (foo) {
1316             int x = 8;
1317             // x is 8 here!
1318         }
1319         // x is 7 here!
1320
1321         This production means that these blocks don't require "if" statements, so you can just have:
1322         int foo() {
1323            int x = 7;
1324            {
1325                int x = 8;
1326                // x is 8 here!
1327            }
1328            // x is 7 here!
1329         }
1330
1331         However, this patch doesn't touch the following use-case:
1332         if (int x = bar()) {
1333             // use x here
1334         }
1335
1336         * WebGPUShadingLanguageRI/All.js:
1337         * WebGPUShadingLanguageRI/Checker.js:
1338         * WebGPUShadingLanguageRI/Evaluator.js:
1339         (Evaluator.prototype.visitIfStatement):
1340         * WebGPUShadingLanguageRI/IfStatement.js: Copied from Tools/WebGPUShadingLanguageRI/TypeDef.js.
1341         (IfStatement):
1342         (IfStatement.prototype.get origin):
1343         (IfStatement.prototype.get conditional):
1344         (IfStatement.prototype.get body):
1345         (IfStatement.prototype.get elseBody):
1346         (IfStatement.prototype.toString):
1347         * WebGPUShadingLanguageRI/NameResolver.js:
1348         (NameResolver.prototype.visitIfStatement):
1349         * WebGPUShadingLanguageRI/Parse.js:
1350         (parseTypeParameters):
1351         (parseIfStatement):
1352         (parseStatement):
1353         * WebGPUShadingLanguageRI/ReturnChecker.js:
1354         (ReturnChecker.prototype.visitIfStatement):
1355         * WebGPUShadingLanguageRI/Rewriter.js:
1356         (Rewriter.prototype.visitIfStatement):
1357         (Rewriter):
1358         * WebGPUShadingLanguageRI/Test.html:
1359         * WebGPUShadingLanguageRI/Test.js:
1360         (TEST_variableShadowing):
1361         (TEST_ifStatement):
1362         (TEST_ifElseStatement):
1363         (TEST_ifElseIfStatement):
1364         (TEST_ifElseIfElseStatement):
1365         (TEST_returnIf):
1366         (TEST_protocolMonoPolySigDoublePolyDefExplicit): Deleted.
1367         * WebGPUShadingLanguageRI/TypeDef.js:
1368         (TypeDef.prototype.toString):
1369         (TypeDef):
1370         * WebGPUShadingLanguageRI/Visitor.js:
1371         (Visitor.prototype.visitIfStatement):
1372
1373 2017-09-07  Lucas Forschler  <lforschler@apple.com>
1374
1375         Test commit after server upgrade from subversion 1.9.5 to 1.9.7
1376
1377 2017-09-07  Chris Dumez  <cdumez@apple.com>
1378
1379         [WK2] Add C API to retrieve the originating page of a WKDownload
1380         https://bugs.webkit.org/show_bug.cgi?id=176557
1381         <rdar://problem/34314776>
1382
1383         Reviewed by Alex Christensen.
1384
1385         Add layout test coverage for both the ObjC and C API.
1386
1387         * TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm:
1388         (TestWebKitAPI::decideDestinationWithSuggestedFilename):
1389         (TestWebKitAPI::TEST):
1390         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
1391         (-[RedirectedDownloadDelegate _downloadDidStart:]):
1392         (TEST):
1393
1394 2017-09-07  Filip Pizlo  <fpizlo@apple.com>
1395
1396         WSL Node.prototype.visit should probably do memoization
1397         https://bugs.webkit.org/show_bug.cgi?id=176286
1398
1399         Reviewed by Mark Lam.
1400         
1401         Visitors can sometimes revisit the same thing. For example, we may visit a FuncDef because it belongs
1402         to Program and we may visit it again because a CallExpression resolved to it. That's just plain silly.
1403         
1404         Our tests don't currently do this, so it's not a performance problem, yet. Also, we usually avoid that
1405         kind of repetitive visiting inside the visitor implementations. But as far as I can tell, this is an
1406         emergent property rather than a deliberate design.
1407         
1408         This change just makes the policy super explicit. If you visit something more than once with the same
1409         visitor, you get the same answer back. This is achieved by means of a memo table inside each visitor.
1410         
1411         * WebGPUShadingLanguageRI/All.js:
1412         * WebGPUShadingLanguageRI/FuncInstantiator.js:
1413         * WebGPUShadingLanguageRI/Node.js:
1414         (Node.prototype.visit):
1415         * WebGPUShadingLanguageRI/Rewriter.js:
1416         (Rewriter):
1417         * WebGPUShadingLanguageRI/Test.html:
1418         * WebGPUShadingLanguageRI/Visitor.js:
1419         (Visitor):
1420         * WebGPUShadingLanguageRI/VisitorBase.js: Added.
1421         (VisitorBase):
1422
1423 2017-09-07  Wenson Hsieh  <wenson_hsieh@apple.com>
1424
1425         [Directory Upload] Extend drag and drop support to iOS
1426         https://bugs.webkit.org/show_bug.cgi?id=176492
1427         <rdar://problem/34291584>
1428
1429         Reviewed by Tim Horton.
1430
1431         Adds two new iOS drag and drop unit tests, which both exercise the DataTransferItem.webKitGetAsEntry codepath
1432         upon drop. (...)GetFolderAsEntry creates a new folder in the temporary directory and uses it to generate an item
1433         provider. This item provider is then dropped over a custom drop handling element, which writes information about
1434         the exposed FileSystemEntries into a textarea. (...)ExternalSourceDataTransferItemGetPlainTextFileAsEntry does
1435         something similar, except that it only drops a plain text file instead.
1436
1437         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1438         * TestWebKitAPI/Tests/WebKitCocoa/DataTransferItem-getAsEntry.html: Added.
1439
1440         Introduce a new test page that dumps information about DataTransferItems' file system entries upon drop.
1441
1442         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1443         (runTestWithTemporaryTextFile):
1444         (runTestWithTemporaryFolder):
1445
1446         Introduce helpers to set up and tear down temporary files and folders over the duration of a test.
1447
1448         (TestWebKitAPI::setUpTestWebViewForDataTransferItems):
1449         (TestWebKitAPI::TEST):
1450
1451 2017-09-07  Filip Pizlo  <fpizlo@apple.com>
1452
1453         WSL should check recursion
1454         https://bugs.webkit.org/show_bug.cgi?id=176553
1455
1456         Reviewed by Michael Saboff and Mark Lam.
1457         
1458         This adds a recursion checker. Previously, we would only check for recursion during inlining, but that
1459         generally only happens when we call the function.
1460
1461         * WebGPUShadingLanguageRI/All.js:
1462         * WebGPUShadingLanguageRI/CheckRecursion.js: Added.
1463         (checkRecursion):
1464         * WebGPUShadingLanguageRI/Prepare.js:
1465         (prepare):
1466         * WebGPUShadingLanguageRI/RecursionChecker.js: Added.
1467         (RecursionChecker):
1468         (RecursionChecker.prototype.visitFuncDef):
1469         (RecursionChecker.prototype.visitCallExpression):
1470         * WebGPUShadingLanguageRI/Test.html:
1471         * WebGPUShadingLanguageRI/Test.js:
1472         (TEST_simpleRecursion):
1473
1474 2017-09-07  Chris Dumez  <cdumez@apple.com>
1475
1476         [WK2] Notify client when downloads are redirected
1477         https://bugs.webkit.org/show_bug.cgi?id=176481
1478         <rdar://problem/34309065>
1479
1480         Reviewed by Geoffrey Garen.
1481
1482         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
1483         (-[UIDownloadAsFileTestDelegate _webView:contextMenu:forElement:]):
1484         (-[RedirectedDownloadDelegate _download:decideDestinationWithSuggestedFilename:allowOverwrite:]):
1485         (-[RedirectedDownloadDelegate _download:didReceiveServerRedirectToURL:]):
1486         (-[RedirectedDownloadDelegate _downloadDidFinish:]):
1487         (TEST):
1488         Add API test coverage.
1489
1490         * WebKitTestRunner/TestController.cpp:
1491         (WTR::TestController::createWebViewWithOptions):
1492         (WTR::TestController::downloadDidReceiveServerRedirectToURL):
1493         * WebKitTestRunner/TestController.h:
1494         Add layout test infrastructure.
1495
1496 2017-09-07  Per Arne Vollan  <pvollan@apple.com>
1497
1498         [Win] fast/canvas/2d.getPath.modification.html is failing.
1499         https://bugs.webkit.org/show_bug.cgi?id=176534
1500
1501         Reviewed by Alex Christensen.
1502
1503         We need to enable Inspector additions at runtime in order to expose the getPath function.
1504
1505         * DumpRenderTree/win/DumpRenderTree.cpp:
1506         (resetWebPreferencesToConsistentValues):
1507
1508 2017-09-07  Filip Pizlo  <fpizlo@apple.com>
1509
1510         WSL tests should run in run-javascriptcore-tests
1511         https://bugs.webkit.org/show_bug.cgi?id=176550
1512
1513         Reviewed by Keith Miller.
1514
1515         * Scripts/run-javascriptcore-tests:
1516         (runJSCStressTests):
1517         * WebGPUShadingLanguageRI/wsl-tests.yaml: Added.
1518
1519 2017-09-07  Lucas Forschler  <lforschler@apple.com>
1520
1521         bisect-builds started failing with invalid json
1522         https://bugs.webkit.org/show_bug.cgi?id=176478
1523         
1524         Once we hit 1000 items in our dynamoDB, we ran into an upper limit on the AWS API Gateway looping mechanism. 
1525         This prevented us from doing a body mapping template to reformat the json. This fix is to simply return the raw json, 
1526         and adjust the json parsing in our code. The AWS rest API has been fixed, and updated to v2. 
1527         
1528         This change is for the script which operates against the endpoint.
1529         
1530         Reviewed by Aakash Jain.
1531
1532         * Scripts/bisect-builds:
1533         (get_sorted_revisions):
1534
1535 2017-09-07  Filip Pizlo  <fpizlo@apple.com>
1536
1537         [WSL] Rationalize how protocol inheritance deals with type parameters
1538         https://bugs.webkit.org/show_bug.cgi?id=176334
1539
1540         Reviewed by Mark Lam.
1541         
1542         This adds a bunch of tests for structs, protocols, and functions interacting in interesting
1543         ways. The most complex of these tests triggers the case where the protocol contains a function
1544         with one type parameter and the real function has more than one. This should give a WTypeError,
1545         and now it does.
1546         
1547         * WebGPUShadingLanguageRI/ProtocolDecl.js:
1548         (ProtocolDecl.prototype.hasHeir): Fix the handling of a mismatch of number of type parameters by actually passing the type parameters and then correctly handling the error.
1549         * WebGPUShadingLanguageRI/Test.js: Add a bunch of tests for this case and a lot of other protocol cases.
1550         (TEST_protocolMonoSigPolyDef):
1551         (TEST_protocolPolySigPolyDef):
1552         (TEST_protocolDoublePolySigDoublePolyDef):
1553         (TEST_protocolDoublePolySigDoublePolyDefExplicit):
1554         (TEST_protocolMonoPolySigDoublePolyDefExplicit):
1555         * WebGPUShadingLanguageRI/TypeVariable.js:
1556         (TypeVariable.prototype.get origin): This wasn't implemented before, which made error reporting harder.
1557
1558 2017-09-07  Per Arne Vollan  <pvollan@apple.com>
1559
1560         [Win] Dashboard test is failing.
1561         https://bugs.webkit.org/show_bug.cgi?id=176527
1562
1563         Reviewed by Brent Fulgham.
1564
1565         Skip test on Windows since WebKitTestRunner is required, but not built on Windows.
1566
1567         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
1568         (TestFactory.__init__):
1569
1570 2017-09-07  Adrian Perez de Castro  <aperez@igalia.com>
1571
1572         [WPE][CMake] Add "dist" and "distcheck" targets
1573         https://bugs.webkit.org/show_bug.cgi?id=176448
1574
1575         Reviewed by Carlos Garcia Campos.
1576
1577         Add "dist" and "distcheck" CMake targets, which create release tarballs.
1578         These are available only when configuring with -DDEVELOPER_MODE=TRUE.
1579
1580         * wpe/manifest.txt.in: Added.
1581
1582 2017-09-07  Per Arne Vollan  <pvollan@apple.com>
1583
1584         [Win] Enable DatatransferItems in DRT.
1585         https://bugs.webkit.org/show_bug.cgi?id=176424
1586
1587         Reviewed by Brent Fulgham.
1588
1589         * DumpRenderTree/win/DumpRenderTree.cpp:
1590         (resetWebPreferencesToConsistentValues):
1591
1592 2017-09-07  Carlos Garcia Campos  <cgarcia@igalia.com>
1593
1594         [GTK] Bump libxml2 version to 1.9.5
1595         https://bugs.webkit.org/show_bug.cgi?id=176502
1596
1597         Reviewed by Carlos Alberto Lopez Perez.
1598
1599         It has been released very recently, but it fixes the issues that prevented us from upgrading to 1.9.4.
1600
1601         * gtk/jhbuild.modules:
1602
1603 2017-09-06  Joseph Pecoraro  <pecoraro@apple.com>
1604
1605         Remove new-run-webkit-httpd as it appears to be old
1606         https://bugs.webkit.org/show_bug.cgi?id=176493
1607
1608         Reviewed by Alexey Proskuryakov.
1609
1610         * Scripts/new-run-webkit-httpd: Removed.
1611
1612 2017-09-06  Alex Christensen  <achristensen@webkit.org>
1613
1614         Add WKUIDelegatePrivate equivalent of WKPageUIClient's pageDidScroll
1615         https://bugs.webkit.org/show_bug.cgi?id=176482
1616         <rdar://problem/29270035>
1617
1618         Reviewed by Tim Horton.
1619
1620         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
1621         (-[DidScrollDelegate _webViewDidScroll:]):
1622         (TEST):
1623
1624 2017-09-06  Eric Carlson  <eric.carlson@apple.com>
1625
1626         Require LoggingHelper overrides to provide identifier
1627         https://bugs.webkit.org/show_bug.cgi?id=176477
1628
1629         Reviewed by Jer Noble.
1630
1631         * TestWebKitAPI/Tests/WebCore/Logging.cpp:
1632         (TestWebKitAPI::TEST_F):
1633
1634 2017-09-06  Alex Christensen  <achristensen@webkit.org>
1635
1636         Add WKUIDelegatePrivate equivalent of WKPageUIClient's pinnedStateDidChange
1637         https://bugs.webkit.org/show_bug.cgi?id=176474
1638         <rdar://problem/29270035>
1639
1640         Reviewed by Tim Horton.
1641
1642         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
1643         (-[PinnedStateObserver observeValueForKeyPath:ofObject:change:context:]):
1644         (TEST):
1645
1646 2017-09-06  Alex Christensen  <achristensen@webkit.org>
1647
1648         Unreviewed, rolling out r221694.
1649
1650         broke build
1651
1652         Reverted changeset:
1653
1654         "Add WKUIDelegatePrivate equivalent of WKPageUIClient's
1655         pinnedStateDidChange"
1656         https://bugs.webkit.org/show_bug.cgi?id=176474
1657         http://trac.webkit.org/changeset/221694
1658
1659 2017-09-06  Per Arne Vollan  <pvollan@apple.com>
1660
1661         [Win] test-webkitpy test timeout_context_unittest is failing.
1662         https://bugs.webkit.org/show_bug.cgi?id=176471
1663
1664         Reviewed by Brent Fulgham.
1665
1666         This assert failure is possibly caused by different time resolution on
1667         various platforms.
1668  
1669         * Scripts/webkitpy/common/timeout_context_unittest.py:
1670         (TimeoutContextTests.test_timeout_data):
1671
1672 2017-09-06  Aakash Jain  <aakash_jain@apple.com>
1673
1674         status-bubbles turn orange after checking relevance of patch
1675         https://bugs.webkit.org/show_bug.cgi?id=176457
1676
1677         Reviewed by Alexey Proskuryakov.
1678
1679         * QueueStatusServer/handlers/statusbubble.py: Added "Checked relevance of patch" as a progress_statuses.
1680
1681 2017-09-06  Alex Christensen  <achristensen@webkit.org>
1682
1683         Add WKUIDelegatePrivate equivalent of WKPageUIClient's pinnedStateDidChange
1684         https://bugs.webkit.org/show_bug.cgi?id=176474
1685         <rdar://problem/29270035>
1686
1687         Reviewed by Tim Horton.
1688
1689         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
1690         (-[PinnedStateObserver observeValueForKeyPath:ofObject:change:context:]):
1691         (TEST):
1692
1693 2017-09-06  Filip Pizlo  <fpizlo@apple.com>
1694
1695         WSL: Inliner doesn't allow double-negation
1696         https://bugs.webkit.org/show_bug.cgi?id=176440
1697
1698         Reviewed by Mylex Maxfield.
1699         
1700         The problem was that we were visiting the operands to calls while inside doVisit. This is too strict
1701         since it rejects nested calls like foo(foo(x)). The solution is to visit the operands to calls before
1702         entering doVisit.
1703         
1704         This also fixes some other issues in the parser that made the Inliner's error really strange.
1705
1706         * WebGPUShadingLanguageRI/Func.js:
1707         (Func):
1708         * WebGPUShadingLanguageRI/Inliner.js:
1709         (Inliner.prototype.visitCallExpression):
1710         (Inliner):
1711         * WebGPUShadingLanguageRI/Parse.js:
1712         (parseOperatorFuncDefValues):
1713         (parseNonOperatorFuncDefValues):
1714         (parseGenericFuncDefValues):
1715         (parseFuncDecl):
1716         * WebGPUShadingLanguageRI/Test.js:
1717         * WebGPUShadingLanguageRI/VisitingSet.js:
1718         (VisitingSet.prototype.doVisit):
1719         (VisitingSet):
1720
1721 2017-09-06  Myles C. Maxfield  <mmaxfield@apple.com>
1722
1723         WSL should support the bool type
1724         https://bugs.webkit.org/show_bug.cgi?id=176285
1725
1726         Reviewed by Filip Pizlo.
1727
1728         I forgot to commit a couple files.
1729
1730         * WebGPUShadingLanguageRI/StandardLibraryEpilogue.js: Added.
1731         (const.standardLibraryEpilogue.operator.bool.T.Equatable):
1732         * WebGPUShadingLanguageRI/StandardLibraryPrologue.js: Added.
1733         (operator.T.T):
1734
1735 2017-09-06  Myles C. Maxfield  <mmaxfield@apple.com>
1736
1737         WSL should correctly handle the interaction between casting operators and complex types
1738         https://bugs.webkit.org/show_bug.cgi?id=176316
1739
1740         Reviewed by Filip Pizlo.
1741
1742         This allows the standard library to include all identity cast operators for all exsting
1743         and yet-to-exist types. The standard library now has a function with the signature:
1744         operator T<><T>(T). This means "for all T, define a cast operator from T to T<>." The
1745         duplicate <>s lets us say things like operator OutputVector<T><T>(InputVector<T> x).
1746
1747         For testing, this patch also adds the ability to cast an arbitrary Equatable type to bool,
1748         by comparing the value to the default value for that type.
1749
1750         * WebGPUShadingLanguageRI/All.js:
1751         * WebGPUShadingLanguageRI/CastExpression.js: Copied from Tools/WebGPUShadingLanguageRI/NativeFuncInstance.js.
1752         (CastExpression):
1753         (CastExpression.prototype.get functionName):
1754         (CastExpression.prototype.get returnType):
1755         (CastExpression.prototype.toString):
1756         * WebGPUShadingLanguageRI/Checker.js:
1757         * WebGPUShadingLanguageRI/Func.js:
1758         (Func.prototype.toDeclString):
1759         * WebGPUShadingLanguageRI/FuncInstantiator.js:
1760         (FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitNativeFunc):
1761         (FuncInstantiator.prototype.getUnique.Instantiate):
1762         (FuncInstantiator.prototype.getUnique):
1763         (FuncInstantiator):
1764         * WebGPUShadingLanguageRI/Inliner.js:
1765         (Inliner.prototype.visitCastExpression):
1766         (Inliner):
1767         * WebGPUShadingLanguageRI/Intrinsics.js:
1768         (Intrinsics):
1769         * WebGPUShadingLanguageRI/NativeFunc.js:
1770         * WebGPUShadingLanguageRI/NativeFuncInstance.js:
1771         (NativeFuncInstance):
1772         * WebGPUShadingLanguageRI/Parse.js:
1773         (parsePossiblePrefix):
1774         (parseFuncDecl):
1775         (parseOperatorFuncDefValues): Deleted.
1776         (parseNonOperatorFuncDefValues): Deleted.
1777         (parseGenericFuncDefValues): Deleted.
1778         * WebGPUShadingLanguageRI/Prepare.js:
1779         (prepare):
1780         * WebGPUShadingLanguageRI/Program.js:
1781         (Program.prototype.resolveFuncOverload):
1782         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
1783         (resolveOverloadImpl):
1784         * WebGPUShadingLanguageRI/Rewriter.js:
1785         (Rewriter.prototype.processDerivedCallData):
1786         (Rewriter.prototype.visitCastExpression):
1787         (Rewriter.prototype.visitCallExpression):
1788         * WebGPUShadingLanguageRI/StandardLibrary.js: Removed.
1789         * WebGPUShadingLanguageRI/Test.html:
1790         * WebGPUShadingLanguageRI/Test.js:
1791         * WebGPUShadingLanguageRI/TypeDefResolver.js:
1792         (TypeDefResolver):
1793         (TypeDefResolver.prototype.visitFuncDef): Deleted.
1794         * WebGPUShadingLanguageRI/Visitor.js:
1795         (Visitor.prototype.visitCastExpression):
1796
1797 2017-09-06  Daniel Bates  <dabates@apple.com>
1798
1799         Copy WebKit Permalink may generate wrong URL with SVN checkout
1800         https://bugs.webkit.org/show_bug.cgi?id=176427
1801
1802         Reviewed by Darin Adler.
1803
1804         Fixes an issue where Copy WebKit Permalink would generate an incorrect URL for
1805         any file not in the top-level directory of the repository when using an SVN
1806         checkout of WebKit.
1807
1808         Copy WebKit Permalink changes directories to the containing directory D of the
1809         active Xcode document F before running "svn info <path to F>". Currently we use
1810         the value of "Path" from the output of "svn info" when generating the permalink.
1811         This path is relative to D. But we want the path to F relative to the top-level
1812         checkout directory. We need to explicitly compute this.
1813
1814         * CopyPermalink/Copy WebKit Permalink.workflow/Contents/document.wflow:
1815
1816 2017-09-06  Carlos Garcia Campos  <cgarcia@igalia.com>
1817
1818         [GTK] Bump freetype version to 2.8.0
1819         https://bugs.webkit.org/show_bug.cgi?id=176351
1820
1821         Reviewed by Carlos Alberto Lopez Perez.
1822
1823         Remove the patch we were using since it was reverted upstream.
1824
1825         * gtk/jhbuild.modules:
1826         * gtk/patches/freetype6-2.4.11-truetype-font-height-fix.patch: Removed.
1827
1828 2017-09-06  Yoshiaki Jitsukawa  <Yoshiaki.Jitsukawa@sony.com>
1829
1830         [Win] Tools/TestWebKitAPI/Tests/WTF/PriorityQueue.cpp fails to compile with MSVC 2015
1831         https://bugs.webkit.org/show_bug.cgi?id=176442
1832
1833         Reviewed by Keith Miller.
1834
1835         * TestWebKitAPI/Tests/WTF/PriorityQueue.cpp:
1836         (TEST):
1837
1838 2017-09-05  Darin Adler  <darin@apple.com>
1839
1840         Fix a few minor problems found while working toward removing unneeded calls to updateStyle
1841         https://bugs.webkit.org/show_bug.cgi?id=176279
1842
1843         Reviewed by Antti Koivisto.
1844
1845         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
1846         (WTR::AccessibilityUIElement::setSelectedChild const): Handle null here. The old code instead
1847         would trigger an Objective-C exception unnecessarily.
1848
1849 2017-09-05  Wenson Hsieh  <wenson_hsieh@apple.com>
1850
1851         [iOS WK2] Add plumbing for WKContentView to ask the web process for additional drag items
1852         https://bugs.webkit.org/show_bug.cgi?id=176348
1853         Work towards <rdar://problem/31144674>
1854
1855         Reviewed by Tim Horton.
1856
1857         Introduces new test infrastructure to simulate tapping to add additional items to the current drag session. We
1858         add -[DataInteractionSimulator runFrom:to:additionalItemRequestLocations:], for which the last argument is a
1859         dictionary mapping progress (a double between 0 and 1) to NSValues representing the location from which the drag
1860         and drop simulation will request an additional drag item. During the simulated drag and drop, when the progress
1861         value exceeds a value in the map of remaining additional item request locations, we halt drag simulation
1862         progress for that runloop and instead request additional items from the location specified.
1863
1864         The only (useful) passing test we can create using the new machinery is one that verifies that preventDefault()
1865         on dragstart works as expected, preventing additional items from being added. While this trivially passes now,
1866         since the web-process-side of the additional items flow is not yet implemented, it should continue to pass after
1867         the web process portion is implemented.
1868
1869         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1870         * TestWebKitAPI/Tests/WebKitCocoa/selected-text-image-link-and-editable.html: Added.
1871
1872         Add a new test page that contains some non-editable text, an image, a link, and a rich text editable area.
1873
1874         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1875         (TestWebKitAPI::TEST):
1876         * TestWebKitAPI/ios/DataInteractionSimulator.h:
1877         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
1878         (-[MockDragDropSession addItems:]):
1879
1880         Convenience method to add additional mock drag items to a drag or drop session.
1881
1882         (-[DataInteractionSimulator _resetSimulatedState]):
1883         (-[DataInteractionSimulator runFrom:to:]):
1884
1885         Converted into a convenience wrapper around the latter version, passing in nil for the additional item request
1886         locations dictionary.
1887
1888         (-[DataInteractionSimulator runFrom:to:additionalItemRequestLocations:]):
1889         (-[DataInteractionSimulator _enqueuePendingAdditionalItemRequestLocations]):
1890         (-[DataInteractionSimulator _sendQueuedAdditionalItemRequest]):
1891
1892         New helper methods to detect when and where additional items should be "added", and subsequently simulate adding
1893         drag items at these given locations.
1894
1895         (-[DataInteractionSimulator _advanceProgress]):
1896
1897 2017-09-05  Alex Christensen  <achristensen@webkit.org>
1898
1899         Add WKUIDelegatePrivate equivalent of WKPageUIClient's mouseDidMoveOverElement
1900         https://bugs.webkit.org/show_bug.cgi?id=176428
1901         <rdar://problem/29270035>
1902
1903         Reviewed by Tim Horton.
1904
1905         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
1906         (-[MouseMoveOverElementDelegate _webView:mouseDidMoveOverElement:withFlags:userInfo:]):
1907         (TEST):
1908         * TestWebKitAPI/cocoa/TestWKWebView.h:
1909         * TestWebKitAPI/cocoa/TestWKWebView.mm:
1910         (-[TestWKWebView mouseMoveToPoint:withFlags:]):
1911
1912 2017-09-05  Matthew Stewart  <matthew_r_stewart@apple.com>
1913
1914         Benchmark Runner WebDriver maximize window on browser launch
1915         https://bugs.webkit.org/show_bug.cgi?id=175702
1916
1917         Reviewed by Stephanie Lewis.
1918
1919         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py:
1920         (LinuxBrowserDriver.launch_webdriver): added driver.maximize_window()
1921         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:
1922         (OSXBrowserDriver._launch_webdriver): added driver.maximize_window()
1923         * Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py:
1924         (WebDriverBenchmarkRunner._run_one_test): added driver.quit()
1925
1926 2017-09-05  Matthew Stewart  <matthew_r_stewart@apple.com>
1927
1928         Fix Benchmark Runner selenium autoinstall imports
1929         https://bugs.webkit.org/show_bug.cgi?id=175727
1930
1931         Reviewed by Stephanie Lewis.
1932
1933         This fixes run-benchmark taking a long time to start with WebDriver.
1934
1935         Inside webdriver's __init__.py file, it imports many other modules.
1936         So if we try to directly import autoinstalled.selenium.webdriver, it
1937         will re-run the autoinstall __init__.py for each new imported module
1938         that contains ".selenium"
1939         TODO: fix this inside the autoinstall code, to only do one install per
1940         import.
1941
1942         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_chrome_driver.py:
1943         (LinuxChromeDriver.launch_driver):
1944         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_firefox_driver.py:
1945         (LinuxFirefoxDriver.launch_driver):
1946         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
1947         (OSXChromeDriver.launch_driver):
1948         (OSXChromeCanaryDriver.launch_driver):
1949         (create_chrome_options):
1950         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
1951         (OSXFirefoxDriver.launch_driver):
1952         (OSXFirefoxNightlyDriver.launch_driver):
1953         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
1954         (OSXSafariDriver.launch_driver):
1955         * Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py:
1956         (WebDriverBenchmarkRunner._run_one_test):
1957
1958 2017-09-05  Aakash Jain  <aakash_jain@apple.com>
1959
1960         EWS should report when a step succeeds
1961         https://bugs.webkit.org/show_bug.cgi?id=176332
1962         <rdar://problem/25224607>
1963
1964         Reviewed by Sam Weinig.
1965
1966         Most of the EWSes report only if a step fails, but do not report when a step succeed. For e.g.: If a build succeeds,
1967         EWS does not report it. Information about a step passing is sometimes very valuable, especially when waiting for a 
1968         patch to complete processing. Sometimes, patch authors know that their changes are not covered by any tests. Having EWS 
1969         display that build was successful and it is currently running tests is valuable.
1970
1971         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
1972         (AbstractEarlyWarningSystem.command_passed): Update the EWS status server when a command pass. This is
1973         similar to what is done in Commit Queue and Style Queue.
1974         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
1975         (EarlyWarningSystemTest._default_expected_logs): Updated unit-tests appropriately.
1976
1977 2017-09-05  Myles C. Maxfield  <mmaxfield@apple.com>
1978
1979         WSL should support the bool type
1980         https://bugs.webkit.org/show_bug.cgi?id=176285
1981
1982         Reviewed by Filip Pizlo.
1983
1984         Very similar to the int and uint types. This patch also adds support for a logical negation expression "!x".
1985         This patch also reverts the ability of the program author to create their own "operator!()", and instead
1986         adds the ability of the program author to create their own "operator bool()". The code is generic, so
1987         programmers can make two arbitrary types Foo and Bar, and implement a "operator Bar(Foo)." The logical
1988         negation expression is a built-in, and requires its argument be a bool.
1989
1990         * WebGPUShadingLanguageRI/All.js:
1991         * WebGPUShadingLanguageRI/BoolLiteral.js: Copied from Tools/WebGPUShadingLanguageRI/NativeFunc.js.
1992         (BoolLiteral):
1993         (BoolLiteral.prototype.get value):
1994         (BoolLiteral.prototype.get isConstexpr):
1995         (BoolLiteral.prototype.toString):
1996         * WebGPUShadingLanguageRI/Checker.js:
1997         * WebGPUShadingLanguageRI/Evaluator.js:
1998         (Evaluator.prototype.visitBoolLiteral):
1999         (Evaluator.prototype.visitLogicalNot):
2000         * WebGPUShadingLanguageRI/Func.js:
2001         (Func):
2002         (Func.prototype.get isCast):
2003         (Func.prototype.toDeclString):
2004         * WebGPUShadingLanguageRI/FuncDef.js:
2005         (FuncDef):
2006         (FuncDef.prototype.get body):
2007         (FuncDef.prototype.rewrite):
2008         * WebGPUShadingLanguageRI/Intrinsics.js:
2009         (Intrinsics):
2010         * WebGPUShadingLanguageRI/Lexer.js:
2011         (Lexer.prototype.next):
2012         (Lexer):
2013         * WebGPUShadingLanguageRI/LogicalNot.js: Copied from Tools/WebGPUShadingLanguageRI/NativeFunc.js.
2014         (LogicalNot):
2015         (LogicalNot.prototype.get operand):
2016         (LogicalNot.prototype.toString):
2017         * WebGPUShadingLanguageRI/NativeFunc.js:
2018         (NativeFunc):
2019         * WebGPUShadingLanguageRI/Parse.js:
2020         (parseTerm):
2021         (parsePossiblePrefix):
2022         (parsePossibleRelationalEquality):
2023         (parseFuncName):
2024         (parseOperatorFuncDefValues):
2025         (parseNonOperatorFuncDefValues):
2026         (parseGenericFuncDefValues):
2027         (parseFuncDecl):
2028         (parseProtocolFuncDecl):
2029         (parseFuncDef):
2030         (parseNative):
2031         (parse):
2032         * WebGPUShadingLanguageRI/Rewriter.js:
2033         (Rewriter.prototype.visitBoolLiteral):
2034         (Rewriter.prototype.visitLogicalNot):
2035         (Rewriter):
2036         * WebGPUShadingLanguageRI/StandardLibrary.js:
2037         * WebGPUShadingLanguageRI/Test.html:
2038         * WebGPUShadingLanguageRI/Test.js:
2039         (makeUInt):
2040         (makeBool):
2041         (checkUInt):
2042         (checkBool):
2043         (TEST_literalBool):
2044         (TEST_identityBool):
2045         (TEST_intSimpleMath):
2046         (TEST_uintSimpleMath):
2047         (TEST_equality):
2048         (TEST_logicalNegation):
2049         (TEST_notEquality):
2050         (TEST_equalityTypeFailure):
2051         (TEST_add1): Deleted.
2052         * WebGPUShadingLanguageRI/TypeDefResolver.js:
2053         (TypeDefResolver.prototype.visitFuncDef):
2054         * WebGPUShadingLanguageRI/Visitor.js:
2055         (Visitor.prototype.visitBoolLiteral):
2056         (Visitor.prototype.visitLogicalNot):
2057
2058 2017-09-05  Matt Lewis  <jlewis3@apple.com>
2059
2060         Unreviewed, rolling out r221603.
2061
2062         This caused accessibility/mac/select-element-selection-with-
2063         optgroups.html to consistently timeout on macOS
2064
2065         Reverted changeset:
2066
2067         "Fix a few minor problems found while working toward removing
2068         unneeded calls to updateStyle"
2069         https://bugs.webkit.org/show_bug.cgi?id=176279
2070         http://trac.webkit.org/changeset/221603
2071
2072 2017-09-05  Youenn Fablet  <youenn@apple.com>
2073
2074         WebKitTestRunner should set the cache storage directory path
2075         https://bugs.webkit.org/show_bug.cgi?id=176373
2076
2077         Reviewed by Chris Dumez.
2078
2079         * WebKitTestRunner/TestController.cpp:
2080         (WTR::TestController::generateContextConfiguration const):
2081
2082 2017-09-05  Joseph Pecoraro  <pecoraro@apple.com>
2083
2084         test262: Completion values for control flow do not match the spec
2085         https://bugs.webkit.org/show_bug.cgi?id=171265
2086
2087         Reviewed by Saam Barati.
2088
2089         * Scripts/run-jsc-stress-tests:
2090         Include a :failDueToOutdatedOrBadTest to mark failures with justification.
2091
2092 2017-09-05  Alex Christensen  <achristensen@webkit.org>
2093
2094         Add WKUIDelegatePrivate equivalent of WKPageUIClient's unavailablePluginButtonClicked
2095         https://bugs.webkit.org/show_bug.cgi?id=176274
2096         <rdar://problem/29270035>
2097
2098         Reviewed by Darin Adler.
2099
2100         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
2101         (-[PluginDelegate _webView:unavailablePluginButtonClickedWithReason:pluginInfo:]):
2102         (TEST):
2103
2104 2017-09-05  Carlos Garcia Campos  <cgarcia@igalia.com>
2105
2106         [GTK] Wrong use of PLUGIN_ARCHITECTURE(X11) in several places
2107         https://bugs.webkit.org/show_bug.cgi?id=176329
2108
2109         Reviewed by Michael Catanzaro.
2110
2111         * CMakeLists.txt: Build TestNetscapePlugIn when NETSCAPE_PLUGIN_API is enabled and only link to X11 libraries
2112         when building the X11 target.
2113         * DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
2114         * DumpRenderTree/TestNetscapePlugIn/Tests/unix/CallInvalidateRectWithNullNPPArgument.cpp: Renamed from Tools/DumpRenderTree/TestNetscapePlugIn/Tests/x11/CallInvalidateRectWithNullNPPArgument.cpp.
2115         * DumpRenderTree/TestNetscapePlugIn/main.cpp:
2116         (NP_Initialize):
2117         (NPP_HandleEvent):
2118         (NPP_GetValue):
2119
2120 2017-09-04  Eric Carlson  <eric.carlson@apple.com>
2121
2122         Switch HTMLMediaElement to release logging
2123         https://bugs.webkit.org/show_bug.cgi?id=176065
2124
2125         Reviewed by Jer Noble.
2126
2127         * TestWebKitAPI/Tests/WebCore/Logging.cpp:
2128         (TestWebKitAPI::LogObserver::level const):
2129
2130 2017-09-03  Darin Adler  <darin@apple.com>
2131
2132         Fix a few minor problems found while working toward removing unneeded calls to updateStyle
2133         https://bugs.webkit.org/show_bug.cgi?id=176279
2134
2135         Reviewed by Antti Koivisto.
2136
2137         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
2138         (WTR::AccessibilityUIElement::setSelectedChild const): Handle null here. The old code instead
2139         would trigger an Objective-C exception unnecessarily.
2140
2141 2017-09-04  Wenson Hsieh  <wenson_hsieh@apple.com>
2142
2143         [iOS DnD] Refactor drag and drop logic in WKContentView in preparation for supporting multiple drag items in a drag session
2144         https://bugs.webkit.org/show_bug.cgi?id=176264
2145         <rdar://problem/31144674>
2146
2147         Reviewed by Darin Adler.
2148
2149         Adds two new iOS drag and drop tests to check that the clientX and clientY attributes of mouse events propagated
2150         to the page during drop are correct. Each test drags from an image element and drops into three custom-drop-
2151         handling elements; `dragenter`, `dragover`, and `drop` event listeners on the body then use the clientX and
2152         clientY event attributes to hit-test for drop target elements. The first test is suffixed with "-Basic"; the
2153         second test, suffixed with "-WithScrollOffset", makes the document scrollable to check that clientY is correct
2154         when scrolled.
2155
2156         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2157         * TestWebKitAPI/Tests/WebKitCocoa/drop-targets.html: Added.
2158         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2159         (TestWebKitAPI::testDragAndDropOntoTargetElements):
2160         (TestWebKitAPI::TEST):
2161         * TestWebKitAPI/cocoa/TestWKWebView.mm:
2162         (-[TestWKWebView stringByEvaluatingJavaScript:]):
2163
2164         Log a warning message when an API test fails due to JavaScript evaluation in TestWKWebView.
2165
2166 2017-09-03  Filip Pizlo  <fpizlo@apple.com>
2167
2168         WSL IntLiteral should have variable type so that it can unify with things like uint
2169         https://bugs.webkit.org/show_bug.cgi?id=176209
2170
2171         Reviewed by Mylex Maxfield.
2172         
2173         This introduces IntLiteralType, which can unify with any number type that can represent the
2174         int literal.
2175         
2176         This means that all of the following are legal:
2177         
2178             double x = 0; // 0 unifies with double
2179             double y = x + 5; // should resolve to double+double
2180             double z = array[0]; // 0 unifies with uint
2181         
2182         We can do similar things with float literals, so that you don't have to suffix "f" all the
2183         time.
2184         
2185         I think that this is very different from what C does. C just supports implicit type
2186         conversions. That's why "double x = 0" works in C. We don't do type conversions. Instead, we
2187         let each literal unify itself with one type.
2188         
2189         Also updated Test.html so that it runs again and is better at printing things.
2190
2191         * WebGPUShadingLanguageRI/All.js:
2192         * WebGPUShadingLanguageRI/Checker.js:
2193         * WebGPUShadingLanguageRI/IntLiteral.js:
2194         (IntLiteral):
2195         (IntLiteral.prototype.toString):
2196         * WebGPUShadingLanguageRI/IntLiteralType.js: Added.
2197         (IntLiteralType):
2198         (IntLiteralType.prototype.get origin):
2199         (IntLiteralType.prototype.get value):
2200         (IntLiteralType.prototype.get isPrimitive):
2201         (IntLiteralType.prototype.get isUnifiable):
2202         (IntLiteralType.prototype.typeVariableUnify):
2203         (IntLiteralType.prototype.unifyImpl):
2204         (IntLiteralType.prototype.verifyAsArgument):
2205         (IntLiteralType.prototype.verifyAsParameter):
2206         (IntLiteralType.prototype.commitUnification):
2207         (IntLiteralType.prototype.toString):
2208         * WebGPUShadingLanguageRI/Intrinsics.js:
2209         (Intrinsics.):
2210         (Intrinsics):
2211         * WebGPUShadingLanguageRI/LiteralTypeChecker.js:
2212         (LiteralTypeChecker.prototype.visitIntLiteralType):
2213         (LiteralTypeChecker):
2214         * WebGPUShadingLanguageRI/NativeType.js:
2215         (NativeType):
2216         (NativeType.prototype.get isNumber):
2217         (NativeType.prototype.set isNumber):
2218         (NativeType.prototype.get isInt):
2219         (NativeType.prototype.set isInt):
2220         (NativeType.prototype.get isFloat):
2221         (NativeType.prototype.set isFloat):
2222         * WebGPUShadingLanguageRI/Prepare.js:
2223         (prepare):
2224         * WebGPUShadingLanguageRI/Rewriter.js:
2225         (Rewriter.prototype.visitIntLiteral):
2226         (Rewriter.prototype.visitIntLiteralType):
2227         * WebGPUShadingLanguageRI/StandardLibrary.js:
2228         * WebGPUShadingLanguageRI/Test.html:
2229         * WebGPUShadingLanguageRI/Test.js:
2230         (this.window.this.print):
2231         (doPrep):
2232         (doLex):
2233         (checkNumber):
2234         (checkInt):
2235         (TEST_nameResolutionFailure):
2236         (TEST_threadArrayLoadIntLiteral):
2237         (TEST_deviceArrayStoreIntLiteral):
2238         (TEST_returnIntLiteralDouble):
2239         * WebGPUShadingLanguageRI/Type.js:
2240         (Type.prototype.get isNumber):
2241         (Type.prototype.get isInt):
2242         (Type.prototype.get isFloat):
2243         * WebGPUShadingLanguageRI/Visitor.js:
2244         (Visitor.prototype.visitIntLiteral):
2245         (Visitor.prototype.visitIntLiteralType):
2246
2247 2017-09-03  Filip Pizlo  <fpizlo@apple.com>
2248
2249         Add more tests for null behavior in WSL
2250         https://bugs.webkit.org/show_bug.cgi?id=176318
2251
2252         Reviewed by Myles Maxfield.
2253         
2254         This adds more tests for the unification behavior of null. In the process, I found a couple
2255         small bugs and fixed them.
2256
2257         * WebGPUShadingLanguageRI/Checker.js:
2258         * WebGPUShadingLanguageRI/FuncInstantiator.js:
2259         (FuncInstantiator.prototype.getUnique.InstantiationSubstitution.prototype.visitCallExpression):
2260         (FuncInstantiator.prototype.getUnique.InstantiationSubstitution):
2261         * WebGPUShadingLanguageRI/Substitution.js:
2262         (Substitution.prototype.visitTypeRef):
2263         * WebGPUShadingLanguageRI/Test.js:
2264         (TEST_passNullAndNotNullFullPoly):
2265         (TEST_passNullAndNotNullFullPolyReverse):
2266         (TEST_nullTypeVariableUnify.recurse):
2267         (TEST_nullTypeVariableUnify.everyOrder):
2268         (TEST_nullTypeVariableUnify.everyPair):
2269         (TEST_nullTypeVariableUnify):
2270         * WebGPUShadingLanguageRI/TypeRef.js:
2271         (TypeRef.wrap):
2272         * WebGPUShadingLanguageRI/TypeVariable.js:
2273         (TypeVariable.prototype.verifyAsArgument):
2274
2275 2017-09-04  Commit Queue  <commit-queue@webkit.org>
2276
2277         Unreviewed, rolling out r221494 and r221500.
2278         https://bugs.webkit.org/show_bug.cgi?id=176258
2279
2280         This caused the windows build to fail. (Requested by mlewis13
2281         on #webkit).
2282
2283         Reverted changesets:
2284
2285         "Switch HTMLMediaElement to release logging"
2286         https://bugs.webkit.org/show_bug.cgi?id=176065
2287         http://trac.webkit.org/changeset/221494
2288
2289         "Switch HTMLMediaElement to release logging"
2290         https://bugs.webkit.org/show_bug.cgi?id=176065
2291         http://trac.webkit.org/changeset/221500
2292
2293 2017-09-03  Darin Adler  <darin@apple.com>
2294
2295         REGRESSION (r220052): [Sierra] API test VideoControlsManager.VideoControlsManagerFullSizeVideoInWideMainFrame is a flaky failure
2296         https://bugs.webkit.org/show_bug.cgi?id=175329
2297
2298         Reviewed by Wenson Hsieh.
2299
2300         These tests rely on using setTimeout to wait a run loop iteration for the
2301         video controls to appear. With changes to how loading occurs, it can now
2302         take two run loop iterations. The concept here is inherently a bit flaky
2303         and racy -- end users will not be able to tell how many run loop cycles it
2304         takes for controls to come up, and websites can't tell either -- but for now
2305         changing the tests to wait one more run loop should get rid of the flakiness.
2306
2307         * TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm: Re-enable test.
2308
2309         * TestWebKitAPI/Tests/WebKitCocoa/full-size-autoplaying-video-with-audio.html: Add a
2310         second setTimeout and a comment.
2311         * TestWebKitAPI/Tests/WebKitCocoa/skinny-autoplaying-video-with-audio.html: Ditto.
2312         * TestWebKitAPI/Tests/WebKitCocoa/wide-autoplaying-video-with-audio.html: Ditto.
2313
2314 2017-09-03  Sam Weinig  <sam@webkit.org>
2315
2316         Make webkit-patch post --no-review enable EWS just like webkit-patch post-commits --no-review
2317         https://bugs.webkit.org/show_bug.cgi?id=176321
2318
2319         Reviewed by Darin Adler.
2320
2321         * Scripts/webkitpy/tool/commands/upload.py:
2322         Add the SubmitToEWS step to Post command
2323
2324 2017-09-03  Chris Dumez  <cdumez@apple.com>
2325
2326         Have getFileMetadata() return a std::optional<FileMetadata>
2327         https://bugs.webkit.org/show_bug.cgi?id=176293
2328
2329         Reviewed by Darin Adler.
2330
2331         * TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
2332         (TestWebKitAPI::TEST_F):
2333
2334 2017-09-02  Filip Pizlo  <fpizlo@apple.com>
2335
2336         WSL should support structs
2337         https://bugs.webkit.org/show_bug.cgi?id=176290
2338
2339         Reviewed by Mylex Maxfield.
2340         
2341         This adds parsing of struct types and makes them work.
2342         
2343         This required adding a struct layout phase, which in turn required being a bit more careful
2344         about how we instantiate functions and types. We cannot have any instantiation TypeRefs left
2345         once we're doing struct layout.
2346
2347         * WebGPUShadingLanguageRI/All.js:
2348         * WebGPUShadingLanguageRI/CallFunction.js:
2349         (callFunction):
2350         * WebGPUShadingLanguageRI/Checker.js:
2351         (Checker.prototype.visitProtocolDecl.set throw):
2352         * WebGPUShadingLanguageRI/DotExpression.js: Added.
2353         (DotExpression):
2354         (DotExpression.prototype.get struct):
2355         (DotExpression.prototype.get fieldName):
2356         (DotExpression.prototype.get isLValue):
2357         (DotExpression.prototype.toString):
2358         * WebGPUShadingLanguageRI/EBufferBuilder.js:
2359         (EBufferBuilder.prototype._createEPtr):
2360         * WebGPUShadingLanguageRI/EPtr.js:
2361         (EPtr.prototype.copyFrom): Deleted.
2362         (EPtr.prototype.toString): Deleted.
2363         * WebGPUShadingLanguageRI/Evaluator.js:
2364         (Evaluator.prototype.visitAssignment):
2365         (Evaluator.prototype.visitDotExpression):
2366         * WebGPUShadingLanguageRI/Field.js:
2367         (Field):
2368         * WebGPUShadingLanguageRI/FuncDef.js:
2369         (FuncDef.prototype.rewrite):
2370         * WebGPUShadingLanguageRI/FuncInstantiator.js:
2371         (FuncInstantiator.prototype.getUnique):
2372         (FuncInstantiator):
2373         * WebGPUShadingLanguageRI/Inline.js:
2374         (inline):
2375         (_inlineFunction):
2376         (resolveInlinedFunction):
2377         * WebGPUShadingLanguageRI/Inliner.js:
2378         (Inliner.prototype.visitDotExpression):
2379         * WebGPUShadingLanguageRI/InstantiateImmediates.js:
2380         (InstantiateImmediates.prototype.visitTypeRef):
2381         (InstantiateImmediates.prototype.visitVariableDecl):
2382         (InstantiateImmediates):
2383         * WebGPUShadingLanguageRI/NameResolver.js:
2384         (NameResolver.prototype._resolveTypeArguments):
2385         (NameResolver.prototype.visitTypeRef):
2386         * WebGPUShadingLanguageRI/Node.js:
2387         (Node.prototype.visit):
2388         * WebGPUShadingLanguageRI/OverloadResolutionFailure.js: Added.
2389         (OverloadResolutionFailure):
2390         (OverloadResolutionFailure.prototype.get func):
2391         (OverloadResolutionFailure.prototype.get reason):
2392         (OverloadResolutionFailure.prototype.toString):
2393         * WebGPUShadingLanguageRI/Parse.js:
2394         (parsePossibleSuffix):
2395         (parseField):
2396         (parseStructType):
2397         (parse):
2398         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
2399         (resolveOverloadImpl):
2400         * WebGPUShadingLanguageRI/Rewriter.js:
2401         (Rewriter.prototype.visitDotExpression):
2402         (Rewriter.prototype.visitVariableRef):
2403         * WebGPUShadingLanguageRI/StructLayoutBuilder.js: Added.
2404         (StructLayoutBuilder):
2405         (StructLayoutBuilder.prototype.visitStructType):
2406         (StructLayoutBuilder.prototype.get offset):
2407         (StructLayoutBuilder.prototype.visitField):
2408         (StructLayoutBuilder.prototype.visitVariableRef):
2409         (StructLayoutBuilder.prototype.visitVariableDecl):
2410         * WebGPUShadingLanguageRI/StructType.js:
2411         (StructType.prototype.add):
2412         (StructType.prototype.instantiate):
2413         (StructType.prototype.populateDefaultValue):
2414         * WebGPUShadingLanguageRI/Substitution.js:
2415         (Substitution.prototype.visitTypeRef):
2416         (Substitution.prototype.visitVariableRef):
2417         (Substitution):
2418         * WebGPUShadingLanguageRI/Test.js:
2419         (TEST_genericStructInstance):
2420         * WebGPUShadingLanguageRI/Type.js:
2421         (Type.prototype.inherits):
2422         * WebGPUShadingLanguageRI/TypeRef.js:
2423         (TypeRef.instantiate):
2424         * WebGPUShadingLanguageRI/VariableRef.js:
2425         (VariableRef.wrap):
2426         * WebGPUShadingLanguageRI/Visitor.js:
2427         (Visitor.prototype.visitTypeRef):
2428         (Visitor.prototype.visitDotExpression):
2429         (Visitor.prototype.visitVariableRef):
2430
2431 2017-09-02  Filip Pizlo  <fpizlo@apple.com>
2432
2433         WSL NullType should be a special type variable so it can unify with any pointer type
2434         https://bugs.webkit.org/show_bug.cgi?id=176235
2435
2436         Reviewed by Myles Maxfield.
2437         
2438         Null is just a type variable that plays by weird rules:
2439         
2440         - Other type variables don't recognize it, so if it's unified with T, it fails.
2441         - It behaves like a type variable for pointer and array reference types.
2442         - It arises only in argument (RHS) position.
2443         - Once Checker finds it to be equals to something, we need to remember what that was.
2444         
2445         I refactored some of the type system code to allow for the possibility of type variables being
2446         unified during equals() tests. It turns out that we were playing fast and loose here; I needed
2447         to beef up UnificationContext.prototype.verify. I added tests for this.
2448         
2449         I added an equalsWithCommit() that triggers commitUnification(), which allows NullType to
2450         remember what type it got unified with.
2451         
2452         NullLiteral then just instantiates its own NullType, which is what Checker uses as the type of
2453         the NullLiteral. Everything else just works.
2454         
2455         This adds a bunch of tests to make sure we generate type errors in various weird cases while
2456         also accepting a number of safe cases.
2457         
2458         I also added a way to run the tests in-browser.
2459
2460         * WebGPUShadingLanguageRI/All.js:
2461         * WebGPUShadingLanguageRI/ArrayRefType.js:
2462         (ArrayRefType.prototype.get isArrayRef):
2463         * WebGPUShadingLanguageRI/Checker.js:
2464         (Checker.prototype.visitProtocolDecl.set throw):
2465         * WebGPUShadingLanguageRI/ConstexprTypeParameter.js:
2466         (ConstexprTypeParameter.prototype.typeVariableUnify):
2467         * WebGPUShadingLanguageRI/Evaluator.js:
2468         (Evaluator.prototype.visitDereferenceExpression):
2469         (Evaluator.prototype.visitNullLiteral):
2470         * WebGPUShadingLanguageRI/Func.js:
2471         (Func.prototype.toString):
2472         (Func):
2473         * WebGPUShadingLanguageRI/Intrinsics.js:
2474         (Intrinsics):
2475         * WebGPUShadingLanguageRI/NativeFunc.js:
2476         (NativeFunc.prototype.toDeclString):
2477         (NativeFunc):
2478         (NativeFunc.prototype.toString): Deleted.
2479         * WebGPUShadingLanguageRI/NativeFuncInstance.js:
2480         (NativeFuncInstance.prototype.toDeclString):
2481         (NativeFuncInstance):
2482         (NativeFuncInstance.prototype.toString): Deleted.
2483         * WebGPUShadingLanguageRI/Node.js:
2484         (Node.unify):
2485         (Node.prototype._typeVariableUnifyImpl):
2486         (Node.prototype.equals):
2487         * WebGPUShadingLanguageRI/NullLiteral.js: Added.
2488         (NullLiteral):
2489         (NullLiteral.prototype.toString):
2490         * WebGPUShadingLanguageRI/NullType.js:
2491         (NullType):
2492         (NullType.prototype.get isPrimitive):
2493         (NullType.prototype.get isUnifiable):
2494         (NullType.prototype.typeVariableUnify):
2495         (NullType.prototype.unifyImpl):
2496         (NullType.prototype.verifyAsArgument):
2497         (NullType.prototype.verifyAsParameter):
2498         (NullType.prototype.toString):
2499         * WebGPUShadingLanguageRI/Parse.js:
2500         (parseTerm):
2501         (parseType.getAddressSpace):
2502         (parseType):
2503         * WebGPUShadingLanguageRI/Rewriter.js:
2504         (Rewriter.prototype.visitNullLiteral):
2505         * WebGPUShadingLanguageRI/Test.html: Added.
2506         * WebGPUShadingLanguageRI/Test.js:
2507         (this.window.this.print):
2508         (TEST_doubleGenericCallsSingleGeneric):
2509         (TEST_dereferenceDefaultNull):
2510         (TEST_dereferenceDefaultNullArrayRef):
2511         (doTest):
2512         (let.s.in.this.s.startsWith.string_appeared_here.s.match): Deleted.
2513         * WebGPUShadingLanguageRI/Type.js:
2514         (Type.prototype.get isArrayRef):
2515         * WebGPUShadingLanguageRI/TypeVariable.js:
2516         (TypeVariable.prototype.typeVariableUnify):
2517         * WebGPUShadingLanguageRI/UnificationContext.js:
2518         (UnificationContext.prototype.verify):
2519         (UnificationContext):
2520         (UnificationContext.prototype.isUnunified): Deleted.
2521         * WebGPUShadingLanguageRI/VariableRef.js:
2522         (VariableRef.prototype.get unifyNode):
2523         * WebGPUShadingLanguageRI/Visitor.js:
2524         (Visitor.prototype.visitNullLiteral):
2525
2526 2017-09-03  Sam Weinig  <sam@webkit.org>
2527
2528         Remove CanvasProxy
2529         https://bugs.webkit.org/show_bug.cgi?id=176288
2530
2531         Reviewed by Yusuke Suzuki.
2532
2533         CanvasProxy does not appear to be in any current HTML spec
2534         and was disabled and unimplemented in our tree. Time to 
2535         get rid of it.
2536
2537         * Scripts/webkitperl/FeatureList.pm:
2538         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2539
2540 2017-09-01  Filip Pizlo  <fpizlo@apple.com>
2541
2542         WSL should check unreachable code and no returns
2543         https://bugs.webkit.org/show_bug.cgi?id=176262
2544
2545         Reviewed by Myles Maxfield.
2546         
2547         This adds phases to check whether non-void functions return and whether there is any code after
2548         a return in any block. Added tests for simple versions of both of those things. We cannot add
2549         more complex versions until we support control flow statements.
2550
2551         * WebGPUShadingLanguageRI/All.js:
2552         * WebGPUShadingLanguageRI/CheckReturns.js: Added.
2553         (checkReturns):
2554         * WebGPUShadingLanguageRI/CheckUnreachableCode.js: Added.
2555         (checkUnreachableCode):
2556         * WebGPUShadingLanguageRI/Parse.js:
2557         (parseReturn):
2558         * WebGPUShadingLanguageRI/Prepare.js:
2559         (prepare):
2560         * WebGPUShadingLanguageRI/ReturnChecker.js: Added.
2561         (ReturnChecker.prototype.visitFuncDef):
2562         (ReturnChecker.prototype.visitBlock):
2563         (ReturnChecker.prototype.visitReturn):
2564         (ReturnChecker):
2565         * WebGPUShadingLanguageRI/Test.js:
2566         (TEST_simpleNoReturn):
2567         * WebGPUShadingLanguageRI/UnreachableCodeChecker.js: Added.
2568         (UnreachableCodeChecker.prototype.visitBlock):
2569         (UnreachableCodeChecker):
2570
2571 2017-09-01  Filip Pizlo  <fpizlo@apple.com>
2572
2573         WSL should use & for getting a ^ and @ for getting a []
2574         https://bugs.webkit.org/show_bug.cgi?id=176245
2575
2576         Reviewed by Myles Maxfield.
2577         
2578         Using \ as an operator was a bad decision since that's an escape character in so many contexts.
2579         
2580         Henceforth, & is for making pointers, for example:
2581         
2582         thread int^ foo() { int x; return &x; }
2583         
2584         And @ is for making array references, for example:
2585         
2586         thread int[] foo() { int[42] x; return @x; }
2587         
2588         Having separate operators makes it easy to have pointers to fixed-size arrays:
2589         
2590         thread int[42]^ foo() { int[42] x; return &x; }
2591
2592         * WebGPUShadingLanguageRI/Intrinsics.js:
2593         (Intrinsics):
2594         * WebGPUShadingLanguageRI/Lexer.js:
2595         (Lexer.prototype.next):
2596         (Lexer):
2597         * WebGPUShadingLanguageRI/MakePtrExpression.js:
2598         (MakePtrExpression.prototype.toString):
2599         (MakePtrExpression):
2600         * WebGPUShadingLanguageRI/Parse.js:
2601         (parsePossibleSuffix):
2602         (parsePossiblePrefix):
2603         (parseFuncName):
2604         * WebGPUShadingLanguageRI/StandardLibrary.js:
2605         * WebGPUShadingLanguageRI/Test.js:
2606         (TEST_simpleMakePtr):
2607
2608 2017-09-01  Myles C. Maxfield  <mmaxfield@apple.com>
2609
2610         WSL's lexer will never emit keyword tokens
2611         https://bugs.webkit.org/show_bug.cgi?id=176248
2612
2613         Reviewed by Filip Pizlo.
2614
2615         Because all tokens are also identified as idents, we need to handle them together.
2616
2617         * WebGPUShadingLanguageRI/Lexer.js:
2618         (Lexer.prototype.next):
2619         (Lexer):
2620         * WebGPUShadingLanguageRI/Test.js:
2621         (doLex):
2622         (checkLexerToken):
2623         (TEST_lexerKeyword):
2624
2625 2017-09-01  Alex Christensen  <achristensen@webkit.org>
2626
2627         Rename WebKit2 API tests after directory rename
2628         https://bugs.webkit.org/show_bug.cgi?id=176250
2629
2630         Reviewed by Tim Horton.
2631
2632         * TestWebKitAPI/Tests/Lots of files...
2633         Renamed WebKit2 to WebKit and WebKit1 to WebKitLegacy.
2634
2635 2017-09-01  Alex Christensen  <achristensen@webkit.org>
2636
2637         Add WKUIDelegatePrivate equivalent of WKPageUIClient's toolbarsAreVisible
2638         https://bugs.webkit.org/show_bug.cgi?id=176246
2639         <rdar://problem/29270035>
2640
2641         Reviewed by Tim Horton.
2642
2643         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
2644         (-[ToolbarDelegate _webView:getToolbarsAreVisibleWithCompletionHandler:]):
2645         (-[ToolbarDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
2646         (TEST):
2647
2648 2017-09-01  Eric Carlson  <eric.carlson@apple.com>
2649
2650         Switch HTMLMediaElement to release logging
2651         https://bugs.webkit.org/show_bug.cgi?id=176065
2652
2653         Unreviewed build fix.
2654
2655         * TestWebKitAPI/Tests/WebCore/Logging.cpp:
2656
2657 2017-09-01  Filip Pizlo  <fpizlo@apple.com>
2658
2659         WSL should have more tests of type checking failures
2660         https://bugs.webkit.org/show_bug.cgi?id=176244
2661
2662         Reviewed by Myles Maxfield.
2663
2664         * WebGPUShadingLanguageRI/Checker.js:
2665         (Checker.prototype.visitProtocolDecl.set throw):
2666         * WebGPUShadingLanguageRI/Test.js:
2667         (TEST_typeMismatchReturn):
2668
2669 2017-09-01  Filip Pizlo  <fpizlo@apple.com>
2670
2671         WSL should be be able to call a function declared in a protocol from a generic function
2672         https://bugs.webkit.org/show_bug.cgi?id=176242
2673
2674         Reviewed by Myles Maxfield.
2675         
2676         It turns out that we need to know when a function is resolved to a protocol signature, so we
2677         need to have a type for this. This introduces ProtocolFuncDecl.
2678         
2679         Also, this introduces parsing of protocol decls.
2680         
2681         When instantiating a function, we need to rewrite its CallExpressions if they were previously
2682         resolved to a PrtococolFuncDecl instead of a FuncDef or NativeFunc. In that case, we need to
2683         rerun the resolution on the program. That resolution is guaranteed to succeed if the type
2684         system works correctly.
2685
2686         * WebGPUShadingLanguageRI/All.js:
2687         * WebGPUShadingLanguageRI/CallExpression.js:
2688         (CallExpression.prototype.resolve):
2689         * WebGPUShadingLanguageRI/Checker.js:
2690         (Checker.prototype.visitProtocolDecl.set throw):
2691         * WebGPUShadingLanguageRI/EBufferBuilder.js:
2692         (EBufferBuilder.prototype._createEPtr):
2693         * WebGPUShadingLanguageRI/Func.js:
2694         (Func):
2695         (Func.prototype.get origin):
2696         * WebGPUShadingLanguageRI/FuncDef.js:
2697         (FuncDef):
2698         (FuncDef.prototype.get origin): Deleted.
2699         * WebGPUShadingLanguageRI/FuncInstantiator.js:
2700         (FuncInstantiator):
2701         (FuncInstantiator.prototype.getUnique.InstantiationSubstitution.prototype.visitCallExpression):
2702         (FuncInstantiator.prototype.getUnique.InstantiationSubstitution):
2703         * WebGPUShadingLanguageRI/NativeFunc.js:
2704         (NativeFunc):
2705         (NativeFunc.prototype.get origin): Deleted.
2706         * WebGPUShadingLanguageRI/NativeFuncInstance.js:
2707         (NativeFuncInstance):
2708         * WebGPUShadingLanguageRI/Node.js:
2709         (Node.prototype.substitute):
2710         * WebGPUShadingLanguageRI/Parse.js:
2711         (parseProtocolFuncDecl):
2712         (parseProtocolDecl):
2713         (parse):
2714         * WebGPUShadingLanguageRI/Program.js:
2715         (Program):
2716         (Program.prototype.get protocols):
2717         (Program.prototype.add):
2718         * WebGPUShadingLanguageRI/ProtocolDecl.js:
2719         (ProtocolDecl.prototype.add):
2720         (ProtocolDecl.prototype.hasHeir):
2721         (ProtocolDecl.prototype.addSignature): Deleted.
2722         * WebGPUShadingLanguageRI/ProtocolFuncDecl.js: Added.
2723         (ProtocolFuncDecl):
2724         * WebGPUShadingLanguageRI/Rewriter.js:
2725         (Rewriter.prototype.visitStructType):
2726         (Rewriter.prototype.visitTypeVariable):
2727         (Rewriter.prototype.visitProtocolFuncDecl):
2728         (Rewriter.prototype.visitCallExpression):
2729         * WebGPUShadingLanguageRI/StructType.js:
2730         (StructType.prototype.instantiate):
2731         * WebGPUShadingLanguageRI/Substitution.js:
2732         (Substitution):
2733         (Substitution.mapping): Deleted.
2734         * WebGPUShadingLanguageRI/Test.js:
2735         (TEST_simpleGeneric):
2736         (TEST_simpleAssignment):
2737         (TEST_simpleDefault):
2738         (TEST_simpleDereference):
2739         (TEST_dereferenceStore):
2740         (TEST_simpleMakePtr):
2741         (TEST_threadArrayLoad):
2742         (TEST_deviceArrayLoad):
2743         (TEST_threadArrayStore):
2744         (TEST_deviceArrayStore):
2745         (TEST_simpleProtocol):
2746         * WebGPUShadingLanguageRI/Visitor.js:
2747         (Visitor.prototype.visitProtocolFuncDecl):
2748
2749 2017-09-01  Eric Carlson  <eric.carlson@apple.com>
2750
2751         Switch HTMLMediaElement to release logging
2752         https://bugs.webkit.org/show_bug.cgi?id=176065
2753
2754         Reviewed by Jer Noble.
2755
2756         * TestWebKitAPI/Tests/WebCore/Logging.cpp:
2757         (TestWebKitAPI::LogObserver::level const):
2758
2759 2017-09-01  Ross Kirsling  <ross.kirsling@sony.com>
2760
2761         download-latest-github-release.py should have friendlier output for non-404 errors
2762         https://bugs.webkit.org/show_bug.cgi?id=176201
2763
2764         Reviewed by Brent Fulgham.
2765
2766         * Scripts/download-latest-github-release.py:
2767
2768 2017-09-01  Filip Pizlo  <fpizlo@apple.com>
2769
2770         [WSL] Add tests for storing to arrays
2771         https://bugs.webkit.org/show_bug.cgi?id=176237
2772
2773         Reviewed by Myles Maxfield.
2774         
2775         Storing to arrays works now.
2776
2777         * WebGPUShadingLanguageRI/ArrayType.js:
2778         (ArrayType):
2779         * WebGPUShadingLanguageRI/Test.js:
2780         (TEST_threadArrayStore):
2781         (TEST_deviceArrayStore):
2782
2783 2017-09-01  Alex Christensen  <achristensen@webkit.org>
2784
2785         Replace WKUIDelegatePrivate's isPlayingMediaDidChange with KVO _isPlayingAudio on WKWebView
2786         https://bugs.webkit.org/show_bug.cgi?id=176212
2787
2788         Reviewed by Tim Horton.
2789
2790         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
2791         (-[AudioObserver observeValueForKeyPath:ofObject:change:context:]):
2792         (TEST):
2793         (-[MediaDelegate _webView:isPlayingMediaDidChange:]): Deleted.
2794
2795 2017-09-01  Filip Pizlo  <fpizlo@apple.com>
2796
2797         WSL Rewriter should be an identity on things that aren't inside function bodies
2798         https://bugs.webkit.org/show_bug.cgi?id=176208
2799
2800         Reviewed by Myles Maxfield.
2801         
2802         Previously, if the Rewriter encountered a FunctionDef, StructType, NativeType, etc., then it
2803         would either crash or try to rewrite them. That's unfortunate because we use the Rewriter to
2804         rewrite struct and function bodies. If a function calls another function, then rewriting the
2805         caller should not mean also rewriting the callee. Previously we "fixed" this by religiously
2806         wrapping references to types with TypeDef and doing other such hacks. But that's subtly wrong.
2807         It only worked because Rewriter wasn't rewriting TypeRef.type. I think that Rewriter has to
2808         rewrite that in the long run because it may refer to another TypeRef, and it may be an
2809         instantiation that is using types that themselves need to be rewritten.
2810
2811         * WebGPUShadingLanguageRI/Checker.js:
2812         (Checker.prototype.visitProtocolDecl.set throw):
2813         * WebGPUShadingLanguageRI/NullType.js:
2814         (NullType):
2815         * WebGPUShadingLanguageRI/Rewriter.js:
2816         (Rewriter.prototype.visitFuncDef):
2817         (Rewriter.prototype.visitNativeFunc):
2818         (Rewriter.prototype.visitNativeFuncInstance):
2819         (Rewriter.prototype.visitNativeType):
2820         (Rewriter.prototype.visitTypeDef):
2821         (Rewriter.prototype.visitStructType):
2822         (Rewriter.prototype.visitTypeVariable):
2823         (Rewriter.prototype.visitConstexprTypeParameter):
2824         (Rewriter.prototype.visitNativeTypeInstance):
2825         (Rewriter.prototype.visitTypeRef):
2826         * WebGPUShadingLanguageRI/Visitor.js:
2827         (Visitor.prototype.visitNativeTypeInstance):
2828
2829 2017-09-01  Alex Christensen  <achristensen@webkit.org>
2830
2831         Disable ObjC WebGL policy SPI on iOS
2832         https://bugs.webkit.org/show_bug.cgi?id=176233
2833
2834         Reviewed by Tim Horton.
2835
2836         * TestWebKitAPI/Tests/WebKitCocoa/WebGLPolicy.mm:
2837
2838 2017-08-31  Carlos Garcia Campos  <cgarcia@igalia.com>
2839
2840         [GTK] Improve the way unit test are run and the results reported
2841         https://bugs.webkit.org/show_bug.cgi?id=176104
2842
2843         Reviewed by Carlos Alberto Lopez Perez.
2844
2845         There are several issues with the way unit tests are run by run-gtk-tests and also with the way results are
2846         reported:
2847
2848          - The results summary only mentions the test binaries, not the actual test cases, so you always have to scroll
2849            up to find the actual test cases failing.
2850          - The number of reported failures is the number of test binaries that failed, so if a new test case fails for
2851            the same binary in a new revision, we won't notice it just looking at the number of failures.
2852          - We show detailed information about skipped test in the results summary, which is just noise.
2853          - In the case of glib tests, when a test case times out, we finish the test suite, instead of continuing with the
2854            rest of the test cases like we do for normal failures or crashes. If a new test case fails after a test case that
2855            timed out we will not notice it until we fix or skip the test cases timing out.
2856          - In the case of glib tests, the timeout is applied to the whole suite, instead of per test case, we have a hack
2857            to make it longer only for that. It has worked so far, but it doesn't scale, and it's an ugly hack.
2858          - It's not currently possible to detect flaky tests, because again, we know the binaries/suites that failed but
2859            not the actual test cases.
2860
2861         This patch fixes all these issues and makes it possible to add support for flaky tests in a follow up patch.
2862
2863         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
2864         (RunGtkAPITests.commandComplete): Update the RunGtkAPITests step to parse the new output.
2865         * Scripts/run-gtk-tests:
2866         (TestRunner._start_timeout): Helper to start the timeout if needed.
2867         (TestRunner._start_timeout._alarm_handler): Raise timeout exception.
2868         (TestRunner._stop_timeout): Helper to stop the timeout if needed.
2869         (TestRunner._waitpid): Merged waitpid and return_code_from_exit_status.
2870         (TestRunner._run_test_glib): Do not double the timeout anymore, we now start/stop the timeout for every test
2871         case. Return a dictionary where keys are test cases and values the results only in case of failures.
2872         (TestRunner._run_test_glib.parse_line): Update the parser to also detect test cases and the results.
2873         (TestRunner._run_test_glib.parse_line.set_test_result): Helper to set the result of a test case.
2874         (TestRunner._run_google_test): Return a dictionary where key is the test case and value is the result only in
2875         case of failure.
2876         (TestRunner._run_google_test_suite): Updated now that _run_google_test returns a dictionary.
2877         (TestRunner.run_tests): Handle the results dictionary and show the results with information about test cases
2878         failing and grouped by test binaries.
2879
2880 2017-08-31  Filip Pizlo  <fpizlo@apple.com>
2881
2882         WSL should support loading from arrays
2883         https://bugs.webkit.org/show_bug.cgi?id=176207
2884
2885         Reviewed by Saam Barati.
2886         
2887         Getting a test that loads from arrays to work required doing a lot of things:
2888         
2889         - a[i] now parses to ^(operator\[](a, i)).
2890         - added operator\[] for four array reference types.
2891         - to make thread|threadgroup|device T[] work, you need T:primitive.
2892         - so this adds the magical primitive protocol.
2893         
2894         This required a little bit of rejuggling in the name resolver and type checker. The main thing
2895         is that to prevent the rewriter from copying the types referenced by some function, you need to
2896         make sure that when you add a reference to a type, you wrap it in a TypeRef. This doesn't
2897         completely feel right, but I'm sure we'll figure out the balance eventually. See bug 176208.
2898
2899         * WebGPUShadingLanguageRI/All.js:
2900         * WebGPUShadingLanguageRI/Checker.js:
2901         (Checker.prototype.visitProtocolDecl.set throw):
2902         * WebGPUShadingLanguageRI/EArrayRef.js: Added.
2903         (EArrayRef):
2904         (EArrayRef.prototype.get ptr):
2905         (EArrayRef.prototype.get length):
2906         (EArrayRef.prototype.toString):
2907         * WebGPUShadingLanguageRI/EPtr.js:
2908         (EPtr.prototype.plus):
2909         (EPtr.prototype.toString):
2910         (EPtr):
2911         * WebGPUShadingLanguageRI/Evaluator.js:
2912         (Evaluator.prototype.visitUintLiteral):
2913         * WebGPUShadingLanguageRI/FuncInstantiator.js:
2914         (FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitNativeFunc):
2915         (FuncInstantiator.prototype.getUnique.Instantiate):
2916         (FuncInstantiator.prototype.getUnique):
2917         (FuncInstantiator):
2918         * WebGPUShadingLanguageRI/Intrinsics.js:
2919         (Intrinsics):
2920         * WebGPUShadingLanguageRI/Lexer.js:
2921         (Lexer.prototype.next):
2922         (Lexer):
2923         * WebGPUShadingLanguageRI/NameContext.js:
2924         (NameContext.prototype.recognizeIntrinsics):
2925         * WebGPUShadingLanguageRI/NameResolver.js:
2926         (NameResolver.prototype.visitProtocolRef):
2927         * WebGPUShadingLanguageRI/NativeFuncInstance.js:
2928         (NativeFuncInstance.prototype.get isNative):
2929         * WebGPUShadingLanguageRI/Parse.js:
2930         (parseTerm):
2931         (parseTypeDef):
2932         (parseNative):
2933         (parsePossibleSuffix):
2934         (parse):
2935         * WebGPUShadingLanguageRI/ProtocolDecl.js:
2936         (ProtocolDecl):
2937         * WebGPUShadingLanguageRI/ProtocolRef.js:
2938         (ProtocolRef.prototype.get isPrimitive):
2939         (ProtocolRef):
2940         * WebGPUShadingLanguageRI/PtrType.js:
2941         (PtrType.prototype.populateDefaultValue): Deleted.
2942         * WebGPUShadingLanguageRI/ReferenceType.js:
2943         (ReferenceType.prototype.populateDefaultValue):
2944         (ReferenceType):
2945         * WebGPUShadingLanguageRI/Rewriter.js:
2946         (Rewriter.prototype.visitUintLiteral):
2947         (Rewriter.prototype.visitFunc): Deleted.
2948         (Rewriter.prototype.visitTypeVariable): Deleted.
2949         (Rewriter.prototype.visitConstexprTypeParameter): Deleted.
2950         * WebGPUShadingLanguageRI/StandardLibrary.js:
2951         * WebGPUShadingLanguageRI/Test.js:
2952         (TEST_threadArrayLoad):
2953         (TEST_deviceArrayLoad):
2954         * WebGPUShadingLanguageRI/TypeRef.js:
2955         (TypeRef.prototype.get instantiatedType):
2956         * WebGPUShadingLanguageRI/TypeVariable.js:
2957         (TypeVariable.prototype.toString):
2958         (TypeVariable):
2959         * WebGPUShadingLanguageRI/UintLiteral.js: Added.
2960         (UintLiteral):
2961         (UintLiteral.prototype.get value):
2962         (UintLiteral.prototype.get isConstexpr):
2963         (UintLiteral.prototype.toString):
2964         * WebGPUShadingLanguageRI/Visitor.js:
2965         (Visitor.prototype.visitNativeFuncInstance):
2966         (Visitor.prototype.visitTypeVariable):
2967         (Visitor.prototype.visitPtrType):
2968         (Visitor.prototype.visitArrayRefType):
2969         (Visitor.prototype.visitUintLiteral):
2970         * WebGPUShadingLanguageRI/WTrapError.js: Added.
2971         (WTrapError):
2972
2973 2017-08-31  Alex Christensen  <achristensen@webkit.org>
2974
2975         Add WKUIDelegatePrivate equivalent of WKPageUIClient's isPlayingAudioDidChange
2976         https://bugs.webkit.org/show_bug.cgi?id=176203
2977         <rdar://problem/29270035>
2978
2979         Reviewed by Tim Horton.
2980
2981         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
2982         (-[MediaDelegate _webView:isPlayingMediaDidChange:]):
2983         (-[MediaDelegate webView:didFinishNavigation:]):
2984         (TEST):
2985
2986 2017-08-31  Alex Christensen  <achristensen@webkit.org>
2987
2988         Add ObjC SPI corresponding to WKPageLoaderClient's webGLLoadPolicy and resolveWebGLLoadPolicy
2989         https://bugs.webkit.org/show_bug.cgi?id=175779
2990         <rdar://problem/22367975>
2991
2992         Reviewed by Tim Horton.
2993
2994         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2995         * TestWebKitAPI/Tests/WebKitCocoa/WebGLPolicy.mm: Added.
2996         (-[WebGLTestDelegate webView:startURLSchemeTask:]):
2997         (-[WebGLTestDelegate webView:stopURLSchemeTask:]):
2998         (-[WebGLTestDelegate _webView:webGLLoadPolicyForURL:decisionHandler:]):
2999         (-[WebGLTestDelegate _webView:resolveWebGLLoadPolicyForURL:decisionHandler:]):
3000         (-[WebGLTestDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
3001         (urlsEqual):
3002         (runTest):
3003         (TEST):
3004
3005 2017-08-31  Don Olmstead  <don.olmstead@sony.com>
3006
3007         [CMake] Make USE_CF conditional within Windows
3008         https://bugs.webkit.org/show_bug.cgi?id=176173
3009
3010         Reviewed by Alex Christensen.
3011
3012         * DumpRenderTree/config.h:
3013         * MiniBrowser/win/CMakeLists.txt:
3014         * MiniBrowser/win/stdafx.h:
3015         * TestWebKitAPI/PlatformWin.cmake:
3016
3017 2017-08-31  Filip Pizlo  <fpizlo@apple.com>
3018
3019         WSL should support makeptr (\)
3020         https://bugs.webkit.org/show_bug.cgi?id=176197
3021
3022         Reviewed by Saam Barati.
3023         
3024         This required introducing some sanity about how pointers are carried around in the evaluator.
3025         It turns out that we need to be careful about when a pointer to an rvalue is dereferenced. It
3026         should be dereferenced basically immediately. If it cannot be, then we need to snapshot the
3027         value. To do that, we need to know the types of things in a few more places. That's what this
3028         change accomplishes.
3029
3030         * WebGPUShadingLanguageRI/All.js:
3031         * WebGPUShadingLanguageRI/CallFunction.js:
3032         (callFunction):
3033         * WebGPUShadingLanguageRI/Checker.js:
3034         (Checker.prototype.visitProtocolDecl.set throw):
3035         * WebGPUShadingLanguageRI/DereferenceExpression.js:
3036         (DereferenceExpression.prototype.get isLValue):
3037         * WebGPUShadingLanguageRI/Evaluator.js:
3038         (Evaluator.prototype._snapshot):
3039         (Evaluator.prototype.runBody):
3040         (Evaluator.prototype.visitFunctionLikeBlock):
3041         (Evaluator.prototype.visitDereferenceExpression):
3042         (Evaluator.prototype.visitMakePtrExpression):
3043         (Evaluator.prototype.visitCommaExpression):
3044         (Evaluator.prototype.visitCallExpression):
3045         (Evaluator):
3046         (Evaluator.prototype._dereference): Deleted.
3047         * WebGPUShadingLanguageRI/FuncInstantiator.js:
3048         (FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitFuncDef):
3049         (FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitNativeFunc):
3050         (FuncInstantiator.prototype.getUnique.Instantiate):
3051         (FuncInstantiator.prototype.getUnique):
3052         (FuncInstantiator):
3053         * WebGPUShadingLanguageRI/FunctionLikeBlock.js:
3054         (FunctionLikeBlock):
3055         (FunctionLikeBlock.prototype.get returnType):
3056         (FunctionLikeBlock.prototype.toString):
3057         * WebGPUShadingLanguageRI/Inliner.js:
3058         (Inliner.prototype.visitCallExpression):
3059         (Inliner):
3060         * WebGPUShadingLanguageRI/MakePtrExpression.js: Added.
3061         (MakePtrExpression):
3062         (MakePtrExpression.prototype.get lValue):
3063         (MakePtrExpression.prototype.toString):
3064         * WebGPUShadingLanguageRI/NativeFuncInstance.js: Added.
3065         (NativeFuncInstance):
3066         (NativeFuncInstance.prototype.get func):
3067         (NativeFuncInstance.prototype.toString):
3068         * WebGPUShadingLanguageRI/Rewriter.js:
3069         (Rewriter.prototype.visitMakePtrExpression):
3070         (Rewriter.prototype.visitCallExpression):
3071         * WebGPUShadingLanguageRI/Test.js:
3072         (TEST_dereferenceStore):
3073         (TEST_simpleMakePtr):
3074         * WebGPUShadingLanguageRI/Value.js:
3075         (Value.prototype.get isLValue):
3076         (Value):
3077         * WebGPUShadingLanguageRI/VariableRef.js:
3078         (VariableRef.prototype.get isLValue):
3079         (VariableRef.prototype.get addressSpace):
3080         * WebGPUShadingLanguageRI/Visitor.js:
3081         (Visitor.prototype.visitMakePtrExpression):
3082         (Visitor.prototype.visitCallExpression):
3083
3084 2017-08-31  Ryan Haddad  <ryanhaddad@apple.com>
3085
3086         Unreviewed, rolling out r221445.
3087
3088         This change broke Sierra Release builds.
3089
3090         Reverted changeset:
3091
3092         "Switch HTMLMediaElement to release logging"
3093         https://bugs.webkit.org/show_bug.cgi?id=176065
3094         http://trac.webkit.org/changeset/221445
3095
3096 2017-08-31  Filip Pizlo  <fpizlo@apple.com>
3097
3098         WSL should support dereference (^)
3099         https://bugs.webkit.org/show_bug.cgi?id=176192
3100
3101         Reviewed by Myles Maxfield.
3102         
3103         This implements DereferenceExpression.
3104         
3105         It also renames Evaluator.prototype.visitFunctionBody, because that name confusingly implies
3106         that there is a class named FunctionBody. It's now called runBody.
3107         
3108         I made the check to see if a type is a pointer type be the isPtr method, so that we can have
3109         other pointer types that are implemented via something other than PtrType. We might want it if
3110         for example we wanted a pointer type that is generic over address space.
3111
3112         * WebGPUShadingLanguageRI/All.js:
3113         * WebGPUShadingLanguageRI/CallFunction.js:
3114         (callFunction):
3115         * WebGPUShadingLanguageRI/Checker.js:
3116         (Checker.prototype.visitProtocolDecl.set throw):
3117         * WebGPUShadingLanguageRI/DereferenceExpression.js: Added.
3118         (DereferenceExpression):
3119         (DereferenceExpression.prototype.get ptr):
3120         (DereferenceExpression.prototype.toString):
3121         * WebGPUShadingLanguageRI/Evaluator.js:
3122         (Evaluator.prototype.visitFunctionLikeBlock):
3123         (Evaluator.prototype._dereference):
3124         (Evaluator.prototype.visitDereferenceExpression):
3125         (Evaluator.prototype.visitFunctionBody): Deleted.
3126         * WebGPUShadingLanguageRI/PtrType.js:
3127         (PtrType.prototype.get isPtr):
3128         (PtrType.prototype.populateDefaultValue):
3129         * WebGPUShadingLanguageRI/Rewriter.js:
3130         (Rewriter.prototype.visitAssignment):
3131         (Rewriter.prototype.visitDereferenceExpression):
3132         * WebGPUShadingLanguageRI/Test.js:
3133         (TEST_simpleDereference):
3134         * WebGPUShadingLanguageRI/Type.js:
3135         (Type.prototype.get isPtr):
3136         * WebGPUShadingLanguageRI/Visitor.js:
3137         (Visitor.prototype.visitDereferenceExpression):
3138
3139 2017-08-31  Filip Pizlo  <fpizlo@apple.com>
3140
3141         There should only be one callFunction API in WSL
3142         https://bugs.webkit.org/show_bug.cgi?id=176189
3143
3144         Reviewed by Saam Barati.
3145         
3146         This removes the need for callFunctionByRef, which was weird. It's now the case the TypedValue
3147         is always a tuple of type and ePtr, and TypedValue has a super simple API for boxing and
3148         unboxing single-cell values like ints.
3149
3150         * WebGPUShadingLanguageRI/CallFunction.js:
3151         (callFunction):
3152         (callFunctionByRef): Deleted.
3153         * WebGPUShadingLanguageRI/Test.js:
3154         (makeInt):
3155         * WebGPUShadingLanguageRI/TypedValue.js:
3156         (TypedValue):
3157         (TypedValue.prototype.get type):
3158         (TypedValue.prototype.get ePtr):
3159         (TypedValue.box):
3160         (TypedValue.prototype.get value):
3161         (TypedValue.prototype.toString):
3162
3163 2017-08-31  Filip Pizlo  <fpizlo@apple.com>
3164
3165         WSL EPtr does not need to carry around the type
3166         https://bugs.webkit.org/show_bug.cgi?id=176188
3167
3168         Reviewed by Saam Barati.
3169         
3170         To validate that the interpreter is modeling a statically typed execution environment, it's
3171         really best if values don't know their types at all. A pointer is just a pointer (i.e a buffer
3172         and offset in our world), and it's the job of the AST node that uses it to figure out what its
3173         type should be.
3174         
3175         I think this makes the code simpler overall.
3176
3177         * WebGPUShadingLanguageRI/All.js:
3178         * WebGPUShadingLanguageRI/CallFunction.js:
3179         (callFunctionByRef):
3180         (callFunction):
3181         * WebGPUShadingLanguageRI/Checker.js:
3182         (Checker.prototype.visitProtocolDecl.set throw):
3183         * WebGPUShadingLanguageRI/EBufferBuilder.js:
3184         (EBufferBuilder.prototype._createEPtr):
3185         * WebGPUShadingLanguageRI/EPtr.js:
3186         (EPtr):
3187         (EPtr.box):
3188         (EPtr.prototype.copyFrom):
3189         (EPtr.prototype.toString):
3190         * WebGPUShadingLanguageRI/EValue.js: Removed.
3191         * WebGPUShadingLanguageRI/Evaluator.js:
3192         (Evaluator.prototype.visitFunctionLikeBlock):
3193         (Evaluator.prototype.visitVariableDecl):
3194         (Evaluator.prototype.visitAssignment):
3195         (Evaluator.prototype.visitIntLiteral):
3196         * WebGPUShadingLanguageRI/Intrinsics.js:
3197         (Intrinsics):
3198         * WebGPUShadingLanguageRI/Rewriter.js:
3199         (Rewriter.prototype.visitAssignment):
3200         * WebGPUShadingLanguageRI/StructType.js:
3201         (StructType.prototype.instantiate):
3202         * WebGPUShadingLanguageRI/Test.js:
3203         (checkInt):
3204
3205 2017-08-31  Filip Pizlo  <fpizlo@apple.com>
3206
3207         WSL doesn't need to wrap primitives like ints and floats in specialized classes like EInt and EFloat
3208         https://bugs.webkit.org/show_bug.cgi?id=176184
3209
3210         Reviewed by Saam Barati.
3211         
3212         The only use for EInt and EFloat was that users of the interpreter want to be able to reason
3213         about values that know their type. But for the actual interpreter, it makes most sense for
3214         EBuffer to hold values directly - for example, ints in the case of values of type int. Then,
3215         all of the logic of doing math on those things can be implemented in Intrinsics.js.
3216         
3217         So, this removes EInt and EFloat but introduces a new TypedValue class that is used only on the
3218         boundary of the interpreter. You can either use the interpreter by speaking its internal
3219         language (EPtr to an EBuffer that has the values) or by using the simple API (which uses
3220         TypedValue as a trade-off between power and convenience).
3221
3222         * WebGPUShadingLanguageRI/All.js:
3223         * WebGPUShadingLanguageRI/CallFunction.js:
3224         (callFunction):
3225         * WebGPUShadingLanguageRI/EFloat.js: Removed.
3226         * WebGPUShadingLanguageRI/EInt.js: Removed.
3227         * WebGPUShadingLanguageRI/EPtr.js:
3228         (EPtr.box):
3229         * WebGPUShadingLanguageRI/Evaluator.js:
3230         (Evaluator.prototype.visitIntLiteral):
3231         * WebGPUShadingLanguageRI/Intrinsics.js:
3232         (Intrinsics):
3233         * WebGPUShadingLanguageRI/Test.js:
3234         (makeInt):
3235         (checkInt):
3236         (TEST_add1):
3237         (TEST_simpleGeneric):
3238         (TEST_simpleAssignment):
3239         (TEST_simpleDefault):
3240         * WebGPUShadingLanguageRI/TypedValue.js: Added.
3241         (TypedValue):
3242         (TypedValue.prototype.toString):
3243
3244 2017-08-31  David Quesada  <david_quesada@apple.com>
3245
3246         WKNavigationDelegatePrivate client redirect SPI needs to be able to detect redirects scheduled before the document finishes loading
3247         https://bugs.webkit.org/show_bug.cgi?id=176128
3248         rdar://problem/34068476
3249
3250         Reviewed by Brady Eidson.
3251
3252         Removed API test for the deleted WKNavigationDelegatePrivate method,
3253         and added two new tests for the two new methods.
3254
3255         * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
3256         (-[ClientRedirectNavigationDelegate _webView:willPerformClientRedirectToURL:delay:]):
3257         (-[ClientRedirectNavigationDelegate _webViewDidCancelClientRedirect:]):
3258         (-[ClientRedirectNavigationDelegate webView:didFinishNavigation:]):
3259         (TEST):
3260
3261 2017-08-31  Filip Pizlo  <fpizlo@apple.com>
3262
3263         WSL should handle variable assignments and variable declarations
3264         https://bugs.webkit.org/show_bug.cgi?id=176180
3265
3266         Reviewed by Saam Barati.
3267         
3268         Just fills in VariableDecl and Assignment logic so that we can test variables.
3269
3270         * WebGPUShadingLanguageRI/Checker.js:
3271         (Checker.prototype.visitProtocolDecl.set throw):
3272         * WebGPUShadingLanguageRI/EBufferBuilder.js:
3273         (EBufferBuilder.prototype._createEPtrForNode):
3274         (EBufferBuilder.prototype.visitFuncParameter):
3275         (EBufferBuilder.prototype.visitVariableDecl):
3276         (EBufferBuilder):
3277         * WebGPUShadingLanguageRI/Evaluator.js:
3278         (Evaluator.prototype.visitVariableDecl):
3279         (Evaluator.prototype.visitAssignment):
3280         * WebGPUShadingLanguageRI/NameResolver.js:
3281         (NameResolver.prototype.visitVariableDecl):
3282         * WebGPUShadingLanguageRI/Rewriter.js:
3283         (Rewriter.prototype.visitFuncParameter):
3284         (Rewriter.prototype.visitVariableDecl):
3285         * WebGPUShadingLanguageRI/Test.js:
3286         (makeInt):
3287         (TEST_add1):
3288         (TEST_simpleGeneric):
3289         (TEST_simpleAssignment):
3290         (TEST_simpleDefault):
3291         * WebGPUShadingLanguageRI/Visitor.js:
3292         (Visitor.prototype.visitVariableDecl):
3293
3294 2017-08-31  Chris Dumez  <cdumez@apple.com>
3295
3296         getFileMetadata() does not work as expected for symbolic links
3297         https://bugs.webkit.org/show_bug.cgi?id=176143
3298
3299         Reviewed by Andreas Kling.
3300
3301         Add API test coverage.
3302
3303         * TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
3304         (TestWebKitAPI::TEST_F):
3305
3306 2017-08-31  Filip Pizlo  <fpizlo@apple.com>
3307
3308         WSL parser should pass the token as the origin to the AST
3309         https://bugs.webkit.org/show_bug.cgi?id=176177
3310
3311         Reviewed by Keith Miller.
3312         
3313         Parse.js was sometimes passing token.origin as the origin, but that's just the filename
3314         component of the origin. This fixes the problem and adds a test. The test previously failed
3315         because instead of reporting the origin of the type error as "<test>:1", it reported undefined.
3316
3317         * WebGPUShadingLanguageRI/Parse.js:
3318         (parseProtocolRef):
3319         (consumeEndOfTypeArgs):
3320         (parseTypeParameters):
3321         (parseTerm):
3322         (parseTypeArguments):
3323         (parseType):
3324         (parseTypeDef):
3325         (parseNative):
3326         (parseLeftOperatorCall):
3327         (parsePossibleSuffix):
3328         (parsePossiblePrefix):
3329         (parsePossibleRelationalEquality):
3330         (parseLeftLogicalExpression):
3331         (parsePossibleTernaryConditional):
3332         (parsePossibleAssignment):
3333         (genericParseCommaExpression):
3334         (parseReturn):
3335         (parseVariableDecls):
3336         (parseBlock):
3337         * WebGPUShadingLanguageRI/Test.js:
3338         (checkFail):
3339         (TEST_nameResolutionFailure):
3340
3341 2017-08-31  Keith Miller  <keith_miller@apple.com>
3342
3343         Add a filter argument to WSL test suite.
3344         https://bugs.webkit.org/show_bug.cgi?id=176176
3345
3346         Reviewed by Filip Pizlo.
3347
3348         * WebGPUShadingLanguageRI/Test.js:
3349         (this.string_appeared_here.i.switch):
3350         (let.s.in.this.s.startsWith.string_appeared_here.s.match):
3351         (let.s.in.this.s.startsWith): Deleted.
3352
3353 2017-08-30  Filip Pizlo  <fpizlo@apple.com>
3354
3355         WSL should be able to run a program that uses generics
3356         https://bugs.webkit.org/show_bug.cgi?id=176152
3357
3358         Reviewed by Keith Miller.
3359         
3360         This fixes the WSL parser and type checker to the point that we can:
3361         
3362         - Parse a function call!
3363         - Type check a generic function call with an inferred type parameter.
3364         - Instantiate a generic function.
3365         - Inline a function call.
3366         - Evaluate an inlined function call.
3367         
3368         This also changes the test suite so that it's a little nicer to add new tests. Functions whose
3369         names start with "TEST_" are tests.
3370
3371         * WebGPUShadingLanguageRI/Checker.js:
3372         (Checker.prototype.visitProtocolDecl.set throw):
3373         * WebGPUShadingLanguageRI/EBufferBuilder.js:
3374         (EBufferBuilder.prototype.visitFuncParameter):
3375         (EBufferBuilder):
3376         * WebGPUShadingLanguageRI/Evaluator.js:
3377         (Evaluator.prototype.visitFunctionLikeBlock):
3378         * WebGPUShadingLanguageRI/FuncDef.js:
3379         (FuncDef.prototype.toString):
3380         (FuncDef):
3381         * WebGPUShadingLanguageRI/FuncInstantiator.js:
3382         (FuncInstantiator.prototype.getUnique):
3383         (FuncInstantiator):
3384         * WebGPUShadingLanguageRI/Inliner.js:
3385         (Inliner.prototype.visitCallExpression):
3386         (Inliner):
3387         * WebGPUShadingLanguageRI/Lexer.js:
3388         (Lexer):
3389         * WebGPUShadingLanguageRI/NameContext.js:
3390         (NameContext):
3391         (NameContext.prototype.add):
3392         (NameContext.prototype.get let):
3393         (NameContext.prototype.defineAll):
3394         (NameContext.get intrinsics): Deleted.
3395         (NameContext.set program): Deleted.
3396         (NameContext.get program): Deleted.
3397         * WebGPUShadingLanguageRI/NameResolver.js:
3398         (NameResolver.prototype.visitProgram):
3399         * WebGPUShadingLanguageRI/Parse.js:
3400         (parseTerm):
3401         (parsePossibleSuffix):
3402         (genericParseCommaExpression):
3403         (parseReturn):
3404         * WebGPUShadingLanguageRI/Program.js:
3405         (Program.prototype.resolveFuncOverload):
3406         * WebGPUShadingLanguageRI/ProtocolDecl.js:
3407         (ProtocolDecl.prototype.inherits):
3408         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
3409         (resolveOverloadImpl):
3410         * WebGPUShadingLanguageRI/Rewriter.js:
3411         (Rewriter.prototype.visitFuncParameter):
3412         (Rewriter.prototype.visitCallExpression):
3413         (Rewriter.prototype._map): Deleted.
3414         * WebGPUShadingLanguageRI/Test.js:
3415         (checkInt):
3416         (TEST_add1):
3417         (TEST_simpleGeneric):
3418         (let.s.in.this.s.startsWith):
3419         (load): Deleted.
3420         * WebGPUShadingLanguageRI/TypeVariable.js:
3421         (TypeVariable.prototype.typeVariableUnify):
3422         * WebGPUShadingLanguageRI/UnificationContext.js:
3423         (UnificationContext.prototype.union):
3424
3425 2017-08-30  Alex Christensen  <achristensen@webkit.org>
3426
3427         Add WKUIDelegatePrivate equivalent of WKPageUIClient's didClickAutoFillButton
3428         https://bugs.webkit.org/show_bug.cgi?id=176139
3429         <rdar://problem/29270035>
3430
3431         Reviewed by Tim Horton.
3432
3433         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3434         * TestWebKitAPI/Tests/WebKitCocoa/ClickAutoFillButton.mm: Added.
3435         (didClickAutoFillButton):
3436         (-[ClickAutoFillButton webProcessPlugIn:didCreateBrowserContextController:]):
3437         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
3438         (-[AutoFillDelegate _webView:didClickAutoFillButtonWithUserInfo:]):
3439         (-[AutoFillDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
3440         (TEST):
3441
3442 2017-08-31  Carlos Garcia Campos  <cgarcia@igalia.com>
3443
3444         [GTK] Several InputMethodFilter tests are failing and crashing
3445         https://bugs.webkit.org/show_bug.cgi?id=176158
3446
3447         Reviewed by Carlos Alberto Lopez Perez.
3448
3449         This started to happen after the GTK+ upgrade from 3.16 to 3.22 in the internal jhbuild. Now, GtkIMContext
3450         doesn't emit the preedit signals when using the compose key (GDK_KEY_Multi_key). The composition results are
3451         committed directly when they are ready. The test InputMethodFilterComposeKey was failing because it expected
3452         preedit events that no longer happen. Tests InputMethodFilterContextFocusOutDuringOngoingComposition and
3453         InputMethodFilterContextMouseClickDuringOngoingComposition were crashing because InputMethodFilter::confirmCurrentComposition()
3454         accessed the WebPageProxy unconditionally, that is not available in testing mode. I wonder how this ever
3455         worked. Other tests results have also been updated because logHandleKeyboardEventWithCompositionResultsForTesting()
3456         now uses hexadecimal numbers for the key codes, for consistency with all other event logs.
3457
3458         * TestWebKitAPI/Tests/WebKit/gtk/InputMethodFilter.cpp:
3459         (TestWebKitAPI::TestInputMethodFilter::TestInputMethodFilter):
3460         (TestWebKitAPI::TEST):
3461         (TestWebKitAPI::verifyCanceledComposition): Deleted.
3462
3463 2017-08-31  Carlos Garcia Campos  <cgarcia@igalia.com>
3464
3465         [GTK][Wayland] Crash when gdk_keymap_get_entries_for_keyval returns TRUE but n_keys=0
3466         https://bugs.webkit.org/show_bug.cgi?id=176154
3467
3468         Reviewed by Carlos Alberto Lopez Perez.
3469
3470         Also check the n_keys > 0 when using gdk_keymap_get_entries_for_keyval().
3471
3472         * TestWebKitAPI/Tests/WebKit/gtk/InputMethodFilter.cpp:
3473         (TestWebKitAPI::TestInputMethodFilter::sendKeyEventToFilter):
3474         * TestWebKitAPI/Tests/WebKitGtk/TestPrinting.cpp: Remove duplicated code and use WebViewTest::keyStroke instead.
3475         * TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp:
3476         (WebViewTest::keyStroke):
3477         * TestWebKitAPI/gtk/PlatformWebViewGtk.cpp:
3478         (TestWebKitAPI::doKeyStroke):
3479         * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
3480         (WTR::EventSenderProxy::keyDown):
3481
3482 2017-08-31  Carlos Garcia Campos  <cgarcia@igalia.com>
3483
3484         Unreviewed. Fix GTK+ test /webkit2/WebKitAutomationSession/request-session.
3485
3486         It fails when comparing the browser version if micro version is 0 (or if both micro and minor are 0 too).
3487
3488         * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp: Use a helper method to convert major, minor, micro
3489         numbers into a version string, using the same approach as WebKitAutomationSession.
3490
3491 2017-08-30  Dan Bernstein  <mitz@apple.com>
3492
3493         [iOS] REGRESSION (r218144) -[WKContentView targetForAction:withSender:] returns the content view for actions implemented only by the WKWebView, causing a crash
3494         https://bugs.webkit.org/show_bug.cgi?id=176077
3495         <rdar://problem/34145200>
3496
3497         Reviewed by Sam Weinig.
3498
3499         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3500         * TestWebKitAPI/Tests/WebKitCocoa/WKContentViewTargetForAction.mm: Added.
3501         (-[TestWKContentViewTargetForActionView testAction:]):
3502         (TEST):
3503         * TestWebKitAPI/ios/UIKitSPI.h:
3504
3505 2017-08-30  Carlos Alberto Lopez Perez  <clopez@igalia.com>
3506
3507         [GTK] install-dependencies script should install CUPS headers
3508         https://bugs.webkit.org/show_bug.cgi?id=176129
3509
3510         Reviewed by Michael Catanzaro.
3511         
3512         When building GTK+ on the JHBuild, it will enable the CUPS print
3513         backend if the CUPS headers are installed. Having a print backend
3514         on GTK+ is needed for the print-related API tests.
3515
3516         * gtk/install-dependencies:
3517
3518 2017-08-30  Filip Pizlo  <fpizlo@apple.com>
3519
3520         Rename ArrayLang to WebGPU Shading Language, or WSL for short, pronounced "whistle"
3521         https://bugs.webkit.org/show_bug.cgi?id=176117
3522
3523         Reviewed by Myles Maxfield.
3524         
3525         Renamed ArrayLangRI to WebGPUShadingLanguageRI.
3526         
3527         Renamed ALSyntaxError/ALTypeError to WSyntaxError/WTypeError.
3528         
3529         Renamed all references to "ArrayLang" in the code to "WSL".
3530
3531         * ArrayLangRI: Removed.
3532         * ArrayLangRI/ALSyntaxError.js: Removed.
3533         * ArrayLangRI/ALTypeError.js: Removed.
3534         * ArrayLangRI/AddressSpace.js: Removed.
3535         * ArrayLangRI/All.js: Removed.
3536         * ArrayLangRI/ArrayRefType.js: Removed.
3537         * ArrayLangRI/ArrayType.js: Removed.
3538         * ArrayLangRI/Assignment.js: Removed.
3539         * ArrayLangRI/Block.js: Removed.
3540         * ArrayLangRI/CallAssignment.js: Removed.
3541         * ArrayLangRI/CallExpression.js: Removed.
3542         * ArrayLangRI/CallFunction.js: Removed.
3543         * ArrayLangRI/Check.js: Removed.
3544         * ArrayLangRI/Checker.js: Removed.
3545         * ArrayLangRI/CommaExpression.js: Removed.
3546         * ArrayLangRI/ConstexprTypeParameter.js: Removed.
3547         * ArrayLangRI/EBuffer.js: Removed.
3548         * ArrayLangRI/EBufferBuilder.js: Removed.
3549         * ArrayLangRI/EFloat.js: Removed.
3550         * ArrayLangRI/EInt.js: Removed.
3551         * ArrayLangRI/EPtr.js: Removed.
3552         * ArrayLangRI/EValue.js: Removed.
3553         * ArrayLangRI/EvaluationCommon.js: Removed.
3554         * ArrayLangRI/Evaluator.js: Removed.
3555         * ArrayLangRI/Expression.js: Removed.
3556         * ArrayLangRI/Field.js: Removed.
3557         * ArrayLangRI/Func.js: Removed.
3558         * ArrayLangRI/FuncDef.js: Removed.
3559         * ArrayLangRI/FuncInstantiator.js: Removed.
3560         * ArrayLangRI/FuncParameter.js: Removed.
3561         * ArrayLangRI/FunctionLikeBlock.js: Removed.
3562         * ArrayLangRI/Inline.js: Removed.
3563         * ArrayLangRI/Inliner.js: Removed.
3564         * ArrayLangRI/InstantiateImmediates.js: Removed.
3565         * ArrayLangRI/IntLiteral.js: Removed.
3566         * ArrayLangRI/Intrinsics.js: Removed.
3567         * ArrayLangRI/Lexer.js: Removed.
3568         * ArrayLangRI/LexerToken.js: Removed.
3569         * ArrayLangRI/NameContext.js: Removed.
3570         * ArrayLangRI/NameResolver.js: Removed.