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