[iOS] Can't select text after dismissing the keyboard when changing focus
[WebKit-https.git] / Tools / ChangeLog
1 2018-10-15  Wenson Hsieh  <wenson_hsieh@apple.com>
2
3         [iOS] Can't select text after dismissing the keyboard when changing focus
4         https://bugs.webkit.org/show_bug.cgi?id=190563
5         <rdar://problem/44613559>
6
7         Reviewed by Tim Horton.
8
9         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
10         (WTR::UIScriptController::isShowingKeyboard const):
11
12         Add a new UIScriptController method that returns whether the keyboard is shown. See `ui-helper.js` for more
13         details.
14
15         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
16         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
17         (WTR::UIScriptController::isShowingKeyboard const):
18         * TestRunnerShared/UIScriptContext/UIScriptController.h:
19         * WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
20         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
21
22         Also rename the `isShowingKeyboard` Objective-C property to the more canonical `showingKeyboard`, with
23         `isShowingKeyboard` as the getter method.
24
25         (-[TestRunnerWKWebView _invokeShowKeyboardCallbackIfNecessary]):
26         (-[TestRunnerWKWebView _invokeHideKeyboardCallbackIfNecessary]):
27         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
28         (WTR::UIScriptController::isShowingKeyboard const):
29
30 2018-10-15  Ryan Haddad  <ryanhaddad@apple.com>
31
32         Unreviewed, fix JSC tests after WebGPUShadingLanguageRI directory was removed in r237115.
33
34         * Scripts/run-javascriptcore-tests:
35         (runJSCStressTests): Remove wsl-tests.yaml.
36
37 2018-10-15  Christopher Reid  <chris.reid@sony.com>
38
39         [Curl][WinCairo] Add Public Suffix support to WinCairo
40         https://bugs.webkit.org/show_bug.cgi?id=183060
41
42         Reviewed by Alex Christensen.
43
44         Share mac's PublicSuffix tests with all ports.
45
46         * TestWebKitAPI/PlatformWin.cmake:
47         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
48         * TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp:
49         * TestWebKitAPI/Tests/mac/PublicSuffix.mm: Removed.
50
51 2018-10-15  Myles C. Maxfield  <mmaxfield@apple.com>
52
53         [WHLSL] Migrated WebGPUShadingLanguageRI to the W3C
54         https://bugs.webkit.org/show_bug.cgi?id=190555
55
56         Unreviewed.
57
58         Migrated to https://github.com/gpuweb/WHLSL/tree/master/Source
59
60         * WebGPUShadingLanguageRI/AddressSpace.js: Removed.
61         * WebGPUShadingLanguageRI/All.js: Removed.
62         * WebGPUShadingLanguageRI/AllocateAtEntryPoints.js: Removed.
63         * WebGPUShadingLanguageRI/AnonymousVariable.js: Removed.
64         * WebGPUShadingLanguageRI/ArrayRefType.js: Removed.
65         * WebGPUShadingLanguageRI/ArrayType.js: Removed.
66         * WebGPUShadingLanguageRI/Assignment.js: Removed.
67         * WebGPUShadingLanguageRI/AutoWrapper.js: Removed.
68         * WebGPUShadingLanguageRI/Block.js: Removed.
69         * WebGPUShadingLanguageRI/BoolLiteral.js: Removed.
70         * WebGPUShadingLanguageRI/Break.js: Removed.
71         * WebGPUShadingLanguageRI/BuiltInSemantic.js: Removed.
72         * WebGPUShadingLanguageRI/BuiltinMatrixGetter.js: Removed.
73         * WebGPUShadingLanguageRI/BuiltinMatrixSetter.js: Removed.
74         * WebGPUShadingLanguageRI/BuiltinVectorGetter.js: Removed.
75         * WebGPUShadingLanguageRI/BuiltinVectorSetter.js: Removed.
76         * WebGPUShadingLanguageRI/CallExpression.js: Removed.
77         * WebGPUShadingLanguageRI/CallFunction.js: Removed.
78         * WebGPUShadingLanguageRI/Casts.js: Removed.
79         * WebGPUShadingLanguageRI/Check.js: Removed.
80         * WebGPUShadingLanguageRI/CheckLiteralTypes.js: Removed.
81         * WebGPUShadingLanguageRI/CheckLoops.js: Removed.
82         * WebGPUShadingLanguageRI/CheckNativeFuncStages.js: Removed.
83         * WebGPUShadingLanguageRI/CheckRecursion.js: Removed.
84         * WebGPUShadingLanguageRI/CheckRecursiveTypes.js: Removed.
85         * WebGPUShadingLanguageRI/CheckReturns.js: Removed.
86         * WebGPUShadingLanguageRI/CheckTypesWithArguments.js: Removed.
87         * WebGPUShadingLanguageRI/CheckUnreachableCode.js: Removed.
88         * WebGPUShadingLanguageRI/CheckWrapped.js: Removed.
89         * WebGPUShadingLanguageRI/Checker.js: Removed.
90         * WebGPUShadingLanguageRI/CloneProgram.js: Removed.
91         * WebGPUShadingLanguageRI/CommaExpression.js: Removed.
92         * WebGPUShadingLanguageRI/ConstexprFolder.js: Removed.
93         * WebGPUShadingLanguageRI/Continue.js: Removed.
94         * WebGPUShadingLanguageRI/ConvertPtrToArrayRefExpression.js: Removed.
95         * WebGPUShadingLanguageRI/CreateLiteral.js: Removed.
96         * WebGPUShadingLanguageRI/CreateLiteralType.js: Removed.
97         * WebGPUShadingLanguageRI/DereferenceExpression.js: Removed.
98         * WebGPUShadingLanguageRI/DoWhileLoop.js: Removed.
99         * WebGPUShadingLanguageRI/DotExpression.js: Removed.
100         * WebGPUShadingLanguageRI/EArrayRef.js: Removed.
101         * WebGPUShadingLanguageRI/EBuffer.js: Removed.
102         * WebGPUShadingLanguageRI/EBufferBuilder.js: Removed.
103         * WebGPUShadingLanguageRI/EPtr.js: Removed.
104         * WebGPUShadingLanguageRI/EnumLiteral.js: Removed.
105         * WebGPUShadingLanguageRI/EnumMember.js: Removed.
106         * WebGPUShadingLanguageRI/EnumType.js: Removed.
107         * WebGPUShadingLanguageRI/EvaluationCommon.js: Removed.
108         * WebGPUShadingLanguageRI/Evaluator.js: Removed.
109         * WebGPUShadingLanguageRI/Expression.js: Removed.
110         * WebGPUShadingLanguageRI/ExpressionFinder.js: Removed.
111         * WebGPUShadingLanguageRI/ExternalOrigin.js: Removed.
112         * WebGPUShadingLanguageRI/Field.js: Removed.
113         * WebGPUShadingLanguageRI/FindHighZombies.js: Removed.
114         * WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js: Removed.
115         * WebGPUShadingLanguageRI/FloatLiteral.js: Removed.
116         * WebGPUShadingLanguageRI/FloatLiteralType.js: Removed.
117         * WebGPUShadingLanguageRI/FoldConstexprs.js: Removed.
118         * WebGPUShadingLanguageRI/ForLoop.js: Removed.
119         * WebGPUShadingLanguageRI/Func.js: Removed.
120         * WebGPUShadingLanguageRI/FuncAttribute.js: Removed.
121         * WebGPUShadingLanguageRI/FuncDef.js: Removed.
122         * WebGPUShadingLanguageRI/FuncNumThreadsAttribute.js: Removed.
123         * WebGPUShadingLanguageRI/FuncParameter.js: Removed.
124         * WebGPUShadingLanguageRI/FunctionLikeBlock.js: Removed.
125         * WebGPUShadingLanguageRI/HighZombieFinder.js: Removed.
126         * WebGPUShadingLanguageRI/IdentityExpression.js: Removed.
127         * WebGPUShadingLanguageRI/IfStatement.js: Removed.
128         * WebGPUShadingLanguageRI/IndexExpression.js: Removed.
129         * WebGPUShadingLanguageRI/InferTypesForCall.js: Removed.
130         * WebGPUShadingLanguageRI/Inline.js: Removed.
131         * WebGPUShadingLanguageRI/Inliner.js: Removed.
132         * WebGPUShadingLanguageRI/IntLiteral.js: Removed.
133         * WebGPUShadingLanguageRI/IntLiteralType.js: Removed.
134         * WebGPUShadingLanguageRI/Intrinsics.js: Removed.
135         * WebGPUShadingLanguageRI/LayoutBuffers.js: Removed.
136         * WebGPUShadingLanguageRI/Lexer.js: Removed.
137         * WebGPUShadingLanguageRI/LexerToken.js: Removed.
138         * WebGPUShadingLanguageRI/LiteralTypeChecker.js: Removed.
139         * WebGPUShadingLanguageRI/LogicalExpression.js: Removed.
140         * WebGPUShadingLanguageRI/LogicalNot.js: Removed.
141         * WebGPUShadingLanguageRI/LoopChecker.js: Removed.
142         * WebGPUShadingLanguageRI/MakeArrayRefExpression.js: Removed.
143         * WebGPUShadingLanguageRI/MakePtrExpression.js: Removed.
144         * WebGPUShadingLanguageRI/MatrixType.js: Removed.
145         * WebGPUShadingLanguageRI/Metal/MSLBackend.js: Removed.
146         * WebGPUShadingLanguageRI/Metal/MSLCodegenAll.js: Removed.
147         * WebGPUShadingLanguageRI/Metal/MSLCompileResult.js: Removed.
148         * WebGPUShadingLanguageRI/Metal/MSLConstexprEmitter.js: Removed.
149         * WebGPUShadingLanguageRI/Metal/MSLFunctionDeclaration.js: Removed.
150         * WebGPUShadingLanguageRI/Metal/MSLFunctionDefinition.js: Removed.
151         * WebGPUShadingLanguageRI/Metal/MSLFunctionForwardDeclaration.js: Removed.
152         * WebGPUShadingLanguageRI/Metal/MSLInsertTrapParameter.js: Removed.
153         * WebGPUShadingLanguageRI/Metal/MSLNameMangler.js: Removed.
154         * WebGPUShadingLanguageRI/Metal/MSLNativeFunctionCall.js: Removed.
155         * WebGPUShadingLanguageRI/Metal/MSLStatementEmitter.js: Removed.
156         * WebGPUShadingLanguageRI/Metal/MSLTypeAttributes.js: Removed.
157         * WebGPUShadingLanguageRI/Metal/MSLTypeAttributesMap.js: Removed.
158         * WebGPUShadingLanguageRI/Metal/MSLTypeUnifier.js: Removed.
159         * WebGPUShadingLanguageRI/Metal/TypeOf.js: Removed.
160         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/.gitignore: Removed.
161         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/AppDelegate.h: Removed.
162         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/AppDelegate.m: Removed.
163         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Assets.xcassets/AppIcon.appiconset/Contents.json: Removed.
164         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Assets.xcassets/Contents.json: Removed.
165         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Base.lproj/Main.storyboard: Removed.
166         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CompileResult.h: Removed.
167         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CompileResult.m: Removed.
168         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Compiler.h: Removed.
169         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Compiler.m: Removed.
170         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CustomMetalView.h: Removed.
171         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CustomMetalView.m: Removed.
172         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Default.whlsl: Removed.
173         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Julia.whlsl: Removed.
174         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Mandelbrot.whlsl: Removed.
175         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Info.plist: Removed.
176         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OffscreenRenderer.h: Removed.
177         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OffscreenRenderer.m: Removed.
178         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OnscreenRenderer.h: Removed.
179         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OnscreenRenderer.m: Removed.
180         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/Renderer.h: Removed.
181         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/Renderer.m: Removed.
182         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestCallArgument.h: Removed.
183         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestCallArgument.m: Removed.
184         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestDescription.h: Removed.
185         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestDescription.m: Removed.
186         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamily.h: Removed.
187         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamily.m: Removed.
188         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamilyRunner.h: Removed.
189         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamilyRunner.m: Removed.
190         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/ViewController.h: Removed.
191         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/ViewController.m: Removed.
192         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/WHLSL.entitlements: Removed.
193         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/_SharedMetal.txt: Removed.
194         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/main.m: Removed.
195         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL Tests.xcodeproj/project.pbxproj: Removed.
196         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL ToyTests/Info.plist: Removed.
197         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL ToyTests/WHLSL_ToyTests.m: Removed.
198         * WebGPUShadingLanguageRI/Metal/WhlslToMsl.html: Removed.
199         * WebGPUShadingLanguageRI/Metal/WhlslToMsl.js: Removed.
200         * WebGPUShadingLanguageRI/NameContext.js: Removed.
201         * WebGPUShadingLanguageRI/NameFinder.js: Removed.
202         * WebGPUShadingLanguageRI/NameResolver.js: Removed.
203         * WebGPUShadingLanguageRI/NativeFunc.js: Removed.
204         * WebGPUShadingLanguageRI/NativeType.js: Removed.
205         * WebGPUShadingLanguageRI/Node.js: Removed.
206         * WebGPUShadingLanguageRI/NormalUsePropertyResolver.js: Removed.
207         * WebGPUShadingLanguageRI/NullLiteral.js: Removed.
208         * WebGPUShadingLanguageRI/NullType.js: Removed.
209         * WebGPUShadingLanguageRI/OperatorAnderIndexer.js: Removed.
210         * WebGPUShadingLanguageRI/OperatorArrayRefLength.js: Removed.
211         * WebGPUShadingLanguageRI/OriginKind.js: Removed.
212         * WebGPUShadingLanguageRI/OverloadResolutionFailure.js: Removed.
213         * WebGPUShadingLanguageRI/Parse.js: Removed.
214         * WebGPUShadingLanguageRI/Prepare.js: Removed.
215         * WebGPUShadingLanguageRI/Program.js: Removed.
216         * WebGPUShadingLanguageRI/ProgramWithUnnecessaryThingsRemoved.js: Removed.
217         * WebGPUShadingLanguageRI/PropertyAccessExpression.js: Removed.
218         * WebGPUShadingLanguageRI/PropertyResolver.js: Removed.
219         * WebGPUShadingLanguageRI/PtrType.js: Removed.
220         * WebGPUShadingLanguageRI/ReadModifyWriteExpression.js: Removed.
221         * WebGPUShadingLanguageRI/RecursionChecker.js: Removed.
222         * WebGPUShadingLanguageRI/RecursiveTypeChecker.js: Removed.
223         * WebGPUShadingLanguageRI/ReferenceType.js: Removed.
224         * WebGPUShadingLanguageRI/ResolveNames.js: Removed.
225         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js: Removed.
226         * WebGPUShadingLanguageRI/ResolveProperties.js: Removed.
227         * WebGPUShadingLanguageRI/ResolveTypeDefs.js: Removed.
228         * WebGPUShadingLanguageRI/ResourceSemantic.js: Removed.
229         * WebGPUShadingLanguageRI/Return.js: Removed.
230         * WebGPUShadingLanguageRI/ReturnChecker.js: Removed.
231         * WebGPUShadingLanguageRI/ReturnException.js: Removed.
232         * WebGPUShadingLanguageRI/Rewriter.js: Removed.
233         * WebGPUShadingLanguageRI/SPIR-V.js: Removed.
234         * WebGPUShadingLanguageRI/SPIRV.html: Removed.
235         * WebGPUShadingLanguageRI/SPIRVCodegen.js: Removed.
236         * WebGPUShadingLanguageRI/SPIRVTypeAnalyzer.js: Removed.
237         * WebGPUShadingLanguageRI/SPIRVVariableAnalyzer.js: Removed.
238         * WebGPUShadingLanguageRI/Sampler.js: Removed.
239         * WebGPUShadingLanguageRI/Semantic.js: Removed.
240         * WebGPUShadingLanguageRI/SpecializationConstantSemantic.js: Removed.
241         * WebGPUShadingLanguageRI/StageInOutSemantic.js: Removed.
242         * WebGPUShadingLanguageRI/StandardLibrary.js: Removed.
243         * WebGPUShadingLanguageRI/StatementCloner.js: Removed.
244         * WebGPUShadingLanguageRI/StructLayoutBuilder.js: Removed.
245         * WebGPUShadingLanguageRI/StructType.js: Removed.
246         * WebGPUShadingLanguageRI/SwitchCase.js: Removed.
247         * WebGPUShadingLanguageRI/SwitchStatement.js: Removed.
248         * WebGPUShadingLanguageRI/SynthesizeArrayOperatorLength.js: Removed.
249         * WebGPUShadingLanguageRI/SynthesizeCopyConstructorOperator.js: Removed.
250         * WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js: Removed.
251         * WebGPUShadingLanguageRI/SynthesizeEnumFunctions.js: Removed.
252         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: Removed.
253         * WebGPUShadingLanguageRI/TernaryExpression.js: Removed.
254         * WebGPUShadingLanguageRI/Test.html: Removed.
255         * WebGPUShadingLanguageRI/Test.js: Removed.
256         * WebGPUShadingLanguageRI/Texture.js: Removed.
257         * WebGPUShadingLanguageRI/TextureOperations.js: Removed.
258         * WebGPUShadingLanguageRI/TrapStatement.js: Removed.
259         * WebGPUShadingLanguageRI/Type.js: Removed.
260         * WebGPUShadingLanguageRI/TypeDef.js: Removed.
261         * WebGPUShadingLanguageRI/TypeDefResolver.js: Removed.
262         * WebGPUShadingLanguageRI/TypeOverloadResolutionFailure.js: Removed.
263         * WebGPUShadingLanguageRI/TypeRef.js: Removed.
264         * WebGPUShadingLanguageRI/TypedValue.js: Removed.
265         * WebGPUShadingLanguageRI/UintLiteral.js: Removed.
266         * WebGPUShadingLanguageRI/UintLiteralType.js: Removed.
267         * WebGPUShadingLanguageRI/UnificationContext.js: Removed.
268         * WebGPUShadingLanguageRI/UnreachableCodeChecker.js: Removed.
269         * WebGPUShadingLanguageRI/Value.js: Removed.
270         * WebGPUShadingLanguageRI/VariableDecl.js: Removed.
271         * WebGPUShadingLanguageRI/VariableRef.js: Removed.
272         * WebGPUShadingLanguageRI/VectorType.js: Removed.
273         * WebGPUShadingLanguageRI/VisitingSet.js: Removed.
274         * WebGPUShadingLanguageRI/Visitor.js: Removed.
275         * WebGPUShadingLanguageRI/WLexicalError.js: Removed.
276         * WebGPUShadingLanguageRI/WSyntaxError.js: Removed.
277         * WebGPUShadingLanguageRI/WTrapError.js: Removed.
278         * WebGPUShadingLanguageRI/WTypeError.js: Removed.
279         * WebGPUShadingLanguageRI/WhileLoop.js: Removed.
280         * WebGPUShadingLanguageRI/WrapChecker.js: Removed.
281         * WebGPUShadingLanguageRI/index.html: Removed.
282         * WebGPUShadingLanguageRI/spirv.core.grammar.json: Removed.
283         * WebGPUShadingLanguageRI/wsl-tests.yaml: Removed.
284
285 2018-10-15  Philippe Normand  <pnormand@igalia.com>
286
287         [GTK] Disable MSE build support on Debian and Ubuntu LTS bots
288         https://bugs.webkit.org/show_bug.cgi?id=190581
289
290         Reviewed by Michael Catanzaro.
291
292         These bots don't use JHBuild and their host GStreamer version is
293         too old for the GStreamer MSE backend. Version 1.14 is needed at least.
294
295         * BuildSlaveSupport/build.webkit.org-config/config.json:
296
297 2018-10-15  Alex Christensen  <achristensen@webkit.org>
298
299         Use pragma once in WTF
300         https://bugs.webkit.org/show_bug.cgi?id=190527
301
302         Reviewed by Chris Dumez.
303
304         Put WorkQueue in namespace DRT so it does not conflict with WTF::WorkQueue.
305
306         * DumpRenderTree/TestRunner.cpp:
307         (TestRunner::queueLoadHTMLString):
308         (TestRunner::queueLoadAlternateHTMLString):
309         (TestRunner::queueBackNavigation):
310         (TestRunner::queueForwardNavigation):
311         (TestRunner::queueLoadingScript):
312         (TestRunner::queueNonLoadingScript):
313         (TestRunner::queueReload):
314         * DumpRenderTree/WorkQueue.cpp:
315         (WorkQueue::singleton): Deleted.
316         (WorkQueue::WorkQueue): Deleted.
317         (WorkQueue::queue): Deleted.
318         (WorkQueue::dequeue): Deleted.
319         (WorkQueue::count): Deleted.
320         (WorkQueue::clear): Deleted.
321         (WorkQueue::processWork): Deleted.
322         * DumpRenderTree/WorkQueue.h:
323         (WorkQueue::setFrozen): Deleted.
324         * DumpRenderTree/WorkQueueItem.h:
325         * DumpRenderTree/mac/DumpRenderTree.mm:
326         (runTest):
327         * DumpRenderTree/mac/FrameLoadDelegate.mm:
328         (-[FrameLoadDelegate processWork:]):
329         (-[FrameLoadDelegate webView:locationChangeDone:forDataSource:]):
330         * DumpRenderTree/mac/TestRunnerMac.mm:
331         (TestRunner::notifyDone):
332         (TestRunner::forceImmediateCompletion):
333         (TestRunner::queueLoad):
334         * DumpRenderTree/win/DumpRenderTree.cpp:
335         (runTest):
336         * DumpRenderTree/win/FrameLoadDelegate.cpp:
337         (FrameLoadDelegate::processWork):
338         (FrameLoadDelegate::locationChangeDone):
339         * DumpRenderTree/win/TestRunnerWin.cpp:
340         (TestRunner::notifyDone):
341         (TestRunner::forceImmediateCompletion):
342         (TestRunner::queueLoad):
343
344 2018-10-14  Yusuke Suzuki  <yusukesuzuki@slowstart.org>
345
346         [JSC] Remove Option::useAsyncIterator
347         https://bugs.webkit.org/show_bug.cgi?id=190567
348
349         Reviewed by Saam Barati.
350
351         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
352
353 2018-10-15  Claudio Saavedra  <csaavedra@igalia.com>
354
355         [WPE] Silence a unused-parameter warning
356
357         Unreviewed.
358         * MiniBrowser/wpe/main.cpp:
359         (decidePermissionRequest):
360
361 2018-10-12  Guillaume Emont  <guijemont@igalia.com>
362
363         [Tools][webkitpy] fix handling of JSCTESTS_OPTIONS
364         https://bugs.webkit.org/show_bug.cgi?id=190537
365
366         Reviewed by Alexey Proskuryakov.
367
368         In DeprecatedPort.run_javascriptcore_tests_command() JSCTESTS_OPTIONS
369         needs to be split before adding it to the command since it is treated
370         as a list of args.
371
372         * Scripts/webkitpy/common/config/ports.py:
373         (DeprecatedPort.run_javascriptcore_tests_command):
374
375 2018-10-12  Wenson Hsieh  <wenson_hsieh@apple.com>
376
377         [iOS] Allow SPI clients to lay out at arbitrarily scaled sizes and scale to fit the view
378         https://bugs.webkit.org/show_bug.cgi?id=190504
379         <rdar://problem/45117760>
380
381         Reviewed by Tim Horton.
382
383         Teach UIScriptController to set WKWebView's view scale via a new `setViewScale` method, supported in WebKit2 on
384         macOS and iOS.
385
386         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
387         (WTR::UIScriptController::setViewScale):
388         * DumpRenderTree/mac/UIScriptControllerMac.mm:
389         (WTR::UIScriptController::setViewScale):
390         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
391         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
392         (WTR::UIScriptController::setViewScale):
393         * TestRunnerShared/UIScriptContext/UIScriptController.h:
394         * WebKitTestRunner/UIScriptControllerCocoa.mm: Added.
395
396         Add a new file for UIScriptController methods on Cocoa platforms.
397
398         (WTR::UIScriptController::setViewScale):
399         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
400         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
401         (WTR::TestController::cocoaResetStateToConsistentValues):
402
403         Ensure that _viewScale is reset to 1 after running a layout test.
404
405 2018-10-12  Aakash Jain  <aakash_jain@apple.com>
406
407         [ews-build] Rename iOS-11-Simulator-Tests-EWS to iOS-11-Simulator-WK2-Tests-EWS
408         https://bugs.webkit.org/show_bug.cgi?id=190536
409
410         Reviewed by Alexey Proskuryakov.
411
412         * BuildSlaveSupport/ews-build/config.json: Renamed iOS-11-Simulator-Tests-EWS to iOS-11-Simulator-WK2-Tests-EWS.
413
414 2018-10-11  Youenn Fablet  <youenn@apple.com>
415
416         IOS 12 - Service worker cache not shared when added to homescreen
417         https://bugs.webkit.org/show_bug.cgi?id=190269
418         <rdar://problem/45009961>
419
420         Reviewed by Alex Christensen.
421
422         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
423         Add test to ensure that CacheStorage use the default website data store parameters.
424
425 2018-10-11  Tim Horton  <timothy_horton@apple.com>
426
427         Clicking on bookmarklet crashes at NavigationState::willRecordNavigationSnapshot
428         https://bugs.webkit.org/show_bug.cgi?id=190476
429         <rdar://problem/32757191>
430
431         Reviewed by Megan Gardner.
432
433         * TestWebKitAPI/Tests/WebKitCocoa/SnapshotStore.mm:
434         (TEST):
435         Add a test that we don't crash.
436
437 2018-10-11  Tim Horton  <timothy_horton@apple.com>
438
439         REGRESSION (r237037): Cannot use webkit-patch upload, always fails with unknown 'cc_radar'
440
441         * Scripts/webkitpy/tool/steps/options.py:
442         (Options):
443         Fix the name of the variable that the --cc-radar option writes into.
444
445 2018-10-10  Dean Jackson  <dino@apple.com>
446
447         Add --cc-radar option to webkit-patch bug creation
448         https://bugs.webkit.org/show_bug.cgi?id=190451
449         <rdar://problem/45176671>
450
451         Reviewed by Antoine Quint.
452
453         Add a new command line option to automatically
454         CC radar to new or updated bugs.
455
456         * Scripts/webkitpy/tool/commands/commandtest.py:
457         (CommandsTest.assert_execute_outputs):
458         * Scripts/webkitpy/tool/commands/upload.py:
459         (CreateBug.__init__):
460         (CreateBug.execute):
461         * Scripts/webkitpy/tool/commands/upload_unittest.py:
462         (test_prepare_with_cc):
463         (test_prepare_with_radar):
464         (test_prepare_with_cc_and_radar):
465         * Scripts/webkitpy/tool/steps/createbug.py:
466         (CreateBug.options):
467         (CreateBug.run):
468         * Scripts/webkitpy/tool/steps/options.py:
469         (Options):
470
471 2018-10-11  Claudio Saavedra  <csaavedra@igalia.com>
472
473         [GStreamer] Do not build gstgtk plugins
474         https://bugs.webkit.org/show_bug.cgi?id=190463
475
476         Reviewed by Xabier Rodriguez-Calvar.
477
478         These plugins pull a GTK+ dependency that, at least in WPE,
479         is unnecessary. The GTK+ port doesn't need it either, as far
480         as I can tell.
481
482         * gstreamer/jhbuild.modules: Disable gstgtk plugins
483
484 2018-10-11  Alejandro G. Castro  <alex@igalia.com>
485
486         [GTK][WPE] Add mediaDevices.enumerateDevices support
487         https://bugs.webkit.org/show_bug.cgi?id=185761
488
489         Reviewed by Youenn Fablet.
490
491         Added new API test for the mediaDevices.enumerateDevices:
492         usermedia-enumeratedevices-permission-check. And a new API test
493         for the WebsiteDataStore: testWebsiteDataDeviceIdHashSalt.
494
495         * MiniBrowser/gtk/main.c:
496         (gotWebsiteDataCallback): Added a new section to the about:data
497         webpage to include the information about the hash salt.
498         * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
499         (testWebViewUserMediaEnumerateDevicesPermissionCheck): Added the
500         new test checking the enumerateDevices API when permission is
501         denied and when permission is allowed for the origin.
502         (beforeAll): Defined the new test.
503         * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
504         (serverCallback): Register a new URI for the enumerateDevices.
505         (testWebsiteDataConfiguration): Remove the hash salts from the
506         directories.
507         (testWebsiteDataDeviceIdHashSalt): New test cheking the
508         enumerateDevices API.
509         (beforeAll): Added the new test testWebsiteDataDeviceIdHashSalt to
510         the init structure.
511         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
512         (WebViewTest::initializeWebView): Make sure the media-stream is
513         activated in the webView.
514
515 2018-10-10  Fujii Hironori  <Hironori.Fujii@sony.com>
516
517         Add WinCairo to the flakiness dashboard
518         https://bugs.webkit.org/show_bug.cgi?id=188345
519
520         Reviewed by Lucas Forschler.
521
522         * TestResultServer/static-dashboards/builders.jsonp: Regenerated by generate_builders_json.py.
523         * TestResultServer/static-dashboards/flakiness_dashboard.js: Added a new platform 'WINCAIRO'.
524
525 2018-10-10  Dean Jackson  <dino@apple.com>
526
527         [WHSL -> MSL] Annotate semantics correctly in generated MSL
528         https://bugs.webkit.org/show_bug.cgi?id=190452
529         <rdar://problem/45178272>
530
531         Reviewed by Myles Maxfield.
532
533         Correctly label the appropriate semantics as [[position]]
534         and [[color(N)]].
535
536         * WebGPUShadingLanguageRI/Metal/MSLBackend.js: Identify position
537         and color attributes. Also use the semantic's index rather than
538         a counter.
539         * WebGPUShadingLanguageRI/Metal/WhlslToMsl.html: Use a <pre> for
540         output, and only include the actual shader code.
541
542 2018-10-10  Ross Kirsling  <ross.kirsling@sony.com>
543
544         build-webkit --inspector-frontend shouldn't have a nonzero exit code
545         https://bugs.webkit.org/show_bug.cgi?id=190430
546
547         Reviewed by Brian Burg.
548
549         * Scripts/webkitdirs.pm:
550         (argumentsForConfiguration):
551         --inspector-frontend should only be popped off of argv by determineIsInspectorFrontend;
552         it shouldn't be re-inserted as a CLI option by argumentsForConfiguration.
553
554 2018-10-10  Tim Horton  <timothy_horton@apple.com>
555
556         Share more WKShareSheet code between macOS and iOS, and fix a few bugs
557         https://bugs.webkit.org/show_bug.cgi?id=190420
558
559         Reviewed by Simon Fraser.
560
561         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
562         (WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
563         (WTR::UIScriptController::invokeShareSheetWithResolution): Deleted.
564         * DumpRenderTree/mac/UIScriptControllerMac.mm:
565         (WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
566         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
567         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
568         (WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
569         (WTR::UIScriptController::invokeShareSheetWithResolution): Deleted.
570         * TestRunnerShared/UIScriptContext/UIScriptController.h:
571         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
572         (WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
573         (WTR::UIScriptController::invokeShareSheetWithResolution): Deleted.
574         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
575         (WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
576         Change the testing mechanism for the share sheet such that we up-front
577         set that it should immediately return with a particular state, instead
578         of programmatically dismissing the sheet.
579
580         Otherwise, running the tests on macOS doesn't work, because we pop
581         a context menu, which spins the runloop and prevents dismissal from
582         going through.
583
584 2018-10-10  Yusuke Suzuki  <yusukesuzuki@slowstart.org>
585
586         [JSC] Rename createXXX to tryCreateXXX if it can return RefPtr
587         https://bugs.webkit.org/show_bug.cgi?id=190429
588
589         Reviewed by Saam Barati.
590
591         * TestWebKitAPI/Tests/WebCore/mac/GPUBuffer.mm:
592         (TestWebKitAPI::TEST_F):
593
594 2018-10-10  Chris Dumez  <cdumez@apple.com>
595
596         Regression(PSON): Assertion hit under WebPageProxy::didNavigateWithNavigationData()
597         https://bugs.webkit.org/show_bug.cgi?id=190418
598         <rdar://problem/45059769>
599
600         Reviewed by Geoffrey Garen.
601
602         Add API test coverage.
603
604         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
605
606 2018-10-10  Guillaume Emont  <guijemont@igalia.com>
607
608         [JSCOnly Add an armv7 JSCOnly EWS that runs tests
609         https://bugs.webkit.org/show_bug.cgi?id=190191
610
611         Reviewed by Michael Catanzaro.
612
613         * QueueStatusServer/config/queues.py:
614         * Scripts/webkitpy/common/config/ews.json:
615         * Scripts/webkitpy/common/config/ports.py:
616         (DeprecatedPort.run_javascriptcore_tests_command):
617         Add the possibility to pass arguments to run-javascriptcore-tests with
618         the JSCTESTS_OPTIONS environment variable
619         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
620         (test_ews_name):
621
622
623 2018-10-09  Guillaume Emont  <guijemont@igalia.com>
624
625         Allow run-javascriptcore-tests to distribute tests between devices
626         https://bugs.webkit.org/show_bug.cgi?id=190190
627
628         Reviewed by Michael Catanzaro.
629
630         * Scripts/run-jsc-stress-tests:
631         * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
632         * Scripts/webkitruby/jsc-stress-test-writer-ruby.rb:
633
634 2018-10-09  Dean Jackson  <dino@apple.com>
635
636         Update WHLSL to Metal tester with semantics
637         https://bugs.webkit.org/show_bug.cgi?id=190416
638         <rdar://problem/45145139>
639
640         Reviewed by Myles Maxfield.
641
642         A few small changes to the WHLSL to Metal tools:
643         - Make it compile by adding some missing JS files :)
644         - Add semantics to the default shader
645         - Add FIXMEs to the other shaders
646         - Create an in-browser test for the WHLSLToMetal codepath
647         - Fix typos in the semantics checker
648
649         * WebGPUShadingLanguageRI/Checker.js:
650         (Checker.prototype._checkSemantics.checkSemanticTypes):
651         (Checker.prototype._checkSemantics.checkSemanticForShaderType):
652         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Compiler.m:
653         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Default.whlsl:
654         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Julia.whlsl:
655         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Mandelbrot.whlsl:
656         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL Tests.xcodeproj/project.pbxproj:
657         * WebGPUShadingLanguageRI/Metal/WhlslToMsl.html: Added.
658
659 2018-10-09  Jer Noble  <jer.noble@apple.com>
660
661         Crash when closing WKWebView during enter fullscreen animation
662         https://bugs.webkit.org/show_bug.cgi?id=190412
663
664         Reviewed by Brian Burg.
665
666         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
667         * TestWebKitAPI/Tests/WebKitCocoa/CloseWebViewDuringEnterFullscreen.mm: Added.
668         (-[CloseWebViewDuringEnterFullscreenUIDelegate _webViewWillEnterFullscreen:]):
669         (-[CloseWebViewDuringEnterFullscreenUIDelegate _webViewWillExitFullscreen:]):
670         (TestWebKitAPI::TEST):
671
672 2018-10-09  Chris Dumez  <cdumez@apple.com>
673
674         Anchor target should be ignored on activation when the download attribute is set
675         https://bugs.webkit.org/show_bug.cgi?id=190408
676
677         Reviewed by Geoffrey Garen.
678
679         Update WebKitTestRunner to block popups by default and add support for testRunner.setCanOpenWindows()
680         for tests that need popups. This aligns WebKitTestRunner with DumpRenderTree and allows testing
681         popup blocking.
682
683         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
684         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
685         (WTR::TestRunner::setCanOpenWindows):
686         * WebKitTestRunner/InjectedBundle/TestRunner.h:
687         * WebKitTestRunner/TestController.cpp:
688         (WTR::TestController::createOtherPage):
689         * WebKitTestRunner/TestController.h:
690         * WebKitTestRunner/TestInvocation.cpp:
691         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
692         * WebKitTestRunner/TestInvocation.h:
693
694 2018-10-09  Jer Noble  <jer.noble@apple.com>
695
696         WebDriver: thrown ObjC exception under -[WKFullScreenWindowController windowDidFailToEnterFullScreen:] when session is terminated
697         https://bugs.webkit.org/show_bug.cgi?id=190098
698         <rdar://problem/42822671>
699
700         Reviewed by Brian Burg.
701
702         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
703         * TestWebKitAPI/Tests/WebKitCocoa/CloseWebViewAfterEnterFullscreen.mm: Added.
704         (-[CloseWebViewAfterEnterFullscreenUIDelegate _webViewDidEnterFullscreen:]):
705         (-[CloseWebViewAfterEnterFullscreenUIDelegate _webViewDidExitFullscreen:]):
706         (TestWebKitAPI::TEST):
707
708 2018-10-09  Jiewen Tan  <jiewen_tan@apple.com>
709
710         [WebAuthN] Import CTAP HID message and packet structure from Chromium
711         https://bugs.webkit.org/show_bug.cgi?id=189289
712         <rdar://problem/44120310>
713
714         Reviewed by Brent Fulgham.
715
716         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
717         * TestWebKitAPI/Tests/WebCore/FidoHidMessageTest.cpp: Added.
718         (TestWebKitAPI::TEST):
719
720 2018-10-09  Chris Dumez  <cdumez@apple.com>
721
722         PSON: Doing a cross-site navigation via the URL bar does not swap process on iOS
723         https://bugs.webkit.org/show_bug.cgi?id=190378
724         <rdar://problem/45059466>
725
726         Reviewed by Geoffrey Garen.
727
728         Add API test coverage.
729
730         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
731
732 2018-10-09  Jer Noble  <jer.noble@apple.com>
733
734         ISOTrackEncryptionBox returns incorrect defaultKeyID
735         https://bugs.webkit.org/show_bug.cgi?id=190368
736
737         Reviewed by Eric Carlson.
738
739         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
740         * TestWebKitAPI/Tests/WebCore/ISOBox.cpp: Added.
741         (TestWebKitAPI::TEST):
742
743 2018-10-09  Philippe Normand  <pnormand@igalia.com>
744
745         [JHBuild] Update to GStreamer 1.14.4
746         https://bugs.webkit.org/show_bug.cgi?id=190395
747
748         Reviewed by Xabier Rodriguez-Calvar.
749
750         * gstreamer/jhbuild.modules: Remove patches merged in 1.14.4 and bump version of GStreamer modules.
751         * gstreamer/patches/gst-plugins-good-0007-matroskademux-Allow-Matroska-headers-to-be-read-more.patch: Removed.
752         * gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch: Removed.
753         * gstreamer/patches/gst-plugins-good-0009-matroskademux-Parse-successive-Tracks-elements.patch: Removed.
754         * gstreamer/patches/gst-plugins-good-0010-matroskademux-Emit-no-more-pads-after-parsing-Tracks.patch: Removed.
755
756 2018-10-08  Wenson Hsieh  <wenson_hsieh@apple.com>
757
758         [macOS] API test DragAndDropTests.DropColor is failing on macOS 10.12
759         https://bugs.webkit.org/show_bug.cgi?id=190386
760
761         Reviewed by Ryosuke Niwa.
762
763         Unlike macOS 10.13 and 10.14, -[NSColor redColor] is not equivalent to a fully red color in sRGB on macOS 10.12.
764         Fix the test by dragging and dropping an NSColor that is equivalent to rgb(255, 0, 0) on all relevant versions
765         of macOS.
766
767         * TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:
768         (TEST):
769
770 2018-10-08  Wenson Hsieh  <wenson_hsieh@apple.com>
771
772         [Cocoa] [WK2] Add support for text alignment and text lists in font attributes
773         https://bugs.webkit.org/show_bug.cgi?id=190342
774         <rdar://problem/44767118>
775
776         Reviewed by Tim Horton.
777
778         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
779         * TestWebKitAPI/Tests/WebKitCocoa/FontAttributes.mm:
780
781         Add a new API test to check that the font attributes dictionary contains the correct NSParagraphStyles when
782         moving the selection around text inside nested list elements.
783
784         (TestWebKitAPI::checkParagraphStyles):
785
786         Add a new helper to check an NSParagraphStyle against expected results.
787
788         (TestWebKitAPI::webViewForTestingFontAttributes):
789
790         Allow each test to pass in the name of the test page to load.
791
792         (TestWebKitAPI::TEST):
793         * TestWebKitAPI/Tests/WebKitCocoa/nested-lists.html: Added.
794
795         Add a new test page that contains text enclosed in multiple levels of unordered and ordered lists.
796
797         * TestWebKitAPI/Tests/WebKitCocoa/rich-text-attributes.html:
798
799         Remove `text-align: left` from one of these elements, to test for NSTextAlignmentNatural.
800
801 2018-10-08  Justin Fan  <justin_fan@apple.com>
802
803         WebGPU: Rename old WebGPU prototype to WebMetal
804         https://bugs.webkit.org/show_bug.cgi?id=190325
805         <rdar://problem/44990443>
806
807         Reviewed by Dean Jackson.
808
809         Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface.
810
811         * DumpRenderTree/mac/DumpRenderTree.mm:
812         (enableExperimentalFeatures):
813         (resetWebPreferencesToConsistentValues):
814         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
815         * TestWebKitAPI/Tests/WebCore/mac/GPUBuffer.mm:
816         * TestWebKitAPI/Tests/WebCore/mac/GPUCommandQueue.mm:
817         * TestWebKitAPI/Tests/WebCore/mac/GPUDevice.mm:
818         * TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm:
819         * TestWebKitAPI/Tests/WebCore/mac/GPULibrary.mm:
820         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
821         (WTR::InjectedBundle::beginTesting):
822         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
823         (WTR::TestRunner::setWebMetalEnabled):
824         (WTR::TestRunner::setWebGPUEnabled): Deleted.
825         * WebKitTestRunner/InjectedBundle/TestRunner.h:
826
827 2018-10-08  Commit Queue  <commit-queue@webkit.org>
828
829         Unreviewed, rolling out r236941.
830         https://bugs.webkit.org/show_bug.cgi?id=190374
831
832         Causing API test failures in new test (Requested by jernoble
833         on #webkit).
834
835         Reverted changeset:
836
837         "ISOTrackEncryptionBox returns incorrect defaultKeyID"
838         https://bugs.webkit.org/show_bug.cgi?id=190368
839         https://trac.webkit.org/changeset/236941
840
841 2018-10-08  Aditya Keerthi  <akeerthi@apple.com>
842
843         Make <input type=color> a runtime enabled (on-by-default) feature
844         https://bugs.webkit.org/show_bug.cgi?id=189162
845
846         Reviewed by Wenson Hsieh and Tim Horton.
847
848         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
849
850 2018-10-08  Jer Noble  <jer.noble@apple.com>
851
852         ISOTrackEncryptionBox returns incorrect defaultKeyID
853         https://bugs.webkit.org/show_bug.cgi?id=190368
854
855         Reviewed by Eric Carlson.
856
857         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
858         * TestWebKitAPI/Tests/WebCore/ISOBox.cpp: Added.
859         (TestWebKitAPI::TEST):
860
861 2018-10-08  Alex Christensen  <achristensen@webkit.org>
862
863         Remove WKBundleFileHandleRef
864         https://bugs.webkit.org/show_bug.cgi?id=190360
865
866         Reviewed by Tim Horton.
867
868         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
869         * TestWebKitAPI/Tests/WebKit/WKBundleFileHandle.cpp: Removed.
870         * TestWebKitAPI/Tests/WebKit/WKBundleFileHandle_Bundle.cpp: Removed.
871
872 2018-10-08  Dan Bernstein  <mitz@apple.com>
873
874         Tools part of [Xcode] Update some build settings as recommended by Xcode 10
875         https://bugs.webkit.org/show_bug.cgi?id=190250
876
877         Reviewed by Anders Carlsson.
878
879         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.
880
881         * DumpRenderTree/mac/Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA,
882           CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS,
883           CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF, and CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED.
884
885         * DumpRenderTree/mac/DumpRenderTreeMac.h: Addressed the strict prototype warning.
886
887         * DumpRenderTree/mac/EditingDelegate.mm: Suppressed the deprecated implementations warning
888           around deprecated methods or categories on deprecated classes.
889         * DumpRenderTree/mac/FrameLoadDelegate.mm: Ditto.
890         (-[FrameLoadDelegate webView:windowScriptObjectAvailable:]):
891         * DumpRenderTree/mac/TestRunnerMac.mm: Ditto.
892         (-[SynchronousLoader connection:didReceiveAuthenticationChallenge:]):
893
894         * MiniBrowser/Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA,
895           CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS,
896           CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF, and CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED.
897
898         * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.
899
900         * MiniBrowser/mac/AppDelegate.h: Addressed the strict prototypes warning.
901         * MiniBrowser/mac/WK2BrowserWindowController.m: Removed an unused #import to avoid having to
902           address the fact that many of the WebKit C SPI headers trigger the strict prototypes warning.
903
904         * MobileMiniBrowser/Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA,
905           CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_SUSPICIOUS_MOVE (by fixing a typo),
906           CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS, and CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF.
907
908         * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj: Let Xcode update
909           LastUpgradeCheck and remove the .xcconfig files from the Copy Bundle Resources build phase.
910
911         * TestWebKitAPI/Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA,
912           CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS,
913           CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF, and CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED.
914           Made the WebKit headers be treated as system headers to avoid dealing with the fact that
915           many C SPI headers trigger the strict prototypes warning.
916
917         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.
918
919         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
920         (-[DownloadDelegate _download:decideDestinationWithSuggestedFilename:allowOverwrite:]):
921         (-[BlobDownloadDelegate _download:decideDestinationWithSuggestedFilename:allowOverwrite:]):
922         (-[UIDownloadAsFileTestDelegate _webView:contextMenu:forElement:]):
923         (-[RedirectedDownloadDelegate _download:decideDestinationWithSuggestedFilename:allowOverwrite:]):
924         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
925         (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
926         (-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
927         * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
928         (-[AudioSessionCategoryUIWebViewDelegate webView:shouldStartLoadWithRequest:navigationType:]):
929         * TestWebKitAPI/Tests/WebKitLegacy/ios/SnapshotViaRenderInContext.mm:
930         (-[RenderInContextWebViewDelegate webViewDidFinishLoad:]):
931         (-[RenderInContextWebViewDelegate webView:didFailLoadWithError:]):
932         * TestWebKitAPI/Tests/ios/SetTimeoutFunction.mm:
933         (-[SetTimeoutFunctionWebViewDelegate webViewDidFinishLoad:]):
934         (-[SetTimeoutFunctionWebViewDelegate webView:didFailLoadWithError:]):
935         (-[SetTimeoutFunctionWebViewDelegate webView:shouldStartLoadWithRequest:navigationType:]):
936         * TestWebKitAPI/Tests/mac/LegacyDragAndDropTests.mm:
937         (-[DragInfo namesOfPromisedFilesDroppedAtDestination:]):
938         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
939         (-[DragAndDropTestWKWebView dragImage:at:offset:event:pasteboard:source:slideBack:]):
940         * TestWebKitAPI/mac/SyntheticBackingScaleFactorWindow.m:
941         (-[SyntheticBackingScaleFactorWindow IGNORE_WARNINGS_END]):
942         (-[SyntheticBackingScaleFactorWindow userSpaceScaleFactor]): Deleted.
943         * TestWebKitAPI/mac/TestDraggingInfo.mm:
944         (-[TestDraggingInfo namesOfPromisedFilesDroppedAtDestination:]):
945
946         In all of the above, suppressed the deprecated implementations warning where needed.
947
948         * WebKitTestRunner/Configurations/Base.xcconfig: Enabled ENABLE_STRICT_OBJC_MSGSEND,
949           CLANG_WARN_BOOL_CONVERSION, CLANG_WARN_COMMA, CLANG_WARN_CONSTANT_CONVERSION,
950           CLANG_WARN_EMPTY_BODY, CLANG_WARN_ENUM_CONVERSION, CLANG_WARN_INT_CONVERSION,
951           CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_UNREACHABLE_CODE, CLANG_WARN__DUPLICATE_METHOD_MATCH,
952           GCC_WARN_UNDECLARED_SELECTOR, CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF,
953           CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS,
954           and GCC_NO_COMMON_BLOCKS.
955
956         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.
957
958         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
959         (-[TestRunnerWKWebView dragImage:at:offset:event:pasteboard:source:slideBack:]): Suppressed
960           the deprecated implementations warning.
961
962         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
963         (WTR::UIScriptController::replaceTextAtRange): Addressed an int-conversion warning.
964
965 2018-10-07  Yacine Bandou  <yacine.bandou@softathome.com>
966
967         [GStreamer][EME][webm] Add the WebM encrypted content support in matroskademux
968         https://bugs.webkit.org/show_bug.cgi?id=189238
969
970         Reviewed by Xabier Rodriguez-Calvar.
971
972         Modifications on GStreamer, tracked in GStreamer bugzilla:
973         https://bugzilla.gnome.org/show_bug.cgi?id=797231
974         https://bugzilla.gnome.org/show_bug.cgi?id=765275
975
976         * gstreamer/jhbuild.modules: Add new patches.
977         * gstreamer/patches/gstreamer-0001-protection-Add-a-new-definition-for-unspecified-syst.patch: Added.
978         * gstreamer/patches/gstreamer-0002-protection-Fix-the-string-to-define-unspecified-syst.patch: Added.
979         * gstreamer/patches/gst-plugins-good-0011-matroska-Add-the-WebM-encrypted-content-support-in-m.patch: Added.
980         * gstreamer/patches/gst-plugins-good-0012-matroskdemux-do-not-use-MapInfo.data-after-unmapping.patch: Added.
981
982 2018-10-06  Dan Bernstein  <mitz@apple.com>
983
984         [Xcode] Never build yasm with ASAN
985         https://bugs.webkit.org/show_bug.cgi?id=190327
986
987         Reviewed by Youenn Fablet.
988
989         * asan/asan.xcconfig: Allow targets to opt out of building with ASAN by setting
990           the WK_ASAN_DISALLOWED build setting to YES (or, actually, anything other than NO or unset).
991
992 2018-10-05  Chris Dumez  <cdumez@apple.com>
993
994         Regression(r236862): Crash under DOMWindowExtension::willDetachGlobalObjectFromFrame()
995         https://bugs.webkit.org/show_bug.cgi?id=190320
996         <rdar://problem/45044814>
997
998         Reviewed by Geoffrey Garen.
999
1000         Add API test coverage.
1001
1002         * TestWebKitAPI/Tests/WebKit/DOMWindowExtensionBasic.cpp:
1003         (TestWebKitAPI::TEST):
1004         * TestWebKitAPI/Tests/WebKit/DOMWindowExtensionBasic_Bundle.cpp:
1005         (TestWebKitAPI::DOMWindowExtensionBasic::willDestroyGlobalObjectForDOMWindowExtension):
1006
1007 2018-10-03  Jer Noble  <jer.noble@apple.com>
1008
1009         Add support for reporting "display composited video frames" through the VideoPlaybackQuality object.
1010         https://bugs.webkit.org/show_bug.cgi?id=190266
1011
1012         Reviewed by Eric Carlson.
1013
1014         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1015         * TestWebKitAPI/Tests/WebKitCocoa/VideoQualityDisplayCompositing.mm: Added.
1016         (TestWebKitAPI::TEST):
1017
1018 2018-10-05  Ryan Haddad  <ryanhaddad@apple.com>
1019
1020         Unreviewed, rolling out r236866.
1021
1022         Breaks internal builds.
1023
1024         Reverted changeset:
1025
1026         "Add support for reporting "display composited video frames"
1027         through the VideoPlaybackQuality object."
1028         https://bugs.webkit.org/show_bug.cgi?id=190266
1029         https://trac.webkit.org/changeset/236866
1030
1031 2018-10-05  Carlos Eduardo Ramalho  <cadubentzen@gmail.com>
1032
1033         [WPE][JSC] Use Unified Sources for Platform-specific sources
1034         https://bugs.webkit.org/show_bug.cgi?id=190300
1035
1036         Reviewed by Yusuke Suzuki.
1037
1038         Currently the GTK port already used Unified Sources with the same source files.
1039         As WPE has conditional code using gmodule, we need to add GLIB_GMODULE_LIBRARIES
1040         to the list of libraries to link with.
1041
1042         * TestWebKitAPI/PlatformWPE.cmake:
1043
1044 2018-10-05  Zach Li  <zachli@apple.com>
1045
1046         Expose whether WKWebProcessPlugInNodeHandle is a select element to clients
1047         https://bugs.webkit.org/show_bug.cgi?id=190302
1048         <rdar://problem/45031469>
1049
1050         Reviewed by Tim Horton.
1051
1052         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1053         * TestWebKitAPI/Tests/WebKitCocoa/InjectedBundleNodeHandleIsSelectElement.mm: Added.
1054         (-[InjectedBundleNodeHandleIsSelectElement verifySelectElementForHTMLElementTag:document:jsContext:expectedResult:failedElementTags:]):
1055         (-[InjectedBundleNodeHandleIsSelectElement webProcessPlugIn:didCreateBrowserContextController:]):
1056         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
1057         (-[InjectedBundleNodeHandleIsSelectElementDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
1058         (TEST):
1059
1060 2018-10-04  Wenson Hsieh  <wenson_hsieh@apple.com>
1061
1062         [iOS] [WK2] Expose some more editing SPI on WKWebView
1063         https://bugs.webkit.org/show_bug.cgi?id=190232
1064         <rdar://problem/44963368>
1065
1066         Reviewed by Tim Horton.
1067
1068         Adds new API tests to exercise the new SPIs.
1069
1070         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1071         * TestWebKitAPI/Tests/ios/WKWebViewEditActions.mm: Added.
1072         (-[TestWKWebView querySelectorExists:]):
1073         (TestWebKitAPI::webViewForEditActionTesting):
1074         (TestWebKitAPI::TEST):
1075         * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
1076         (-[TestWKWebView collapseToStart]): Deleted.
1077         (-[TestWKWebView collapseToEnd]): Deleted.
1078         (-[TestWKWebView stylePropertyAtSelectionStart:]): Deleted.
1079         (-[TestWKWebView stylePropertyAtSelectionEnd:]): Deleted.
1080         * TestWebKitAPI/cocoa/TestWKWebView.h:
1081         * TestWebKitAPI/cocoa/TestWKWebView.mm:
1082         (-[TestWKWebView stylePropertyAtSelectionStart:]):
1083         (-[TestWKWebView stylePropertyAtSelectionEnd:]):
1084         (-[TestWKWebView collapseToStart]):
1085         (-[TestWKWebView collapseToEnd]):
1086
1087         Pull some common testing helpers out of NSFontManager and into TestWKWebView.
1088
1089 2018-10-04  Jer Noble  <jer.noble@apple.com>
1090
1091         Add support for reporting "display composited video frames" through the VideoPlaybackQuality object.
1092         https://bugs.webkit.org/show_bug.cgi?id=190266
1093
1094         Reviewed by Eric Carlson.
1095
1096         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1097         * TestWebKitAPI/Tests/WebKitCocoa/VideoQualityDisplayCompositing.mm: Added.
1098         (TestWebKitAPI::TEST):
1099
1100 2018-10-04  Wenson Hsieh  <wenson_hsieh@apple.com>
1101
1102         [Cocoa] Add SPI to expose typing attributes at the current selection on WKWebView
1103         https://bugs.webkit.org/show_bug.cgi?id=190119
1104         <rdar://problem/44767062>
1105
1106         Reviewed by Tim Horton.
1107
1108         Add a new API test that loads a document containing various rich text styles. This test moves the selection
1109         around the document and checks the last set of font attributes received via the new UI delegate hook.
1110
1111         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1112         * TestWebKitAPI/Tests/WebKitCocoa/FontAttributes.mm: Added.
1113         (-[FontAttributesListener _webView:didChangeFontAttributes:]):
1114         (-[FontAttributesListener lastFontAttributes]):
1115         (-[TestWKWebView selectElementWithIdentifier:]):
1116         (-[TestWKWebView fontAttributesAfterNextPresentationUpdate]):
1117         (ColorExpectation::ColorExpectation):
1118         (ShadowExpectation::ShadowExpectation):
1119         (checkColor):
1120         (checkShadow):
1121         (checkFont):
1122         (webViewForTestingFontAttributes):
1123         * TestWebKitAPI/Tests/WebKitCocoa/rich-text-attributes.html: Added.
1124
1125 2018-10-04  Alan Coon  <alancoon@apple.com>
1126
1127         Unreviewed, add self as contributor.
1128
1129         * Scripts/webkitpy/common/config/contributors.json:
1130
1131 2018-10-04  Wenson Hsieh  <wenson_hsieh@apple.com>
1132
1133         [macOS] Fix some font attribute conversion bugs in preparation for "Font > Styles…" support in WebKit2
1134         https://bugs.webkit.org/show_bug.cgi?id=190289
1135         <rdar://problem/45020806>
1136
1137         Reviewed by Ryosuke Niwa.
1138
1139         Add new API tests to exercise two corner cases when using NSFontOptions ("Font > Styles…") to change font
1140         attributes at the current selection.
1141
1142         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1143         * TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h:
1144         * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
1145         (webViewForFontManagerTesting):
1146         (TestWebKitAPI::TEST):
1147         * TestWebKitAPI/mac/TestFontOptions.h: Copied from Source/WebCore/editing/cocoa/FontAttributesCocoa.mm.
1148         * TestWebKitAPI/mac/TestFontOptions.mm: Added.
1149
1150         Introduce TestFontOptions, which wraps the shared NSFontOptions and swizzles `-sharedFontOptions` to return a
1151         global instance of itself. TestFontOptions supports several testing helpers to add or remove font shadows,
1152         foreground colors, and background colors.
1153
1154         (sharedFontOptionsForTesting):
1155         (+[TestFontOptions sharedInstance]):
1156         (-[TestFontOptions initWithFontOptions:]):
1157         (-[TestFontOptions selectedAttributes]):
1158         (-[TestFontOptions fontOptions]):
1159         (-[TestFontOptions shadowWidth]):
1160         (-[TestFontOptions setShadowWidth:]):
1161         (-[TestFontOptions shadowHeight]):
1162         (-[TestFontOptions setShadowHeight:]):
1163         (-[TestFontOptions setShadowBlurRadius:]):
1164         (-[TestFontOptions setHasShadow:]):
1165         (-[TestFontOptions foregroundColor]):
1166         (-[TestFontOptions setForegroundColor:]):
1167         (-[TestFontOptions backgroundColor]):
1168         (-[TestFontOptions setBackgroundColor:]):
1169         (-[TestFontOptions _dispatchFontAttributeChanges]):
1170         (-[TestFontOptions convertAttributes:]):
1171         (-[TestFontOptions setSelectedAttributes:isMultiple:]):
1172         (-[TestFontOptions forwardInvocation:]):
1173
1174 2018-10-04  Jiewen Tan  <jiewen_tan@apple.com>
1175
1176         [WebAuthN] Move time out control from WebProcess to UIProcess
1177         https://bugs.webkit.org/show_bug.cgi?id=189642
1178         <rdar://problem/44476765>
1179
1180         Reviewed by Chris Dumez.
1181
1182         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1183         (WTR::TestRunner::setWebAuthenticationMockConfiguration):
1184
1185 2018-10-04  YUHAN WU  <yuhan_wu@apple.com>
1186
1187         Runtime flag and IDL for MediaRecorder
1188         https://bugs.webkit.org/show_bug.cgi?id=190018
1189
1190         Reviewed by Youenn Fablet and Chris Dumez.
1191
1192         * DumpRenderTree/mac/DumpRenderTree.mm:
1193         (enableExperimentalFeatures):
1194
1195 2018-10-04  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1196
1197         [LayoutTests][Win] Stop wpt server correctly.
1198         https://bugs.webkit.org/show_bug.cgi?id=190248
1199
1200         Reviewed by Fujii Hironori.
1201
1202         Use signal.CTRL_C_EVENT instead of signal.SIGINT for Windows.
1203         Also refactoring the detection of Windows and cygwin environment check.
1204
1205         * Scripts/webkitpy/common/system/executive.py:
1206         (Executive.__init__): Check environment once.
1207         (Executive._should_close_fds):
1208         (Executive.kill_process):
1209         (Executive.check_running_pid):
1210         (Executive.running_pids):
1211         (Executive.interrupt): Use signal.CTRL_C_EVENT for Windows.
1212         (Executive.kill_all):
1213         (Executive._child_process_encoding):
1214         (Executive._should_encode_child_process_arguments):
1215         (Executive.popen):
1216         (Executive.run_in_parallel):
1217
1218 2018-10-04  Michael Catanzaro  <mcatanzaro@igalia.com>
1219
1220         Convert tests to use navigation client
1221         https://bugs.webkit.org/show_bug.cgi?id=190153
1222
1223         Reviewed by Alex Christensen.
1224
1225         Convert these tests from PagePolicyClient and PageLoaderClient to PageNavigationClient.
1226
1227         * TestWebKitAPI/Tests/WebKit/DownloadDecideDestinationCrash.cpp:
1228         (TestWebKitAPI::decidePolicyForNavigationAction):
1229         (TestWebKitAPI::setPagePolicyClient):
1230         * TestWebKitAPI/Tests/WebKit/ProvisionalURLAfterWillSendRequestCallback.cpp:
1231         (TestWebKitAPI::didCommitNavigationCallback):
1232         (TestWebKitAPI::TEST):
1233         (TestWebKitAPI::didCommitLoadForFrame): Deleted.
1234
1235 2018-10-03  Dan Bernstein  <mitz@apple.com>
1236
1237         [Cocoa] Let clients specify an NSFileWrapper subclassed to be used for _WKAttachment
1238         https://bugs.webkit.org/show_bug.cgi?id=190270
1239
1240         Reviewed by Wenson Hsieh.
1241
1242         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1243         (TestWebKitAPI::TEST):
1244
1245 2018-10-03  Ryosuke Niwa  <rniwa@webkit.org>
1246
1247         Enable selectionAcrossShadowBoundariesEnabled by default in WebKitLegacy
1248         https://bugs.webkit.org/show_bug.cgi?id=190238
1249
1250         Reviewed by Antti Koivisto.
1251
1252         * DumpRenderTree/TestOptions.h:
1253         * DumpRenderTree/mac/DumpRenderTree.mm:
1254         (resetWebPreferencesToConsistentValues):
1255
1256 2018-10-02  Wenson Hsieh  <wenson_hsieh@apple.com>
1257
1258         [WebKit2] Format > Bold and Format > Italic don't toggle between bold and italic style
1259         https://bugs.webkit.org/show_bug.cgi?id=179787
1260         <rdar://problem/35593389>
1261
1262         Reviewed by Tim Horton.
1263
1264         Add a test to verify that NSFontManager's selected font is updated when applying italic and bold styles using
1265         menu items.
1266
1267         * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
1268         (webViewForFontManagerTesting):
1269         (menuItemCellForFontAction):
1270         (TestWebKitAPI::TEST):
1271
1272 2018-10-02  Chris Dumez  <cdumez@apple.com>
1273
1274         REGRESSION: TestWebKitAPI.WKWebView.ProvisionalURLNotChange API test is failing
1275         https://bugs.webkit.org/show_bug.cgi?id=190176
1276         <rdar://problem/44925871>
1277
1278         Reviewed by Alex Christensen.
1279
1280         Use a URL that is truly recognized as invalid by WebCore's URL parser.
1281
1282         * TestWebKitAPI/Tests/WebKitCocoa/ProvisionalURLNotChange.mm:
1283         (TEST):
1284
1285 2018-10-02  Alex Christensen  <achristensen@webkit.org>
1286
1287         Remove ParsedURLString
1288         https://bugs.webkit.org/show_bug.cgi?id=190154
1289
1290         Reviewed by Chris Dumez.
1291
1292         * TestWebKitAPI/Tests/WebCore/URL.cpp:
1293         (TestWebKitAPI::TEST_F):
1294         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
1295         (TestWebKitAPI::assertUserAgentForURLHasChromeBrowserQuirk):
1296         (TestWebKitAPI::assertUserAgentForURLHasLinuxPlatformQuirk):
1297         (TestWebKitAPI::assertUserAgentForURLHasMacPlatformQuirk):
1298         (TestWebKitAPI::TEST):
1299
1300 2018-10-02  Daniel Bates  <dabates@apple.com>
1301
1302         Fix iOS TestWebKitAPI failures following <https://trac.webkit.org/changeset/236619>
1303         (https://bugs.webkit.org/show_bug.cgi?id=190017)
1304
1305         For now swizzle +[UIKeyboard isInHardwareKeyboardMode] to return NO in the following tests:
1306             WKWebViewAutofillTests.AutofillRequiresInputSession
1307             DragAndDropTests.ExternalSourceJPEGOnly
1308             DragAndDropTests.ExternalSourceUTF8PlainTextOnly
1309
1310         so that the presence of a hardware keyboad does not effect their results. In <https://bugs.webkit.org/show_bug.cgi?id=190211>
1311         we will look to swizzle this method for all test by default.
1312
1313         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
1314         (TestWebKitAPI::overrideIsInHardwareKeyboardMode):
1315         (TestWebKitAPI::TEST):
1316         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
1317         (TestWebKitAPI::overrideIsInHardwareKeyboardMode):
1318         (TestWebKitAPI::TEST):
1319         * TestWebKitAPI/ios/UIKitSPI.h:
1320
1321 2018-10-02  Dawei Fenton  <realdawei@apple.com>
1322
1323         Unreviewed, rolling out r236751.
1324
1325         broke the iOS Build
1326
1327         Reverted changeset:
1328
1329         "Fix iOS TestWebKitAPI failures following
1330         <https://trac.webkit.org/changeset/236619>"
1331         https://bugs.webkit.org/show_bug.cgi?id=190017
1332         https://trac.webkit.org/changeset/236751
1333
1334 2018-10-02  Daniel Bates  <dabates@apple.com>
1335
1336         Fix iOS TestWebKitAPI failures following <https://trac.webkit.org/changeset/236619>
1337         (https://bugs.webkit.org/show_bug.cgi?id=190017)
1338
1339         For now swizzle +[UIKeyboard isInHardwareKeyboardMode] to return NO in the following tests:
1340             WKWebViewAutofillTests.AutofillRequiresInputSession
1341             DragAndDropTests.ExternalSourceJPEGOnly
1342             DragAndDropTests.ExternalSourceUTF8PlainTextOnly
1343
1344         so that the presence of a hardware keyboad does not effect their results. In <https://bugs.webkit.org/show_bug.cgi?id=190211>
1345         we will look to swizzle this method for all test by default.
1346
1347         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
1348         (TestWebKitAPI::overrideIsInHardwareKeyboardMode):
1349         (TestWebKitAPI::TEST):
1350         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
1351         (TestWebKitAPI::overrideIsInHardwareKeyboardMode):
1352         (TestWebKitAPI::TEST):
1353         * TestWebKitAPI/ios/UIKitSPI.h:
1354
1355 2018-10-01  Dean Jackson  <dino@apple.com>
1356
1357         Remove CSS Animation Triggers
1358         https://bugs.webkit.org/show_bug.cgi?id=190175
1359         <rdar://problem/44925626>
1360
1361         Reviewed by Simon Fraser.
1362
1363         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1364
1365 2018-10-02  Thibault Saunier  <tsaunier@igalia.com>
1366
1367         [Flatpak] Use our own check of flatpak repos
1368         https://bugs.webkit.org/show_bug.cgi?id=190194
1369
1370         Allowing us to not mess up with user installation
1371         and "--assumeyes" everywhere.
1372
1373         Reviewed by Michael Catanzaro.
1374
1375         * flatpak/flatpakutils.py:
1376         (FlatpakPackage.__init__):
1377         (FlatpakPackage.install):
1378         (FlatpakPackage.update):
1379         (WebkitFlatpak.load_from_args):
1380         (WebkitFlatpak.__init__):
1381         (WebkitFlatpak.clean_args):
1382
1383 2018-10-02  Wenson Hsieh  <wenson_hsieh@apple.com>
1384
1385         [macOS] Implement a way for the UI process to request typing attributes at the current selection
1386         https://bugs.webkit.org/show_bug.cgi?id=189983
1387         <rdar://problem/44648705>
1388
1389         Reviewed by Ryosuke Niwa.
1390
1391         Adds new FontManagerTests that exercise -typingAttributesWithCompletionHandler:. See below for more detail.
1392
1393         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1394         * TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h:
1395         * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
1396
1397         Add a new test that exercises font attribute modification via inspector bar. Also, add a new test that checks
1398         typing attributes when using subscript/superscript/unscript. Lastly, augment an existing NSFontPanel test to
1399         additionally check that shadowed text and strike-through are reflected in typing attributes.
1400
1401         (-[FontManagerTestWKWebView inspectorBarItemIdentifiers]):
1402         (-[TestWKWebView typingAttributes]):
1403
1404         Add a synchronous wrapper around `-typingAttributesWithCompletionHandler:` by spinning the runloop.
1405
1406         (-[TestWKWebView collapseToStart]):
1407         (webViewForFontManagerTesting):
1408         (TestWebKitAPI::TEST):
1409         * TestWebKitAPI/cocoa/TestWKWebView.h:
1410         * TestWebKitAPI/mac/TestInspectorBar.h: Copied from Tools/TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h.
1411         * TestWebKitAPI/mac/TestInspectorBar.mm: Added.
1412
1413         Introduce subclasses of `__InspectorBarItemController` and `NSInspectorBar` for testing inspector bar interaction.
1414
1415         (-[TestInspectorBarItemController initWithInspectorBar:]):
1416         (-[TestInspectorBarItemController inspectorBar]):
1417         (-[TestInspectorBarItemController updateSelectedAttributes]):
1418         (-[TestInspectorBar initWithWebView:]):
1419         (+[TestInspectorBar standardItemControllerClass]):
1420         (+[TestInspectorBar standardTextItemIdentifiers]):
1421         (-[TestInspectorBar _setStyleControlSelected:atIndex:]):
1422         (-[TestInspectorBar chooseFontSize:]):
1423         (-[TestInspectorBar chooseFontFamily:]):
1424         (-[TestInspectorBar _chooseColor:inColorWell:]):
1425         (-[TestInspectorBar chooseForegroundColor:]):
1426         (-[TestInspectorBar chooseBackgroundColor:]):
1427         (-[TestInspectorBar formatBold:]):
1428         (-[TestInspectorBar formatItalic:]):
1429         (-[TestInspectorBar formatUnderline:]):
1430
1431         Add helper methods to TestInspectorBar to simulate interacting with various controls (e.g. color wells and font
1432         styling controls).
1433
1434         (-[TestInspectorBar itemController]):
1435         (-[TestInspectorBar setItemController:]):
1436
1437 2018-10-02  Thibault Saunier  <tsaunier@igalia.com>
1438
1439         [Flatpak] Implement icecream and ccache support
1440         https://bugs.webkit.org/show_bug.cgi?id=190146
1441
1442         Reviewed by Alejandro G. Castro.
1443
1444         * flatpak/flatpakutils.py:
1445         (WebkitFlatpak.load_from_args):
1446         (WebkitFlatpak.__init__):
1447         (WebkitFlatpak.clean_args):
1448         (WebkitFlatpak.run_in_sandbox):
1449         (WebkitFlatpak.save_config):
1450         (WebkitFlatpak):
1451         (WebkitFlatpak.setup_ccache):
1452         (WebkitFlatpak.setup_icecc):
1453         (WebkitFlatpak.setup_dev_env):
1454         * flatpak/org.webkit.WebKit.yaml:
1455
1456 2018-10-02  Michael Catanzaro  <mcatanzaro@igalia.com>
1457
1458         Unreviewed, fix missing return value in TestController::keyExistsInKeychain
1459
1460         * WebKitTestRunner/TestController.cpp:
1461         (WTR::TestController::keyExistsInKeychain):
1462
1463 2018-10-02  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1464
1465         [WinCairo] Enable WPT tests environment.
1466         https://bugs.webkit.org/show_bug.cgi?id=190128
1467
1468         Reviewed by Youenn Fablet.
1469
1470         Escaping backslash of the path not to confuse the JSON parser.
1471
1472         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
1473         (WebPlatformTestServer._prepare_config):
1474
1475 2018-10-01  Ross Kirsling  <ross.kirsling@sony.com>
1476
1477         [Win][DRT] Actually set "experimental:WebAnimationsCSSIntegrationEnabled" when requested
1478         https://bugs.webkit.org/show_bug.cgi?id=190150
1479
1480         Reviewed by Fujii Hironori.
1481
1482         * DumpRenderTree/win/DumpRenderTree.cpp:
1483         (setWebPreferencesForTestOptions):
1484         DRT has been recognizing this field, but not propagating its value to WebPreferences.
1485
1486 2018-10-01  Alex Christensen  <achristensen@webkit.org>
1487
1488         Unreviewed, rolling out r236551.
1489
1490         Fails URL validating too aggressively
1491
1492         Reverted changeset:
1493
1494         "URLWithUserTypedString should return nil for URLs deemed to
1495         be invalid by WebCore::URL"
1496         https://bugs.webkit.org/show_bug.cgi?id=189979
1497         https://trac.webkit.org/changeset/236551
1498
1499 2018-10-01  Wenson Hsieh  <wenson_hsieh@apple.com>
1500
1501         [iOS] Add SPI to customize the input accessory view when focusing an element
1502         https://bugs.webkit.org/show_bug.cgi?id=190152
1503         <rdar://problem/42754975>
1504
1505         Reviewed by Dan Bernstein.
1506
1507         Add an API test to verify that setting a custom input accessory view and custom input view on the form input
1508         session when focusing an element overrides the first responder's (i.e. WKContentView's) `-inputView` and
1509         `-inputAccessoryView`.
1510
1511         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
1512         (webViewWithAutofocusedInput):
1513         (TestWebKitAPI::TEST):
1514         * TestWebKitAPI/Tests/ios/TestInputDelegate.h:
1515         * TestWebKitAPI/Tests/ios/TestInputDelegate.mm:
1516         (-[TestInputDelegate setWillStartInputSessionHandler:]):
1517         (-[TestInputDelegate willStartInputSessionHandler]):
1518         (-[TestInputDelegate _webView:willStartInputSession:]):
1519
1520 2018-10-01  Sihui Liu  <sihui_liu@apple.com>
1521
1522         Remove StorageProcess
1523         https://bugs.webkit.org/show_bug.cgi?id=189975
1524
1525         Reviewed by Geoffrey Garen.
1526
1527         * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
1528         (TEST):
1529         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
1530         * TestWebKitAPI/Tests/WebKitCocoa/WebProcessKillIDBCleanup.mm:
1531         (TEST):
1532         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
1533         (TEST):
1534         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1535         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1536         (WTR::TestRunner::terminateStorageProcess): Deleted.
1537         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1538         * WebKitTestRunner/TestController.cpp:
1539         (WTR::TestController::generatePageConfiguration):
1540         (WTR::TestController::databaseProcessName): Deleted.
1541         (WTR::TestController::databaseProcessDidCrash): Deleted.
1542         (WTR::TestController::terminateStorageProcess): Deleted.
1543         * WebKitTestRunner/TestController.h:
1544         * WebKitTestRunner/TestInvocation.cpp:
1545         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1546
1547 2018-10-01  Jiewen Tan  <jiewen_tan@apple.com>
1548
1549         [WebAuthN] Import a JS CBOR coder
1550         https://bugs.webkit.org/show_bug.cgi?id=189877
1551         <rdar://problem/44701124>
1552
1553         Reviewed by Chris Dumez.
1554
1555         Add logic to only process privateKeyBase64, userCertificateBase64 and intermediateCACertificateBase64
1556         only if acceptAttestation is true.
1557
1558         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1559         (WTR::TestRunner::setWebAuthenticationMockConfiguration):
1560
1561 2018-10-01  Chris Dumez  <cdumez@apple.com>
1562
1563         Regression(r236512): http/tests/navigation/keyboard-events-during-provisional-navigation.html is flaky
1564         https://bugs.webkit.org/show_bug.cgi?id=190052
1565
1566         Reviewed by Ryosuke Niwa.
1567
1568         The test relies on EventSender to send events to the page synchronously to the page and then uses console.log
1569         to log those events. It also uses console.log() before sending those events to indicate what the test is about
1570         to do. Note that console.log() normally causes the WebKitTestRunner to send an asynchronous IPC to the UIProcess
1571         so that it can log the message.
1572         The issue is that EventSender uses IPC::SendOption::UseFullySynchronousModeForTesting when sending the
1573         sync IPC to the UIProcess. This option causes follow-up *asynchronous* IPC sent from the synchronous IPC reply
1574         handler to be transformed into synchronous IPC.
1575         As a result, some of the console.log IPC ended up being asynchronous and some other ended up being synchronous.
1576         Because synchronous and asynchronous IPC is not necessarily processed in-order by the UIProcess, the logged
1577         messages may end up being out of order, leading to flakiness.
1578
1579         To address the issue, we now make sure that InjectedBundle::outputText() uses a new IPC::SendOption indicated
1580         that the IPC should always be sent asynchronously, even if the connection is in fully synchronous mode. As a
1581         result, all text outputing IPC to the UIProcess will be asynchronous, and thus in order.
1582
1583         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1584         (WTR::InjectedBundle::outputText):
1585
1586 2018-10-01  Daniel Bates  <dabates@apple.com>
1587
1588         [iOS] Special keys are misidentified in DOM keyboard events
1589         https://bugs.webkit.org/show_bug.cgi?id=189974
1590
1591         Reviewed by Wenson Hsieh.
1592
1593         Add support for testing keys Forward Delete and Num Lock / Clear.
1594
1595         * WebKitTestRunner/ios/HIDEventGenerator.mm:
1596         (hidUsageCodeForCharacter):
1597
1598 2018-10-01  Alex Christensen  <achristensen@webkit.org>
1599
1600         URL should not use TextEncoding internally
1601         https://bugs.webkit.org/show_bug.cgi?id=190111
1602
1603         Reviewed by Andy Estes.
1604
1605         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
1606         (TestWebKitAPI::testUserPass):
1607         (TestWebKitAPI::TEST_F):
1608
1609 2018-10-01  Daniel Bates  <dabates@apple.com>
1610
1611         LLDB tests may use wrong configuration of lldbWebKitTester
1612         https://bugs.webkit.org/show_bug.cgi?id=189011
1613
1614         Reviewed by Dean Jackson.
1615
1616         Fixes an issue where the LLDB unit tests may use the wrong configuration of lldbWebKitTester.
1617         Additionally, add back the unit tests originally added in r235376 (https://bugs.webkit.org/show_bug.cgi?id=188936).
1618
1619         Currently the unit tests pick the LLDBWebKitTester binary based on the configuration set by
1620         script set-webkit-configuration. This may not be the same configuration specified to test-webkitpy.
1621         So, the unit tests may use the wrong binary. Instead we have test-webkitpy store the path
1622         to the correct lldbWebKitTester binary that the unit tests should use in an environment variable,
1623         called LLDB_WEBKIT_TESTER_EXECUTABLE. (We use an environment variable because the test driver,
1624         test-webkitpy, and the unit tests cannot talk to each other directly due the limitations of
1625         the Python unittest module, the Python multiprocessing module, and the general principle of unit
1626         tests - to test code in isolation). The unit tests make use of the value of this environment
1627         variable to launch lldbWebKitTester binary.
1628
1629         * Scripts/build-lldbwebkittester: We only support building lldbWebKitTester on Mac for now. Error
1630         out if this script is invoked for a non-Mac platform.
1631         * Scripts/webkitpy/test/main.py:
1632         (Tester._run_tests): Build lldbWebKitTester and store the path to it in the environment variable
1633         LLDB_WEBKIT_TESTER_EXECUTABLE.
1634         (_build_lldb_webkit_tester): Deleted.
1635         * lldb/dump_class_layout_unittest.py:
1636         (TestDumpClassLayout.shouldSkip): Use SystemHost() here and remove the _host global variable as
1637         this is the only call site that needs the Host object now.
1638         (TestDumpClassLayout.setUpClass): Take the path to the lldbWebKitTester binary from the value of
1639         the environment variable LLDB_WEBKIT_TESTER_EXECUTABLE.
1640         * lldb/lldbWebKitTester/main.cpp:
1641         (testSummaryProviders): Add back unit test support infrastructure originally added in r235376 (https://bugs.webkit.org/show_bug.cgi?id=188936).
1642         * lldb/lldb_webkit_unittest.py:
1643         (LLDBDebugSession.setup): Take the path to the lldbWebKitTester binary from the value of the environment
1644         variable LLDB_WEBKIT_TESTER_EXECUTABLE.
1645         (TestSummaryProviders):
1646         (TestSummaryProviders.shouldSkip): Skip the tests on non-Mac platforms.
1647         (TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):
1648         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_empty):
1649         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple):
1650         (TestSummaryProviders.serial_test_WTFOptionSetProvider_empty):
1651         (TestSummaryProviders.serial_test_WTFOptionSetProvider_simple):
1652         Add back the unit tests originally added in r235376 (https://bugs.webkit.org/show_bug.cgi?id=188936).
1653
1654 2018-10-01  Olivier Blin  <olivier.blin@softathome.com>
1655
1656         [WPE] Update install-dependencies
1657         https://bugs.webkit.org/show_bug.cgi?id=190127
1658
1659         Reviewed by Michael Catanzaro.
1660
1661         * wpe/install-dependencies:
1662         libxrandr-dev is needed for gstreamer-vaapi in jhbuild
1663         It is used by gstvaapidisplay_x11.c.
1664         Add it only for Apt, already ok for Pacman and DNF.
1665
1666         Install libevent-dev for WebRTC (like GTK)
1667
1668         Install libasound2-dev for WebRTC.
1669         Add it only for Apt, already ok for Pacam and DNF.
1670
1671         Install libgbm-dev for HeadlessViewBackend, which uses gbm.h
1672
1673 2018-10-01  Thibault Saunier  <tsaunier@igalia.com>
1674
1675         [Flatpak] Add libunwind in the sandbox
1676         https://bugs.webkit.org/show_bug.cgi?id=190123
1677
1678         Allowing us to get proper traces in GStreamer trace grabing
1679         debug functions.
1680
1681         Reviewed by Philippe Normand.
1682
1683         * flatpak/org.webkit.WebKit.yaml:
1684
1685 2018-09-29  Commit Queue  <commit-queue@webkit.org>
1686
1687         Unreviewed, rolling out r236631.
1688         https://bugs.webkit.org/show_bug.cgi?id=190112
1689
1690         Caused various eventSender tests, including fast/css/pseudo-
1691         active-style-sharing*, to fail (Requested by smfr on #webkit).
1692
1693         Reverted changeset:
1694
1695         "Regression(r236512): http/tests/navigation/keyboard-events-
1696         during-provisional-navigation.html is flaky"
1697         https://bugs.webkit.org/show_bug.cgi?id=190052
1698         https://trac.webkit.org/changeset/236631
1699
1700 2018-09-28  Myles C. Maxfield  <mmaxfield@apple.com>
1701
1702         [WHLSL] Fix build after r236635
1703         https://bugs.webkit.org/show_bug.cgi?id=189210
1704
1705         Unreviewed.
1706
1707         * WebGPUShadingLanguageRI/Intrinsics.js:
1708         (Intrinsics.):
1709         * WebGPUShadingLanguageRI/Test.js:
1710         (tests.atomicsNull):
1711         (tests.numThreads):
1712         (tests.textureDimensionsNull):
1713
1714 2018-09-28  Myles C. Maxfield  <mmaxfield@apple.com>
1715
1716         [WHLSL] Allow uniform buffers to be used in the interpreter
1717         https://bugs.webkit.org/show_bug.cgi?id=189210
1718
1719         Reviewed by Filip Pizlo.
1720
1721         Every lvalue is associated with an address space, and the propagation of these address spaces
1722         matches the propagation of lvalues. Luckily, there was already the infrastructure to do most
1723         of this, so this patch just goes the last few yards. It also updates the standard library to
1724         allow for writing into all writable address spaces for out-params.
1725
1726         * WebGPUShadingLanguageRI/Checker.js:
1727         (Checker.prototype.visitAssignment):
1728         (Checker.prototype._finishVisitingPropertyAccess):
1729         * WebGPUShadingLanguageRI/Intrinsics.js:
1730         (Intrinsics.):
1731         (Intrinsics.checkFalse):
1732         (Intrinsics):
1733         * WebGPUShadingLanguageRI/StandardLibrary.js:
1734         (let.standardLibrary):
1735         * WebGPUShadingLanguageRI/Test.js:
1736         (tests.threadArrayRefLoad):
1737         (tests.threadArrayRefLoadIntLiteral):
1738         (tests.deviceArrayRefLoad):
1739         (tests.threadArrayRefStore):
1740         (tests.deviceArrayRefStore):
1741         (tests.deviceArrayRefStoreIntLiteral):
1742         (tests.threadPointerLoad):
1743         (tests.threadPointerStore):
1744         (tests.devicePointerLoad):
1745         (tests.devicePointerStore):
1746         (tests.arrayLoad):
1747         (tests.constantAddressSpace):
1748         (tests.standardLibraryDevicePointers):
1749         (tests.threadArrayLoad): Deleted.
1750         (tests.threadArrayLoadIntLiteral): Deleted.
1751         (tests.deviceArrayLoad): Deleted.
1752         (tests.threadArrayStore): Deleted.
1753         (tests.deviceArrayStore): Deleted.
1754         (tests.deviceArrayStoreIntLiteral): Deleted.
1755
1756 2018-09-28  Wenson Hsieh  <wenson_hsieh@apple.com>
1757
1758         No DOM API to instantiate an attachment for an img element
1759         https://bugs.webkit.org/show_bug.cgi?id=189934
1760         <rdar://problem/44743222>
1761
1762         Reviewed by Ryosuke Niwa.
1763
1764         Adds 3 new API tests in WKAttachmentTests:
1765
1766         `AddAttachmentToConnectedImageElement` verifies that an image element that's already in the document can gain an
1767         attachment element via `HTMLAttachmentElement.getAttachmentIdentifier`.
1768
1769         `ChangeFileWrapperForPastedImage` verifies that an image that has been pasted produces a _WKAttachment in the UI
1770         process, and changing the file wrapper of that _WKAttachment changes the pasted image.
1771
1772         `ConnectImageWithAttachmentToDocument` verifies that script can create an image element, ensure that it has an
1773         attachment, and set a file wrapper for the generated _WKAttachment. Connecting the image to the document should
1774         then result in an image element with the contents of the _WKAttachment's file wrapper.
1775
1776         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1777         (-[TestWKWebView imageElementSize]):
1778         (-[TestWKWebView waitForImageElementSizeToBecome:]):
1779         (TestWebKitAPI::TEST):
1780         (-[TestWKWebView waitForAttachmentElementSizeToBecome:]): Deleted.
1781
1782 2018-09-28  Chris Dumez  <cdumez@apple.com>
1783
1784         Regression(r236512): http/tests/navigation/keyboard-events-during-provisional-navigation.html is flaky
1785         https://bugs.webkit.org/show_bug.cgi?id=190052
1786
1787         Reviewed by Ryosuke Niwa.
1788
1789         The test relies on EventSender to send events to the page synchronously to the page and then uses console.log
1790         to log those events. It also uses console.log() before sending those events to indicate what the test is about
1791         to do. Note that console.log() normally causes the WebKitTestRunner to send an asynchronous IPC to the UIProcess
1792         so that it can log the message.
1793         The issue is that EventSender uses IPC::SendOption::UseFullySynchronousModeForTesting when sending the
1794         sync IPC to the UIProcess. This option causes follow-up *asynchronous* IPC sent from the synchronous IPC reply
1795         handler to be transformed into synchronous IPC.
1796         As a result, some of the console.log IPC ended up being asynchronous and some other ended up being synchronous.
1797         Because synchronous and asynchronous IPC is not necessarily processed in-order by the UIProcess, the logged
1798         messages may end up being out of order, leading to flakiness.
1799
1800         To address the issue, we now make sure that InjectedBundle::outputText() uses a new IPC::SendOption indicating
1801         that the IPC should always be sent asynchronously, even if the connection is in fully synchronous mode. As a
1802         result, all text outputing IPC to the UIProcess will be asynchronous, and thus in order.
1803
1804         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1805         (WTR::InjectedBundle::outputText):
1806
1807 2018-09-28  Myles C. Maxfield  <mmaxfield@apple.com>
1808
1809         [WHLSL] Pointers should have automatically-generated equality checks
1810         https://bugs.webkit.org/show_bug.cgi?id=189986
1811
1812         Reviewed by Filip Pizlo.
1813
1814         C allows for pointer equality, and we need it so people can do null checks.
1815         This is generated the same way all our other NativeFuncs are generated - by Checker
1816         creating NativeFuncs inside CallExpression.resolve().
1817
1818         This patch also does some general cleanup.
1819
1820         * WebGPUShadingLanguageRI/All.js: Everything the late checker does is no longer necessary.
1821         The last thing it was doing was making sure that only primitive types are in resources, but
1822         it's totally reasonable to put structs and arrays in resources, so I removed this pass. We
1823         still have to add a check to make sure resources can't live within resources, but I expect
1824         that will be done in the same place that semantics are checked.
1825         * WebGPUShadingLanguageRI/AllocateAtEntryPoints.js:
1826         (allocateAtEntryPoints.updateFunction.UpdateFunctions.prototype._addVariableDeclaration):
1827         Name the global struct for debugging purposes.
1828         * WebGPUShadingLanguageRI/CallExpression.js: 
1829         (CallExpression.prototype._resolveByInstantiation): Cleanup
1830         (CallExpression.prototype._resolveWithOperatorAnderIndexer): Ditto
1831         (CallExpression.prototype._resolveWithOperatorLength): Ditto
1832         (CallExpression.prototype._resolveWithReferenceComparator): Add support to automatically
1833         generate pointer equality NativeFuncs.
1834         * WebGPUShadingLanguageRI/EPtr.js: Implement pointer equality in the interpreter.
1835         * WebGPUShadingLanguageRI/LateChecker.js: Removed.
1836         * WebGPUShadingLanguageRI/LayoutBuffers.js: Renamed from Tools/WebGPUShadingLanguageRI/LateCheckAndLayoutBuffers.js.
1837         (layoutBuffers):
1838         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL Tests.xcodeproj/project.pbxproj:
1839         * WebGPUShadingLanguageRI/NativeFunc.js:
1840         * WebGPUShadingLanguageRI/OperatorArrayRefLength.js:
1841         (OperatorArrayRefLength.prototype.instantiateImplementation):
1842         (OperatorArrayRefLength):
1843         * WebGPUShadingLanguageRI/Prepare.js:
1844         (let.prepare):
1845         * WebGPUShadingLanguageRI/SPIRV.html:
1846         * WebGPUShadingLanguageRI/Test.html:
1847         * WebGPUShadingLanguageRI/Test.js:
1848         (tests.ternaryExpression):
1849         (tests.break): Speed up testing time
1850         (tests.doWhile): Ditto
1851         (tests.forLoop): Ditto
1852         (tests.atomics): Ditto
1853         (tests.atomicsNull): Ditto
1854         (tests.pointerEquality): Test pointer equality
1855         (tests.standardLibraryDevicePointers):
1856         (tests.devicePtrPtr): Deleted.
1857         (tests.threadgroupPtrPtr): Deleted.
1858         (tests.constantPtrPtr): Deleted.
1859         * WebGPUShadingLanguageRI/index.html:
1860
1861 2018-09-28  Jiewen Tan  <jiewen_tan@apple.com>
1862
1863         [WebAuthN] Polish WebAuthN auto-test environment
1864         https://bugs.webkit.org/show_bug.cgi?id=189283
1865         <rdar://problem/44117828>
1866
1867         Reviewed by Chris Dumez.
1868
1869         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1870         (WTR::TestRunner::setWebAuthenticationMockConfiguration):
1871
1872 2018-09-28  Chris Dumez  <cdumez@apple.com>
1873
1874         Drop support for cross-origin-window-policy header
1875         https://bugs.webkit.org/show_bug.cgi?id=190081
1876
1877         Reviewed by Ryosuke Niwa.
1878
1879         190081_DropCrossOriginWindowPolicy
1880
1881         * DumpRenderTree/mac/DumpRenderTree.mm:
1882         (enableExperimentalFeatures):
1883         * DumpRenderTree/win/DumpRenderTree.cpp:
1884         (enableExperimentalFeatures):
1885         * WebKitTestRunner/TestController.cpp:
1886         (WTR::TestController::resetPreferencesToConsistentValues):
1887
1888 2018-09-28  Koby Boyango  <koby.b@mce.systems>
1889
1890         [WTF] Add ExternalStringImpl, a StringImpl for user controlled buffers
1891         https://bugs.webkit.org/show_bug.cgi?id=189991
1892
1893         Reviewed by Yusuke Suzuki.
1894
1895         * TestWebKitAPI/Tests/WTF/StringImpl.cpp:
1896
1897 2018-09-27  Ryan Haddad  <ryanhaddad@apple.com>
1898
1899         Update flakiness dashboard configuration for Mojave queues
1900         https://bugs.webkit.org/show_bug.cgi?id=190068
1901
1902         Reviewed by Alexey Proskuryakov.
1903
1904         * TestResultServer/static-dashboards/builders.jsonp:
1905
1906 2018-09-27  Ryan Haddad  <ryanhaddad@apple.com>
1907
1908         Bring up queues for Mojave
1909         https://bugs.webkit.org/show_bug.cgi?id=189935
1910
1911         Unreviewed infrastructure fix.
1912
1913         * BuildSlaveSupport/build.webkit.org-config/config.json: Remove trigger, update bot assignment.
1914
1915 2018-09-24  Ryan Haddad  <ryanhaddad@apple.com>
1916
1917         Bring up queues for Mojave
1918         https://bugs.webkit.org/show_bug.cgi?id=189935
1919
1920         Reviewed by Alexey Proskuryakov.
1921
1922         * BuildSlaveSupport/build.webkit.org-config/config.json:
1923         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
1924         (WebKitBuildbot):
1925         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
1926
1927 2018-09-27  Ryan Haddad  <ryanhaddad@apple.com>
1928
1929         Increase the timeout for iOS Simulator data migration
1930         https://bugs.webkit.org/show_bug.cgi?id=190059
1931
1932         Reviewed by Aakash Jain.
1933
1934         3 minutes isn't always enough time for the data migrator to complete
1935         when booting up multiple iOS Simulators. Change the timeout to 10 minutes.
1936
1937         * Scripts/webkitpy/xcode/simulated_device.py:
1938         (SimulatedDeviceManager): Create a constant for the default timeout.
1939         (SimulatedDeviceManager.initialize_devices): Use new constant.
1940         (SimulatedDeviceManager.swap): Ditto.
1941         (SimulatedDeviceManager.wait_until_data_migration_is_done): Ditto.
1942
1943 2018-09-27  Alex Christensen  <achristensen@webkit.org>
1944
1945         URLParser should use TextEncoding through an abstract class
1946         https://bugs.webkit.org/show_bug.cgi?id=190027
1947
1948         Reviewed by Andy Estes.
1949
1950         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
1951         (TestWebKitAPI::checkURL):
1952         (TestWebKitAPI::TEST_F):
1953
1954 2018-09-27  Ryan Haddad  <ryanhaddad@apple.com>
1955
1956         iOS Simulator bots should pass '--dedicated-simulators' to run-webkit-tests
1957         https://bugs.webkit.org/show_bug.cgi?id=190042
1958
1959         Reviewed by Aakash Jain.
1960
1961         To make iOS Simulator bots resilient to issues that can arise from reusing
1962         existing simulators, ensure that dedicated simulators are created for each test run.
1963
1964         * Scripts/webkitpy/common/config/ports.py:
1965         (IOSSimulatorWK2Port.run_webkit_tests_command):
1966
1967 2018-09-27  Alex Christensen  <achristensen@webkit.org>
1968
1969         URLWithUserTypedString should return nil for URLs deemed to be invalid by WebCore::URL
1970         https://bugs.webkit.org/show_bug.cgi?id=189979
1971
1972         Reviewed by Youenn Fablet.
1973
1974         * TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
1975         (TestWebKitAPI::originalDataAsString):
1976         (TestWebKitAPI::TEST):
1977
1978 2018-09-27  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1979
1980         [Win][WebKit] Implement authentication dialog on MiniBrowser.
1981         https://bugs.webkit.org/show_bug.cgi?id=189846
1982
1983         Reviewed by Fujii Hironori.
1984
1985         It was implemented for WebKitLegacy, but not for WebKit.
1986         Also added text field to display Realm information.
1987
1988         * MiniBrowser/win/Common.cpp:
1989         (authDialogProc):
1990         (askCredential):
1991         (displayAuthDialog): Deleted.
1992         * MiniBrowser/win/Common.h:
1993         * MiniBrowser/win/MiniBrowserLib.rc:
1994         * MiniBrowser/win/MiniBrowserLibResource.h:
1995         * MiniBrowser/win/ResourceLoadDelegate.cpp:
1996         (ResourceLoadDelegate::didReceiveAuthenticationChallenge):
1997         * MiniBrowser/win/WebKitBrowserWindow.cpp:
1998         (createString):
1999         (createUTF8String):
2000         (createWKString):
2001         (createWKURL):
2002         (WebKitBrowserWindow::WebKitBrowserWindow):
2003         (WebKitBrowserWindow::didReceiveAuthenticationChallenge):
2004         (toNullTerminatedUTF8): Deleted.
2005         * MiniBrowser/win/WebKitBrowserWindow.h:
2006
2007 2018-09-27  Youenn Fablet  <youenn@apple.com>
2008
2009         Enable getUserMedia in mini browser
2010         https://bugs.webkit.org/show_bug.cgi?id=190012
2011
2012         Reviewed by Eric Carlson.
2013
2014         Enable MediaDevices and mock capture devices.
2015         Grant mock devices access to any getUserMedia call.
2016         Covered by manual testing.
2017
2018         * MiniBrowser/mac/AppDelegate.m:
2019         (defaultConfiguration):
2020         * MiniBrowser/mac/WK2BrowserWindowController.m:
2021         (-[WK2BrowserWindowController _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
2022         (-[WK2BrowserWindowController _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
2023
2024 2018-09-27  Antoine Quint  <graouts@apple.com>
2025
2026         [Web Animations] Turn Web Animations with CSS integration on
2027         https://bugs.webkit.org/show_bug.cgi?id=184819
2028         <rdar://problem/39597337>
2029
2030         Reviewed by Dean Jackson.
2031
2032         * DumpRenderTree/TestOptions.h:
2033
2034 2018-09-26  Alex Christensen  <achristensen@webkit.org>
2035
2036         Unreviewed, rolling out r236524.
2037
2038         Broke API tests
2039
2040         Reverted changeset:
2041
2042         "URLWithUserTypedString should return nil for URLs deemed to
2043         be invalid by WebCore::URL"
2044         https://bugs.webkit.org/show_bug.cgi?id=189979
2045         https://trac.webkit.org/changeset/236524
2046
2047 2018-09-26  James Savage  <james.savage@apple.com>
2048
2049         Allow override of viewport configuration.
2050         https://bugs.webkit.org/show_bug.cgi?id=188772.
2051         <rdar://problem/43538892>.
2052
2053         Reviewed by Simon Fraser.
2054
2055         * WebKitTestRunner/TestController.cpp:
2056         (WTR::updateTestOptionsFromTestHeader): Parse new test option key from comments.
2057         * WebKitTestRunner/TestOptions.h:
2058         * WebKitTestRunner/ios/TestControllerIOS.mm:
2059         (WTR::TestController::platformConfigureViewForTest): Handle new test option by
2060         modifying the web view's preferences accordingly.
2061
2062 2018-09-26  Alex Christensen  <achristensen@webkit.org>
2063
2064         URLs with mismatched surrogate pairs in the host should fail to parse
2065         https://bugs.webkit.org/show_bug.cgi?id=190005
2066
2067         Reviewed by Chris Dumez.
2068
2069         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
2070         (TestWebKitAPI::TEST_F):
2071
2072 2018-09-26  Alex Christensen  <achristensen@webkit.org>
2073
2074         URLWithUserTypedString should return nil for URLs deemed to be invalid by WebCore::URL
2075         https://bugs.webkit.org/show_bug.cgi?id=189979
2076         <rdar://problem/44119696>
2077
2078         Reviewed by Chris Dumez.
2079
2080         * TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
2081         (TestWebKitAPI::TEST):
2082
2083 2018-09-26  Ryosuke Niwa  <rniwa@webkit.org>
2084
2085         Selection should work across shadow boundary when initiated by a mouse drag
2086         https://bugs.webkit.org/show_bug.cgi?id=151380
2087         <rdar://problem/24363872>
2088
2089         Reviewed by Wenson Hsieh.
2090
2091         Added the support for internal:selectionAcrossShadowBoundariesEnabled test option.
2092
2093         * DumpRenderTree/TestOptions.cpp:
2094         (TestOptions::TestOptions):
2095         * DumpRenderTree/TestOptions.h:
2096         * DumpRenderTree/mac/DumpRenderTree.mm:
2097         (resetWebPreferencesToConsistentValues):
2098         (setWebPreferencesForTestOptions):
2099
2100 2018-09-26  Ryosuke Niwa  <rniwa@webkit.org>
2101
2102         MiniBrowser doesn't respect default enabled-ness of experimental and internal debug features
2103         https://bugs.webkit.org/show_bug.cgi?id=189989
2104
2105         Reviewed by Simon Fraser.
2106
2107         When the preference isn't found in user defaults, use the default value of each feature's enabledness.
2108
2109         * MiniBrowser/mac/AppDelegate.m:
2110         (defaultConfiguration):
2111
2112 2018-09-26  Philippe Normand  <pnormand@igalia.com>
2113
2114         [Flatpak] Bump to apr 1.6.5
2115
2116         Version 1.6.3 is no longer available on Apache's website.
2117
2118         Rubber-stamped by Michael Catanzaro.
2119
2120         * flatpak/org.webkit.WebKit.yaml:
2121
2122 2018-09-25  Jiewen Tan  <jiewen_tan@apple.com>
2123
2124         [WebAuthN] Make AuthenticatorManager
2125         https://bugs.webkit.org/show_bug.cgi?id=189279
2126         <rdar://problem/44116792>
2127
2128         Reviewed by Chris Dumez.
2129
2130         Besides the functionality to set the WebAuthenticationMockConfiguration. Three operations are
2131         added to manipulate Keychain: addTestKeyToKeychain, cleanUpKeychain and keyExistedInKeychain.
2132
2133         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2134         * TestWebKitAPI/Tests/ios/LocalAuthenticator.mm: Removed.
2135         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2136         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2137         (WTR::TestRunner::setWebAuthenticationMockConfiguration):
2138         (WTR::TestRunner::addTestKeyToKeychain):
2139         (WTR::TestRunner::cleanUpKeychain):
2140         (WTR::TestRunner::isKeyExisted):
2141         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2142         * WebKitTestRunner/TestController.cpp:
2143         (WTR::TestController::addTestKeyToKeychain):
2144         (WTR::TestController::cleanUpKeychain):
2145         (WTR::TestController::isKeyExisted):
2146         (WTR::TestController::setWebAuthenticationMockConfiguration):
2147         * WebKitTestRunner/TestController.h:
2148         * WebKitTestRunner/TestInvocation.cpp:
2149         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2150         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
2151         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2152         (WTR::TestController::addTestKeyToKeychain):
2153         (WTR::TestController::cleanUpKeychain):
2154         (WTR::TestController::keyExistedInKeychain):
2155
2156 2018-09-25  Sihui Liu  <sihui_liu@apple.com>
2157
2158         Move Service Worker Management from Storage Process to Network Process
2159         https://bugs.webkit.org/show_bug.cgi?id=189422
2160
2161         Reviewed by Youenn Fablet.
2162
2163         Change a check in ServiceWorkers.HasServiceWorkerRegistrationBit as storage process is not
2164         launched during service worker operations now.
2165
2166         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2167
2168 2018-09-25  Eric Carlson  <eric.carlson@apple.com>
2169
2170         [MediaStream] Update constraints supported by getDisplayMedia
2171         https://bugs.webkit.org/show_bug.cgi?id=189930
2172         <rdar://problem/44740305>
2173
2174         Unreviewed, fix test broken by r236465.
2175
2176         * TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm:
2177         (TestWebKitAPI::TEST_F):
2178
2179 2018-09-25  Myles C. Maxfield  <mmaxfield@apple.com>
2180
2181         [WHSL] Implement semantics
2182         https://bugs.webkit.org/show_bug.cgi?id=189134
2183
2184         Reviewed by Filip Pizlo.
2185
2186         This patch adds parsing support and adds the checks required to support HLSL-style semantics.
2187
2188         There are 3 places where semantics are allowed:
2189
2190         1. In a field in a struct. E.g.
2191
2192         struct R {
2193             float4 position : SV_Position;
2194         }
2195         vertex R foo() {
2196             ...
2197         }
2198
2199         2. In a parameter of a function. If the function is not an entry point, the semantic is ignored.
2200
2201         compute void foo(device float[] data : buffer(u0)) {
2202             ...
2203         }
2204
2205         3. On a function. This is so you don't have to create structs for the return types of simple vertex shaders.
2206
2207         vertex float4 foo() : SV_Position {
2208             ...
2209         }
2210
2211         The semantics are partitioned into 4 types:
2212
2213         1. Built-in variables. For example, : SV_Position.
2214         2. Resources. For example, : register(u0).
2215         3. Stage-in / stage-out variables. For example, : attribute(0).
2216         4. Specialization constants. For example, : specialized.
2217
2218         The semantics are validated according to a collection of rules:
2219
2220         - The same entry point can't list the same semantic twice
2221         - Each built-in type has an appropriate type that is listed in the spec. 
2222         - Each built-in is appropriate as either an input or an output of a particular shader stage
2223         - Resource semantics have to have the appropriate type (e.g. can't use register(s0) on a buffer)
2224         - Resources can't be output from entry points
2225         - The resource semantic mode must match the address space of the resource
2226         - Stage-in and stage-out variables have to be POD
2227         - Specialization constants can't be output from entry points, and have to be numbers
2228
2229         * WebGPUShadingLanguageRI/All.js:
2230         * WebGPUShadingLanguageRI/BuiltInSemantic.js: Added.
2231         (BuiltInSemantic):
2232         (BuiltInSemantic.prototype.get name):
2233         (BuiltInSemantic.prototype.get extraArguments):
2234         (BuiltInSemantic.prototype.isAcceptableType):
2235         (BuiltInSemantic.prototype.isAcceptableForShaderType):
2236         (BuiltInSemantic.prototype.toString):
2237         * WebGPUShadingLanguageRI/CallExpression.js:
2238         (CallExpression.prototype._resolveWithOperatorAnderIndexer):
2239         (CallExpression.prototype._resolveWithOperatorLength):
2240         * WebGPUShadingLanguageRI/Checker.js:
2241         (Checker):
2242         (Checker.prototype.visitProgram):
2243         (Checker.prototype._checkSemantics.Item):
2244         (Checker.prototype._checkSemantics.Item.prototype.get type):
2245         (Checker.prototype._checkSemantics.Item.prototype.get semantic):
2246         (Checker.prototype._checkSemantics.Gatherer):
2247         (Checker.prototype._checkSemantics.Gatherer.prototype.reset):
2248         (Checker.prototype._checkSemantics.Gatherer.prototype.set currentSemantic):
2249         (Checker.prototype._checkSemantics.Gatherer.prototype.get currentSemantic):
2250         (Checker.prototype._checkSemantics.Gatherer.prototype.get result):
2251         (Checker.prototype._checkSemantics.Gatherer.prototype.visitEnumType):
2252         (Checker.prototype._checkSemantics.Gatherer.prototype.visitVectorType):
2253         (Checker.prototype._checkSemantics.Gatherer.prototype.visitMatrixType):
2254         (Checker.prototype._checkSemantics.Gatherer.prototype.visitNativeType):
2255         (Checker.prototype._checkSemantics.Gatherer.prototype.visitStructType):
2256         (Checker.prototype._checkSemantics.Gatherer.prototype.visitTypeRef):
2257         (Checker.prototype._checkSemantics.Gatherer.prototype.visitPtrType):
2258         (Checker.prototype._checkSemantics.Gatherer.prototype.visitArrayRefType):
2259         (Checker.prototype._checkSemantics.Gatherer.prototype.visitArrayType):
2260         (Checker.prototype._checkSemantics.Gatherer.prototype.visitFuncParameter):
2261         (Checker.prototype._checkSemantics.checkDuplicateSemantics):
2262         (Checker.prototype._checkSemantics.checkSemanticTypes):
2263         (Checker.prototype._checkSemantics.checkSemanticForShaderType):
2264         (Checker.prototype._checkSemantics.PODChecker.prototype.visitEnumType):
2265         (Checker.prototype._checkSemantics.PODChecker.prototype.visitArrayType):
2266         (Checker.prototype._checkSemantics.PODChecker.prototype.visitVectorType):
2267         (Checker.prototype._checkSemantics.PODChecker.prototype.visitMatrixType):
2268         (Checker.prototype._checkSemantics.PODChecker.prototype.visitNativeType):
2269         (Checker.prototype._checkSemantics.PODChecker.prototype.visitPtrType):
2270         (Checker.prototype._checkSemantics.PODChecker.prototype.visitArrayRefType):
2271         (Checker.prototype._checkSemantics.PODChecker.prototype.visitStructType):
2272         (Checker.prototype._checkSemantics.PODChecker.prototype.visitTypeRef):
2273         (Checker.prototype._checkSemantics.PODChecker):
2274         (Checker.prototype._checkSemantics.checkPODData):
2275         (Checker.prototype._checkSemantics):
2276         (Checker.prototype._checkShaderType):
2277         (Checker.prototype._checkOperatorOverload):
2278         (Checker.prototype.visitFuncDef):
2279         (Checker.prototype.visitEnumType):
2280         (Checker.prototype.visitArrayType):
2281         (Checker.prototype.visitMakePtrExpression):
2282         (Checker.prototype.visitMakeArrayRefExpression):
2283         (Checker.prototype._finishVisitingPropertyAccess):
2284         (Checker.prototype.visitIndexExpression):
2285         (Checker.prototype.visitReturn):
2286         (Checker.prototype.visitSwitchStatement):
2287         (Checker.prototype.visitTernaryExpression):
2288         (Checker.prototype.visitCallExpression):
2289         * WebGPUShadingLanguageRI/Field.js:
2290         (Field):
2291         (Field.prototype.get semantic):
2292         (Field.prototype.toString):
2293         * WebGPUShadingLanguageRI/Func.js:
2294         (Func):
2295         (Func.prototype.get semantic):
2296         (Func.prototype.toDeclString):
2297         * WebGPUShadingLanguageRI/FuncDef.js:
2298         (FuncDef):
2299         * WebGPUShadingLanguageRI/FuncParameter.js:
2300         (FuncParameter):
2301         (FuncParameter.prototype.get semantic):
2302         (FuncParameter.prototype.toString):
2303         * WebGPUShadingLanguageRI/Intrinsics.js:
2304         * WebGPUShadingLanguageRI/LateChecker.js:
2305         (LateChecker.prototype.visitReferenceType):
2306         (LateChecker):
2307         (LateChecker.prototype._checkShaderType): Deleted.
2308         (LateChecker.prototype.visitFuncDef): Deleted.
2309         * WebGPUShadingLanguageRI/NativeFunc.js:
2310         (NativeFunc):
2311         * WebGPUShadingLanguageRI/Parse.js:
2312         (parseParameter):
2313         (parseFuncDecl):
2314         (parseFuncDef):
2315         (parseStageInOutSemantic):
2316         (parseResourceSemantic):
2317         (parseSpecializationConstantSemantic):
2318         (parseBuiltInSemantic):
2319         (parseField):
2320         (parseNativeFunc):
2321         * WebGPUShadingLanguageRI/ProgramWithUnnecessaryThingsRemoved.js:
2322         (programWithUnnecessaryThingsRemoved):
2323         * WebGPUShadingLanguageRI/ResourceSemantic.js: Added.
2324         (ResourceSemantic):
2325         (ResourceSemantic.prototype.get resourceMode):
2326         (ResourceSemantic.prototype.get index):
2327         (ResourceSemantic.prototype.get space):
2328         (ResourceSemantic.prototype.isAcceptableType):
2329         (ResourceSemantic.prototype.isAcceptableForShaderType):
2330         (ResourceSemantic.prototype.toString):
2331         * WebGPUShadingLanguageRI/Rewriter.js:
2332         (Rewriter.prototype.visitFuncParameter):
2333         (Rewriter.prototype.visitField):
2334         (Rewriter.prototype.visitBuiltInSemantic):
2335         (Rewriter.prototype.visitResourceSemantic):
2336         (Rewriter.prototype.visitStageInOutSemantic):
2337         (Rewriter.prototype.visitSpecializationConstantSemantic):
2338         (Rewriter):
2339         * WebGPUShadingLanguageRI/SPIRV.html:
2340         * WebGPUShadingLanguageRI/Semantic.js: Added.
2341         (Semantic):
2342         (Semantic.prototype.get origin):
2343         (Semantic.prototype.equalToOtherSemantic.Comparer.prototype.visitBuiltInSemantic):
2344         (Semantic.prototype.equalToOtherSemantic.Comparer.prototype.visitResourceSemantic):
2345         (Semantic.prototype.equalToOtherSemantic.Comparer.prototype.visitStageInOutSemantic):
2346         (Semantic.prototype.equalToOtherSemantic.Comparer.prototype.visitSpecializationConstantSemantic):
2347         (Semantic.prototype.equalToOtherSemantic.Comparer):
2348         (Semantic.prototype.equalToOtherSemantic):
2349         * WebGPUShadingLanguageRI/SpecializationConstantSemantic.js: Copied from Tools/WebGPUShadingLanguageRI/Field.js.
2350         (SpecializationConstantSemantic):
2351         (SpecializationConstantSemantic.prototype.isAcceptableType):
2352         (SpecializationConstantSemantic.prototype.isAcceptableForShaderType):
2353         (SpecializationConstantSemantic.prototype.toString):
2354         * WebGPUShadingLanguageRI/StageInOutSemantic.js: Copied from Tools/WebGPUShadingLanguageRI/FuncDef.js.
2355         (StageInOutSemantic):
2356         (StageInOutSemantic.prototype.get index):
2357         (StageInOutSemantic.prototype.isAcceptableType):
2358         (StageInOutSemantic.prototype.isAcceptableForShaderType):
2359         (StageInOutSemantic.prototype.toString):
2360         * WebGPUShadingLanguageRI/StatementCloner.js:
2361         (StatementCloner.prototype.visitNativeFunc):
2362         * WebGPUShadingLanguageRI/SynthesizeArrayOperatorLength.js:
2363         (synthesizeArrayOperatorLength):
2364         * WebGPUShadingLanguageRI/SynthesizeCopyConstructorOperator.js:
2365         (synthesizeCopyConstructorOperator):
2366         * WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js:
2367         (synthesizeDefaultConstructorOperator):
2368         * WebGPUShadingLanguageRI/SynthesizeEnumFunctions.js:
2369         (synthesizeEnumFunctions):
2370         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:
2371         (setupAnder):
2372         (synthesizeStructAccessorsForStructType):
2373         * WebGPUShadingLanguageRI/Test.html:
2374         * WebGPUShadingLanguageRI/Test.js:
2375         (tests.shaderTypes):
2376         * WebGPUShadingLanguageRI/Visitor.js:
2377         (Visitor.prototype.visitFunc):
2378         (Visitor.prototype.visitFuncParameter):
2379         (Visitor.prototype.visitField):
2380         (Visitor.prototype.visitBuiltInSemantic):
2381         (Visitor.prototype.visitResourceSemantic):
2382         (Visitor.prototype.visitStageInOutSemantic):
2383         (Visitor.prototype.visitSpecializationConstantSemantic):
2384         (Visitor):
2385         * WebGPUShadingLanguageRI/index.html:
2386
2387 2018-09-25  Thomas Denney  <tdenney@apple.com>
2388
2389         [WHLSL] Test suite for Metal code generation
2390         https://bugs.webkit.org/show_bug.cgi?id=187738
2391
2392         Reviewed by Myles C. Maxfield.
2393
2394         This patch adds an Xcode project that contains a Cocoa app that can be
2395         used for running WHLSL shaders on the GPU. It also contains an Xcode
2396         test suite that runs all of the tests in Test.js on the GPU.
2397
2398         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/.gitignore: Added.
2399         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/AppDelegate.h: Added.
2400         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/AppDelegate.m: Added.
2401         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Assets.xcassets/AppIcon.appiconset/Contents.json: Added.
2402         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Assets.xcassets/Contents.json: Added.
2403         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Base.lproj/Main.storyboard: Added.
2404         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CompileResult.h: Added.
2405         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CompileResult.m: Added.
2406         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Compiler.h: Added.
2407         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Compiler.m: Added.
2408         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CustomMetalView.h: Added.
2409         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CustomMetalView.m: Added.
2410         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Default.whlsl: Added.
2411         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Julia.whlsl: Added.
2412         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Mandelbrot.whlsl: Added.
2413         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Info.plist: Added.
2414         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OffscreenRenderer.h: Added.
2415         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OffscreenRenderer.m: Added.
2416         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OnscreenRenderer.h: Added.
2417         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OnscreenRenderer.m: Added.
2418         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/Renderer.h: Added.
2419         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/Renderer.m: Added.
2420         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestCallArgument.h: Added.
2421         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestCallArgument.m: Added.
2422         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestDescription.h: Added.
2423         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestDescription.m: Added.
2424         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamily.h: Added.
2425         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamily.m: Added.
2426         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamilyRunner.h: Added.
2427         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamilyRunner.m: Added.
2428         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/ViewController.h: Added.
2429         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/ViewController.m: Added.
2430         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/WHLSL.entitlements: Added.
2431         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/_SharedMetal.txt: Added.
2432         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/main.m: Added.
2433         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL Tests.xcodeproj/project.pbxproj: Added.
2434         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL ToyTests/Info.plist: Added.
2435         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL ToyTests/WHLSL_ToyTests.m: Added.
2436         * WebGPUShadingLanguageRI/Test.js:
2437         (tests.lotsOfLocalVariables):
2438
2439 2018-09-25  Myles C. Maxfield  <mmaxfield@apple.com>
2440
2441         Unreviewed build fix after r236455
2442         https://bugs.webkit.org/show_bug.cgi?id=189121
2443
2444         * WebGPUShadingLanguageRI/Test.js:
2445         (tests.shaderStages):
2446
2447 2018-09-24  Myles C. Maxfield  <mmaxfield@apple.com>
2448
2449         [WHLSL] Not all functions should be able to run in all shader stages
2450         https://bugs.webkit.org/show_bug.cgi?id=189121
2451
2452         Reviewed by Filip Pizlo.
2453
2454         ddx() and ddy() can only run in fragment shaders, and the barrier functions can only run in compute shaders.
2455         ddx_coarse() & friends are currently implemented as just calling ddx(), so we only need to modify those functions
2456         if/when we make them native.
2457
2458         The texture sampling functions that use implicit derivatives can run in any shader stage - they just use a LOD of
2459         0. Therefore, those functions are unchanged.
2460
2461         * WebGPUShadingLanguageRI/All.js:
2462         * WebGPUShadingLanguageRI/Intrinsics.js:
2463         * WebGPUShadingLanguageRI/LateChecker.js:
2464         (LateChecker.prototype._checkShaderType):
2465         * WebGPUShadingLanguageRI/NativeFunc.js:
2466         (NativeFunc):
2467         (NativeFunc.prototype.get stage):
2468         (NativeFunc.prototype.toDeclString):
2469         * WebGPUShadingLanguageRI/Parse.js:
2470         (parseFuncDecl):
2471         (parseNativeFunc):
2472         (parseNative):
2473         * WebGPUShadingLanguageRI/Prepare.js:
2474         (let.prepare):
2475         * WebGPUShadingLanguageRI/SPIRV.html:
2476         * WebGPUShadingLanguageRI/StandardLibrary.js:
2477         (let.standardLibrary):
2478         * WebGPUShadingLanguageRI/StatementCloner.js:
2479         (StatementCloner.prototype.visitNativeFunc):
2480         * WebGPUShadingLanguageRI/Test.html:
2481         * WebGPUShadingLanguageRI/Test.js:
2482         (tests.shaderStages):
2483         * WebGPUShadingLanguageRI/WSyntaxError.js:
2484         (WSyntaxError.prototype.toString):
2485         (WSyntaxError):
2486         * WebGPUShadingLanguageRI/index.html:
2487
2488 2018-09-24  Thomas Denney  <tdenney@apple.com>
2489
2490         [WHLSL] Implement trap statements in Metal code generation
2491         https://bugs.webkit.org/show_bug.cgi?id=189615
2492
2493         Reviewed by Myles C. Maxfield.
2494
2495         Each function called by an entry point now receives an additional
2496         boolean pointer parameter, which is set to false if the function traps.
2497         After each function call (to a non-native function) this trap parameter
2498         is checked. The behavior of the interpreter has also been updated so
2499         that a function entry point catches the trap and instead returns zero,
2500         matching the behavior of compiled code.
2501
2502         * WebGPUShadingLanguageRI/Evaluator.js: Adds a new flag to allow the
2503         test suite to check for traps and also returns zero from entry points
2504         whose invocation trapped.
2505         * WebGPUShadingLanguageRI/Metal/MSLBackend.js: Pass program to function
2506         declarations.
2507         * WebGPUShadingLanguageRI/Metal/MSLCodegenAll.js: Update dependencies.
2508         * WebGPUShadingLanguageRI/Metal/MSLFunctionDeclaration.js: Add program
2509         property.
2510         * WebGPUShadingLanguageRI/Metal/MSLFunctionDefinition.js: Ditto.
2511         * WebGPUShadingLanguageRI/Metal/MSLInsertTrapParameter.js: Added.
2512         * WebGPUShadingLanguageRI/Metal/MSLStatementEmitter.js: Conforms to the
2513         new trapping behavior.
2514         * WebGPUShadingLanguageRI/Test.js: Update tests that trap.
2515
2516 2018-09-24  Thomas Denney  <tdenney@apple.com>
2517
2518         [WHLSL] It shouldn’t be possible to use ternary expressions as l-values
2519         https://bugs.webkit.org/show_bug.cgi?id=189290
2520
2521         Reviewed by Myles C. Maxfield.
2522
2523         It is no longer possible for a ternary expression to be treated as an
2524         l-value. This patch adds several test cases to verify that this is the
2525         case.
2526
2527         * WebGPUShadingLanguageRI/Checker.js:
2528         (Checker.prototype.visitTernaryExpression): No longer check isLValue.
2529         * WebGPUShadingLanguageRI/NormalUsePropertyResolver:
2530         (NormalUsePropertyResolver.visitTernaryExpression): Deleted.
2531         * WebGPUShadingLanguageRI/Rewriter.js:
2532         (Rewriter.prototype.visitTernaryExpression): No longer copy isLValue.
2533         * WebGPUShadingLanguageRI/TernaryExpression.js:
2534         (TernaryExpression):
2535         (TernaryExpression.prototype.get elseExpression):
2536         (TernaryExpression.prototype.get isLValue): Deleted.
2537         (TernaryExpression.prototype.set isLValue): Deleted.
2538         * WebGPUShadingLanguageRI/Test.js:
2539         (tests.ternaryExpression): Add checks for failure if a failure is used
2540         as an l-value.
2541         (ternaryExpressionIsLValue.node.TernaryExpressionVisitor.prototype.visitTernaryExpression): Deleted.
2542         (ternaryExpressionIsLValue.node.TernaryExpressionVisitor): Deleted.
2543         (tests.ternaryExpressionIsLValue): Deleted.
2544
2545 2018-09-24  Jer Noble  <jer.noble@apple.com>
2546
2547         SharedBuffer should have an equality test
2548         https://bugs.webkit.org/show_bug.cgi?id=189919
2549
2550         Reviewed by Alex Christensen.
2551
2552         * TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
2553         (TestWebKitAPI::TEST_F):
2554
2555 2018-09-24  Alex Christensen  <achristensen@webkit.org>
2556
2557         Prepare to replace WKBundleFileHandleCreateWithPath with a version that takes a WKBundlePageRef
2558         https://bugs.webkit.org/show_bug.cgi?id=189929
2559
2560         Reviewed by Andy Estes.
2561
2562         * TestWebKitAPI/Tests/WebKit/WKBundleFileHandle_Bundle.cpp:
2563
2564 2018-09-24  Thomas Denney  <tdenney@apple.com>
2565
2566         [WHLSL] Casting user-created types to themselves should always work
2567         https://bugs.webkit.org/show_bug.cgi?id=189113
2568
2569         Reviewed by Myles C. Maxfield.
2570
2571         Casting user-defined types to themselves worked already, but we didn't
2572         test it anywhere.
2573
2574         * WebGPUShadingLanguageRI/Test.js:
2575         (tests.selfCasts):
2576
2577 2018-09-24  Zan Dobersek  <zdobersek@igalia.com>
2578
2579         Unreviewed build fix for Jhbuild-using ports.
2580
2581         * gstreamer/patches/gst-plugins-good-0010-matroskademux-Emit-no-more-pads-after-parsing-Tracks.patch:
2582         Adjust the patch so it applies cleanly on the 1.14.3 version of the
2583         gst-plugins-good package.
2584
2585 2018-09-24  Ryan Haddad  <ryanhaddad@apple.com>
2586
2587         Update flakiness dashboard configuration for iOS 12 queues
2588         https://bugs.webkit.org/show_bug.cgi?id=189688
2589
2590         Reviewed by Alexey Proskuryakov.
2591
2592         * TestResultServer/static-dashboards/builders.jsonp:
2593
2594 2018-09-24  Alicia Boya García  <aboya@igalia.com>
2595
2596         [GStreamer] Unreviewed build fix.
2597
2598         A GStreamer patch was not applying cleanly on 1.14.3.
2599
2600         * gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch:
2601
2602 2018-09-24  Alicia Boya García  <aboya@igalia.com>
2603
2604         [MSE][GStreamer] Use no-more-pads event for noticing initialization segments
2605         https://bugs.webkit.org/show_bug.cgi?id=189868
2606
2607         Reviewed by Xabier Rodriguez-Calvar.
2608
2609         Added patch from https://bugzilla.gnome.org/show_bug.cgi?id=797187
2610
2611         * gstreamer/jhbuild.modules:
2612         * gstreamer/patches/gst-plugins-good-0010-matroskademux-Emit-no-more-pads-after-parsing-Tracks.patch: Added.
2613
2614 2018-09-24  Alicia Boya García  <aboya@igalia.com>
2615         [MSE][GStreamer] Add patch to jhbuild: matroskademux: Allow Matroska headers to be read more than once
2616         https://bugs.webkit.org/show_bug.cgi?id=185731
2617
2618         Reviewed by Xabier Rodriguez-Calvar.
2619
2620         Upstream bug in GStreamer: https://bugzilla.gnome.org/show_bug.cgi?id=793333
2621
2622         This fixes YTTV 35. AppendMultipleInitOpusAudio (and any other use
2623         case where two WebM initialization segments are appended on a row).
2624
2625         * gstreamer/jhbuild.modules:
2626         * gstreamer/patches/gst-plugins-good-0007-matroskademux-Allow-Matroska-headers-to-be-read-more.patch: Added.
2627         * gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch: Added.
2628         * gstreamer/patches/gst-plugins-good-0009-matroskademux-Parse-successive-Tracks-elements.patch: Added.
2629
2630 2018-09-22  Myles C. Maxfield  <mmaxfield@apple.com>
2631
2632         [WHSL] Need grammar to specify kernel group size
2633         https://bugs.webkit.org/show_bug.cgi?id=189108
2634
2635         Reviewed by Dean Jackson.
2636
2637         In HLSL, compute functions are annotated with their workgroup size.
2638         For example,
2639
2640         [numthreads(3, 4, 5)] compute void foo(...) { ... }
2641
2642         * WebGPUShadingLanguageRI/All.js:
2643         * WebGPUShadingLanguageRI/Func.js:
2644         (Func):
2645         (Func.prototype.get attributeBlock):
2646         * WebGPUShadingLanguageRI/FuncAttribute.js: Copied from Tools/WebGPUShadingLanguageRI/FuncDef.js.
2647         (FuncAttribute):
2648         * WebGPUShadingLanguageRI/FuncDef.js:
2649         (FuncDef):
2650         * WebGPUShadingLanguageRI/FuncNumThreadsAttribute.js: Copied from Tools/WebGPUShadingLanguageRI/FuncDef.js.
2651         (FuncNumThreadsAttribute):
2652         (FuncNumThreadsAttribute.prototype.get x):
2653         (FuncNumThreadsAttribute.prototype.get y):
2654         (FuncNumThreadsAttribute.prototype.get z):
2655         * WebGPUShadingLanguageRI/LateChecker.js:
2656         (LateChecker.prototype._checkShaderType):
2657         * WebGPUShadingLanguageRI/Parse.js:
2658         (parseAttributeBlock):
2659         (parseFuncDecl):
2660         (parseFuncDef):
2661         (parseNativeFunc):
2662         * WebGPUShadingLanguageRI/SPIRV.html:
2663         * WebGPUShadingLanguageRI/StatementCloner.js:
2664         (StatementCloner.prototype.visitFuncDef):
2665         (StatementCloner.prototype.visitFuncNumThreadsAttribute):
2666         (StatementCloner):
2667         * WebGPUShadingLanguageRI/Test.html:
2668         * WebGPUShadingLanguageRI/Test.js:
2669         (tests.numThreads):
2670         * WebGPUShadingLanguageRI/Visitor.js:
2671         (Visitor.prototype.visitFunc):
2672         (Visitor.prototype.visitFuncNumThreadsAttribute):
2673         (Visitor):
2674         * WebGPUShadingLanguageRI/index.html:
2675
2676 2018-09-22  Myles C. Maxfield  <mmaxfield@apple.com>
2677
2678         Native functions which accept pointers need to do null checks
2679         https://bugs.webkit.org/show_bug.cgi?id=189883
2680
2681         Reviewed by Dean Jackson.
2682
2683         Simply guard all the places where we write through an author-provided pointer.
2684
2685         * WebGPUShadingLanguageRI/Intrinsics.js:
2686         (Intrinsics.):
2687         * WebGPUShadingLanguageRI/Test.js:
2688         (tests.textureDimensionsNull):
2689
2690 2018-09-22  Myles C. Maxfield  <mmaxfield@apple.com>
2691
2692         [WHLSL] Implement atomic operations and barriers
2693         https://bugs.webkit.org/show_bug.cgi?id=189025
2694
2695         Reviewed by Dean Jackson.
2696
2697         In the interpreter, atomic operations don't need to be atomic.
2698
2699         * WebGPUShadingLanguageRI/Intrinsics.js:
2700         (Intrinsics.):
2701         * WebGPUShadingLanguageRI/StandardLibrary.js:
2702         (let.standardLibrary):
2703         * WebGPUShadingLanguageRI/Test.js:
2704         (tests.atomics):
2705
2706 2018-09-22  Thibault Saunier  <tsaunier@igalia.com>
2707
2708         [WPE] Be very permissive in the MiniBrowser.
2709         https://bugs.webkit.org/show_bug.cgi?id=189800
2710
2711         This is just a test tool and we should make
2712         it just work, security and privacy is not really
2713         a primary focus here.
2714
2715         Reviewed by Žan Doberšek.
2716
2717         * MiniBrowser/wpe/main.cpp:
2718         (decidePermissionRequest):
2719         (main):
2720
2721 2018-09-21  Thomas Denney  <tdenney@apple.com>
2722
2723         [WHLSL] Local variables should be statically allocated
2724         https://bugs.webkit.org/show_bug.cgi?id=188402
2725
2726         Reviewed by Myles C. Maxfield.
2727
2728         An additional preparation stage is now performed so that all local
2729         variables and function parameters are allocated in a single struct at
2730         entry points. A pointer to this struct is then passed for function
2731         calls.
2732
2733         * WebGPUShadingLanguageRI/All.js: Update dependencies.
2734         * WebGPUShadingLanguageRI/AllocateAtEntryPoints.js: Added new stage.
2735         * WebGPUShadingLanguageRI/CallExpression.js:
2736         (CallExpression.prototype.set argumentList): Add setter because
2737         allocateAtEntryPoints needs to change this.
2738         * WebGPUShadingLanguageRI/EBufferBuilder.js: Remove a redundant
2739         constructor that wasn't used anywhere.
2740         * WebGPUShadingLanguageRI/Func.js:
2741         (Func.prototype.set parameters): Add setter.
2742         * WebGPUShadingLanguageRI/FuncDef.js:
2743         (FuncDef.prototype.set body): Ditto.
2744         * WebGPUShadingLanguageRI/Prepare.js:
2745         (let.prepare): Add call to allocateAtEntryPoints. This call cannot
2746         happen any earlier because it depends on having types for call
2747         arguments.
2748         * WebGPUShadingLanguageRI/Rewriter.js:
2749         (Rewriter.prototype.visitReturn): Resolve issue where the return
2750         statement's function wasn't copied. A null check is required as the
2751         Rewriter might be used before this property is set.
2752         * WebGPUShadingLanguageRI/SPIRV.html: Update dependencies.
2753         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: Abstracted logic
2754         into a separate function so that allocateAtEntryPoints can create the
2755         accessors for the struct type it introduces.
2756         * WebGPUShadingLanguageRI/Test.html: Update dependencies.
2757         * WebGPUShadingLanguageRI/Test.js: Add new tests to verify the static
2758         allocation transform works safely.
2759         * WebGPUShadingLanguageRI/index.html: Update dependencies.
2760
2761 2018-09-21  Jonathan Bedard  <jbedard@apple.com>
2762
2763         Bring up queues for iOS 12 (Build fix)
2764         https://bugs.webkit.org/show_bug.cgi?id=189683
2765
2766         Unreviewed build fix.
2767
2768         We should not build ImageDiff as x86 by default since 32 bit projects are
2769         deprecated in Xcode. ImageDiff should only be built once.
2770
2771         * Scripts/build-webkit:
2772         * Scripts/webkitdirs.pm:
2773         (argumentsForConfiguration):
2774
2775 2018-09-21  Adrian Perez de Castro  <aperez@igalia.com>
2776
2777         [WPE] Built RPM of WPE webkit fails to install with "nothing provides libWPEToolingBackends.so()"
2778         https://bugs.webkit.org/show_bug.cgi?id=189797
2779
2780         Reviewed by Žan Doberšek.
2781
2782         * wpe/backends/CMakeLists.txt: Make libWPEToolingBackends a static library to avoid
2783         the need for installing it. This works fine because the library only contains utility
2784         code intended to be reused from other various components (MiniBrowser, WebKitTestRunner).
2785
2786 2018-09-20  Daniel Bates  <dabates@apple.com>
2787
2788         Move IOKitSPI.h from TestRunnerShared to PAL
2789         https://bugs.webkit.org/show_bug.cgi?id=189804
2790
2791         Reviewed by Wenson Hsieh.
2792
2793         Towards fixing <https://bugs.webkit.org/show_bug.cgi?id=189604> move the IOKit SPI forward
2794         declarations to PAL so that they can be shared by WebKit, DumpRenderTree and WebKitTestRunner.
2795
2796         No functionality changed. So, no new tests.
2797
2798         * TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm:
2799         * TestRunnerShared/spi/UIKitTestSPI.h:
2800         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
2801         * WebKitTestRunner/ios/HIDEventGenerator.mm:
2802
2803 2018-09-20  Thomas Denney  <tdenney@apple.com>
2804
2805         [WHLSL] Metal code generation
2806         https://bugs.webkit.org/show_bug.cgi?id=187735
2807
2808         Reviewed by Myles C. Maxfield.
2809
2810         Adds support for generating Metal Shading Language from WHLSL. Clients
2811         should include the file MetalCodegenAll.js and then call whlslToMsl
2812         with their program source code to compile to Metal.
2813
2814         * WebGPUShadingLanguageRI/ArrayType.js:
2815         (ArrayType.prototype.get arrayRefType): Adds the arrayRefType method to
2816         all types to find the type of that expression when it is used in a
2817         MakeArrayRefExpression.
2818         * WebGPUShadingLanguageRI/MakeArrayRefExpression.js:
2819         (MakeArrayRefExpression):
2820         (MakeArrayRefExpression.prototype.get type): Uses the new arrayRefType
2821         getter on all types to find the type of the expression.
2822         * WebGPUShadingLanguageRI/Metal/MSLBackend.js: Added.
2823         * WebGPUShadingLanguageRI/Metal/MSLCodegenAll.js: Added.
2824         * WebGPUShadingLanguageRI/Metal/MSLCompileResult.js: Added.
2825         * WebGPUShadingLanguageRI/Metal/MSLConstexprEmitter.js: Added.
2826         * WebGPUShadingLanguageRI/Metal/MSLFunctionDeclaration.js: Added.
2827         * WebGPUShadingLanguageRI/Metal/MSLFunctionDefinition.js: Added.
2828         * WebGPUShadingLanguageRI/Metal/MSLFunctionForwardDeclaration.js: Added.
2829         * WebGPUShadingLanguageRI/Metal/MSLNameMangler.js: Added.
2830         * WebGPUShadingLanguageRI/Metal/MSLNativeFunctionCall.js: Added.
2831         * WebGPUShadingLanguageRI/Metal/MSLStatementEmitter.js: Added.
2832         * WebGPUShadingLanguageRI/Metal/MSLTypeAttributes.js: Added.
2833         * WebGPUShadingLanguageRI/Metal/MSLTypeAttributesMap.js: Added.
2834         * WebGPUShadingLanguageRI/Metal/MSLTypeUnifier.js: Added.
2835         * WebGPUShadingLanguageRI/Metal/TypeOf.js: Added.
2836         * WebGPUShadingLanguageRI/Metal/WhlslToMsl.js: Added.
2837         * WebGPUShadingLanguageRI/PropertyResolver.js:
2838         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:
2839         * WebGPUShadingLanguageRI/Test.js: Added awkward tests for the compiler
2840         to generate code for.
2841         (tests.incrementAndDecrement):
2842         (tests.returnIntLiteralUint):
2843         (tests.returnIntLiteralFloat):
2844         (tests.nestedSubscriptWithArraysInStructs):
2845         (tests.nestedSubscript):
2846         (tests.lotsOfLocalVariables):
2847         * WebGPUShadingLanguageRI/Type.js:
2848         (Type.prototype.get arrayRefType): See above.
2849
2850 2018-09-20  Ryan Haddad  <ryanhaddad@apple.com>
2851
2852         Bring up queues for iOS 12
2853         https://bugs.webkit.org/show_bug.cgi?id=189683
2854
2855         Unreviewed infrastructure fix.
2856
2857         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12@2x.png: Renamed from Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/iOS12@2x.png.
2858         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
2859         (BubbleQueueServer): Move EWS bubbles to the iOS 12 section of the dashboard.
2860
2861 2018-09-20  Ryan Haddad  <ryanhaddad@apple.com>
2862
2863         Bring up queues for iOS 12
2864         https://bugs.webkit.org/show_bug.cgi?id=189683
2865
2866         Reviewed by Aakash Jain.
2867
2868         * BuildSlaveSupport/build.webkit.org-config/config.json:
2869         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12.png: Added.
2870         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12Simulator.png: Added.
2871         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12Simulator@2x.png: Added.
2872         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/iOS12@2x.png: Added.
2873         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
2874         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
2875         (WebKitBuildbot):
2876         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
2877         (table.queue-grid tr.platform.ios-simulator-12 img.logo):
2878         (table.queue-grid tr.platform.ios-12 img.logo):
2879         (table.queue-grid tr.platform.ios-simulator-11 img.logo): Deleted.
2880         (table.queue-grid tr.platform.ios-11 img.logo): Deleted.
2881         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2882         * BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
2883         (_should_file_trigger_build):
2884         * BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
2885         (ShouldBuildTest):
2886         (ShouldBuildTest.test_should_build):
2887
2888 2018-09-20  Basuke Suzuki  <Basuke.Suzuki@sony.com>
2889
2890         [Win] TestRunner::queueLoad() fails to generate correct url for some urls.
2891         https://bugs.webkit.org/show_bug.cgi?id=189679
2892
2893         Reviewed by Fujii Hironori.
2894
2895         Replace the implementation with correct API call.
2896
2897         * DumpRenderTree/win/TestRunnerWin.cpp:
2898         (TestRunner::queueLoad): Call UrlCombineW.
2899
2900 2018-09-20  Michael Catanzaro  <mcatanzaro@igalia.com>
2901
2902         [WPE] fails to build on ARM arches complaining about undefined reference to `epoxy_eglMakeCurrent'
2903         https://bugs.webkit.org/show_bug.cgi?id=189556
2904
2905         Reviewed by Konstantin Tokarev.
2906
2907         This is only a speculative build fix as I didn't attempt to reproduce. Explicitly link to
2908         libepoxy.
2909
2910         * wpe/backends/CMakeLists.txt:
2911
2912 2018-09-20  Daniel Bates  <dabates@apple.com>
2913
2914         [iOS] Support testing more hardware special keys
2915         https://bugs.webkit.org/show_bug.cgi?id=189793
2916
2917         Reviewed by Simon Fraser.
2918
2919         * TestRunnerShared/spi/IOKitSPI.h: Add more SPI constants.
2920         * WebKitTestRunner/ios/HIDEventGenerator.mm:
2921         (keyCodeForDOMFunctionKey): Extracted out logic from hidUsageCodeForCharacter() to return the
2922         key code for the F1, F2, ..., F12 keys and extended the code to compute the key code for the
2923         F13, F14, ..., F24 keys.
2924         (hidUsageCodeForCharacter): Modified to call keyCodeForDOMFunctionKey().
2925
2926 2018-09-20  Michael Catanzaro  <mcatanzaro@igalia.com>
2927
2928         Unreviewed, remove accidentally-committed debugging changes from flatpakutils script
2929
2930         Aaaaaah maybe this is why changes are supposed to be reviewed.
2931
2932         * flatpak/flatpakutils.py:
2933         (WebkitFlatpak.clean_args):
2934
2935 2018-09-20  Michael Catanzaro  <mcatanzaro@igalia.com>
2936
2937         Unreviewed, manually rollout our switch to master runtime
2938
2939         Phil wants html5-codecs, which aren't available yet here. Let's switch back to 3.28 in the
2940         meantime, where we were already building GStreamer ourselves anyway. But use an updated
2941         SDK revision.
2942
2943         * flatpak/files/httpd-autogen.sh: Added.
2944         * flatpak/flatpakutils.py:
2945         (WebkitFlatpak.clean_args):
2946         * flatpak/org.webkit.GTK.yaml:
2947         * flatpak/org.webkit.WebKit.yaml:
2948         * flatpak/patches/httpd-0001-configure-use-pkg-config-for-PCRE-detection.patch: Added.
2949         * flatpak/patches/libgcrypt-0001-Use-pkg-config-to-detect-gpg-error.patch: Added.
2950
2951 2018-09-20  Thibault Saunier  <tsaunier@igalia.com>
2952
2953         [WPE][GTK] webkit-flatpak intercepts --help for other commands
2954         https://bugs.webkit.org/show_bug.cgi?id=189058
2955
2956         The approach of run_in_sandbox_if_available is that we basically have the
2957         same set of arguments to setup the sandbox (ie. port name, build type, etc...)
2958         and we can pass those args first to setup the flatpak launcher object
2959         and then to the underlying script. That doesn't work well with the `--help` argument
2960         as once processed it 1. prints the help (which make no sense to the user of the calling script)
2961         2. exits the app - The solution is to just make sure that `--help` is not used when using
2962         flatpakutils from any script that is not `webkit-flatpak` itself.
2963
2964         Reviewed by Michael Catanzaro.
2965
2966         * flatpak/flatpakutils.py:
2967         (WebkitFlatpak.load_from_args):
2968         (run_in_sandbox_if_available):
2969
2970 2018-09-20  Xabier Rodriguez Calvar  <calvaris@igalia.com>
2971
2972         Unreviewed. Add W3C imported tests to the MSEEME watchlist.
2973
2974         * Scripts/webkitpy/common/config/watchlist:
2975
2976 2018-09-20  Xabier Rodriguez Calvar  <calvaris@igalia.com>
2977
2978         Unreviewed. Fix the Streams API watchlist.
2979
2980         * Scripts/webkitpy/common/config/watchlist:
2981
2982 2018-09-19  Chris Dumez  <cdumez@apple.com>
2983
2984         Crash under WebProcessProxy::suspendedPageWasDestroyed(WebKit::SuspendedPageProxy&)
2985         https://bugs.webkit.org/show_bug.cgi?id=189721
2986         <rdar://problem/44359788>
2987
2988         Reviewed by Geoffrey Garen.
2989
2990         Add API test coverage.
2991
2992         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2993
2994 2018-09-19  Thomas Denney  <tdenney@apple.com>
2995
2996         [WHLSL] Improve test suite type safety
2997         https://bugs.webkit.org/show_bug.cgi?id=189502
2998
2999         Reviewed by Myles C. Maxfield.
3000
3001         Each of the 'makeT' functions now call the relevant cast function on the
3002         value before hand. The checkNumber function has also been removed and
3003         its uses have been replaced with functions that also check the type.
3004         Some of the arithmetic checks have been updated to reflect that the
3005         casts happen outside of WHLSL evaluation. Other tests have also been
3006         updated to reflect that some values cannot be precisely expressed in
3007         32-bit floating point.
3008
3009         * WebGPUShadingLanguageRI/Casts.js:
3010         (castToBool): Added.
3011         (castAndCheckValue): Added.
3012         (isBitwiseEquivalent): Moved from Intrinsics.js.
3013         * WebGPUShadingLanguageRI/Intrinsics.js: Ditto.
3014         * WebGPUShadingLanguageRI/SPIRV.html: Update depdencies.
3015         * WebGPUShadingLanguageRI/Test.html: Ditto.
3016         * WebGPUShadingLanguageRI/Test.js: Update makeT functions to do a cast
3017         and check the result. Some tests were also updated to reflect the change
3018         in the behavior of these functions.
3019         * WebGPUShadingLanguageRI/index.html: Update dependencies.
3020
3021 2018-09-19  John Wilander  <wilander@apple.com>
3022
3023         Resource Load Statistics: Add optional cap on partitioned cache max age
3024         https://bugs.webkit.org/show_bug.cgi?id=189711
3025         <rdar://problem/39246837>
3026
3027         Reviewed by Antti Koivisto and Chris Dumez.
3028
3029         This change adds infrastructure for layout tests of capped cache max age.
3030
3031         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3032         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3033         (WTR::TestRunner::setStatisticsCacheMaxAgeCap):
3034         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3035         * WebKitTestRunner/TestController.cpp:
3036         (WTR::TestController::setStatisticsCacheMaxAgeCap):
3037         * WebKitTestRunner/TestController.h:
3038         * WebKitTestRunner/TestInvocation.cpp:
3039         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3040
3041 2018-09-19  Dawei Fenton  <realdawei@apple.com>
3042
3043        Unreviewed. Update my email and alias in list of contributors.
3044
3045         * Scripts/webkitpy/common/config/contributors.json:
3046
3047 2018-09-19  Michael Catanzaro  <mcatanzaro@igalia.com>
3048
3049         [WPE][GTK] Unreviewed, try #3 to fix a typo
3050
3051         I feel like Charlie Brown, how hard this has been for me....
3052
3053         * Scripts/run-minibrowser:
3054         * Scripts/webkitdirs.pm:
3055         (runInFlatpakIfAvailable):
3056         (runInFlatpakIfAvailible): Deleted.
3057
3058 2018-09-19  Michael Catanzaro  <mcatanzaro@igalia.com>
3059
3060         [WPE][GTK] Unreviewed, fix that typo in more places
3061
3062         It got copied into webkitdirs.pm!
3063
3064         * Scripts/webkitdirs.pm:
3065         (runInFlatpakIfAvailible):
3066         (runInFlatpakIfAvalaible): Deleted.
3067
3068 2018-09-19  Michael Catanzaro  <mcatanzaro@igalia.com>
3069
3070         [WPE][GTK] Unreviewed, fix a pervasive typo in the webkit-flatpak script
3071
3072         * flatpak/flatpakutils.py:
3073         (WebkitFlatpak.load_from_args):
3074         (WebkitFlatpak.__init__):
3075         (WebkitFlatpak.run):
3076
3077 2018-09-19  Michael Catanzaro  <mcatanzaro@igalia.com>
3078
3079         [WPE][GTK] Unreviewed, update to latest GNOME SDK
3080
3081         * flatpak/org.webkit.WebKit.yaml:
3082
3083 2018-09-19  Michael Catanzaro  <mcatanzaro@igalia.com>
3084
3085         Unreviewed, rolling out r235500.
3086
3087         Time to switch back to master runtime
3088
3089         Reverted changeset:
3090
3091         "Unreviewed, rolling out r235114."
3092         https://bugs.webkit.org/show_bug.cgi?id=188731
3093         https://trac.webkit.org/changeset/235500
3094
3095 2018-09-19  Adrian Perez de Castro  <aperez@igalia.com>
3096
3097         Unreviewed. Add Pablo Saavedra to the list of contributors.
3098
3099         * Scripts/webkitpy/common/config/contributors.json:
3100
3101 2018-09-19  Philippe Normand  <pnormand@igalia.com>
3102
3103         [GStreamer] Add support for AV1 decoding
3104         https://bugs.webkit.org/show_bug.cgi?id=189647
3105
3106         Reviewed by Žan Doberšek.
3107
3108         Add patches required for AV1 decoding support. They're all
3109         upstream already and will be shipped in GStreamer 1.16. The aom
3110         GStreamer plugin depends on the aom library for which there's no
3111         official release yet.
3112
3113         * gstreamer/jhbuild.modules:
3114         * gstreamer/patches/gst-plugins-bad-0001-aomenc-Add-support-for-10-12bit-decoding.patch: Added.
3115         * gstreamer/patches/gst-plugins-bad-0002-aomenc-Handle-8-bit_depth-images-with-AOM_IMG_FMT_HI.patch: Added.
3116         * gstreamer/patches/gst-plugins-good-0001-qtdemux-Detect-and-expose-CEA-608-708-Closed-Caption.patch: Added. This one is unrelated but an implicit dependency of the next one.
3117         * gstreamer/patches/gst-plugins-good-0004-qtdemux-Add-initial-support-for-AV1-demuxing.patch: Added.
3118         * gstreamer/patches/gst-plugins-good-0005-qtdemux-Extract-AV1-codec_data-and-put-it-in-the-cap.patch: Added.
3119         * gstreamer/patches/gst-plugins-good-0006-qtdemux-Recognize-more-AV1-atoms.patch: Added.
3120
3121 2018-09-18  Jonathan Bedard  <jbedard@apple.com>
3122
3123         webkitpy: Clobbering and building occurs multiple times for iOS Simulator ports
3124         https://bugs.webkit.org/show_bug.cgi?id=189702
3125         <rdar://problem/44541704>
3126
3127         Reviewed by Aakash Jain.
3128
3129         * Scripts/webkitpy/layout_tests/controllers/manager.py:
3130         (Manager._set_up_run): Move build check and clobbering to run, since set up is
3131         run multiple times for iOS simulator.
3132         (Manager.run):
3133
3134 2018-09-18  Chris Dumez  <cdumez@apple.com>
3135
3136         "DidFirstVisuallyNonEmptyLayout" callback does not get called when restoring a page from PageCache
3137         https://bugs.webkit.org/show_bug.cgi?id=189681
3138         <rdar://problem/44526171>
3139
3140         Reviewed by Alex Christensen and Zalan Bujtas.
3141
3142         Add API test coverage.
3143
3144         * TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp:
3145         (TestWebKitAPI::didFinishNavigation):
3146         (TestWebKitAPI::TEST):
3147
3148 2018-09-18  Claudio Saavedra  <csaavedra@igalia.com>
3149
3150         [WPE] Implement mouse event modifiers
3151         https://bugs.webkit.org/show_bug.cgi?id=189697
3152
3153         Reviewed by Carlos Garcia Campos.
3154
3155         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
3156         (WTR::wkEventModifiersToWPE):
3157         (WTR::EventSenderProxy::mouseDown):
3158         (WTR::EventSenderProxy::mouseUp):
3159
3160 2018-09-17  Yusuke Suzuki  <utatane.tea@gmail.com>
3161
3162         [WTF] Use Semaphore and BinarySemaphore instead of dispatch_semaphore_t
3163         https://bugs.webkit.org/show_bug.cgi?id=185339
3164
3165         Reviewed by Mark Lam.
3166
3167         * TestWebKitAPI/Tests/WTF/SynchronizedFixedQueue.cpp:
3168         (TestWebKitAPI::ToUpperConverter::stopProducing):
3169         (TestWebKitAPI::ToUpperConverter::stopConsuming):
3170
3171 2018-09-17  Simon Fraser  <simon.fraser@apple.com>
3172
3173         Many modern media control tests leak documents in testing
3174         https://bugs.webkit.org/show_bug.cgi?id=189437
3175
3176         Reviewed by Darin Adler.
3177         
3178         In order to accurately detect leaks in media controls tests which use lots of
3179         SVGImages, we have to:
3180         - Fire a zero-delay timer after the postTask, in order for ImagesLoader's m_derefElementTimer
3181           to clear references to elements.
3182         - Have releaseCriticalMemory() call CachedResourceLoader's garbageCollectDocumentResources()
3183           to drop the last handle to the CachedResource for an SVGImage.
3184         - Call WKBundleReleaseMemory() after the GC and timer, since we need garbageCollectDocumentResources()
3185           to run again after that timer has fired.
3186         
3187         This should fix most of the spurious leak reports involving SVGImage documents.
3188
3189         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
3190         (WTR::InjectedBundle::reportLiveDocuments):
3191         (WTR::InjectedBundle::didReceiveMessageToPage):
3192
3193 2018-09-17  Chris Dumez  <cdumez@apple.com>
3194
3195         PSON: window.open() with 'noopener' should only process-swap cross-site, not cross-origin
3196         https://bugs.webkit.org/show_bug.cgi?id=189602
3197         <rdar://problem/44430549>
3198
3199         Reviewed by Geoff Garen.
3200
3201         Add API test coverage.
3202
3203         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
3204
3205 2018-09-17  Philippe Normand  <pnormand@igalia.com>
3206
3207         [JHBuild] Update to GStreamer 1.14.3
3208         https://bugs.webkit.org/show_bug.cgi?id=189450
3209
3210         Reviewed by Xabier Rodriguez-Calvar.
3211
3212         * gstreamer/jhbuild.modules: Bump GStreamer modules from 1.14.1 to 1.14.3.
3213
3214 2018-09-17  Philippe Normand  <pnormand@igalia.com>
3215
3216         [JHBuild] Doesn't check sha256 sums
3217         https://bugs.webkit.org/show_bug.cgi?id=189646
3218
3219         Reviewed by Michael Catanzaro.
3220
3221         * gstreamer/jhbuild.modules: Properly set the sha256: prefix on hashes.
3222
3223 2018-09-17  Sihui Liu  <sihui_liu@apple.com>
3224
3225         Move IndexedDB to Network Process
3226         https://bugs.webkit.org/show_bug.cgi?id=189415
3227         <rdar://problem/44396973>
3228
3229         Reviewed by Chris Dumez.
3230
3231         * TestWebKitAPI/Tests/WebKitCocoa/IDBDeleteRecovery.mm:
3232         (TEST):
3233         * TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm:
3234         (TEST):
3235         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBDatabaseProcessKill.mm:
3236         (TEST):
3237         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBMultiProcess.mm:
3238         (TEST):
3239         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
3240         (TEST):
3241
3242 2018-09-08  Darin Adler  <darin@apple.com>
3243
3244         Streamline JSRetainPtr, fix leaks of JSString and JSGlobalContext
3245         https://bugs.webkit.org/show_bug.cgi?id=189455
3246
3247         Reviewed by Keith Miller.
3248
3249         There is a lot of copied and pasted code for WebKit vs. Legacy WebKit
3250         testing and even for macOS vs. iOS vs. Windows platform-specific code.
3251         For now, this patch just makes corresponding changes to the copied code.
3252         Later we might get better results by merging more code instead of having
3253         all these separate copies.
3254
3255         * DumpRenderTree/AccessibilityController.cpp:
3256         (AccessibilityController::makeWindowObject): Use the adopt function
3257         instead of the special Adopt constructor of JSRetainPtr.
3258
3259         * DumpRenderTree/AccessibilityTextMarker.cpp: Removed unneeded include.
3260
3261         * DumpRenderTree/AccessibilityUIElement.cpp: Ditto.
3262         (allAttributesCallback): Don't adopt at this level; changed the
3263         underlying function to return a JSRetainPtr so the adopt is right next
3264         to the call to the create or copy function.
3265         (attributesOfLinkedUIElementsCallback): Ditto.
3266         (attributesOfDocumentLinksCallback): Ditto.
3267         (attributesOfChildrenCallback): Ditto.
3268         (parameterizedAttributeNamesCallback): Ditto.
3269         (attributesOfColumnHeadersCallback): Ditto.
3270         (attributesOfRowHeadersCallback): Ditto.
3271         (attributesOfColumnsCallback): Ditto.
3272         (attributesOfRowsCallback): Ditto.
3273         (attributesOfVisibleCellsCallback): Ditto.
3274         (attributesOfHeaderCallback): Ditto.
3275         (rowIndexRangeCallback): Ditto.
3276         (columnIndexRangeCallback): Ditto.
3277         (rangeForLineCallback): Ditto.
3278         (boundsForRangeCallback): Ditto.
3279         (rangeForPositionCallback): Ditto.
3280         (stringForRangeCallback): Ditto.
3281         (attributedStringForRangeCallback): Ditto.
3282         (uiElementCountForSearchPredicateCallback): Use the free adopt
3283         function instead of the adopt member function.
3284         (uiElementForSearchPredicateCallback): Ditto.
3285         (selectTextWithCriteriaCallback): Don't adopt at this level.
3286         (attributedStringForElementCallback): Ditto.
3287         (setValueCallback): Use free adopt.
3288         (stringAttributeValueCallback): Don't adopt at this level.
3289         (uiElementArrayAttributeValueCallback): Ditto.
3290         (uiElementAttributeValueCallback): Ditto.
3291         (stringForTextMarkerRangeCallback): Ditto.
3292         (attributedStringForTextMarkerRangeCallback): Ditto.
3293         (attributedStringForTextMarkerRangeWithOptionsCallback): Ditto.
3294         (getARIADropEffectsCallback): Ditto.
3295         (getClassListCallback): Ditto.
3296         (getRoleCallback): Ditto.
3297         (getSubroleCallback): Ditto.
3298         (getRoleDescriptionCallback): Ditto.
3299         (getComputedRoleStringCallback): Ditto.
3300         (getTitleCallback): Ditto.
3301         (getDescriptionCallback): Ditto.
3302         (getStringValueCallback): Ditto.
3303         (getLanguageCallback): Ditto.
3304         (getHelpTextCallback): Ditto.
3305         (getOrientationCallback): Ditto.
3306         (getPathDescriptionCallback): Ditto.
3307         (getSelectedTextRangeCallback): Ditto.
3308         (speakAsCallback): Ditto.
3309         (getValueDescriptionCallback): Ditto.
3310         (getAccessibilityValueCallback): Ditto.
3311         (getDocumentEncodingCallback): Ditto.
3312         (getDocumentURICallback): Ditto.
3313         (getURLCallback): Ditto.
3314         (characterAtOffsetCallback): Ditto.
3315         (wordAtOffsetCallback): Ditto.
3316         (lineAtOffsetCallback): Ditto.
3317         (sentenceAtOffsetCallback): Ditto.
3318         (stringForSelectionCallback): Ditto.
3319         (getIdentifierCallback): Ditto.
3320         (getTraitsCallback): Ditto.
3321         (supportedActionsCallback): Ditto.
3322         (mathPostscriptsDescriptionCallback): Ditto.
3323         (mathPrescriptsDescriptionCallback): Ditto.
3324         (AccessibilityUIElement::rangeForLine): Updated to return JSRetainPtr.
3325         (AccessibilityUIElement::rangeForPosition): Ditto.
3326         (AccessibilityUIElement::speakAs): Ditto.
3327         (AccessibilityUIElement::pathDescription const): Ditto.
3328         (AccessibilityUIElement::stringForTextMarkerRange): Ditto.
3329         (AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
3330         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
3331
3332         * DumpRenderTree/AccessibilityUIElement.h: Use JSRetainPtr instead of
3333         raw pointers for the results of the functions that create strings.
3334         The old way was difficult to get right; the functions didn't even follow
3335         the create/copy naming rule.
3336
3337         * DumpRenderTree/Bindings/CodeGeneratorDumpRenderTree.pm:
3338         (_platformTypeConstructor): Use the adopt function instead of the
3339         JSRetainPtr adopt constructor. Also nullptr instead of 0.
3340
3341         * DumpRenderTree/GCController.cpp:
3342         (GCController::makeWindowObject): Use adopt function instead of constructor.
3343
3344         * DumpRenderTree/TestRunner.cpp:
3345         (pathToLocalResourceCallback): Use adopt function instead of constructor.
3346         (addDisallowedURLCallback): Ditto.
3347         (addURLToRedirectCallback): Ditto.
3348         (clearApplicationCacheForOriginCallback): Ditto.
3349         (applicationCacheDiskUsageForOriginCallback): Ditto.
3350         (decodeHostNameCallback): Don't adopt at this level.
3351         (encodeHostNameCallback): Ditto.
3352         (execCommandCallback): Use adopt instead of JSRetainPtr::adopt.
3353         (findStringCallback): Use adopt function instead of constructor.
3354         (isCommandEnabledCallback): Ditto.
3355         (overridePreferenceCallback): Ditto.
3356         (queueLoadCallback): Ditto.
3357         (queueLoadHTMLStringCallback): Ditto.
3358         (queueLoadingScriptCallback): Ditto.
3359         (queueNonLoadingScriptCallback): Ditto.
3360         (setAuthenticationPasswordCallback): Ditto.
3361         (setAuthenticationUsernameCallback): Ditto.
3362         (setDomainRelaxationForbiddenForURLSchemeCallback): Ditto.
3363         (setMockGeolocationPositionUnavailableErrorCallback): Ditto.
3364         (setPOSIXLocaleCallback): Ditto.
3365         (setPersistentUserStyleSheetLocationCallback): Ditto.
3366         (setUserStyleSheetLocationCallback): Ditto.
3367         (setValueForUserCallback): Ditto.
3368         (setWillSendRequestClearHeaderCallback): Ditto.
3369         (setPageVisibilityCallback): Ditto.
3370         (evaluateInWebInspectorCallback): Ditto.
3371         (evaluateScriptInIsolatedWorldCallback): Ditto.
3372         (evaluateScriptInIsolatedWorldAndReturnValueCallback): Ditto.
3373         (addOriginAccessWhitelistEntryCallback): Ditto.
3374         (removeOriginAccessWhitelistEntryCallback): Ditto.
3375         (setScrollbarPolicyCallback): Ditto.
3376         (addUserScriptCallback): Ditto.
3377         (addUserStyleSheetCallback): Ditto.
3378         (apiTestNewWindowDataLoadBaseURLCallback): Ditto.
3379         (authenticateSessionCallback): Ditto.
3380         (getTitleTextDirectionCallback): Ditto.
3381         (getInspectorTestStubURLCallback): Ditto.
3382         (simulateLegacyWebNotificationClickCallback): Ditto.
3383         (setTextDirectionCallback): Ditto.
3384         (grantWebNotificationPermissionCallback): Ditto.
3385         (denyWebNotificationPermissionCallback): Ditto.
3386         (accummulateLogsForChannel): Ditto.
3387         (runUIScriptCallback): Ditto.
3388         (TestRunner::makeWindowObject): Ditto.
3389         (TestRunner::uiScriptDidComplete): Ditto.
3390         (TestRunner::setOpenPanelFiles): Ditto.
3391
3392         * DumpRenderTree/TestRunner.h: Use JSRetainPtr instead of
3393         raw pointers for the results of the functions that create strings.
3394
3395         * DumpRenderTree/ios/AccessibilityControllerIOS.mm:
3396         (AccessibilityController::platformName const): Use the adopt
3397         function instead of the adopt constructor.
3398
3399         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
3400         (createEmptyJSString): Added. This helper function makes reduces the
3401         repetitive code to create empty strings.
3402         (concatenateAttributeAndValue): Changed to return a JSRetainPtr.
3403         (AccessibilityUIElement::identifier): Ditto.
3404         (AccessibilityUIElement::traits): Ditto.
3405         (AccessibilityUIElement::url): Ditto.
3406         (AccessibilityUIElement::speakAs): Ditto.
3407         (AccessibilityUIElement::stringForSelection): Ditto.
3408         (AccessibilityUIElement::stringForRange): Ditto.
3409         (AccessibilityUIElement::attributedStringForRange): Ditto.
3410         (AccessibilityUIElement::attributedStringForElement): Ditto.
3411         (AccessibilityUIElement::pathDescription const): Ditto.
3412         (AccessibilityUIElement::stringForTextMarkerRange): Ditto.
3413         (AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
3414         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
3415         (AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
3416         (AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
3417         (AccessibilityUIElement::attributesOfChildren): Ditto.
3418         (AccessibilityUIElement::allAttributes): Ditto.
3419         (AccessibilityUIElement::stringAttributeValue): Ditto.
3420         (AccessibilityUIElement::parameterizedAttributeNames): Ditto.
3421         (AccessibilityUIElement::role): Ditto.
3422         (AccessibilityUIElement::subrole): Ditto.
3423         (AccessibilityUIElement::roleDescription): Ditto.
3424         (AccessibilityUIElement::computedRoleString): Ditto.
3425         (AccessibilityUIElement::title): Ditto.
3426         (AccessibilityUIElement::description): Ditto.
3427         (AccessibilityUIElement::orientation const): Ditto.
3428         (AccessibilityUIElement::stringValue): Ditto.
3429         (AccessibilityUIElement::language): Ditto.
3430         (AccessibilityUIElement::helpText const): Ditto.
3431         (AccessibilityUIElement::valueDescription): Ditto.
3432         (AccessibilityUIElement::ariaDropEffects const): Ditto.
3433         (AccessibilityUIElement::boundsForRange): Ditto.
3434         (AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
3435         (AccessibilityUIElement::attributesOfRowHeaders): Ditto.
3436         (AccessibilityUIElement::attributesOfColumns): Ditto.
3437         (AccessibilityUIElement::attributesOfRows): Ditto.
3438         (AccessibilityUIElement::attributesOfVisibleCells): Ditto.
3439         (AccessibilityUIElement::attributesOfHeader): Ditto.
3440         (AccessibilityUIElement::rowIndexRange): Ditto.
3441         (AccessibilityUIElement::columnIndexRange): Ditto.
3442         (AccessibilityUIElement::selectedTextRange): Ditto.
3443         (AccessibilityUIElement::accessibilityValue const): Ditto.
3444         (AccessibilityUIElement::documentEncoding): Ditto.
3445         (AccessibilityUIElement::documentURI): Ditto.
3446         (AccessibilityUIElement::selectTextWithCriteria): Ditto.
3447         (AccessibilityUIElement::classList const): Ditto.
3448
3449         * DumpRenderTree/mac/AccessibilityCommonMac.h: Changed the
3450         createJSStringRef method to return a JSRetainPtr.
3451         * DumpRenderTree/mac/AccessibilityCommonMac.mm:
3452         (-[NSString createJSStringRef]): Ditto.
3453         (searchPredicateParameterizedAttributeForSearchCriteria): Use the
3454         adopt function instead of the adopt constructor.
3455         * DumpRenderTree/mac/AccessibilityControllerMac.mm:
3456         (AccessibilityController::platformName const): Ditto.
3457
3458         * DumpRenderTree/mac/AccessibilityNotificationHandler.mm:
3459         (-[NSString createJSStringRef]): Return a JSRetainPtr.
3460         (makeValueRefForValue): Updated for the above, no adopt needed here now.
3461         (makeObjectRefForDictionary): Ditto.
3462         (-[AccessibilityNotificationHandler _notificationReceived:]): Ditto.
3463
3464         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
3465         (createEmptyJSString): Added. This helper function makes reduces the
3466         repetitive code to create empty strings.
3467         (concatenateAttributeAndValue): Changed to return a JSRetainPtr.
3468         (descriptionOfElements): Ditto.
3469         (selectTextParameterizedAttributeForCriteria): Ditto.
3470         (AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
3471         (AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
3472         (AccessibilityUIElement::attributesOfChildren): Ditto.
3473         (AccessibilityUIElement::allAttributes): Ditto.
3474         (AccessibilityUIElement::stringAttributeValue): Ditto.
3475         (AccessibilityUIElement::parameterizedAttributeNames): Ditto.
3476         (AccessibilityUIElement::role): Ditto.
3477         (AccessibilityUIElement::subrole): Ditto.
3478         (AccessibilityUIElement::roleDescription): Ditto.
3479         (AccessibilityUIElement::computedRoleString): Ditto.
3480         (AccessibilityUIElement::title): Ditto.
3481         (AccessibilityUIElement::description): Ditto.
3482         (AccessibilityUIElement::orientation const): Ditto.
3483         (AccessibilityUIElement::stringValue): Ditto.
3484         (AccessibilityUIElement::language): Ditto.
3485         (AccessibilityUIElement::helpText const): Ditto.
3486         (AccessibilityUIElement::valueDescription): Ditto.
3487         (AccessibilityUIElement::speakAs): Ditto.
3488         (AccessibilityUIElement::classList const): Ditto.
3489         (AccessibilityUIElement::ariaDropEffects const): Ditto.
3490         (AccessibilityUIElement::rangeForLine): Ditto.
3491         (AccessibilityUIElement::rangeForPosition): Ditto.
3492         (AccessibilityUIElement::boundsForRange): Ditto.
3493         (AccessibilityUIElement::stringForRange): Ditto.
3494         (AccessibilityUIElement::attributedStringForRange): Ditto.
3495         (AccessibilityUIElement::selectTextWithCriteria): Ditto.
3496         (AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
3497         (AccessibilityUIElement::attributesOfRowHeaders): Ditto.
3498         (AccessibilityUIElement::attributesOfColumns): Ditto.
3499         (AccessibilityUIElement::attributesOfRows): Ditto.
3500         (AccessibilityUIElement::attributesOfVisibleCells): Ditto.
3501         (AccessibilityUIElement::attributesOfHeader): Ditto.
3502         (AccessibilityUIElement::rowIndexRange): Ditto.
3503         (AccessibilityUIElement::columnIndexRange): Ditto.
3504         (AccessibilityUIElement::pathDescription const): Ditto.
3505         (AccessibilityUIElement::selectedTextRange): Ditto.
3506         (AccessibilityUIElement::accessibilityValue const): Ditto.
3507         (AccessibilityUIElement::documentEncoding): Ditto.
3508         (AccessibilityUIElement::documentURI): Ditto.
3509         (AccessibilityUIElement::url): Ditto.
3510         (AccessibilityUIElement::stringForTextMarkerRange): Ditto.
3511         (createJSStringRef): Ditto.
3512         (AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
3513         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
3514         (AccessibilityUIElement::supportedActions): Ditto.
3515         (AccessibilityUIElement::mathPostscriptsDescription const): Ditto.
3516         (AccessibilityUIElement::mathPrescriptsDescription const): Ditto.
3517
3518         * DumpRenderTree/mac/FrameLoadDelegate.mm:
3519         (-[FrameLoadDelegate didClearWindowObjectForFrame:inIsolatedWorld:]):
3520         Use the adopt function instead of the adopt constructor.
3521         * DumpRenderTree/mac/TestRunnerMac.mm:
3522         (originsArrayToJS): Ditto.
3523         (TestRunner::copyDecodedHostName): Return a JSRetainPtr.
3524         (TestRunner::copyEncodedHostName): Ditto.
3525         (TestRunner::pathToLocalResource): Ditto.
3526         (TestRunner::queueLoad): Use adopt function instead of constructor.
3527         (TestRunner::findString): Ditto.
3528         (TestRunner::inspectorTestStubURL): Return a JSRetainPtr.
3529
3530         * DumpRenderTree/win/AccessibilityControllerWin.cpp:
3531         (AccessibilityController::winNotificationReceived): Use adopt function
3532         instead of adopt constructor.
3533         (AccessibilityController::platformName const): Ditto.
3534
3535         * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
3536         (createEmptyJSString): Added. This helper function makes reduces the
3537         repetitive code to create empty strings.
3538         (AccessibilityUIElement::allAttributes): Changed to return a JSRetainPtr.
3539         (AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
3540         (AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
3541         (AccessibilityUIElement::attributesOfChildren): Ditto.
3542         (AccessibilityUIElement::parameterizedAttributeNames): Ditto.
3543         (AccessibilityUIElement::role): Ditto.
3544         (AccessibilityUIElement::subrole): Ditto.
3545         (AccessibilityUIElement::roleDescription): Ditto.
3546         (AccessibilityUIElement::computedRoleString): Ditto.
3547         (AccessibilityUIElement::title): Ditto.
3548         (AccessibilityUIElement::description): Ditto.
3549         (AccessibilityUIElement::stringValue): Ditto.
3550         (AccessibilityUIElement::language): Ditto.
3551         (AccessibilityUIElement::helpText const): Ditto.
3552         (AccessibilityUIElement::valueDescription): Ditto.
3553         (AccessibilityUIElement::ariaDropEffects const): Ditto.
3554         (AccessibilityUIElement::orientation const): Ditto.
3555         (AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
3556         (AccessibilityUIElement::attributesOfRowHeaders): Ditto.
3557         (AccessibilityUIElement::attributesOfColumns): Ditto.
3558         (AccessibilityUIElement::attributesOfRows): Ditto.
3559         (AccessibilityUIElement::attributesOfVisibleCells): Ditto.
3560         (AccessibilityUIElement::attributesOfHeader): Ditto.
3561         (AccessibilityUIElement::rowIndexRange): Ditto.
3562         (AccessibilityUIElement::columnIndexRange): Ditto.
3563         (AccessibilityUIElement::boundsForRange): Ditto.
3564         (AccessibilityUIElement::stringForRange): Ditto.
3565         (AccessibilityUIElement::attributedStringForRange): Ditto.
3566         (AccessibilityUIElement::selectTextWithCriteria): Ditto.
3567         (AccessibilityUIElement::selectedTextRange): Ditto.