[webkit-changes] [236454] trunk/Websites/perf.webkit.org
Title: [236454] trunk/Websites/perf.webkit.org Revision 236454 Author dewei_...@apple.com Date 2018-09-24 22:12:13 -0700 (Mon, 24 Sep 2018) Log Message Apache can return a corrupt manifest file while ManifestGenerator::store is running https://bugs.webkit.org/show_bug.cgi?id=189822 Reviewed by Ryosuke Niwa. Updating a file on performance dashboard should be transactional between php and apache. Otherwise, partial content may be served. * public/api/measurement-set.php: Adapted invocation of 'generate_json_date_with_elapsed_time_if_needed'. * public/api/runs.php: Adapted invocation of 'generate_json_date_with_elapsed_time_if_needed'. * public/include/db.php: Make creating file transactionaly by taking advantage of 'move/rename' operation is atomic in OS. Added logic to avoid overwriting file if all content except specified filed are identical. * public/include/json-header.php: Added a helper function that added 'status' but does not convert content to json. * public/include/manifest-generator.php: Adapted invocation of 'generate_json_date_with_elapsed_time_if_needed'. * public/shared/statistics.js: Removed unnecessary logging. (Statistics.new.sampleMeanAndVarianceFromMultipleSamples): * server-tests/api-manifest-tests.js: Updated one unit test. Modified Paths trunk/Websites/perf.webkit.org/ChangeLog trunk/Websites/perf.webkit.org/public/api/measurement-set.php trunk/Websites/perf.webkit.org/public/api/runs.php trunk/Websites/perf.webkit.org/public/include/db.php trunk/Websites/perf.webkit.org/public/include/json-header.php trunk/Websites/perf.webkit.org/public/include/manifest-generator.php trunk/Websites/perf.webkit.org/public/shared/statistics.js trunk/Websites/perf.webkit.org/server-tests/api-manifest-tests.js Diff Modified: trunk/Websites/perf.webkit.org/ChangeLog (236453 => 236454) --- trunk/Websites/perf.webkit.org/ChangeLog 2018-09-25 04:21:32 UTC (rev 236453) +++ trunk/Websites/perf.webkit.org/ChangeLog 2018-09-25 05:12:13 UTC (rev 236454) @@ -1,3 +1,25 @@ +2018-09-21 Dewei Zhu + +Apache can return a corrupt manifest file while ManifestGenerator::store is running +https://bugs.webkit.org/show_bug.cgi?id=189822 + +Reviewed by Ryosuke Niwa. + +Updating a file on performance dashboard should be transactional between php and apache. +Otherwise, partial content may be served. + +* public/api/measurement-set.php: Adapted invocation of 'generate_json_date_with_elapsed_time_if_needed'. +* public/api/runs.php: Adapted invocation of 'generate_json_date_with_elapsed_time_if_needed'. +* public/include/db.php: Make creating file transactionaly by taking advantage of +'move/rename' operation is atomic in OS. +Added logic to avoid overwriting file if all content except specified filed are identical. +* public/include/json-header.php: Added a helper function that added 'status' but does not +convert content to json. +* public/include/manifest-generator.php: Adapted invocation of 'generate_json_date_with_elapsed_time_if_needed'. +* public/shared/statistics.js: Removed unnecessary logging. +(Statistics.new.sampleMeanAndVarianceFromMultipleSamples): +* server-tests/api-manifest-tests.js: Updated one unit test. + 2018-08-22 Dewei Zhu Show t-test results based on individual measurements to analysis task page. Modified: trunk/Websites/perf.webkit.org/public/api/measurement-set.php (236453 => 236454) --- trunk/Websites/perf.webkit.org/public/api/measurement-set.php 2018-09-25 04:21:32 UTC (rev 236453) +++ trunk/Websites/perf.webkit.org/public/api/measurement-set.php 2018-09-25 05:12:13 UTC (rev 236454) @@ -37,6 +37,7 @@ } $cluster_count = 0; +$elapsed_time = NULL; while (!$fetcher->at_end()) { $content = $fetcher->fetch_next_cluster(); $cluster_count++; @@ -43,12 +44,12 @@ if ($fetcher->at_end()) { $cache_filename = "measurement-set-$platform_id-$metric_id.json"; $content['clusterCount'] = $cluster_count; -$content['elapsedTime'] = (microtime(true) - $program_start_time) * 1000; +$elapsed_time = (microtime(true) - $program_start_time) * 1000; } else $cache_filename = "measurement-set-$platform_id-$metric_id-{$content['endTime']}.json"; -$json = success_json($content); -generate_data_file($cache_filename, $json); +set_successful($content); +$json = generate_json_data_with_elapsed_time_if_needed($cache_filename, $content, $elapsed_time); } echo $json; Modified: trunk/Websites/perf.webkit.org/public/api/runs.php (236453 => 236454) --- trunk/Websites/perf.webkit.org/public/api/runs.php 2018-09-25 04:21:32 UTC (rev 236453) +++ trunk/Websites/perf.webkit.org/public/api/runs.php 2018-09-25 05:12:13 UTC (rev 236454) @@ -39,9 +39,13 @@ foreach ($config_rows as $config)
[webkit-changes] [236453] trunk/LayoutTests
Title: [236453] trunk/LayoutTests Revision 236453 Author simon.fra...@apple.com Date 2018-09-24 21:21:32 -0700 (Mon, 24 Sep 2018) Log Message Mark two tests as flakey. * platform/mac/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/mac/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (236452 => 236453) --- trunk/LayoutTests/ChangeLog 2018-09-25 04:15:06 UTC (rev 236452) +++ trunk/LayoutTests/ChangeLog 2018-09-25 04:21:32 UTC (rev 236453) @@ -1,3 +1,9 @@ +2018-09-24 Simon Fraser + +Mark two tests as flakey. + +* platform/mac/TestExpectations: + 2018-09-24 John Wilander Cap lifetime of persistent cookies created client-side through document.cookie Modified: trunk/LayoutTests/platform/mac/TestExpectations (236452 => 236453) --- trunk/LayoutTests/platform/mac/TestExpectations 2018-09-25 04:15:06 UTC (rev 236452) +++ trunk/LayoutTests/platform/mac/TestExpectations 2018-09-25 04:21:32 UTC (rev 236453) @@ -584,6 +584,8 @@ webkit.org/b/112176 canvas/philip/tests/2d.path.stroke.scale1.html [ Failure Pass ] webkit.org/b/112176 canvas/philip/tests/2d.path.stroke.skew.html [ Failure Pass ] webkit.org/b/112176 compositing/overflow/composited-scrolling-paint-phases.html [ Failure Pass ] +webkit.org/b/112176 compositing/overflow/scrolling-without-painting.html [ Failure Pass ] +webkit.org/b/112176 compositing/overflow/updating-scrolling-content.html [ Failure Pass ] webkit.org/b/112176 fast/canvas/canvas-composite-alpha.html [ Failure Pass ] webkit.org/b/112176 fast/canvas/webgl/read-pixels-test.html [ Failure Pass ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [236452] trunk/Tools
Title: [236452] trunk/Tools Revision 236452 Author commit-qu...@webkit.org Date 2018-09-24 21:15:06 -0700 (Mon, 24 Sep 2018) Log Message [WHLSL] Implement trap statements in Metal code generation https://bugs.webkit.org/show_bug.cgi?id=189615 Patch by Thomas Denney on 2018-09-24 Reviewed by Myles C. Maxfield. Each function called by an entry point now receives an additional boolean pointer parameter, which is set to false if the function traps. After each function call (to a non-native function) this trap parameter is checked. The behavior of the interpreter has also been updated so that a function entry point catches the trap and instead returns zero, matching the behavior of compiled code. * WebGPUShadingLanguageRI/Evaluator.js: Adds a new flag to allow the test suite to check for traps and also returns zero from entry points whose invocation trapped. * WebGPUShadingLanguageRI/Metal/MSLBackend.js: Pass program to function declarations. * WebGPUShadingLanguageRI/Metal/MSLCodegenAll.js: Update dependencies. * WebGPUShadingLanguageRI/Metal/MSLFunctionDeclaration.js: Add program property. * WebGPUShadingLanguageRI/Metal/MSLFunctionDefinition.js: Ditto. * WebGPUShadingLanguageRI/Metal/MSLInsertTrapParameter.js: Added. * WebGPUShadingLanguageRI/Metal/MSLStatementEmitter.js: Conforms to the new trapping behavior. * WebGPUShadingLanguageRI/Test.js: Update tests that trap. Modified Paths trunk/Tools/ChangeLog trunk/Tools/WebGPUShadingLanguageRI/Evaluator.js trunk/Tools/WebGPUShadingLanguageRI/Metal/MSLBackend.js trunk/Tools/WebGPUShadingLanguageRI/Metal/MSLCodegenAll.js trunk/Tools/WebGPUShadingLanguageRI/Metal/MSLFunctionDeclaration.js trunk/Tools/WebGPUShadingLanguageRI/Metal/MSLFunctionDefinition.js trunk/Tools/WebGPUShadingLanguageRI/Metal/MSLStatementEmitter.js trunk/Tools/WebGPUShadingLanguageRI/Test.js Added Paths trunk/Tools/WebGPUShadingLanguageRI/Metal/MSLInsertTrapParameter.js Diff Modified: trunk/Tools/ChangeLog (236451 => 236452) --- trunk/Tools/ChangeLog 2018-09-25 03:33:05 UTC (rev 236451) +++ trunk/Tools/ChangeLog 2018-09-25 04:15:06 UTC (rev 236452) @@ -1,5 +1,33 @@ 2018-09-24 Thomas Denney +[WHLSL] Implement trap statements in Metal code generation +https://bugs.webkit.org/show_bug.cgi?id=189615 + +Reviewed by Myles C. Maxfield. + +Each function called by an entry point now receives an additional +boolean pointer parameter, which is set to false if the function traps. +After each function call (to a non-native function) this trap parameter +is checked. The behavior of the interpreter has also been updated so +that a function entry point catches the trap and instead returns zero, +matching the behavior of compiled code. + +* WebGPUShadingLanguageRI/Evaluator.js: Adds a new flag to allow the +test suite to check for traps and also returns zero from entry points +whose invocation trapped. +* WebGPUShadingLanguageRI/Metal/MSLBackend.js: Pass program to function +declarations. +* WebGPUShadingLanguageRI/Metal/MSLCodegenAll.js: Update dependencies. +* WebGPUShadingLanguageRI/Metal/MSLFunctionDeclaration.js: Add program +property. +* WebGPUShadingLanguageRI/Metal/MSLFunctionDefinition.js: Ditto. +* WebGPUShadingLanguageRI/Metal/MSLInsertTrapParameter.js: Added. +* WebGPUShadingLanguageRI/Metal/MSLStatementEmitter.js: Conforms to the +new trapping behavior. +* WebGPUShadingLanguageRI/Test.js: Update tests that trap. + +2018-09-24 Thomas Denney + [WHLSL] It shouldn’t be possible to use ternary expressions as l-values https://bugs.webkit.org/show_bug.cgi?id=189290 Modified: trunk/Tools/WebGPUShadingLanguageRI/Evaluator.js (236451 => 236452) --- trunk/Tools/WebGPUShadingLanguageRI/Evaluator.js 2018-09-25 03:33:05 UTC (rev 236451) +++ trunk/Tools/WebGPUShadingLanguageRI/Evaluator.js 2018-09-25 04:15:06 UTC (rev 236452) @@ -24,6 +24,8 @@ */ "use strict"; +let _lastInvocationDidTrap; + // This is a combined LHS/RHS evaluator that passes around EPtr's to everything. class Evaluator extends Visitor { constructor(program) @@ -30,7 +32,13 @@ { super(); this._program = program; +_lastInvocationDidTrap = false; } + +static lastInvocationDidTrap() +{ +return lastInvocationDidTrap; +} // You must snapshot if you use a value in rvalue context. For example, a call _expression_ will // snapshot all of its arguments immediately upon executing them. In general, it should not be @@ -51,10 +59,10 @@ runFunc(func) { return EBuffer.disallowAllocation( -() => this._runBody(func.returnType, func.returnEPtr, func.body)); +() => this._runBody(func.returnType, func.returnEPtr, func.body, func.isEntryPoint)); } -_runBody(type, ptr, block) +_runBody(type, ptr,
[webkit-changes] [236451] trunk/Source/JavaScriptCore
Title: [236451] trunk/Source/_javascript_Core Revision 236451 Author commit-qu...@webkit.org Date 2018-09-24 20:33:05 -0700 (Mon, 24 Sep 2018) Log Message Remove AUTHORS and THANKS files which are stale https://bugs.webkit.org/show_bug.cgi?id=189941 Patch by Joseph Pecoraro on 2018-09-24 Reviewed by Darin Adler. Included mentions below so their names are still in ChangeLogs. * AUTHORS: Removed. Harri Porten (por...@kde.org) and Peter Kelly (p...@post.com). These authors remain mentioned in copyrights in source files. * THANKS: Removed. Richard Moore - for filling the Math object with some life Daegeun Lee - for pointing out some bugs and providing much code for the String and Date object. Marco Pinelli - for his patches Christian Kirsch - for his contribution to the Date object Modified Paths trunk/Source/_javascript_Core/ChangeLog Removed Paths trunk/Source/_javascript_Core/AUTHORS trunk/Source/_javascript_Core/THANKS Diff Deleted: trunk/Source/_javascript_Core/AUTHORS (236450 => 236451) --- trunk/Source/_javascript_Core/AUTHORS 2018-09-25 03:05:13 UTC (rev 236450) +++ trunk/Source/_javascript_Core/AUTHORS 2018-09-25 03:33:05 UTC (rev 236451) @@ -1,2 +0,0 @@ -Harri Porten (por...@kde.org) -Peter Kelly (p...@post.com) Modified: trunk/Source/_javascript_Core/ChangeLog (236450 => 236451) --- trunk/Source/_javascript_Core/ChangeLog 2018-09-25 03:05:13 UTC (rev 236450) +++ trunk/Source/_javascript_Core/ChangeLog 2018-09-25 03:33:05 UTC (rev 236451) @@ -1,3 +1,22 @@ +2018-09-24 Joseph Pecoraro + +Remove AUTHORS and THANKS files which are stale +https://bugs.webkit.org/show_bug.cgi?id=189941 + +Reviewed by Darin Adler. + +Included mentions below so their names are still in ChangeLogs. + +* AUTHORS: Removed. +Harri Porten (por...@kde.org) and Peter Kelly (p...@post.com). +These authors remain mentioned in copyrights in source files. + +* THANKS: Removed. +Richard Moore - for filling the Math object with some life +Daegeun Lee - for pointing out some bugs and providing much code for the String and Date object. +Marco Pinelli - for his patches +Christian Kirsch - for his contribution to the Date object + 2018-09-24 Fujii Hironori Rename WTF_COMPILER_GCC_OR_CLANG to WTF_COMPILER_GCC_COMPATIBLE Deleted: trunk/Source/_javascript_Core/THANKS (236450 => 236451) --- trunk/Source/_javascript_Core/THANKS 2018-09-25 03:05:13 UTC (rev 236450) +++ trunk/Source/_javascript_Core/THANKS 2018-09-25 03:33:05 UTC (rev 236451) @@ -1,8 +0,0 @@ - -I would like to thank the following people for their help: - -Richard Moore - for filling the Math object with some life -Daegeun Lee - for pointing out some bugs and providing - much code for the String and Date object. -Marco Pinelli - for his patches -Christian Kirsch - for his contribution to the Date object ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [236450] trunk/Source
Title: [236450] trunk/Source Revision 236450 Author hironori.fu...@sony.com Date 2018-09-24 20:05:13 -0700 (Mon, 24 Sep 2018) Log Message Rename WTF_COMPILER_GCC_OR_CLANG to WTF_COMPILER_GCC_COMPATIBLE https://bugs.webkit.org/show_bug.cgi?id=189733 Reviewed by Michael Catanzaro. Source/bmalloc: * bmalloc/BCompiler.h: Source/_javascript_Core: * assembler/ARM64Assembler.h: * assembler/ARMAssembler.h: (JSC::ARMAssembler::cacheFlush): * assembler/MacroAssemblerARM.cpp: (JSC::isVFPPresent): * assembler/MacroAssemblerARM64.cpp: * assembler/MacroAssemblerARMv7.cpp: * assembler/MacroAssemblerMIPS.cpp: * assembler/MacroAssemblerX86Common.cpp: * heap/HeapCell.cpp: * heap/HeapCell.h: * jit/HostCallReturnValue.h: * jit/JIT.h: * jit/JITOperations.cpp: * jit/ThunkGenerators.cpp: * runtime/ArrayConventions.cpp: (JSC::clearArrayMemset): * runtime/JSBigInt.cpp: (JSC::JSBigInt::digitDiv): Source/WebCore: No new tests (No behavior change). * platform/graphics/cpu/arm/filters/FELightingNEON.cpp: * platform/graphics/cpu/arm/filters/FELightingNEON.h: * platform/graphics/filters/FELighting.cpp: (WebCore::FELighting::platformApply): * platform/graphics/filters/FELighting.h: Source/WTF: Clang for Windows build enables WTF_COMPILER_CLANG and WTF_COMPILER_MSVC, but disables WTF_COMPILER_GCC_OR_CLANG. It is strange WTF_COMPILER_GCC_OR_CLANG is not enabled even though WTF_COMPILER_CLANG is enabled. However, Clang for Windows imitates MSVC, and codes for COMPILER(GCC_OR_CLANG) are for non MSVC. At least at the moment, it is not feasible to define WTF_COMPILER_GCC_OR_CLANG for Clang for Windows. To solve the issue, this change renames WTF_COMPILER_GCC_OR_CLANG to WTF_COMPILER_GCC_COMPATIBLE. As an exception, I'd like to use IGNORE_WARNINGS_* macros even in Clang for Windows builds. * wtf/Assertions.cpp: Replaced COMPILER(GCC_OR_CLANG) with COMPILER(GCC_COMPATIBLE). * wtf/Assertions.h: Ditto. * wtf/Atomics.h: Ditto. * wtf/CheckedArithmetic.h: Ditto. * wtf/FastMalloc.h: Ditto. * wtf/MathExtras.h: Ditto. * wtf/Platform.h: Ditto. * wtf/StdLibExtras.h: Ditto. * wtf/Vector.h: Ditto. * wtf/text/ASCIIFastPath.h: Ditto. * wtf/Compiler.h: Ditto. Replaced "COMPILER(GCC_OR_CLANG)" with "COMPILER(GCC) || COMPILER(CLANG)" of IGNORE_WARNINGS_* macros. Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/assembler/ARM64Assembler.h trunk/Source/_javascript_Core/assembler/ARMAssembler.h trunk/Source/_javascript_Core/assembler/MacroAssemblerARM.cpp trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.cpp trunk/Source/_javascript_Core/assembler/MacroAssemblerARMv7.cpp trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.cpp trunk/Source/_javascript_Core/assembler/MacroAssemblerX86Common.cpp trunk/Source/_javascript_Core/heap/HeapCell.cpp trunk/Source/_javascript_Core/heap/HeapCell.h trunk/Source/_javascript_Core/jit/HostCallReturnValue.cpp trunk/Source/_javascript_Core/jit/HostCallReturnValue.h trunk/Source/_javascript_Core/jit/JIT.h trunk/Source/_javascript_Core/jit/JITOperations.cpp trunk/Source/_javascript_Core/jit/ThunkGenerators.cpp trunk/Source/_javascript_Core/runtime/ArrayConventions.cpp trunk/Source/_javascript_Core/runtime/JSBigInt.cpp trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/Assertions.cpp trunk/Source/WTF/wtf/Assertions.h trunk/Source/WTF/wtf/Atomics.h trunk/Source/WTF/wtf/CheckedArithmetic.h trunk/Source/WTF/wtf/Compiler.h trunk/Source/WTF/wtf/FastMalloc.h trunk/Source/WTF/wtf/MathExtras.h trunk/Source/WTF/wtf/Platform.h trunk/Source/WTF/wtf/StdLibExtras.h trunk/Source/WTF/wtf/Vector.h trunk/Source/WTF/wtf/text/ASCIIFastPath.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp trunk/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h trunk/Source/WebCore/platform/graphics/filters/FELighting.cpp trunk/Source/WebCore/platform/graphics/filters/FELighting.h trunk/Source/bmalloc/ChangeLog trunk/Source/bmalloc/bmalloc/BCompiler.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (236449 => 236450) --- trunk/Source/_javascript_Core/ChangeLog 2018-09-25 01:16:15 UTC (rev 236449) +++ trunk/Source/_javascript_Core/ChangeLog 2018-09-25 03:05:13 UTC (rev 236450) @@ -1,3 +1,30 @@ +2018-09-24 Fujii Hironori + +Rename WTF_COMPILER_GCC_OR_CLANG to WTF_COMPILER_GCC_COMPATIBLE +https://bugs.webkit.org/show_bug.cgi?id=189733 + +Reviewed by Michael Catanzaro. + +* assembler/ARM64Assembler.h: +* assembler/ARMAssembler.h: +(JSC::ARMAssembler::cacheFlush): +* assembler/MacroAssemblerARM.cpp: +(JSC::isVFPPresent): +* assembler/MacroAssemblerARM64.cpp: +* assembler/MacroAssemblerARMv7.cpp: +* assembler/MacroAssemblerMIPS.cpp: +* assembler/MacroAssemblerX86Common.cpp: +* heap/HeapCell.cpp: +* heap/HeapCell.h: +* jit/HostCallReturnValue.h: +* jit/JIT.h: +* jit/JITOperations.cpp:
[webkit-changes] [236449] trunk/Tools
Title: [236449] trunk/Tools Revision 236449 Author commit-qu...@webkit.org Date 2018-09-24 18:16:15 -0700 (Mon, 24 Sep 2018) Log Message [WHLSL] It shouldn’t be possible to use ternary expressions as l-values https://bugs.webkit.org/show_bug.cgi?id=189290 Patch by Thomas Denney on 2018-09-24 Reviewed by Myles C. Maxfield. It is no longer possible for a ternary _expression_ to be treated as an l-value. This patch adds several test cases to verify that this is the case. * WebGPUShadingLanguageRI/Checker.js: (Checker.prototype.visitTernaryExpression): No longer check isLValue. * WebGPUShadingLanguageRI/NormalUsePropertyResolver: (NormalUsePropertyResolver.visitTernaryExpression): Deleted. * WebGPUShadingLanguageRI/Rewriter.js: (Rewriter.prototype.visitTernaryExpression): No longer copy isLValue. * WebGPUShadingLanguageRI/TernaryExpression.js: (TernaryExpression): (TernaryExpression.prototype.get elseExpression): (TernaryExpression.prototype.get isLValue): Deleted. (TernaryExpression.prototype.set isLValue): Deleted. * WebGPUShadingLanguageRI/Test.js: (tests.ternaryExpression): Add checks for failure if a failure is used as an l-value. (ternaryExpressionIsLValue.node.TernaryExpressionVisitor.prototype.visitTernaryExpression): Deleted. (ternaryExpressionIsLValue.node.TernaryExpressionVisitor): Deleted. (tests.ternaryExpressionIsLValue): Deleted. Modified Paths trunk/Tools/ChangeLog trunk/Tools/WebGPUShadingLanguageRI/Checker.js trunk/Tools/WebGPUShadingLanguageRI/NormalUsePropertyResolver.js trunk/Tools/WebGPUShadingLanguageRI/Rewriter.js trunk/Tools/WebGPUShadingLanguageRI/TernaryExpression.js trunk/Tools/WebGPUShadingLanguageRI/Test.js Diff Modified: trunk/Tools/ChangeLog (236448 => 236449) --- trunk/Tools/ChangeLog 2018-09-25 01:13:26 UTC (rev 236448) +++ trunk/Tools/ChangeLog 2018-09-25 01:16:15 UTC (rev 236449) @@ -1,3 +1,32 @@ +2018-09-24 Thomas Denney + +[WHLSL] It shouldn’t be possible to use ternary expressions as l-values +https://bugs.webkit.org/show_bug.cgi?id=189290 + +Reviewed by Myles C. Maxfield. + +It is no longer possible for a ternary _expression_ to be treated as an +l-value. This patch adds several test cases to verify that this is the +case. + +* WebGPUShadingLanguageRI/Checker.js: +(Checker.prototype.visitTernaryExpression): No longer check isLValue. +* WebGPUShadingLanguageRI/NormalUsePropertyResolver: +(NormalUsePropertyResolver.visitTernaryExpression): Deleted. +* WebGPUShadingLanguageRI/Rewriter.js: +(Rewriter.prototype.visitTernaryExpression): No longer copy isLValue. +* WebGPUShadingLanguageRI/TernaryExpression.js: +(TernaryExpression): +(TernaryExpression.prototype.get elseExpression): +(TernaryExpression.prototype.get isLValue): Deleted. +(TernaryExpression.prototype.set isLValue): Deleted. +* WebGPUShadingLanguageRI/Test.js: +(tests.ternaryExpression): Add checks for failure if a failure is used +as an l-value. +(ternaryExpressionIsLValue.node.TernaryExpressionVisitor.prototype.visitTernaryExpression): Deleted. +(ternaryExpressionIsLValue.node.TernaryExpressionVisitor): Deleted. +(tests.ternaryExpressionIsLValue): Deleted. + 2018-09-24 Jer Noble SharedBuffer should have an equality test Modified: trunk/Tools/WebGPUShadingLanguageRI/Checker.js (236448 => 236449) --- trunk/Tools/WebGPUShadingLanguageRI/Checker.js 2018-09-25 01:13:26 UTC (rev 236448) +++ trunk/Tools/WebGPUShadingLanguageRI/Checker.js 2018-09-25 01:16:15 UTC (rev 236449) @@ -688,7 +688,6 @@ throw new Error("Ternary _expression_ else has no type: " + node.elseExpression); if (!bodyType.equalsWithCommit(elseType)) throw new WTypeError("Body and else clause of ternary statement don't have the same type: " + node); -node.isLValue = node.bodyExpression.isLValue && node.elseExpression.isLValue; return bodyType; } Modified: trunk/Tools/WebGPUShadingLanguageRI/NormalUsePropertyResolver.js (236448 => 236449) --- trunk/Tools/WebGPUShadingLanguageRI/NormalUsePropertyResolver.js 2018-09-25 01:13:26 UTC (rev 236448) +++ trunk/Tools/WebGPUShadingLanguageRI/NormalUsePropertyResolver.js 2018-09-25 01:16:15 UTC (rev 236449) @@ -34,12 +34,5 @@ { return super.visitIndexExpression(node).rewriteAfterCloning(); } - -visitTernaryExpression(node) -{ -let result = super.visitTernaryExpression(node); -result.isLValue = node.isLValue; -return result; -} } Modified: trunk/Tools/WebGPUShadingLanguageRI/Rewriter.js (236448 => 236449) --- trunk/Tools/WebGPUShadingLanguageRI/Rewriter.js 2018-09-25 01:13:26 UTC (rev 236448) +++ trunk/Tools/WebGPUShadingLanguageRI/Rewriter.js 2018-09-25 01:16:15 UTC (rev 236449) @@ -167,9 +167,7 @@ visitTernaryExpression(node) { -let result = new
[webkit-changes] [236448] trunk
Title: [236448] trunk Revision 236448 Author wilan...@apple.com Date 2018-09-24 18:13:26 -0700 (Mon, 24 Sep 2018) Log Message Cap lifetime of persistent cookies created client-side through document.cookie https://bugs.webkit.org/show_bug.cgi?id=189933 Reviewed by Chris Dumez. Source/WebCore: Test: http/tests/cookies/capped-lifetime-for-cookie-set-in-js.html As pointed out in https://github.com/mikewest/http-state-tokens: 1) Cookies are available to _javascript_ by default via document.cookie, which enables a smooth upgrade from one-time XSS to theft of persistent credentials and also makes cookies available to Spectre-like attacks on memory. 2) Though the HttpOnly attribute was introduced well over a decade ago, only ~8.31% of Set-Cookie operations use it today (stats from Chrome). We need developer incentives to put proper protections in place. 3) The median (uncompressed) Cookie request header is 409 bytes, while the 90th percentile is 1,589 bytes, the 95th 2,549 bytes, the 99th 4,601 bytes, and ~0.1% of Cookie headers are over 10kB (stats from Chrome). This is bad for load performance. In addition to this, third-party scripts running in first-party contexts can read user data through document.cookie and even store cross-site tracking data in them. Authentication cookies should be HttpOnly and thus not be affected by restrictions to document.cookie. Cookies that persist for a long time should be Secure, HttpOnly, and SameSite to provide good security and privacy. By capping the lifetime of persistent cookies set through document.cookie we embark on a journey towards better cookie management on the web. * platform/network/cocoa/NetworkStorageSessionCocoa.mm: (WebCore::filterCookies): Now caps the life time of persistent cookies to one week (seven days). * testing/Internals.cpp: (WebCore::Internals::getCookies const): New test function to get to cookie meta data such as expiry. * testing/Internals.h: * testing/Internals.idl: LayoutTests: * TestExpectations: Skipped the new test by default since the behavior change is for Cocoa platforms only. * http/tests/cookies/capped-lifetime-for-cookie-set-in-js-expected.txt: Added. * http/tests/cookies/capped-lifetime-for-cookie-set-in-js.html: Added. * http/tests/cookies/resources/cookie-utilities.js: * platform/ios/TestExpectations: Marked the new test as [ Pass ]. * platform/mac-wk2/TestExpectations: Marked the new test as [ Pass ]. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/http/tests/cookies/resources/cookie-utilities.js trunk/LayoutTests/platform/ios/TestExpectations trunk/LayoutTests/platform/mac-wk2/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm trunk/Source/WebCore/testing/Internals.cpp trunk/Source/WebCore/testing/Internals.h trunk/Source/WebCore/testing/Internals.idl Added Paths trunk/LayoutTests/http/tests/cookies/capped-lifetime-for-cookie-set-in-js-expected.txt trunk/LayoutTests/http/tests/cookies/capped-lifetime-for-cookie-set-in-js.html Diff Modified: trunk/LayoutTests/ChangeLog (236447 => 236448) --- trunk/LayoutTests/ChangeLog 2018-09-25 00:40:09 UTC (rev 236447) +++ trunk/LayoutTests/ChangeLog 2018-09-25 01:13:26 UTC (rev 236448) @@ -1,3 +1,22 @@ +2018-09-24 John Wilander + +Cap lifetime of persistent cookies created client-side through document.cookie +https://bugs.webkit.org/show_bug.cgi?id=189933 + + +Reviewed by Chris Dumez. + +* TestExpectations: +Skipped the new test by default since the behavior change is for +Cocoa platforms only. +* http/tests/cookies/capped-lifetime-for-cookie-set-in-js-expected.txt: Added. +* http/tests/cookies/capped-lifetime-for-cookie-set-in-js.html: Added. +* http/tests/cookies/resources/cookie-utilities.js: +* platform/ios/TestExpectations: +Marked the new test as [ Pass ]. +* platform/mac-wk2/TestExpectations: +Marked the new test as [ Pass ]. + 2018-09-24 Simon Fraser Remove filterRes parameter from filters Modified: trunk/LayoutTests/TestExpectations (236447 => 236448) --- trunk/LayoutTests/TestExpectations 2018-09-25 00:40:09 UTC (rev 236447) +++ trunk/LayoutTests/TestExpectations 2018-09-25 01:13:26 UTC (rev 236448) @@ -153,6 +153,7 @@ http/tests/loading/basic-auth-remove-credentials.html [ Skip ] http/tests/security/strip-referrer-to-origin-for-third-party-redirects-in-private-mode.html [ Skip ] http/tests/security/strip-referrer-to-origin-for-third-party-requests-in-private-mode.html [ Skip ] +http/tests/cookies/capped-lifetime-for-cookie-set-in-js.html [ Skip ] # ApplePay is only available on iOS (greater than iOS 10) and macOS (greater than macOS 10.12) and only for WebKit2. http/tests/ssl/applepay/ [ Skip ] Added:
[webkit-changes] [236446] trunk/Source/WebCore
Title: [236446] trunk/Source/WebCore Revision 236446 Author rn...@webkit.org Date 2018-09-24 17:28:42 -0700 (Mon, 24 Sep 2018) Log Message Don't cause a crash even when some IDL attribute is missing CEReactions https://bugs.webkit.org/show_bug.cgi?id=189937 Reviewed by Simon Fraser. Replaced release assertions in ElementQueue::add and ElementQueue::invokeAll by debug assertions since a missing CEReactions resulting in a crash is a terrible user experience. Also made the iteration in invokeAll safe when more elements were added to m_elements. No new tests since we would still hit debug assertions, and this behavior should only come up when some IDL attribute is erroneously missing CEReactions. * dom/CustomElementReactionQueue.cpp: (WebCore::CustomElementReactionQueue::ElementQueue::add): (WebCore::CustomElementReactionQueue::ElementQueue::invokeAll): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/CustomElementReactionQueue.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (236445 => 236446) --- trunk/Source/WebCore/ChangeLog 2018-09-25 00:17:29 UTC (rev 236445) +++ trunk/Source/WebCore/ChangeLog 2018-09-25 00:28:42 UTC (rev 236446) @@ -1,3 +1,22 @@ +2018-09-24 Ryosuke Niwa + +Don't cause a crash even when some IDL attribute is missing CEReactions +https://bugs.webkit.org/show_bug.cgi?id=189937 + +Reviewed by Simon Fraser. + +Replaced release assertions in ElementQueue::add and ElementQueue::invokeAll by debug assertions +since a missing CEReactions resulting in a crash is a terrible user experience. + +Also made the iteration in invokeAll safe when more elements were added to m_elements. + +No new tests since we would still hit debug assertions, and this behavior should only come up +when some IDL attribute is erroneously missing CEReactions. + +* dom/CustomElementReactionQueue.cpp: +(WebCore::CustomElementReactionQueue::ElementQueue::add): +(WebCore::CustomElementReactionQueue::ElementQueue::invokeAll): + 2018-09-24 Wenson Hsieh Refactor Editor::fontAttributesForSelectionStart to be platform-agnostic Modified: trunk/Source/WebCore/dom/CustomElementReactionQueue.cpp (236445 => 236446) --- trunk/Source/WebCore/dom/CustomElementReactionQueue.cpp 2018-09-25 00:17:29 UTC (rev 236445) +++ trunk/Source/WebCore/dom/CustomElementReactionQueue.cpp 2018-09-25 00:28:42 UTC (rev 236446) @@ -225,7 +225,7 @@ inline void CustomElementReactionQueue::ElementQueue::add(Element& element) { -RELEASE_ASSERT(!m_invoking); +ASSERT(!m_invoking); // FIXME: Avoid inserting the same element multiple times. m_elements.append(element); } @@ -234,13 +234,16 @@ { RELEASE_ASSERT(!m_invoking); SetForScope invoking(m_invoking, true); -auto originalSize = m_elements.size(); -for (auto& element : m_elements) { -auto* queue = element->reactionQueue(); +unsigned originalSize = m_elements.size(); +// It's possible for more elements to be enqueued if some IDL attributes were missing CEReactions. +// Invoke callbacks slightly later here instead of crashing / ignoring those cases. +for (unsigned i = 0; i < m_elements.size(); ++i) { +auto& element = m_elements[i].get(); +auto* queue = element.reactionQueue(); ASSERT(queue); -queue->invokeAll(element.get()); +queue->invokeAll(element); } -RELEASE_ASSERT(m_elements.size() == originalSize); +ASSERT_UNUSED(originalSize, m_elements.size() == originalSize); m_elements.clear(); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [236445] trunk/Source
Title: [236445] trunk/Source Revision 236445 Author wenson_hs...@apple.com Date 2018-09-24 17:17:29 -0700 (Mon, 24 Sep 2018) Log Message Refactor Editor::fontAttributesForSelectionStart to be platform-agnostic https://bugs.webkit.org/show_bug.cgi?id=189918 Work towards Reviewed by Tim Horton. Source/WebCore: Refactors the functionality in Editor::fontAttributesForSelectionStart to not be Cocoa-only. Rename this to fontAttributesAtSelectionStart (to be consistent with `EditingStyle::styleAtSelectionStart`) and move it from EditorCocoa.mm to Editor.cpp; instead of creating and populating an NSDictionary with font attribute information, create and populate a new `FontAttributes` struct that contains the same information. Cocoa clients in WebKitLegacy may then create an `NSDictionary` as needed from the `FontAttributes`. * SourcesCocoa.txt: * WebCore.xcodeproj/project.pbxproj: * editing/Editor.cpp: (WebCore::Editor::platformFontAttributesAtSelectionStart const): Add a hook to allow platforms to supply additional information in FontAttributes. On Cocoa, this adds a UIFont or NSFont to FontAttributes; otherwise, this is a no-op. (WebCore::Editor::fontAttributesAtSelectionStart const): * editing/Editor.h: * editing/FontAttributeChanges.cpp: (WebCore::cssValueListForShadow): * editing/FontAttributeChanges.h: (): Deleted. (WebCore::FontShadow::encode const): Deleted. (WebCore::FontShadow::decode): Deleted. * editing/FontAttributes.h: Added. Introduce a new struct that contains font attribute information. May be converted into an NSDictionary for use by Cocoa clients in WebKitLegacy and WebKit. In a future patch, this will become serializable over IPC for use in WebKit2. * editing/FontShadow.h: Added. Move FontShadow out into a separate header file, included in `FontAttributeChanges.h` and `FontAttributes.h`. (WebCore::FontShadow::encode const): (WebCore::FontShadow::decode): * editing/cocoa/EditorCocoa.mm: Add a helper function to convert a WebCore::Color to either `UIColor` on iOS or `NSColor` when AppKit is being used. (WebCore::Editor::platformFontAttributesAtSelectionStart const): (WebCore::Editor::getTextDecorationAttributesRespectingTypingStyle const): Deleted. Remove a helper function that was only used to compute text decoration attributes in fontAttributesForSelectionStart. (WebCore::Editor::fontAttributesForSelectionStart const): Deleted. * editing/cocoa/FontAttributesCocoa.mm: Added. (WebCore::FontAttributes::createDictionary const): * editing/cocoa/FontShadowCocoa.mm: Added. (WebCore::FontShadow::createShadow const): * editing/cocoa/HTMLConverter.mm: (_webKitBundle): (HTMLConverter::_colorForElement): (_platformColor): Deleted. Adopt platformColor(). * platform/graphics/cocoa/ColorCocoa.h: Added. * platform/graphics/cocoa/ColorCocoa.mm: Added. (WebCore::platformColor): * platform/graphics/metal/GPURenderPassDescriptorMetal.mm: Build fix due to changes in unified sources. * platform/mac/WebCoreNSFontManagerExtras.mm: (WebCore::computedFontAttributeChanges): * platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm: * platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm: More build fixes due to changes in unified sources. Source/WebCore/PAL: Add `+_disambiguated_due_to_CIImage_colorWithCGColor:` as a UIColor SPI definition. Also, import `UIColor_Private.h` directly when the Apple internal SDK is used. * pal/spi/ios/UIKitSPI.h: Source/WebKitLegacy/mac: Replace call sites of fontAttributesForSelectionStart() to fontAttributesAtSelectionStart().createDictionary(). * WebView/WebHTMLView.mm: (-[WebHTMLView _selectionStartFontAttributesAsRTF]): (-[WebHTMLView _updateFontPanel]): * WebView/WebView.mm: (-[WebView typingAttributes]): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/PAL/ChangeLog trunk/Source/WebCore/PAL/pal/spi/ios/UIKitSPI.h trunk/Source/WebCore/SourcesCocoa.txt trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebCore/editing/Editor.cpp trunk/Source/WebCore/editing/Editor.h trunk/Source/WebCore/editing/FontAttributeChanges.cpp trunk/Source/WebCore/editing/FontAttributeChanges.h trunk/Source/WebCore/editing/cocoa/EditorCocoa.mm trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm trunk/Source/WebCore/platform/graphics/metal/GPURenderPassDescriptorMetal.mm trunk/Source/WebCore/platform/mac/WebCoreNSFontManagerExtras.mm trunk/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.h trunk/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm trunk/Source/WebKitLegacy/mac/ChangeLog trunk/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm trunk/Source/WebKitLegacy/mac/WebView/WebView.mm Added Paths trunk/Source/WebCore/editing/FontAttributes.h trunk/Source/WebCore/editing/FontShadow.h trunk/Source/WebCore/editing/cocoa/FontAttributesCocoa.mm trunk/Source/WebCore/editing/cocoa/FontShadowCocoa.mm trunk/Source/WebCore/platform/graphics/cocoa/ColorCocoa.h
[webkit-changes] [236443] trunk
Title: [236443] trunk Revision 236443 Author jer.no...@apple.com Date 2018-09-24 16:48:51 -0700 (Mon, 24 Sep 2018) Log Message SharedBuffer should have an equality test https://bugs.webkit.org/show_bug.cgi?id=189919 Reviewed by Alex Christensen. Source/WebCore: Test: TestWebKitAPI SharedBuffer.isEqualTo. * platform/SharedBuffer.cpp: * platform/SharedBuffer.h: (WebCore::operator==): (WebCore::operator!=): Tools: * TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp: (TestWebKitAPI::TEST_F): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/SharedBuffer.cpp trunk/Source/WebCore/platform/SharedBuffer.h trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (236442 => 236443) --- trunk/Source/WebCore/ChangeLog 2018-09-24 23:38:31 UTC (rev 236442) +++ trunk/Source/WebCore/ChangeLog 2018-09-24 23:48:51 UTC (rev 236443) @@ -1,3 +1,17 @@ +2018-09-24 Jer Noble + +SharedBuffer should have an equality test +https://bugs.webkit.org/show_bug.cgi?id=189919 + +Reviewed by Alex Christensen. + +Test: TestWebKitAPI SharedBuffer.isEqualTo. + +* platform/SharedBuffer.cpp: +* platform/SharedBuffer.h: +(WebCore::operator==): +(WebCore::operator!=): + 2018-09-24 Ryosuke Niwa imported/w3c/web-platform-tests/shadow-dom/slotchange.html is a flaky failure Modified: trunk/Source/WebCore/platform/SharedBuffer.cpp (236442 => 236443) --- trunk/Source/WebCore/platform/SharedBuffer.cpp 2018-09-24 23:38:31 UTC (rev 236442) +++ trunk/Source/WebCore/platform/SharedBuffer.cpp 2018-09-24 23:48:51 UTC (rev 236443) @@ -222,6 +222,55 @@ } #endif +bool SharedBuffer::operator==(const SharedBuffer& other) const +{ +if (this == ) +return true; + +if (m_size != other.m_size) +return false; + +auto thisIterator = begin(); +size_t thisOffset = 0; +auto otherIterator = other.begin(); +size_t otherOffset = 0; + +while (thisIterator != end() && otherIterator != other.end()) { +auto& thisSegment = thisIterator->segment.get(); +auto& otherSegment = otherIterator->segment.get(); + +if ( == && !thisOffset && !otherOffset) { +++thisIterator; +++otherIterator; +continue; +} + +ASSERT(thisOffset < thisSegment.size()); +ASSERT(otherOffset < otherSegment.size()); + +size_t thisRemaining = thisSegment.size() - thisOffset; +size_t otherRemaining = otherSegment.size() - otherOffset; +size_t remaining = std::min(thisRemaining, otherRemaining); + +if (memcmp(thisSegment.data() + thisOffset, otherSegment.data() + otherOffset, remaining)) +return false; + +thisOffset += remaining; +otherOffset += remaining; + +if (thisOffset == thisSegment.size()) { +++thisIterator; +thisOffset = 0; +} + +if (otherOffset == otherSegment.size()) { +++otherIterator; +otherOffset = 0; +} +} +return true; +} + size_t SharedBuffer::DataSegment::size() const { auto visitor = WTF::makeVisitor( Modified: trunk/Source/WebCore/platform/SharedBuffer.h (236442 => 236443) --- trunk/Source/WebCore/platform/SharedBuffer.h 2018-09-24 23:38:31 UTC (rev 236442) +++ trunk/Source/WebCore/platform/SharedBuffer.h 2018-09-24 23:48:51 UTC (rev 236443) @@ -173,6 +173,9 @@ void hintMemoryNotNeededSoon() const; +bool operator==(const SharedBuffer&) const; +bool operator!=(const SharedBuffer& other) const { return !operator==(other); } + private: explicit SharedBuffer() = default; explicit SharedBuffer(const char*, size_t); @@ -202,6 +205,16 @@ #endif }; +inline bool operator==(const Ref& left, const SharedBuffer& right) +{ +return left.get() == right; +} + +inline bool operator!=(const Ref& left, const SharedBuffer& right) +{ +return left.get() != right; +} + class WEBCORE_EXPORT SharedBufferDataView { public: SharedBufferDataView(Ref&&, size_t); Modified: trunk/Tools/ChangeLog (236442 => 236443) --- trunk/Tools/ChangeLog 2018-09-24 23:38:31 UTC (rev 236442) +++ trunk/Tools/ChangeLog 2018-09-24 23:48:51 UTC (rev 236443) @@ -1,3 +1,13 @@ +2018-09-24 Jer Noble + +SharedBuffer should have an equality test +https://bugs.webkit.org/show_bug.cgi?id=189919 + +Reviewed by Alex Christensen. + +* TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp: +(TestWebKitAPI::TEST_F): + 2018-09-24 Alex Christensen Prepare to replace WKBundleFileHandleCreateWithPath with a version that takes a WKBundlePageRef Modified: trunk/Tools/TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp (236442 => 236443) --- trunk/Tools/TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp 2018-09-24 23:38:31 UTC (rev 236442) +++ trunk/Tools/TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp
[webkit-changes] [236442] trunk/LayoutTests
Title: [236442] trunk/LayoutTests Revision 236442 Author jlew...@apple.com Date 2018-09-24 16:38:31 -0700 (Mon, 24 Sep 2018) Log Message Skipped accessibility/mac/focus-setting-selection-syncronizing-not-clearing.html on High Sierra+. https://bugs.webkit.org/show_bug.cgi?id=189094 Unreviewed test gardening. * platform/mac-wk2/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/mac-wk2/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (236441 => 236442) --- trunk/LayoutTests/ChangeLog 2018-09-24 23:11:58 UTC (rev 236441) +++ trunk/LayoutTests/ChangeLog 2018-09-24 23:38:31 UTC (rev 236442) @@ -1,3 +1,12 @@ +2018-09-24 Matt Lewis + +Skipped accessibility/mac/focus-setting-selection-syncronizing-not-clearing.html on High Sierra+. +https://bugs.webkit.org/show_bug.cgi?id=189094 + +Unreviewed test gardening. + +* platform/mac-wk2/TestExpectations: + 2018-09-24 Ryosuke Niwa imported/w3c/web-platform-tests/shadow-dom/slotchange.html is a flaky failure Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (236441 => 236442) --- trunk/LayoutTests/platform/mac-wk2/TestExpectations 2018-09-24 23:11:58 UTC (rev 236441) +++ trunk/LayoutTests/platform/mac-wk2/TestExpectations 2018-09-24 23:38:31 UTC (rev 236442) @@ -877,3 +877,6 @@ imported/w3c/web-platform-tests/payment-request/user-accepts-payment-request-algo-manual.https.html [ Skip ] webkit.org/b/184204 [ Sierra ] http/wpt/cache-storage/cache-put-keys.https.any.worker.html [ Pass Failure ] + +webkit.org/b/189094 [ HighSierra+ ] accessibility/mac/focus-setting-selection-syncronizing-not-clearing.html [ Skip ] + ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [236440] trunk
Title: [236440] trunk Revision 236440 Author rn...@webkit.org Date 2018-09-24 16:11:36 -0700 (Mon, 24 Sep 2018) Log Message imported/w3c/web-platform-tests/shadow-dom/slotchange.html is a flaky failure https://bugs.webkit.org/show_bug.cgi?id=167652 Reviewed by Saam Barati. Source/WebCore: The bug appears to be caused by the JS wrappers of slot elements getting prematurely collected. Deployed GCReachableRef introduced in r236376 to fix the bug. Test: fast/shadow-dom/signal-slot-list-retains-js-wrappers.html * dom/MutationObserver.cpp: (WebCore::signalSlotList): (WebCore::MutationObserver::enqueueSlotChangeEvent): (WebCore::MutationObserver::notifyMutationObservers): LayoutTests: Added a regression test for signaling a lot of slot elements. * fast/shadow-dom/signal-slot-list-retains-js-wrappers-expected.txt: Added. * fast/shadow-dom/signal-slot-list-retains-js-wrappers.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/MutationObserver.cpp Added Paths trunk/LayoutTests/fast/shadow-dom/signal-slot-list-retains-js-wrappers-expected.txt trunk/LayoutTests/fast/shadow-dom/signal-slot-list-retains-js-wrappers.html Diff Modified: trunk/LayoutTests/ChangeLog (236439 => 236440) --- trunk/LayoutTests/ChangeLog 2018-09-24 23:10:01 UTC (rev 236439) +++ trunk/LayoutTests/ChangeLog 2018-09-24 23:11:36 UTC (rev 236440) @@ -1,5 +1,17 @@ 2018-09-24 Ryosuke Niwa +imported/w3c/web-platform-tests/shadow-dom/slotchange.html is a flaky failure +https://bugs.webkit.org/show_bug.cgi?id=167652 + +Reviewed by Saam Barati. + +Added a regression test for signaling a lot of slot elements. + +* fast/shadow-dom/signal-slot-list-retains-js-wrappers-expected.txt: Added. +* fast/shadow-dom/signal-slot-list-retains-js-wrappers.html: Added. + +2018-09-24 Ryosuke Niwa + Release assert when using paper-textarea due to autocorrect IDL attribute missing CEReactions https://bugs.webkit.org/show_bug.cgi?id=174629 Added: trunk/LayoutTests/fast/shadow-dom/signal-slot-list-retains-js-wrappers-expected.txt (0 => 236440) --- trunk/LayoutTests/fast/shadow-dom/signal-slot-list-retains-js-wrappers-expected.txt (rev 0) +++ trunk/LayoutTests/fast/shadow-dom/signal-slot-list-retains-js-wrappers-expected.txt 2018-09-24 23:11:36 UTC (rev 236440) @@ -0,0 +1,9 @@ +This tests signaling a slot change on lots of slot elements in a single microtask. +WebKit should retain the JS wrappers of those elements and fire the slotchange event. + +PASS +PASS +PASS +PASS +PASS + Added: trunk/LayoutTests/fast/shadow-dom/signal-slot-list-retains-js-wrappers.html (0 => 236440) --- trunk/LayoutTests/fast/shadow-dom/signal-slot-list-retains-js-wrappers.html (rev 0) +++ trunk/LayoutTests/fast/shadow-dom/signal-slot-list-retains-js-wrappers.html 2018-09-24 23:11:36 UTC (rev 236440) @@ -0,0 +1,54 @@ + + + +This tests signaling a slot change on lots of slot elements in a single microtask. +WebKit should retain the JS wrappers of those elements and fire the slotchange event. + + + +function triggerSlotChange(host, shadowRoot, slotchangeListener) { +shadowRoot.innerHTML = ''; +shadowRoot.querySelector('slot').addEventListener('slotchange', slotchangeListener); +host.innerHTML = 'hello'; +shadowRoot.innerHTML = ''; +host.innerHTML = ''; +} + +function runTest() { +let slotchangeCount = 0; +const iteration = window.GCController ? 5 : 500; +const host = document.createElement('div'); +const shadowRoot = host.attachShadow({mode: 'closed'}); +for (let i = 0; i < iteration; i++) { +triggerSlotChange(host, shadowRoot, () => slotchangeCount++); +if (window.GCController) +GCController.collect(); +else { +const x = new Array(100); +for (let j = 0; j < 100; j++) +x[j] = new Array; +} +} +return new Promise((resolve) => { +setTimeout(() => { +log.textContent += slotchangeCount === iteration ? 'PASS' : `FAIL - expected ${iteration} slotchange events but got ${slotchangeCount}`; +log.textContent += '\n'; +resolve(); +}, 0); +}); +} + +const promises = []; +const outerRuns = window.GCController ? 5 : 20; +for (let i = 0; i < outerRuns; i++) +promises[i] = runTest(); + +if (window.testRunner) { +testRunner.waitUntilDone(); +testRunner.dumpAsText(); +Promise.all(promises).then(() => testRunner.notifyDone()); +} + + + + Modified: trunk/Source/WebCore/ChangeLog (236439 => 236440) --- trunk/Source/WebCore/ChangeLog 2018-09-24 23:10:01 UTC (rev 236439) +++ trunk/Source/WebCore/ChangeLog 2018-09-24 23:11:36 UTC (rev 236440) @@ -1,5 +1,22 @@ 2018-09-24 Ryosuke Niwa +imported/w3c/web-platform-tests/shadow-dom/slotchange.html is a flaky failure +
[webkit-changes] [236441] trunk/Source/WebKit
Title: [236441] trunk/Source/WebKit Revision 236441 Author achristen...@apple.com Date 2018-09-24 16:11:58 -0700 (Mon, 24 Sep 2018) Log Message Build fix. https://bugs.webkit.org/show_bug.cgi?id=189929 * WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.h: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.h Diff Modified: trunk/Source/WebKit/ChangeLog (236440 => 236441) --- trunk/Source/WebKit/ChangeLog 2018-09-24 23:11:36 UTC (rev 236440) +++ trunk/Source/WebKit/ChangeLog 2018-09-24 23:11:58 UTC (rev 236441) @@ -1,5 +1,12 @@ 2018-09-24 Alex Christensen +Build fix. +https://bugs.webkit.org/show_bug.cgi?id=189929 + +* WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.h: + +2018-09-24 Alex Christensen + Prepare to replace WKBundleFileHandleCreateWithPath with a version that takes a WKBundlePageRef https://bugs.webkit.org/show_bug.cgi?id=189929 Modified: trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.h (236440 => 236441) --- trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.h 2018-09-24 23:11:36 UTC (rev 236440) +++ trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.h 2018-09-24 23:11:58 UTC (rev 236441) @@ -35,7 +35,7 @@ WK_EXPORT WKTypeID WKBundleFileHandleGetTypeID(); -WK_EXPORT WKBundleFileHandleRef WKBundleFileHandleCreateWithPath(WKStringRef path) WK_BUNDLE_API_DEPRECATED_WITH_REPLACEMENT(WKBundleFileHandleCreateWithPathForPage); +WK_EXPORT WKBundleFileHandleRef WKBundleFileHandleCreateWithPath(WKStringRef path) WK_C_API_DEPRECATED_WITH_REPLACEMENT(WKBundleFileHandleCreateWithPathForPage); WK_EXPORT WKBundleFileHandleRef WKBundleFileHandleCreateWithPathForPage(WKStringRef path, WKBundlePageRef page); #ifdef __cplusplus ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [236439] trunk
Title: [236439] trunk Revision 236439 Author rn...@webkit.org Date 2018-09-24 16:10:01 -0700 (Mon, 24 Sep 2018) Log Message Release assert when using paper-textarea due to autocorrect IDL attribute missing CEReactions https://bugs.webkit.org/show_bug.cgi?id=174629 Reviewed by Simon Fraser. Source/WebCore: The bug was caused by autocorrect and autocapitalize IDL attributes missing CEReactions. Test: fast/custom-elements/autocorrect-autocapitalize-idl-attributes-crash.html * html/HTMLElement.idl: LayoutTests: Added a regression test for mutating autocorrect and autocapitalize IDL attributes during connected callback. * fast/custom-elements/autocorrect-autocapitalize-idl-attributes-crash-expected.txt: Added. * fast/custom-elements/autocorrect-autocapitalize-idl-attributes-crash.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/HTMLElement.idl Added Paths trunk/LayoutTests/fast/custom-elements/autocorrect-autocapitalize-idl-attributes-crash-expected.txt trunk/LayoutTests/fast/custom-elements/autocorrect-autocapitalize-idl-attributes-crash.html Diff Modified: trunk/LayoutTests/ChangeLog (236438 => 236439) --- trunk/LayoutTests/ChangeLog 2018-09-24 23:08:51 UTC (rev 236438) +++ trunk/LayoutTests/ChangeLog 2018-09-24 23:10:01 UTC (rev 236439) @@ -1,3 +1,16 @@ +2018-09-24 Ryosuke Niwa + +Release assert when using paper-textarea due to autocorrect IDL attribute missing CEReactions +https://bugs.webkit.org/show_bug.cgi?id=174629 + + +Reviewed by Simon Fraser. + +Added a regression test for mutating autocorrect and autocapitalize IDL attributes during connected callback. + +* fast/custom-elements/autocorrect-autocapitalize-idl-attributes-crash-expected.txt: Added. +* fast/custom-elements/autocorrect-autocapitalize-idl-attributes-crash.html: Added. + 2018-09-24 Basuke Suzuki [Curl] Enable http/tests/misc tests. Added: trunk/LayoutTests/fast/custom-elements/autocorrect-autocapitalize-idl-attributes-crash-expected.txt (0 => 236439) --- trunk/LayoutTests/fast/custom-elements/autocorrect-autocapitalize-idl-attributes-crash-expected.txt (rev 0) +++ trunk/LayoutTests/fast/custom-elements/autocorrect-autocapitalize-idl-attributes-crash-expected.txt 2018-09-24 23:10:01 UTC (rev 236439) @@ -0,0 +1,5 @@ +This tests mutating autocorrect and autocapitalize IDL attributes inside a connected callback. +WebKit should not hit a release assertion. + +PASS + Added: trunk/LayoutTests/fast/custom-elements/autocorrect-autocapitalize-idl-attributes-crash.html (0 => 236439) --- trunk/LayoutTests/fast/custom-elements/autocorrect-autocapitalize-idl-attributes-crash.html (rev 0) +++ trunk/LayoutTests/fast/custom-elements/autocorrect-autocapitalize-idl-attributes-crash.html 2018-09-24 23:10:01 UTC (rev 236439) @@ -0,0 +1,23 @@ + + + +This tests mutating autocorrect and autocapitalize IDL attributes inside a connected callback. +WebKit should not hit a release assertion. +FAIL + + +if (window.testRunner) +testRunner.dumpAsText(); + +customElements.define('editor-element', class extends HTMLElement { +connectedCallback() { +this.autocorrect = true; +this.autocapitalize = true; +document.getElementById('result').textContent = 'PASS'; +} +}) + + + + + Modified: trunk/Source/WebCore/ChangeLog (236438 => 236439) --- trunk/Source/WebCore/ChangeLog 2018-09-24 23:08:51 UTC (rev 236438) +++ trunk/Source/WebCore/ChangeLog 2018-09-24 23:10:01 UTC (rev 236439) @@ -1,3 +1,17 @@ +2018-09-24 Ryosuke Niwa + +Release assert when using paper-textarea due to autocorrect IDL attribute missing CEReactions +https://bugs.webkit.org/show_bug.cgi?id=174629 + + +Reviewed by Simon Fraser. + +The bug was caused by autocorrect and autocapitalize IDL attributes missing CEReactions. + +Test: fast/custom-elements/autocorrect-autocapitalize-idl-attributes-crash.html + +* html/HTMLElement.idl: + 2018-09-24 Chris Dumez No-op document.open() calls should not have any side effects Modified: trunk/Source/WebCore/html/HTMLElement.idl (236438 => 236439) --- trunk/Source/WebCore/html/HTMLElement.idl 2018-09-24 23:08:51 UTC (rev 236438) +++ trunk/Source/WebCore/html/HTMLElement.idl 2018-09-24 23:10:01 UTC (rev 236439) @@ -62,8 +62,8 @@ [CEReactions] attribute [TreatNullAs=EmptyString] DOMString outerText; // iOS autocorrect / autocapitalization extensions. -[Conditional=IOS_AUTOCORRECT_AND_AUTOCAPITALIZE] attribute boolean autocorrect; -[Conditional=IOS_AUTOCORRECT_AND_AUTOCAPITALIZE] attribute [TreatNullAs=EmptyString] DOMString autocapitalize; +[Conditional=IOS_AUTOCORRECT_AND_AUTOCAPITALIZE, CEReactions] attribute boolean autocorrect; +[Conditional=IOS_AUTOCORRECT_AND_AUTOCAPITALIZE, CEReactions] attribute
[webkit-changes] [236438] trunk
Title: [236438] trunk Revision 236438 Author achristen...@apple.com Date 2018-09-24 16:08:51 -0700 (Mon, 24 Sep 2018) Log Message Prepare to replace WKBundleFileHandleCreateWithPath with a version that takes a WKBundlePageRef https://bugs.webkit.org/show_bug.cgi?id=189929 Reviewed by Andy Estes. Source/WebKit: This will be needed for rdar://problem/24576194 * WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.cpp: (WKBundleFileHandleCreateWithPathForPage): * WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.h: Tools: * TestWebKitAPI/Tests/WebKit/WKBundleFileHandle_Bundle.cpp: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.cpp trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.h trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKit/WKBundleFileHandle_Bundle.cpp Diff Modified: trunk/Source/WebKit/ChangeLog (236437 => 236438) --- trunk/Source/WebKit/ChangeLog 2018-09-24 23:05:54 UTC (rev 236437) +++ trunk/Source/WebKit/ChangeLog 2018-09-24 23:08:51 UTC (rev 236438) @@ -1,5 +1,18 @@ 2018-09-24 Alex Christensen +Prepare to replace WKBundleFileHandleCreateWithPath with a version that takes a WKBundlePageRef +https://bugs.webkit.org/show_bug.cgi?id=189929 + +Reviewed by Andy Estes. + +This will be needed for rdar://problem/24576194 + +* WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.cpp: +(WKBundleFileHandleCreateWithPathForPage): +* WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.h: + +2018-09-24 Alex Christensen + Begin deprecating C API https://bugs.webkit.org/show_bug.cgi?id=189810 Modified: trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.cpp (236437 => 236438) --- trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.cpp 2018-09-24 23:05:54 UTC (rev 236437) +++ trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.cpp 2018-09-24 23:08:51 UTC (rev 236438) @@ -41,3 +41,8 @@ { return toAPI(InjectedBundleFileHandle::create(toWTFString(pathRef)).leakRef()); } + +WKBundleFileHandleRef WKBundleFileHandleCreateWithPathForPage(WKStringRef pathRef, WKBundlePageRef) +{ +return toAPI(InjectedBundleFileHandle::create(toWTFString(pathRef)).leakRef()); +} Modified: trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.h (236437 => 236438) --- trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.h 2018-09-24 23:05:54 UTC (rev 236437) +++ trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.h 2018-09-24 23:08:51 UTC (rev 236438) @@ -27,6 +27,7 @@ #define WKBundleFileHandleRef_h #include +#include #ifdef __cplusplus extern "C" { @@ -34,7 +35,8 @@ WK_EXPORT WKTypeID WKBundleFileHandleGetTypeID(); -WK_EXPORT WKBundleFileHandleRef WKBundleFileHandleCreateWithPath(WKStringRef path); +WK_EXPORT WKBundleFileHandleRef WKBundleFileHandleCreateWithPath(WKStringRef path) WK_BUNDLE_API_DEPRECATED_WITH_REPLACEMENT(WKBundleFileHandleCreateWithPathForPage); +WK_EXPORT WKBundleFileHandleRef WKBundleFileHandleCreateWithPathForPage(WKStringRef path, WKBundlePageRef page); #ifdef __cplusplus } Modified: trunk/Tools/ChangeLog (236437 => 236438) --- trunk/Tools/ChangeLog 2018-09-24 23:05:54 UTC (rev 236437) +++ trunk/Tools/ChangeLog 2018-09-24 23:08:51 UTC (rev 236438) @@ -1,3 +1,12 @@ +2018-09-24 Alex Christensen + +Prepare to replace WKBundleFileHandleCreateWithPath with a version that takes a WKBundlePageRef +https://bugs.webkit.org/show_bug.cgi?id=189929 + +Reviewed by Andy Estes. + +* TestWebKitAPI/Tests/WebKit/WKBundleFileHandle_Bundle.cpp: + 2018-09-24 Thomas Denney [WHLSL] Casting user-created types to themselves should always work Modified: trunk/Tools/TestWebKitAPI/Tests/WebKit/WKBundleFileHandle_Bundle.cpp (236437 => 236438) --- trunk/Tools/TestWebKitAPI/Tests/WebKit/WKBundleFileHandle_Bundle.cpp 2018-09-24 23:05:54 UTC (rev 236437) +++ trunk/Tools/TestWebKitAPI/Tests/WebKit/WKBundleFileHandle_Bundle.cpp 2018-09-24 23:08:51 UTC (rev 236438) @@ -69,7 +69,7 @@ JSGlobalContextRef globalContext = WKBundleFrameGetJavaScriptContextForWorld(mainFrame, world); -auto fileHandle = adoptWK(WKBundleFileHandleCreateWithPath((WKStringRef)messageBody)); +auto fileHandle = adoptWK(WKBundleFileHandleCreateWithPathForPage((WKStringRef)messageBody, loadedPage)); JSValueRef jsFileHandle = WKBundleFrameGetJavaScriptWrapperForFileForWorld(mainFrame, fileHandle.get(), world); JSObjectRef globalObject = JSContextGetGlobalObject(globalContext); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [236437] trunk
Title: [236437] trunk Revision 236437 Author sbar...@apple.com Date 2018-09-24 16:05:54 -0700 (Mon, 24 Sep 2018) Log Message Array.prototype.indexOf fast path needs to ensure the length is still valid after performing effects https://bugs.webkit.org/show_bug.cgi?id=189922 Reviewed by Mark Lam. JSTests: * stress/array-indexof-fast-path-effects.js: Added. * stress/array-indexof-cached-length.js: Added. Source/_javascript_Core: The implementation was first getting the length to iterate up to, then getting the starting index. However, getting the starting index may perform effects. e.g, it could change the length of the array. This changes it so we verify the length is still valid. * runtime/ArrayPrototype.cpp: (JSC::arrayProtoFuncIndexOf): Modified Paths trunk/JSTests/ChangeLog trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp Added Paths trunk/JSTests/stress/array-indexof-cached-length.js trunk/JSTests/stress/array-indexof-fast-path-effects.js Diff Modified: trunk/JSTests/ChangeLog (236436 => 236437) --- trunk/JSTests/ChangeLog 2018-09-24 23:04:56 UTC (rev 236436) +++ trunk/JSTests/ChangeLog 2018-09-24 23:05:54 UTC (rev 236437) @@ -1,3 +1,14 @@ +2018-09-24 Saam Barati + +Array.prototype.indexOf fast path needs to ensure the length is still valid after performing effects +https://bugs.webkit.org/show_bug.cgi?id=189922 + + +Reviewed by Mark Lam. + +* stress/array-indexof-fast-path-effects.js: Added. +* stress/array-indexof-cached-length.js: Added. + 2018-09-24 Saam barati ArgumentsEliminationPhase should snip basic blocks after proven OSR exits Added: trunk/JSTests/stress/array-indexof-cached-length.js (0 => 236437) --- trunk/JSTests/stress/array-indexof-cached-length.js (rev 0) +++ trunk/JSTests/stress/array-indexof-cached-length.js 2018-09-24 23:05:54 UTC (rev 236437) @@ -0,0 +1,24 @@ +function assert(b) { +if (!b) +throw new Error; + +} + +const originalLength = 1; +let arr = new Proxy([], { +has(...args) { +assert(parseInt(args[1]) < originalLength); +assert(args[0].length - 10 === originalLength); +return Reflect.has(...args); +} +}); + +for (var i = 0; i < originalLength; i++) +arr[i] = []; + +arr.indexOf(new Object(), { +valueOf: function () { +arr.length += 10; +return 0; +} +}); Added: trunk/JSTests/stress/array-indexof-fast-path-effects.js (0 => 236437) --- trunk/JSTests/stress/array-indexof-fast-path-effects.js (rev 0) +++ trunk/JSTests/stress/array-indexof-fast-path-effects.js 2018-09-24 23:05:54 UTC (rev 236437) @@ -0,0 +1,11 @@ +// This shouldn't crash when running with ASAN. +let arr = []; +for (var i = 0; i < 100; i++) +arr[i] = []; + +arr.indexOf(new Object(), { +valueOf: function () { +arr.length = 0; +return 0; +} +}); Modified: trunk/Source/_javascript_Core/ChangeLog (236436 => 236437) --- trunk/Source/_javascript_Core/ChangeLog 2018-09-24 23:04:56 UTC (rev 236436) +++ trunk/Source/_javascript_Core/ChangeLog 2018-09-24 23:05:54 UTC (rev 236437) @@ -1,3 +1,19 @@ +2018-09-24 Saam Barati + +Array.prototype.indexOf fast path needs to ensure the length is still valid after performing effects +https://bugs.webkit.org/show_bug.cgi?id=189922 + + +Reviewed by Mark Lam. + +The implementation was first getting the length to iterate up to, +then getting the starting index. However, getting the starting +index may perform effects. e.g, it could change the length of the +array. This changes it so we verify the length is still valid. + +* runtime/ArrayPrototype.cpp: +(JSC::arrayProtoFuncIndexOf): + 2018-09-24 Tadeu Zagallo offlineasm: fix macro scoping Modified: trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp (236436 => 236437) --- trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp 2018-09-24 23:04:56 UTC (rev 236436) +++ trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp 2018-09-24 23:05:54 UTC (rev 236437) @@ -1169,7 +1169,9 @@ if (isJSArray(thisObject)) { JSArray* array = asArray(thisObject); -if (array->canDoFastIndexedAccess(vm)) { +bool canDoFastPath = array->canDoFastIndexedAccess(vm) +&& array->getArrayLength() == length; // The effects in getting `index` could have changed the length of this array. +if (canDoFastPath) { switch (array->indexingType()) { case ALL_INT32_INDEXING_TYPES: { if (!searchElement.isNumber()) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [236436] trunk/Source/WebKit
Title: [236436] trunk/Source/WebKit Revision 236436 Author achristen...@apple.com Date 2018-09-24 16:04:56 -0700 (Mon, 24 Sep 2018) Log Message Begin deprecating C API https://bugs.webkit.org/show_bug.cgi?id=189810 Reviewed by Andy Estes. * Shared/API/c/WKDeprecated.h: Added. * UIProcess/API/C/WKPage.h: * UIProcess/API/Cocoa/WKBrowsingContextController.mm: (setUpPagePolicyClient): (-[WKBrowsingContextController setPolicyDelegate:]): * WebKit.xcodeproj/project.pbxproj: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/API/C/WKPage.h trunk/Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj Added Paths trunk/Source/WebKit/Shared/API/c/WKDeprecated.h Diff Modified: trunk/Source/WebKit/ChangeLog (236435 => 236436) --- trunk/Source/WebKit/ChangeLog 2018-09-24 23:04:06 UTC (rev 236435) +++ trunk/Source/WebKit/ChangeLog 2018-09-24 23:04:56 UTC (rev 236436) @@ -1,3 +1,17 @@ +2018-09-24 Alex Christensen + +Begin deprecating C API +https://bugs.webkit.org/show_bug.cgi?id=189810 + +Reviewed by Andy Estes. + +* Shared/API/c/WKDeprecated.h: Added. +* UIProcess/API/C/WKPage.h: +* UIProcess/API/Cocoa/WKBrowsingContextController.mm: +(setUpPagePolicyClient): +(-[WKBrowsingContextController setPolicyDelegate:]): +* WebKit.xcodeproj/project.pbxproj: + 2018-09-24 Chris Dumez Unreviewed, rolling out r236368. Added: trunk/Source/WebKit/Shared/API/c/WKDeprecated.h (0 => 236436) --- trunk/Source/WebKit/Shared/API/c/WKDeprecated.h (rev 0) +++ trunk/Source/WebKit/Shared/API/c/WKDeprecated.h 2018-09-24 23:04:56 UTC (rev 236436) @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2018 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + *notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + *notice, this list of conditions and the following disclaimer in the + *documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ + +#pragma once + +#ifdef _MSC_VER +#define WK_C_API_DEPRECATED_WITH_REPLACEMENT(...) +#else +#define WK_C_API_DEPRECATED_WITH_REPLACEMENT(_replacement, ...) __attribute__((deprecated("use " #_replacement))) +#endif Modified: trunk/Source/WebKit/UIProcess/API/C/WKPage.h (236435 => 236436) --- trunk/Source/WebKit/UIProcess/API/C/WKPage.h 2018-09-24 23:04:06 UTC (rev 236435) +++ trunk/Source/WebKit/UIProcess/API/C/WKPage.h 2018-09-24 23:04:56 UTC (rev 236436) @@ -27,6 +27,7 @@ #define WKPage_h #include +#include #include #include #include @@ -224,8 +225,8 @@ WK_EXPORT void WKPageSetPageInjectedBundleClient(WKPageRef page, const WKPageInjectedBundleClientBase* client); // A client can implement either a navigation client or loader and policy clients, but never both. -WK_EXPORT void WKPageSetPageLoaderClient(WKPageRef page, const WKPageLoaderClientBase* client); -WK_EXPORT void WKPageSetPagePolicyClient(WKPageRef page, const WKPagePolicyClientBase* client); +WK_EXPORT void WKPageSetPageLoaderClient(WKPageRef page, const WKPageLoaderClientBase* client) WK_C_API_DEPRECATED_WITH_REPLACEMENT(WKPageSetPageNavigationClient, macosx(WK_MAC_TBA)); +WK_EXPORT void WKPageSetPagePolicyClient(WKPageRef page, const WKPagePolicyClientBase* client) WK_C_API_DEPRECATED_WITH_REPLACEMENT(WKPageSetPageNavigationClient, macosx(WK_MAC_TBA)); WK_EXPORT void WKPageSetPageNavigationClient(WKPageRef page, const WKPageNavigationClientBase* client); typedef void (*WKPageRunJavaScriptFunction)(WKSerializedScriptValueRef, WKErrorRef, void*); Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm (236435 => 236436) --- trunk/Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm 2018-09-24 23:04:06 UTC (rev 236435) +++
[webkit-changes] [236435] trunk/Tools
Title: [236435] trunk/Tools Revision 236435 Author commit-qu...@webkit.org Date 2018-09-24 16:04:06 -0700 (Mon, 24 Sep 2018) Log Message [WHLSL] Casting user-created types to themselves should always work https://bugs.webkit.org/show_bug.cgi?id=189113 Patch by Thomas Denney on 2018-09-24 Reviewed by Myles C. Maxfield. Casting user-defined types to themselves worked already, but we didn't test it anywhere. * WebGPUShadingLanguageRI/Test.js: (tests.selfCasts): Modified Paths trunk/Tools/ChangeLog trunk/Tools/WebGPUShadingLanguageRI/Test.js Diff Modified: trunk/Tools/ChangeLog (236434 => 236435) --- trunk/Tools/ChangeLog 2018-09-24 22:59:23 UTC (rev 236434) +++ trunk/Tools/ChangeLog 2018-09-24 23:04:06 UTC (rev 236435) @@ -1,3 +1,16 @@ +2018-09-24 Thomas Denney + +[WHLSL] Casting user-created types to themselves should always work +https://bugs.webkit.org/show_bug.cgi?id=189113 + +Reviewed by Myles C. Maxfield. + +Casting user-defined types to themselves worked already, but we didn't +test it anywhere. + +* WebGPUShadingLanguageRI/Test.js: +(tests.selfCasts): + 2018-09-24 Zan Dobersek Unreviewed build fix for Jhbuild-using ports. Modified: trunk/Tools/WebGPUShadingLanguageRI/Test.js (236434 => 236435) --- trunk/Tools/WebGPUShadingLanguageRI/Test.js 2018-09-24 22:59:23 UTC (rev 236434) +++ trunk/Tools/WebGPUShadingLanguageRI/Test.js 2018-09-24 23:04:06 UTC (rev 236435) @@ -6505,6 +6505,24 @@ (e) => e instanceof WTrapError); } +tests.selfCasts = function() +{ +let program = doPrep(` +struct Foo { +int x; +} +test int foo() +{ +Foo foo; +foo.x = 21; +Foo bar = Foo(foo); +bar.x = 42; +return foo.x + bar.x; +} +`); +checkInt(program, callFunction(program, "foo", []), 21 + 42); +} + tests.pointerToMember = function() { checkFail( ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [236434] trunk/Source/JavaScriptCore
Title: [236434] trunk/Source/_javascript_Core Revision 236434 Author tzaga...@apple.com Date 2018-09-24 15:59:23 -0700 (Mon, 24 Sep 2018) Log Message offlineasm: fix macro scoping https://bugs.webkit.org/show_bug.cgi?id=189902 Reviewed by Mark Lam. In the code below, the reference to `f` in `g`, which should refer to the outer macro definition will instead refer to the f argument of the anonymous macro passed to `g`. That leads to this code failing to compile (f expected 0 args but got 1). ``` macro f(x) move x, t0 end macro g(fn) fn(macro () f(42) end) end g(macro(f) f() end) ``` * offlineasm/ast.rb: * offlineasm/transform.rb: Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/offlineasm/ast.rb trunk/Source/_javascript_Core/offlineasm/transform.rb Diff Modified: trunk/Source/_javascript_Core/ChangeLog (236433 => 236434) --- trunk/Source/_javascript_Core/ChangeLog 2018-09-24 22:55:56 UTC (rev 236433) +++ trunk/Source/_javascript_Core/ChangeLog 2018-09-24 22:59:23 UTC (rev 236434) @@ -1,5 +1,32 @@ 2018-09-24 Tadeu Zagallo +offlineasm: fix macro scoping +https://bugs.webkit.org/show_bug.cgi?id=189902 + +Reviewed by Mark Lam. + +In the code below, the reference to `f` in `g`, which should refer to +the outer macro definition will instead refer to the f argument of the +anonymous macro passed to `g`. That leads to this code failing to +compile (f expected 0 args but got 1). + +``` +macro f(x) +move x, t0 +end + +macro g(fn) +fn(macro () f(42) end) +end + +g(macro(f) f() end) +``` + +* offlineasm/ast.rb: +* offlineasm/transform.rb: + +2018-09-24 Tadeu Zagallo + Add forEach method for iterating CodeBlock's ValueProfiles https://bugs.webkit.org/show_bug.cgi?id=189897 Modified: trunk/Source/_javascript_Core/offlineasm/ast.rb (236433 => 236434) --- trunk/Source/_javascript_Core/offlineasm/ast.rb 2018-09-24 22:55:56 UTC (rev 236433) +++ trunk/Source/_javascript_Core/offlineasm/ast.rb 2018-09-24 22:59:23 UTC (rev 236434) @@ -727,26 +727,31 @@ class Variable < NoChildren attr_reader :name -def initialize(codeOrigin, name) +def initialize(codeOrigin, name, originalName = nil) super(codeOrigin) @name = name +@originalName = originalName end @@mapping = {} -def self.forName(codeOrigin, name) +def self.forName(codeOrigin, name, originalName = nil) unless @@mapping[name] -@@mapping[name] = Variable.new(codeOrigin, name) +@@mapping[name] = Variable.new(codeOrigin, name, originalName) end @@mapping[name] end + +def originalName +@originalName || name +end def dump -name +originalName end def inspect -"" +"" end end @@ -1455,7 +1460,7 @@ class MacroCall < Node attr_reader :name, :operands, :annotation -def initialize(codeOrigin, name, operands, annotation) +def initialize(codeOrigin, name, operands, annotation, originalName = nil) super(codeOrigin) @name = name @operands = operands @@ -1462,7 +1467,12 @@ raise unless @operands @operands.each{|v| raise unless v} @annotation = annotation +@originalName = originalName end + +def originalName +@originalName || name +end def children @operands @@ -1469,11 +1479,11 @@ end def mapChildren() -MacroCall.new(codeOrigin, @name, @operands.map(), @annotation) +MacroCall.new(codeOrigin, @name, @operands.map(), @annotation, @originalName) end def dump -"\t#{name}(" + operands.collect{|v| v.dump}.join(", ") + ")" +"\t#{originalName}(" + operands.collect{|v| v.dump}.join(", ") + ")" end end Modified: trunk/Source/_javascript_Core/offlineasm/transform.rb (236433 => 236434) --- trunk/Source/_javascript_Core/offlineasm/transform.rb 2018-09-24 22:55:56 UTC (rev 236433) +++ trunk/Source/_javascript_Core/offlineasm/transform.rb 2018-09-24 22:59:23 UTC (rev 236434) @@ -134,7 +134,20 @@ end end +$uniqueMacroVarID = 0 class Macro +def capture +mapping = {} +newVars = [] +variables.each do |var| +$uniqueMacroVarID += 1 +newVar = Variable.forName(var.codeOrigin, "_var#{$uniqueMacroVarID}", var.originalName) +newVars << newVar +mapping[var] = newVar +end +Macro.new(codeOrigin, name, newVars, body.substitute(mapping)) +end + def substitute(mapping) myMapping = {} mapping.each_pair { @@ -150,6 +163,17 @@ end end +class MacroCall +def substitute(mapping) +newName =
[webkit-changes] [236433] trunk
Title: [236433] trunk Revision 236433 Author cdu...@apple.com Date 2018-09-24 15:55:56 -0700 (Mon, 24 Sep 2018) Log Message No-op document.open() calls should not have any side effects https://bugs.webkit.org/show_bug.cgi?id=189373 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: Rebaseline WPT test now that it is passing. * web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-synchronous-script.window-expected.txt: Source/WebCore: Update document.open() implementation to match the specification [1] more closely. In particular, URLs updates should happen much later, at step 11. They were happening too early and would cause side effects when returning early. [1] https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#document-open-steps No new tests, rebaselined existing test. * dom/Document.cpp: (WebCore::Document::open): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-synchronous-script.window-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/Document.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (236432 => 236433) --- trunk/LayoutTests/imported/w3c/ChangeLog 2018-09-24 22:47:35 UTC (rev 236432) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2018-09-24 22:55:56 UTC (rev 236433) @@ -1,5 +1,17 @@ 2018-09-24 Chris Dumez +No-op document.open() calls should not have any side effects +https://bugs.webkit.org/show_bug.cgi?id=189373 + + +Reviewed by Geoffrey Garen. + +Rebaseline WPT test now that it is passing. + +* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-synchronous-script.window-expected.txt: + +2018-09-24 Chris Dumez + Import html/webappapis/dynamic-markup-insertion WPT tests https://bugs.webkit.org/show_bug.cgi?id=189863 Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-synchronous-script.window-expected.txt (236432 => 236433) --- trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-synchronous-script.window-expected.txt 2018-09-24 22:47:35 UTC (rev 236432) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-synchronous-script.window-expected.txt 2018-09-24 22:55:56 UTC (rev 236433) @@ -1,3 +1,3 @@ -FAIL document.open bailout should not have any side effects (active parser whose script nesting level is greater than 0) assert_equals: The original URL should be kept (active parser whose script nesting level is greater than 0) expected "http://localhost:8800/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/bailout-order-synchronous-script-frame.html" but got "http://localhost:8800/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-synchronous-script.window.html" +PASS document.open bailout should not have any side effects (active parser whose script nesting level is greater than 0) Modified: trunk/Source/WebCore/ChangeLog (236432 => 236433) --- trunk/Source/WebCore/ChangeLog 2018-09-24 22:47:35 UTC (rev 236432) +++ trunk/Source/WebCore/ChangeLog 2018-09-24 22:55:56 UTC (rev 236433) @@ -1,3 +1,22 @@ +2018-09-24 Chris Dumez + +No-op document.open() calls should not have any side effects +https://bugs.webkit.org/show_bug.cgi?id=189373 + + +Reviewed by Geoffrey Garen. + +Update document.open() implementation to match the specification [1] more closely. +In particular, URLs updates should happen much later, at step 11. They were happening +too early and would cause side effects when returning early. + +[1] https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#document-open-steps + +No new tests, rebaselined existing test. + +* dom/Document.cpp: +(WebCore::Document::open): + 2018-09-24 Daniel Bates Include more headers in IOSurface.mm, PixelBufferResizer.{h, mm} Modified: trunk/Source/WebCore/dom/Document.cpp (236432 => 236433) --- trunk/Source/WebCore/dom/Document.cpp 2018-09-24 22:47:35 UTC (rev 236432) +++ trunk/Source/WebCore/dom/Document.cpp 2018-09-24 22:55:56 UTC (rev 236433) @@ -2676,12 +2676,6 @@ if (m_ignoreOpensDuringUnloadCount) return; -if (responsibleDocument) { -setURL(responsibleDocument->url()); -setCookieURL(responsibleDocument->cookieURL()); -setSecurityOriginPolicy(responsibleDocument->securityOriginPolicy()); -} - if (m_frame) { if (ScriptableDocumentParser* parser =
[webkit-changes] [236432] trunk/Source/WebCore
Title: [236432] trunk/Source/WebCore Revision 236432 Author dba...@webkit.org Date 2018-09-24 15:47:35 -0700 (Mon, 24 Sep 2018) Log Message Include more headers in IOSurface.mm, PixelBufferResizer.{h, mm} https://bugs.webkit.org/show_bug.cgi?id=189928 Reviewed by Andy Estes. Make building IOSurface.mm and PixelBufferResizer.mm deterministic regardless of which bundle of unified sources they are built in. * platform/graphics/cocoa/IOSurface.mm: Include headers HostWindow.h and PlatformScreen.h since we make use of functionality from these headers. * platform/graphics/cv/PixelBufferResizer.h: Include header IntSize.h since we need the size of an IntSize for m_size. * platform/graphics/cv/PixelBufferResizer.mm: Include header Logging.h since this file makes use of logging facilities. Also substitute #import for #include while I am here since this file is an Objective-C++ file. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.mm trunk/Source/WebCore/platform/graphics/cv/PixelBufferResizer.h trunk/Source/WebCore/platform/graphics/cv/PixelBufferResizer.mm Diff Modified: trunk/Source/WebCore/ChangeLog (236431 => 236432) --- trunk/Source/WebCore/ChangeLog 2018-09-24 22:40:43 UTC (rev 236431) +++ trunk/Source/WebCore/ChangeLog 2018-09-24 22:47:35 UTC (rev 236432) @@ -1,3 +1,21 @@ +2018-09-24 Daniel Bates + +Include more headers in IOSurface.mm, PixelBufferResizer.{h, mm} +https://bugs.webkit.org/show_bug.cgi?id=189928 + +Reviewed by Andy Estes. + +Make building IOSurface.mm and PixelBufferResizer.mm deterministic regardless of +which bundle of unified sources they are built in. + +* platform/graphics/cocoa/IOSurface.mm: Include headers HostWindow.h and PlatformScreen.h +since we make use of functionality from these headers. +* platform/graphics/cv/PixelBufferResizer.h: Include header IntSize.h since +we need the size of an IntSize for m_size. +* platform/graphics/cv/PixelBufferResizer.mm: Include header Logging.h since +this file makes use of logging facilities. Also substitute #import for #include +while I am here since this file is an Objective-C++ file. + 2018-09-24 Andy Estes [Payment Request] Events cleanup Modified: trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.mm (236431 => 236432) --- trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.mm 2018-09-24 22:40:43 UTC (rev 236431) +++ trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.mm 2018-09-24 22:47:35 UTC (rev 236432) @@ -30,10 +30,12 @@ #import "GraphicsContext3D.h" #import "GraphicsContextCG.h" +#import "HostWindow.h" #import "IOSurfacePool.h" #import "ImageBuffer.h" #import "ImageBufferDataCG.h" #import "Logging.h" +#import "PlatformScreen.h" #import #import #import Modified: trunk/Source/WebCore/platform/graphics/cv/PixelBufferResizer.h (236431 => 236432) --- trunk/Source/WebCore/platform/graphics/cv/PixelBufferResizer.h 2018-09-24 22:40:43 UTC (rev 236431) +++ trunk/Source/WebCore/platform/graphics/cv/PixelBufferResizer.h 2018-09-24 22:47:35 UTC (rev 236432) @@ -27,6 +27,7 @@ #if USE(VIDEOTOOLBOX) +#include "IntSize.h" #include typedef struct OpaqueVTPixelTransferSession* VTPixelTransferSessionRef; Modified: trunk/Source/WebCore/platform/graphics/cv/PixelBufferResizer.mm (236431 => 236432) --- trunk/Source/WebCore/platform/graphics/cv/PixelBufferResizer.mm 2018-09-24 22:40:43 UTC (rev 236431) +++ trunk/Source/WebCore/platform/graphics/cv/PixelBufferResizer.mm 2018-09-24 22:47:35 UTC (rev 236432) @@ -23,15 +23,16 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ -#include "config.h" -#include "PixelBufferResizer.h" +#import "config.h" +#import "PixelBufferResizer.h" #if USE(VIDEOTOOLBOX) -#include +#import "Logging.h" +#import -#include "CoreVideoSoftLink.h" -#include "VideoToolboxSoftLink.h" +#import "CoreVideoSoftLink.h" +#import "VideoToolboxSoftLink.h" namespace WebCore { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [236430] trunk/Source/JavaScriptCore
Title: [236430] trunk/Source/_javascript_Core Revision 236430 Author tzaga...@apple.com Date 2018-09-24 15:03:34 -0700 (Mon, 24 Sep 2018) Log Message Add forEach method for iterating CodeBlock's ValueProfiles https://bugs.webkit.org/show_bug.cgi?id=189897 Reviewed by Mark Lam. Add method to abstract how we find ValueProfiles in a CodeBlock in preparation for https://bugs.webkit.org/show_bug.cgi?id=189785, when ValueProfiles will be stored in the MetadataTable. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::updateAllPredictionsAndCountLiveness): (JSC::CodeBlock::updateAllValueProfilePredictions): (JSC::CodeBlock::shouldOptimizeNow): (JSC::CodeBlock::dumpValueProfiles): * bytecode/CodeBlock.h: (JSC::CodeBlock::forEachValueProfile): (JSC::CodeBlock::numberOfArgumentValueProfiles): (JSC::CodeBlock::valueProfileForArgument): (JSC::CodeBlock::numberOfValueProfiles): (JSC::CodeBlock::valueProfile): (JSC::CodeBlock::totalNumberOfValueProfiles): Deleted. (JSC::CodeBlock::getFromAllValueProfiles): Deleted. * tools/HeapVerifier.cpp: (JSC::HeapVerifier::validateJSCell): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp trunk/Source/_javascript_Core/bytecode/CodeBlock.h trunk/Source/_javascript_Core/tools/HeapVerifier.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (236429 => 236430) --- trunk/Source/_javascript_Core/ChangeLog 2018-09-24 21:48:13 UTC (rev 236429) +++ trunk/Source/_javascript_Core/ChangeLog 2018-09-24 22:03:34 UTC (rev 236430) @@ -1,3 +1,30 @@ +2018-09-24 Tadeu Zagallo + +Add forEach method for iterating CodeBlock's ValueProfiles +https://bugs.webkit.org/show_bug.cgi?id=189897 + +Reviewed by Mark Lam. + +Add method to abstract how we find ValueProfiles in a CodeBlock in +preparation for https://bugs.webkit.org/show_bug.cgi?id=189785, when +ValueProfiles will be stored in the MetadataTable. + +* bytecode/CodeBlock.cpp: +(JSC::CodeBlock::updateAllPredictionsAndCountLiveness): +(JSC::CodeBlock::updateAllValueProfilePredictions): +(JSC::CodeBlock::shouldOptimizeNow): +(JSC::CodeBlock::dumpValueProfiles): +* bytecode/CodeBlock.h: +(JSC::CodeBlock::forEachValueProfile): +(JSC::CodeBlock::numberOfArgumentValueProfiles): +(JSC::CodeBlock::valueProfileForArgument): +(JSC::CodeBlock::numberOfValueProfiles): +(JSC::CodeBlock::valueProfile): +(JSC::CodeBlock::totalNumberOfValueProfiles): Deleted. +(JSC::CodeBlock::getFromAllValueProfiles): Deleted. +* tools/HeapVerifier.cpp: +(JSC::HeapVerifier::validateJSCell): + 2018-09-24 Saam barati ArgumentsEliminationPhase should snip basic blocks after proven OSR exits Modified: trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp (236429 => 236430) --- trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp 2018-09-24 21:48:13 UTC (rev 236429) +++ trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp 2018-09-24 22:03:34 UTC (rev 236430) @@ -2575,8 +2575,7 @@ numberOfLiveNonArgumentValueProfiles = 0; numberOfSamplesInProfiles = 0; // If this divided by ValueProfile::numberOfBuckets equals numberOfValueProfiles() then value profiles are full. -for (unsigned i = 0; i < totalNumberOfValueProfiles(); ++i) { -ValueProfile& profile = "" +forEachValueProfile([&](ValueProfile& profile) { unsigned numSamples = profile.totalNumberOfSamples(); if (numSamples > ValueProfile::numberOfBuckets) numSamples = ValueProfile::numberOfBuckets; // We don't want profiles that are extremely hot to be given more weight. @@ -2583,12 +2582,12 @@ numberOfSamplesInProfiles += numSamples; if (profile.m_bytecodeOffset < 0) { profile.computeUpdatedPrediction(locker); -continue; +return; } if (profile.numberOfSamples() || profile.m_prediction != SpecNone) numberOfLiveNonArgumentValueProfiles++; profile.computeUpdatedPrediction(locker); -} +}); for (auto& profileBucket : m_catchProfiles) { profileBucket->forEach([&] (ValueProfileAndOperand& profile) { @@ -2642,13 +2641,13 @@ if (Options::verboseOSR()) { dataLogF( "Profile hotness: %lf (%u / %u), %lf (%u / %u)\n", -(double)numberOfLiveNonArgumentValueProfiles / numberOfValueProfiles(), -numberOfLiveNonArgumentValueProfiles, numberOfValueProfiles(), -(double)numberOfSamplesInProfiles / ValueProfile::numberOfBuckets / numberOfValueProfiles(), -numberOfSamplesInProfiles, ValueProfile::numberOfBuckets * numberOfValueProfiles()); +(double)numberOfLiveNonArgumentValueProfiles / numberOfNonArgumentValueProfiles(), +numberOfLiveNonArgumentValueProfiles, numberOfNonArgumentValueProfiles(), +
[webkit-changes] [236429] trunk/Source/WebCore
Title: [236429] trunk/Source/WebCore Revision 236429 Author aes...@apple.com Date 2018-09-24 14:48:13 -0700 (Mon, 24 Sep 2018) Log Message [Payment Request] Events cleanup https://bugs.webkit.org/show_bug.cgi?id=189925 Reviewed by Simon Fraser. 1. Constructed MerchantValidationEvents (and ApplePayValidateMerchantEvents) with rvalue references to validationURLs. 2. Instead of MerchantValidationEvent and PaymentRequestUpdateEvent having a RefPtr, downcasted their target to a PaymentRequest. Trusted versions of these events are always dispatched to a PaymentRequest object. 3. Defined MerchantValidationEventInit in MerchantValidationEvent.idl instead of having a separate .idl and .h for this dictionary. No new tests. No change in behavior. * CMakeLists.txt: * DerivedSources.make: * Modules/applepay/ApplePaySession.cpp: (WebCore::ApplePaySession::validateMerchant): * Modules/applepay/ApplePaySession.h: * Modules/applepay/ApplePayValidateMerchantEvent.cpp: (WebCore::ApplePayValidateMerchantEvent::ApplePayValidateMerchantEvent): * Modules/applepay/ApplePayValidateMerchantEvent.h: (WebCore::ApplePayValidateMerchantEvent::create): * Modules/applepay/PaymentCoordinator.cpp: (WebCore::PaymentCoordinator::validateMerchant): * Modules/applepay/PaymentCoordinator.h: * Modules/applepay/PaymentSession.h: * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::validateMerchant): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.h: * Modules/paymentrequest/MerchantValidationEvent.cpp: (WebCore::MerchantValidationEvent::create): (WebCore::MerchantValidationEvent::MerchantValidationEvent): (WebCore::MerchantValidationEvent::complete): * Modules/paymentrequest/MerchantValidationEvent.h: * Modules/paymentrequest/MerchantValidationEvent.idl: * Modules/paymentrequest/MerchantValidationEventInit.h: Removed. * Modules/paymentrequest/MerchantValidationEventInit.idl: Removed. * Modules/paymentrequest/PaymentMethodChangeEvent.cpp: (WebCore::PaymentMethodChangeEvent::PaymentMethodChangeEvent): * Modules/paymentrequest/PaymentMethodChangeEvent.h: * Modules/paymentrequest/PaymentRequest.cpp: (WebCore::PaymentRequest::shippingAddressChanged): (WebCore::PaymentRequest::shippingOptionChanged): (WebCore::PaymentRequest::paymentMethodChanged): * Modules/paymentrequest/PaymentRequest.h: (isType): * Modules/paymentrequest/PaymentRequestUpdateEvent.cpp: (WebCore::PaymentRequestUpdateEvent::PaymentRequestUpdateEvent): (WebCore::PaymentRequestUpdateEvent::updateWith): * Modules/paymentrequest/PaymentRequestUpdateEvent.h: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * dom/EventTarget.cpp: (WebCore::EventTarget::isPaymentRequest const): * dom/EventTarget.h: Modified Paths trunk/Source/WebCore/CMakeLists.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/DerivedSources.make trunk/Source/WebCore/Modules/applepay/ApplePaySession.cpp trunk/Source/WebCore/Modules/applepay/ApplePaySession.h trunk/Source/WebCore/Modules/applepay/ApplePayValidateMerchantEvent.cpp trunk/Source/WebCore/Modules/applepay/ApplePayValidateMerchantEvent.h trunk/Source/WebCore/Modules/applepay/PaymentCoordinator.cpp trunk/Source/WebCore/Modules/applepay/PaymentCoordinator.h trunk/Source/WebCore/Modules/applepay/PaymentSession.h trunk/Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp trunk/Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.h trunk/Source/WebCore/Modules/paymentrequest/MerchantValidationEvent.cpp trunk/Source/WebCore/Modules/paymentrequest/MerchantValidationEvent.h trunk/Source/WebCore/Modules/paymentrequest/MerchantValidationEvent.idl trunk/Source/WebCore/Modules/paymentrequest/PaymentMethodChangeEvent.cpp trunk/Source/WebCore/Modules/paymentrequest/PaymentMethodChangeEvent.h trunk/Source/WebCore/Modules/paymentrequest/PaymentRequest.cpp trunk/Source/WebCore/Modules/paymentrequest/PaymentRequest.h trunk/Source/WebCore/Modules/paymentrequest/PaymentRequestUpdateEvent.cpp trunk/Source/WebCore/Modules/paymentrequest/PaymentRequestUpdateEvent.h trunk/Source/WebCore/Sources.txt trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebCore/dom/EventTarget.cpp trunk/Source/WebCore/dom/EventTarget.h Removed Paths trunk/Source/WebCore/Modules/paymentrequest/MerchantValidationEventInit.h trunk/Source/WebCore/Modules/paymentrequest/MerchantValidationEventInit.idl Diff Modified: trunk/Source/WebCore/CMakeLists.txt (236428 => 236429) --- trunk/Source/WebCore/CMakeLists.txt 2018-09-24 20:49:25 UTC (rev 236428) +++ trunk/Source/WebCore/CMakeLists.txt 2018-09-24 21:48:13 UTC (rev 236429) @@ -346,7 +346,6 @@ Modules/paymentrequest/AddressErrors.idl Modules/paymentrequest/MerchantValidationEvent.idl -Modules/paymentrequest/MerchantValidationEventInit.idl Modules/paymentrequest/PayerErrorFields.idl Modules/paymentrequest/PaymentAddress.idl Modules/paymentrequest/PaymentComplete.idl Modified:
[webkit-changes] [236428] trunk/LayoutTests
Title: [236428] trunk/LayoutTests Revision 236428 Author simon.fra...@apple.com Date 2018-09-24 13:49:25 -0700 (Mon, 24 Sep 2018) Log Message Update some test results under compositing/overflow https://bugs.webkit.org/show_bug.cgi?id=189857 Reviewed by Tim Horton. Unskip some tests under compositing/overflow, and land new macOS and iOS expectations. * compositing/overflow/overflow-auto-with-touch-expected.txt: * compositing/overflow/overflow-overlay-with-touch-expected.txt: * compositing/overflow/scrolling-content-clip-to-viewport-expected.txt: * compositing/overflow/scrolling-without-painting-expected.txt: * compositing/overflow/textarea-scroll-touch-expected.txt: * compositing/overflow/updating-scrolling-content-expected.txt: * platform/ios-simulator-wk2/TestExpectations: * platform/ios/TestExpectations: * platform/ios/compositing/overflow/nested-scrolling-expected.txt: * platform/ios/compositing/overflow/overflow-auto-with-touch-expected.txt: Copied from LayoutTests/compositing/overflow/overflow-auto-with-touch-expected.txt. * platform/ios/compositing/overflow/overflow-auto-with-touch-toggle-expected.txt: Copied from LayoutTests/compositing/overflow/overflow-auto-with-touch-expected.txt. * platform/ios/compositing/overflow/overflow-overlay-with-touch-expected.txt: Copied from LayoutTests/compositing/overflow/overflow-overlay-with-touch-expected.txt. * platform/ios/compositing/overflow/scrolling-content-clip-to-viewport-expected.txt: Copied from LayoutTests/compositing/overflow/scrolling-content-clip-to-viewport-expected.txt. * platform/ios/compositing/overflow/scrolling-without-painting-expected.txt: Copied from LayoutTests/compositing/overflow/scrolling-without-painting-expected.txt. * platform/ios/compositing/overflow/textarea-scroll-touch-expected.txt: Copied from LayoutTests/compositing/overflow/textarea-scroll-touch-expected.txt. * platform/ios/compositing/overflow/updating-scrolling-content-expected.txt: Copied from LayoutTests/compositing/overflow/updating-scrolling-content-expected.txt. * platform/mac/TestExpectations: * platform/mac/compositing/overflow/composited-scrolling-paint-phases-expected.txt: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/compositing/overflow/overflow-auto-with-touch-expected.txt trunk/LayoutTests/compositing/overflow/overflow-overlay-with-touch-expected.txt trunk/LayoutTests/compositing/overflow/scrolling-content-clip-to-viewport-expected.txt trunk/LayoutTests/compositing/overflow/scrolling-without-painting-expected.txt trunk/LayoutTests/compositing/overflow/textarea-scroll-touch-expected.txt trunk/LayoutTests/compositing/overflow/updating-scrolling-content-expected.txt trunk/LayoutTests/platform/ios/TestExpectations trunk/LayoutTests/platform/ios/compositing/overflow/nested-scrolling-expected.txt trunk/LayoutTests/platform/mac/TestExpectations trunk/LayoutTests/platform/mac/compositing/overflow/composited-scrolling-paint-phases-expected.txt Added Paths trunk/LayoutTests/platform/ios/compositing/overflow/overflow-auto-with-touch-expected.txt trunk/LayoutTests/platform/ios/compositing/overflow/overflow-auto-with-touch-toggle-expected.txt trunk/LayoutTests/platform/ios/compositing/overflow/overflow-overlay-with-touch-expected.txt trunk/LayoutTests/platform/ios/compositing/overflow/scrolling-content-clip-to-viewport-expected.txt trunk/LayoutTests/platform/ios/compositing/overflow/scrolling-without-painting-expected.txt trunk/LayoutTests/platform/ios/compositing/overflow/textarea-scroll-touch-expected.txt trunk/LayoutTests/platform/ios/compositing/overflow/updating-scrolling-content-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (236427 => 236428) --- trunk/LayoutTests/ChangeLog 2018-09-24 20:47:39 UTC (rev 236427) +++ trunk/LayoutTests/ChangeLog 2018-09-24 20:49:25 UTC (rev 236428) @@ -1,3 +1,31 @@ +2018-09-24 Simon Fraser + +Update some test results under compositing/overflow +https://bugs.webkit.org/show_bug.cgi?id=189857 + +Reviewed by Tim Horton. + +Unskip some tests under compositing/overflow, and land new macOS and iOS expectations. + +* compositing/overflow/overflow-auto-with-touch-expected.txt: +* compositing/overflow/overflow-overlay-with-touch-expected.txt: +* compositing/overflow/scrolling-content-clip-to-viewport-expected.txt: +* compositing/overflow/scrolling-without-painting-expected.txt: +* compositing/overflow/textarea-scroll-touch-expected.txt: +* compositing/overflow/updating-scrolling-content-expected.txt: +* platform/ios-simulator-wk2/TestExpectations: +* platform/ios/TestExpectations: +* platform/ios/compositing/overflow/nested-scrolling-expected.txt: +* platform/ios/compositing/overflow/overflow-auto-with-touch-expected.txt: Copied from LayoutTests/compositing/overflow/overflow-auto-with-touch-expected.txt. +*
[webkit-changes] [236427] trunk/Source/WebCore
Title: [236427] trunk/Source/WebCore Revision 236427 Author dba...@webkit.org Date 2018-09-24 13:47:39 -0700 (Mon, 24 Sep 2018) Log Message Separate Mac and iOS implementation of windowsKeyCodeForCharCode() https://bugs.webkit.org/show_bug.cgi?id=189898 Reviewed by Tim Horton. Extract the Mac and iOS implementations into a windowsKeyCodeForCharCode() defined in file KeyEventMac.mm and file KeyEventIOS, respectively. Mac and iOS have significant differences in how they represent function keys. It is not worthwhile to share windowsKeyCodeForCharCode() between them given these differences. On Mac function keys are represented by a char code in the range 0xF700-0xF8FF. On iOS these keys may not have a unique char code (e.g. F1 = 0x10 = F10) and must be identified either by special string (e.g. UIKeyInputUpArrow) or key code. * platform/cocoa/KeyEventCocoa.mm: (WebCore::windowsKeyCodeForCharCode): Deleted. * platform/ios/KeyEventIOS.mm: (WebCore::windowsKeyCodeForCharCode): Added. Remove the handling of NS*FunctionKey char codes as function keys are not represented using them as of iOS 12. * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForCharCode): Added. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/cocoa/KeyEventCocoa.mm trunk/Source/WebCore/platform/ios/KeyEventIOS.mm trunk/Source/WebCore/platform/mac/KeyEventMac.mm Diff Modified: trunk/Source/WebCore/ChangeLog (236426 => 236427) --- trunk/Source/WebCore/ChangeLog 2018-09-24 20:40:39 UTC (rev 236426) +++ trunk/Source/WebCore/ChangeLog 2018-09-24 20:47:39 UTC (rev 236427) @@ -1,3 +1,27 @@ +2018-09-24 Daniel Bates + +Separate Mac and iOS implementation of windowsKeyCodeForCharCode() +https://bugs.webkit.org/show_bug.cgi?id=189898 + +Reviewed by Tim Horton. + +Extract the Mac and iOS implementations into a windowsKeyCodeForCharCode() defined in file +KeyEventMac.mm and file KeyEventIOS, respectively. + +Mac and iOS have significant differences in how they represent function keys. It is not worthwhile +to share windowsKeyCodeForCharCode() between them given these differences. On Mac function keys +are represented by a char code in the range 0xF700-0xF8FF. On iOS these keys may not have a unique +char code (e.g. F1 = 0x10 = F10) and must be identified either by special string (e.g. UIKeyInputUpArrow) +or key code. + +* platform/cocoa/KeyEventCocoa.mm: +(WebCore::windowsKeyCodeForCharCode): Deleted. +* platform/ios/KeyEventIOS.mm: +(WebCore::windowsKeyCodeForCharCode): Added. Remove the handling of NS*FunctionKey char codes +as function keys are not represented using them as of iOS 12. +* platform/mac/KeyEventMac.mm: +(WebCore::windowsKeyCodeForCharCode): Added. + 2018-09-21 Simon Fraser Remove the old "AcceleratedCompositingForOverflowScroll" code Modified: trunk/Source/WebCore/platform/cocoa/KeyEventCocoa.mm (236426 => 236427) --- trunk/Source/WebCore/platform/cocoa/KeyEventCocoa.mm 2018-09-24 20:40:39 UTC (rev 236426) +++ trunk/Source/WebCore/platform/cocoa/KeyEventCocoa.mm 2018-09-24 20:47:39 UTC (rev 236427) @@ -484,118 +484,4 @@ } } -int windowsKeyCodeForCharCode(unichar charCode) -{ -switch (charCode) { -#if PLATFORM(IOS) -case 8: case 0x7F: return VK_BACK; -case 9: return VK_TAB; -case 0xD: case 3: return VK_RETURN; -case 0x1B: return VK_ESCAPE; -case ' ': return VK_SPACE; -case NSHomeFunctionKey: return VK_HOME; -case NSEndFunctionKey: return VK_END; -case NSPageUpFunctionKey: return VK_PRIOR; -case NSPageDownFunctionKey: return VK_NEXT; -case NSUpArrowFunctionKey: return VK_UP; -case NSDownArrowFunctionKey: return VK_DOWN; -case NSLeftArrowFunctionKey: return VK_LEFT; -case NSRightArrowFunctionKey: return VK_RIGHT; -case NSDeleteFunctionKey: return VK_DELETE; - -case '0': case ')': return VK_0; -case '1': case '!': return VK_1; -case '2': case '@': return VK_2; -case '3': case '#': return VK_3; -case '4': case '$': return VK_4; -case '5': case '%': return VK_5; -case '6': case '^': return VK_6; -case '7': case '&': return VK_7; -case '8': case '*': return VK_8; -case '9': case '(': return VK_9; -#endif -case 'a': case 'A': return VK_A; -case 'b': case 'B': return VK_B; -case 'c': case 'C': return VK_C; -case 'd': case 'D': return VK_D; -case 'e': case 'E': return VK_E; -case 'f': case 'F': return VK_F; -case 'g': case 'G': return VK_G; -case 'h': case 'H': return VK_H; -case 'i': case 'I': return VK_I; -case 'j': case 'J': return VK_J; -case 'k': case 'K': return VK_K; -case 'l': case 'L': return VK_L; -case 'm': case 'M':
[webkit-changes] [236426] trunk/LayoutTests
Title: [236426] trunk/LayoutTests Revision 236426 Author tsav...@apple.com Date 2018-09-24 13:40:39 -0700 (Mon, 24 Sep 2018) Log Message Continued test gardening of media-fragment/ tests for ios 12 https://bugs.webkit.org/show_bug.cgi?id=187557 Unreviewed test gardening * platform/ios/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (236425 => 236426) --- trunk/LayoutTests/ChangeLog 2018-09-24 20:31:31 UTC (rev 236425) +++ trunk/LayoutTests/ChangeLog 2018-09-24 20:40:39 UTC (rev 236426) @@ -1,3 +1,12 @@ +2018-09-24 Truitt Savell + +Continued test gardening of media-fragment/ tests for ios 12 +https://bugs.webkit.org/show_bug.cgi?id=187557 + +Unreviewed test gardening + +* platform/ios/TestExpectations: + 2018-09-21 Simon Fraser Remove the old "AcceleratedCompositingForOverflowScroll" code Modified: trunk/LayoutTests/platform/ios/TestExpectations (236425 => 236426) --- trunk/LayoutTests/platform/ios/TestExpectations 2018-09-24 20:31:31 UTC (rev 236425) +++ trunk/LayoutTests/platform/ios/TestExpectations 2018-09-24 20:40:39 UTC (rev 236426) @@ -3152,9 +3152,22 @@ webkit.org/b/189727 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html [ Pass Failure ] webkit.org/b/187557 media/media-fragments/TC0005.html [ Pass Failure ] +webkit.org/b/187557 media/media-fragments/TC0006.html [ Pass Failure ] +webkit.org/b/187557 media/media-fragments/TC0011.html [ Pass Failure ] webkit.org/b/187522 media/media-fragments/TC0015.html [ Pass Failure ] webkit.org/b/187557 media/media-fragments/TC0024.html [ Pass Failure ] +webkit.org/b/187557 media/media-fragments/TC0035.html [ Pass Failure ] +webkit.org/b/187557 media/media-fragments/TC0036.html [ Pass Failure ] webkit.org/b/187557 media/media-fragments/TC0037.html [ Pass Failure ] +webkit.org/b/187557 media/media-fragments/TC0038.html [ Pass Failure ] +webkit.org/b/187557 media/media-fragments/TC0039.html [ Pass Failure ] +webkit.org/b/187557 media/media-fragments/TC0051.html [ Pass Failure ] +webkit.org/b/187557 media/media-fragments/TC0052.html [ Pass Failure ] +webkit.org/b/187557 media/media-fragments/TC0053.html [ Pass Failure ] +webkit.org/b/187557 media/media-fragments/TC0054.html [ Pass Failure ] +webkit.org/b/187557 media/media-fragments/TC0055.html [ Pass Failure ] +webkit.org/b/187557 media/media-fragments/TC0059.html [ Pass Failure ] +webkit.org/b/187557 media/media-fragments/TC0072.html [ Pass Failure ] webkit.org/b/187557 media/media-fragments/TC0078.html [ Pass Failure ] webkit.org/b/187557 media/media-fragments/TC0079.html [ Pass Failure ] webkit.org/b/187557 media/media-fragments/TC0085.html [ Pass Failure ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [236425] trunk/Source/WebKit
Title: [236425] trunk/Source/WebKit Revision 236425 Author cdu...@apple.com Date 2018-09-24 13:31:31 -0700 (Mon, 24 Sep 2018) Log Message Unreviewed, rolling out r236368. Caused WebKit.NetworkProcessCrashWithPendingConnection API test to crash (Bug 189926) Reverted changeset: "Extending the lifetime of a NetworkProcessProxy / StorageProcessProxy may cause it to have a stale WebProcessPool pointer" https://bugs.webkit.org/show_bug.cgi?id=189851 https://trac.webkit.org/changeset/236368 Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/ChildProcessProxy.h trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h trunk/Source/WebKit/UIProcess/Plugins/PluginProcessProxy.h trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.cpp trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.h trunk/Source/WebKit/UIProcess/WebProcessPool.cpp trunk/Source/WebKit/UIProcess/WebProcessPool.h trunk/Source/WebKit/UIProcess/WebProcessProxy.h Diff Modified: trunk/Source/WebKit/ChangeLog (236424 => 236425) --- trunk/Source/WebKit/ChangeLog 2018-09-24 20:19:46 UTC (rev 236424) +++ trunk/Source/WebKit/ChangeLog 2018-09-24 20:31:31 UTC (rev 236425) @@ -1,3 +1,18 @@ +2018-09-24 Chris Dumez + +Unreviewed, rolling out r236368. + +Caused WebKit.NetworkProcessCrashWithPendingConnection API +test to crash (Bug 189926) + +Reverted changeset: + +"Extending the lifetime of a NetworkProcessProxy / +StorageProcessProxy may cause it to have a stale +WebProcessPool pointer" +https://bugs.webkit.org/show_bug.cgi?id=189851 +https://trac.webkit.org/changeset/236368 + 2018-09-21 Simon Fraser Remove the old "AcceleratedCompositingForOverflowScroll" code Modified: trunk/Source/WebKit/UIProcess/ChildProcessProxy.h (236424 => 236425) --- trunk/Source/WebKit/UIProcess/ChildProcessProxy.h 2018-09-24 20:19:46 UTC (rev 236424) +++ trunk/Source/WebKit/UIProcess/ChildProcessProxy.h 2018-09-24 20:31:31 UTC (rev 236425) @@ -36,7 +36,7 @@ namespace WebKit { -class ChildProcessProxy : ProcessLauncher::Client, public IPC::Connection::Client { +class ChildProcessProxy : ProcessLauncher::Client, public IPC::Connection::Client, public ThreadSafeRefCounted { WTF_MAKE_NONCOPYABLE(ChildProcessProxy); protected: Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp (236424 => 236425) --- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp 2018-09-24 20:19:46 UTC (rev 236424) +++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp 2018-09-24 20:31:31 UTC (rev 236425) @@ -66,6 +66,11 @@ return ++callbackID; } +Ref NetworkProcessProxy::create(WebProcessPool& processPool) +{ +return adoptRef(*new NetworkProcessProxy(processPool)); +} + NetworkProcessProxy::NetworkProcessProxy(WebProcessPool& processPool) : ChildProcessProxy(processPool.alwaysRunsAtBackgroundPriority()) , m_processPool(processPool) @@ -92,16 +97,6 @@ #endif } -void NetworkProcessProxy::ref() -{ -m_processPool.ref(); -} - -void NetworkProcessProxy::deref() -{ -m_processPool.deref(); -} - void NetworkProcessProxy::getLaunchOptions(ProcessLauncher::LaunchOptions& launchOptions) { launchOptions.processType = ProcessLauncher::ProcessType::Network; @@ -253,7 +248,7 @@ void NetworkProcessProxy::didClose(IPC::Connection&) { -auto protectedThis = makeRef(*this); +auto protectedProcessPool = makeRef(m_processPool); if (m_downloadProxyMap) m_downloadProxyMap->processDidClose(); @@ -405,7 +400,7 @@ } auto callbackId = generateCallbackID(); -auto addResult = m_updateBlockCookiesCallbackMap.add(callbackId, [protectedThis = makeRef(*this), token = throttler().backgroundActivityToken(), completionHandler = WTFMove(completionHandler)]() mutable { +auto addResult = m_updateBlockCookiesCallbackMap.add(callbackId, [protectedProcessPool = makeRef(m_processPool), token = throttler().backgroundActivityToken(), completionHandler = WTFMove(completionHandler)]() mutable { completionHandler(); }); ASSERT_UNUSED(addResult, addResult.isNewEntry); Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h (236424 => 236425) --- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h 2018-09-24 20:19:46 UTC (rev 236424) +++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h 2018-09-24 20:31:31 UTC (rev 236425) @@ -64,9 +64,9 @@ class WebUserContentControllerProxy; struct WebsiteData; -class NetworkProcessProxy final : public ChildProcessProxy, private ProcessThrottlerClient { +class NetworkProcessProxy : public ChildProcessProxy, private ProcessThrottlerClient { public: -explicit NetworkProcessProxy(WebProcessPool&); +static Ref create(WebProcessPool&); ~NetworkProcessProxy(); void
[webkit-changes] [236424] trunk
Title: [236424] trunk Revision 236424 Author simon.fra...@apple.com Date 2018-09-24 13:19:46 -0700 (Mon, 24 Sep 2018) Log Message Remove the old "AcceleratedCompositingForOverflowScroll" code https://bugs.webkit.org/show_bug.cgi?id=189870 Reviewed by Zalan Bujtas. The "AcceleratedCompositingForOverflowScroll" code was added to allow overflow:scroll to use composited scrolling if an overflow:scroll could be made a stacking context without affecting z-order. We need overflow:scroll to be accelerated always, so a different approach is needed. Remove this old code (unused by any platform?) to make working on new code easier. Source/WebCore: * page/Settings.yaml: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::RenderLayer): (WebCore::RenderLayer::setHasVisibleContent): (WebCore::RenderLayer::updateDescendantDependentFlags): (WebCore::RenderLayer::dirty3DTransformedDescendantStatus): (WebCore::RenderLayer::stackingContext const): (WebCore::compositingContainer): (WebCore::RenderLayer::addChild): (WebCore::RenderLayer::removeChild): (WebCore::RenderLayer::hasAcceleratedTouchScrolling const): (WebCore::RenderLayer::usesAcceleratedScrolling const): (WebCore::adjustedScrollDelta): (WebCore::RenderLayer::updateCompositingLayersAfterScroll): (WebCore::RenderLayer::updateScrollInfoAfterLayout): (WebCore::RenderLayer::enclosingFragmentedFlowAncestor const): (WebCore::RenderLayer::calculateClipRects const): (WebCore::RenderLayer::acceleratedCompositingForOverflowScrollEnabled const): Deleted. (WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrder): Deleted. (WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrderRecursive): Deleted. (WebCore::RenderLayer::positionNewlyCreatedOverflowControls): Deleted. (WebCore::RenderLayer::canBeStackingContainer const): Deleted. (WebCore::RenderLayer::stackingContainer const): Deleted. (WebCore::RenderLayer::needsCompositedScrolling const): Deleted. (WebCore::RenderLayer::updateNeedsCompositedScrolling): Deleted. * rendering/RenderLayer.h: (WebCore::RenderLayer::clearZOrderLists): (WebCore::RenderLayer::updateZOrderLists): * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateAfterLayout): (WebCore::RenderLayerBacking::computeParentGraphicsLayerRect const): (WebCore::RenderLayerBacking::updateGeometry): (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer const): (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer const): (WebCore::RenderLayerBacking::requiresScrollCornerLayer const): (WebCore::RenderLayerBacking::compositingOpacity const): (WebCore::traverseVisibleNonCompositedDescendantLayers): (WebCore::RenderLayerBacking::hasUnpositionedOverflowControlsLayers const): Deleted. * rendering/RenderLayerBacking.h: * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayersAfterFlush): (WebCore::RenderLayerCompositor::updateCustomLayersAfterFlush): (WebCore::styleChangeRequiresLayerRebuild): (WebCore::RenderLayerCompositor::enclosingNonStackingClippingLayer const): (WebCore::RenderLayerCompositor::computeCompositingRequirements): (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): (WebCore::RenderLayerCompositor::requiresCompositingLayer const): (WebCore::RenderLayerCompositor::requiresOwnBackingStore const): (WebCore::RenderLayerCompositor::reasonsForCompositing const): (WebCore::RenderLayerCompositor::requiresCompositingForBackfaceVisibility const): (WebCore::RenderLayerCompositor::isViewportConstrainedFixedOrStickyLayer const): (WebCore::RenderLayerCompositor::requiresCompositingForPosition const): (WebCore::RenderLayerCompositor::requiresCompositingForOverflowScrolling const): (WebCore::RenderLayerCompositor::requiresCompositingForScrolling const): Deleted. * rendering/RenderLayerCompositor.h: Source/WebKit: * Shared/WebPreferences.yaml: * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetAcceleratedCompositingForOverflowScrollEnabled): Deleted. (WKPreferencesGetAcceleratedCompositingForOverflowScrollEnabled): Deleted. * UIProcess/API/C/WKPreferencesRefPrivate.h: LayoutTests: Keep some of the tests; they will be useful later. * compositing/overflow/automatically-opt-into-composited-scrolling-expected.txt: Removed. * compositing/overflow/automatically-opt-into-composited-scrolling.html: Removed. * compositing/overflow/clipping-ancestor-with-accelerated-scrolling-ancestor.html: * compositing/overflow/composited-scrolling-creates-a-stacking-container.html: Removed. * compositing/overflow/composited-scrolling-paint-phases.html: * compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html: * compositing/overflow/dynamic-composited-scrolling-status.html: * compositing/overflow/iframe-inside-overflow-clipping.html: * compositing/overflow/nested-scrolling.html: * compositing/overflow/overflow-clip-with-accelerated-scrolling-ancestor.html: * compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer.html: *
[webkit-changes] [236423] trunk/Source
Title: [236423] trunk/Source Revision 236423 Author you...@apple.com Date 2018-09-24 13:15:17 -0700 (Mon, 24 Sep 2018) Log Message Enable conversion of libwebrtc internal frames as CVPixelBuffer https://bugs.webkit.org/show_bug.cgi?id=189892 Reviewed by Eric Carlson. Source/ThirdParty/libwebrtc: Renamed encoder/decoder factory creation routine. Make pixelBufferFromFrame take a function to create a CVPixelBuffer if the frame does not wrap one. Initialize the CVPixelBuffer with libwebrtc internal frame. * Configurations/libwebrtc.iOS.exp: * Configurations/libwebrtc.iOSsim.exp: * Configurations/libwebrtc.mac.exp: * Source/webrtc/sdk/WebKit/WebKitUtilities.h: * Source/webrtc/sdk/WebKit/WebKitUtilities.mm: (webrtc::createWebKitEncoderFactory): (webrtc::createWebKitDecoderFactory): (webrtc::CopyVideoFrameToPixelBuffer): (webrtc::pixelBufferFromFrame): (webrtc::createVideoToolboxEncoderFactory): Deleted. (webrtc::createVideoToolboxDecoderFactory): Deleted. Source/WebCore: Make sure to handle the case of libwebrtc frames that are not backed by CVPixelBuffer. No observable change of behavior. * platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.cpp: (WebCore::LibWebRTCProviderCocoa::createDecoderFactory): (WebCore::LibWebRTCProviderCocoa::createEncoderFactory): Update according renamed methods. * platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.h: * platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm: (WebCore::RealtimeIncomingVideoSourceCocoa::pixelBufferFromVideoFrame): In case of libwebrtc frame that are not backed by CVPixelBuffer, we create a CVPixelBuffer from a pixel buffer pool. This CVPixelBuffer is then filled as part of webrtc::pixelBufferFromFrame. * platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.mm: (WebCore::RealtimeOutgoingVideoSourceCocoa::convertToYUV): Make sure to use preferred pixel buffer format. Modified Paths trunk/Source/ThirdParty/libwebrtc/ChangeLog trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.iOS.exp trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.iOSsim.exp trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.mac.exp trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitUtilities.h trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitUtilities.mm trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.cpp trunk/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.h trunk/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm trunk/Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.mm Diff Modified: trunk/Source/ThirdParty/libwebrtc/ChangeLog (236422 => 236423) --- trunk/Source/ThirdParty/libwebrtc/ChangeLog 2018-09-24 20:12:57 UTC (rev 236422) +++ trunk/Source/ThirdParty/libwebrtc/ChangeLog 2018-09-24 20:15:17 UTC (rev 236423) @@ -1,3 +1,27 @@ +2018-09-24 Youenn Fablet + +Enable conversion of libwebrtc internal frames as CVPixelBuffer +https://bugs.webkit.org/show_bug.cgi?id=189892 + +Reviewed by Eric Carlson. + +Renamed encoder/decoder factory creation routine. +Make pixelBufferFromFrame take a function to create a CVPixelBuffer +if the frame does not wrap one. +Initialize the CVPixelBuffer with libwebrtc internal frame. + +* Configurations/libwebrtc.iOS.exp: +* Configurations/libwebrtc.iOSsim.exp: +* Configurations/libwebrtc.mac.exp: +* Source/webrtc/sdk/WebKit/WebKitUtilities.h: +* Source/webrtc/sdk/WebKit/WebKitUtilities.mm: +(webrtc::createWebKitEncoderFactory): +(webrtc::createWebKitDecoderFactory): +(webrtc::CopyVideoFrameToPixelBuffer): +(webrtc::pixelBufferFromFrame): +(webrtc::createVideoToolboxEncoderFactory): Deleted. +(webrtc::createVideoToolboxDecoderFactory): Deleted. + 2018-09-21 Thibault Saunier [libwebrtc] Allow IP mismatch for local connections on localhost Modified: trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.iOS.exp (236422 => 236423) --- trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.iOS.exp 2018-09-24 20:12:57 UTC (rev 236422) +++ trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.iOS.exp 2018-09-24 20:15:17 UTC (rev 236423) @@ -105,10 +105,10 @@ __ZN6webrtc27SessionDescriptionInterface16RemoveCandidatesERKNSt3__16vectorIN7cricket9CandidateENS1_9allocatorIS4_ __ZNK6webrtc21IceCandidateInterface10server_urlEv __ZN6webrtc20setApplicationStatusEb -__ZN6webrtc32createVideoToolboxDecoderFactoryEv -__ZN6webrtc32createVideoToolboxEncoderFactoryEv +__ZN6webrtc26createWebKitDecoderFactoryEv +__ZN6webrtc26createWebKitEncoderFactoryEv __ZN6webrtc29setH264HardwareEncoderAllowedEb -__ZN6webrtc20pixelBufferFromFrameERKNS_10VideoFrameE +__ZN6webrtc20pixelBufferFromFrameERKNS_10VideoFrameERKNSt3__18functionIFP10__CVBuffermmEEE
[webkit-changes] [236421] trunk
Title: [236421] trunk Revision 236421 Author sbar...@apple.com Date 2018-09-24 13:12:26 -0700 (Mon, 24 Sep 2018) Log Message ArgumentsEliminationPhase should snip basic blocks after proven OSR exits https://bugs.webkit.org/show_bug.cgi?id=189682 Reviewed by Mark Lam. JSTests: * stress/arguments-elimination-will-generate-edge-without-result.js: Added. (foo): Source/_javascript_Core: Otherwise, if we have code like this: ``` a: Arguments b: GetButterfly(@a) c: ForceExit d: GetArrayLength(@a, @b) ``` it will get transformed into this invalid DFG IR: ``` a: PhantomArguments b: Check(@a) c: ForceExit d: GetArrayLength(@a, @b) ``` And we will fail DFG validation since @b does not have a result. The fix is to just remove all nodes after the ForceExit and plant an Unreachable after it. So the above code program will now turn into this: ``` a: PhantomArguments b: Check(@a) c: ForceExit e: Unreachable ``` * dfg/DFGArgumentsEliminationPhase.cpp: Modified Paths trunk/JSTests/ChangeLog trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/dfg/DFGArgumentsEliminationPhase.cpp Added Paths trunk/JSTests/stress/arguments-elimination-will-generate-edge-without-result.js Diff Modified: trunk/JSTests/ChangeLog (236420 => 236421) --- trunk/JSTests/ChangeLog 2018-09-24 19:44:08 UTC (rev 236420) +++ trunk/JSTests/ChangeLog 2018-09-24 20:12:26 UTC (rev 236421) @@ -1,3 +1,14 @@ +2018-09-24 Saam barati + +ArgumentsEliminationPhase should snip basic blocks after proven OSR exits +https://bugs.webkit.org/show_bug.cgi?id=189682 + + +Reviewed by Mark Lam. + +* stress/arguments-elimination-will-generate-edge-without-result.js: Added. +(foo): + 2018-09-22 Saam barati The sampling should not use Strong in its machineLocation field Added: trunk/JSTests/stress/arguments-elimination-will-generate-edge-without-result.js (0 => 236421) --- trunk/JSTests/stress/arguments-elimination-will-generate-edge-without-result.js (rev 0) +++ trunk/JSTests/stress/arguments-elimination-will-generate-edge-without-result.js 2018-09-24 20:12:26 UTC (rev 236421) @@ -0,0 +1,9 @@ +//@ runDefault("--validateGraphAtEachPhase=true", "--jitPolicyScale=0", "--useConcurrentJIT=0") + +'use strict'; +function foo() { + return arguments[1][0] === arguments[0]; +} +for (let i = 0; i < 10; ++i) { + foo(0, 0); +} Modified: trunk/Source/_javascript_Core/ChangeLog (236420 => 236421) --- trunk/Source/_javascript_Core/ChangeLog 2018-09-24 19:44:08 UTC (rev 236420) +++ trunk/Source/_javascript_Core/ChangeLog 2018-09-24 20:12:26 UTC (rev 236421) @@ -1,3 +1,39 @@ +2018-09-24 Saam barati + +ArgumentsEliminationPhase should snip basic blocks after proven OSR exits +https://bugs.webkit.org/show_bug.cgi?id=189682 + + +Reviewed by Mark Lam. + +Otherwise, if we have code like this: +``` +a: Arguments +b: GetButterfly(@a) +c: ForceExit +d: GetArrayLength(@a, @b) +``` +it will get transformed into this invalid DFG IR: +``` +a: PhantomArguments +b: Check(@a) +c: ForceExit +d: GetArrayLength(@a, @b) +``` + +And we will fail DFG validation since @b does not have a result. + +The fix is to just remove all nodes after the ForceExit and plant an +Unreachable after it. So the above code program will now turn into this: +``` +a: PhantomArguments +b: Check(@a) +c: ForceExit +e: Unreachable +``` + +* dfg/DFGArgumentsEliminationPhase.cpp: + 2018-09-22 Saam barati The sampling should not use Strong in its machineLocation field Modified: trunk/Source/_javascript_Core/dfg/DFGArgumentsEliminationPhase.cpp (236420 => 236421) --- trunk/Source/_javascript_Core/dfg/DFGArgumentsEliminationPhase.cpp 2018-09-24 19:44:08 UTC (rev 236420) +++ trunk/Source/_javascript_Core/dfg/DFGArgumentsEliminationPhase.cpp 2018-09-24 20:12:26 UTC (rev 236421) @@ -624,9 +624,12 @@ void transform() { +bool modifiedCFG = false; + InsertionSet insertionSet(m_graph); - + for (BasicBlock* block : m_graph.blocksInPreOrder()) { +Node* pseudoTerminal = nullptr; for (unsigned nodeIndex = 0; nodeIndex < block->size(); ++nodeIndex) { Node* node = block->at(nodeIndex); @@ -1210,12 +1213,33 @@ default: break; } -if (node->isPseudoTerminal()) + +if (node->isPseudoTerminal()) { +pseudoTerminal = node; break; +} } - + insertionSet.execute(block); + +if (pseudoTerminal) { +for (unsigned i = 0; i < block->size(); ++i) { +
[webkit-changes] [236422] trunk/Source/WebCore
Title: [236422] trunk/Source/WebCore Revision 236422 Author eric.carl...@apple.com Date 2018-09-24 13:12:57 -0700 (Mon, 24 Sep 2018) Log Message [MediaStream] Add mock window capture source https://bugs.webkit.org/show_bug.cgi?id=189843 Reviewed by Youenn Fablet. No new tests, the API is disabled and it isn't possible to test yet. * platform/mediastream/mac/AVVideoCaptureSource.mm: (WebCore::AVVideoCaptureSource::processNewFrame): Remove an extra blank line. * platform/mock/MockMediaDevice.h: (WebCore::MockDisplayProperties::encode const): Get rid of defaultFrameRate, add type. (WebCore::MockDisplayProperties::decode): Ditto. (WebCore::MockMediaDevice::type const): * platform/mock/MockRealtimeMediaSourceCenter.cpp: (WebCore::defaultDevices): Add mock window devices. (WebCore::MockRealtimeMediaSourceCenter::audioDevices): Cleanup. (WebCore::MockRealtimeMediaSourceCenter::videoDevices): Cleanup. (WebCore::MockRealtimeMediaSourceCenter::displayDevices): New. * platform/mock/MockRealtimeVideoSource.cpp: (WebCore::MockRealtimeVideoSource::MockRealtimeVideoSource): Set default size on displays. (WebCore::MockRealtimeVideoSource::supportsSizeAndFrameRate): Call RealtimeVideoSource for mock camera, base class for device. (WebCore::MockRealtimeVideoSource::setSizeAndFrameRate): Ditto. (WebCore::MockRealtimeVideoSource::generatePresets): ASSERT if called as a camera. (WebCore::MockRealtimeVideoSource::capabilities): updateCapabilities is only appropriate for cameras. (WebCore::MockRealtimeVideoSource::settings): Camera and Device are different surface types. (WebCore::MockRealtimeVideoSource::drawText): Render name, not ID. (WebCore::MockRealtimeVideoSource::mockDisplayType const): * platform/mock/MockRealtimeVideoSource.h: (WebCore::MockRealtimeVideoSource::mockDisplay const): (WebCore::MockRealtimeVideoSource::mockScreen const): (WebCore::MockRealtimeVideoSource::mockWindow const): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/mediastream/UserMediaRequest.cpp trunk/Source/WebCore/platform/mediastream/RealtimeVideoSource.h trunk/Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm trunk/Source/WebCore/platform/mock/MockMediaDevice.h trunk/Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp trunk/Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp trunk/Source/WebCore/platform/mock/MockRealtimeVideoSource.h Diff Modified: trunk/Source/WebCore/ChangeLog (236421 => 236422) --- trunk/Source/WebCore/ChangeLog 2018-09-24 20:12:26 UTC (rev 236421) +++ trunk/Source/WebCore/ChangeLog 2018-09-24 20:12:57 UTC (rev 236422) @@ -1,3 +1,43 @@ +2018-09-24 Eric Carlson + +[MediaStream] Add mock window capture source +https://bugs.webkit.org/show_bug.cgi?id=189843 + + +Reviewed by Youenn Fablet. + +No new tests, the API is disabled and it isn't possible to test yet. + +* platform/mediastream/mac/AVVideoCaptureSource.mm: +(WebCore::AVVideoCaptureSource::processNewFrame): Remove an extra blank line. + +* platform/mock/MockMediaDevice.h: +(WebCore::MockDisplayProperties::encode const): Get rid of defaultFrameRate, add type. +(WebCore::MockDisplayProperties::decode): Ditto. +(WebCore::MockMediaDevice::type const): + +* platform/mock/MockRealtimeMediaSourceCenter.cpp: +(WebCore::defaultDevices): Add mock window devices. +(WebCore::MockRealtimeMediaSourceCenter::audioDevices): Cleanup. +(WebCore::MockRealtimeMediaSourceCenter::videoDevices): Cleanup. +(WebCore::MockRealtimeMediaSourceCenter::displayDevices): New. + +* platform/mock/MockRealtimeVideoSource.cpp: +(WebCore::MockRealtimeVideoSource::MockRealtimeVideoSource): Set default size on displays. +(WebCore::MockRealtimeVideoSource::supportsSizeAndFrameRate): Call RealtimeVideoSource for +mock camera, base class for device. +(WebCore::MockRealtimeVideoSource::setSizeAndFrameRate): Ditto. +(WebCore::MockRealtimeVideoSource::generatePresets): ASSERT if called as a camera. +(WebCore::MockRealtimeVideoSource::capabilities): updateCapabilities is only appropriate for cameras. +(WebCore::MockRealtimeVideoSource::settings): Camera and Device are different surface types. +(WebCore::MockRealtimeVideoSource::drawText): Render name, not ID. +(WebCore::MockRealtimeVideoSource::mockDisplayType const): + +* platform/mock/MockRealtimeVideoSource.h: +(WebCore::MockRealtimeVideoSource::mockDisplay const): +(WebCore::MockRealtimeVideoSource::mockScreen const): +(WebCore::MockRealtimeVideoSource::mockWindow const): + 2018-09-24 Daniel Bates [iOS] Key code is 0 for many hardware keyboard keys Modified: trunk/Source/WebCore/Modules/mediastream/UserMediaRequest.cpp (236421 => 236422) --- trunk/Source/WebCore/Modules/mediastream/UserMediaRequest.cpp 2018-09-24 20:12:26
[webkit-changes] [236420] trunk
Title: [236420] trunk Revision 236420 Author cdu...@apple.com Date 2018-09-24 12:44:08 -0700 (Mon, 24 Sep 2018) Log Message Do not do early processing of incoming sync IPC unless we're waiting for a sync IPC reply https://bugs.webkit.org/show_bug.cgi?id=186941 Reviewed by Alex Christensen. Source/WebKit: The comment was claiming we were processing incoming sync messages while waiting for a sync IPC reply to prevent deadlocks. However, the code was failing to check if we were waiting for a sync IPC reply. As a result, incoming sync IPC messages would get processed early no matter what, jumping the line. This was the source of the flakiness in the blob tests since the IPC to register the blob in the network process was async and the follow-up IPC to ask the network process for the blob size was sync. The sync message to get the blob size would jump the line and get processed before the async message to register the blob. As a result, the network process would not know about the blob yet and return size 0. Of course, this could happen if the network process was sending sync IPC at the time. However, the network process never sends any sync IPC and therefore, should never process incoming IPC messages out of order. * Platform/IPC/Connection.cpp: (IPC::Connection::processIncomingMessage): LayoutTests: Add layout test coverage. * http/tests/misc/blob-size-expected.txt: Added. * http/tests/misc/blob-size.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/win/TestExpectations trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Platform/IPC/Connection.cpp Added Paths trunk/LayoutTests/http/tests/misc/blob-size-expected.txt trunk/LayoutTests/http/tests/misc/blob-size.html Diff Modified: trunk/LayoutTests/ChangeLog (236419 => 236420) --- trunk/LayoutTests/ChangeLog 2018-09-24 19:42:31 UTC (rev 236419) +++ trunk/LayoutTests/ChangeLog 2018-09-24 19:44:08 UTC (rev 236420) @@ -1,5 +1,17 @@ 2018-09-24 Chris Dumez +Do not do early processing of incoming sync IPC unless we're waiting for a sync IPC reply +https://bugs.webkit.org/show_bug.cgi?id=186941 + +Reviewed by Alex Christensen. + +Add layout test coverage. + +* http/tests/misc/blob-size-expected.txt: Added. +* http/tests/misc/blob-size.html: Added. + +2018-09-24 Chris Dumez + Unreviewed, skip imported/w3c/web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/contentType.window.html This newly imported test flakily times out. Added: trunk/LayoutTests/http/tests/misc/blob-size-expected.txt (0 => 236420) --- trunk/LayoutTests/http/tests/misc/blob-size-expected.txt (rev 0) +++ trunk/LayoutTests/http/tests/misc/blob-size-expected.txt 2018-09-24 19:44:08 UTC (rev 236420) @@ -0,0 +1,10 @@ +Tests that constructing a Blob and querying its size right away is not flaky + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS Getting the Blob size is not flaky +PASS successfullyParsed is true + +TEST COMPLETE + Added: trunk/LayoutTests/http/tests/misc/blob-size.html (0 => 236420) --- trunk/LayoutTests/http/tests/misc/blob-size.html (rev 0) +++ trunk/LayoutTests/http/tests/misc/blob-size.html 2018-09-24 19:44:08 UTC (rev 236420) @@ -0,0 +1,26 @@ + + + + +description("Tests that constructing a Blob and querying its size right away is not flaky"); + +function runTest() { +for (let i = 0; i < 50; i++) { +for (let j = 0; j < 200; j++) { +fetch('/resources/square100.png', { cache: 'no-store' }).then(function(res) { }); +} +for (let k = 0; k < 5; k++) { +if ((new Blob([""])).size != 4) { +testFailed("Getting the Blob size is flaky"); +return; +} +} +} +testPassed("Getting the Blob size is not flaky"); +} + +runTest(); + + + Modified: trunk/LayoutTests/platform/win/TestExpectations (236419 => 236420) --- trunk/LayoutTests/platform/win/TestExpectations 2018-09-24 19:42:31 UTC (rev 236419) +++ trunk/LayoutTests/platform/win/TestExpectations 2018-09-24 19:44:08 UTC (rev 236420) @@ -4173,6 +4173,8 @@ webkit.org/b/188948 fast/events/dblclick-event-getModifierState.html [ Failure ] +webkit.org/b/186941 http/tests/misc/blob-size.html [ Crash ] + # Tests failing on EWS after updating to iTunes 12.8 webkit.org/b/189194 http/tests/IndexedDB/collect-IDB-objects.https.html [ Failure ] webkit.org/b/189194 http/tests/referrer-policy/origin-when-cross-origin/cross-origin-http.https.html [ Failure ] Modified: trunk/Source/WebKit/ChangeLog (236419 => 236420) --- trunk/Source/WebKit/ChangeLog 2018-09-24 19:42:31 UTC (rev 236419) +++ trunk/Source/WebKit/ChangeLog 2018-09-24 19:44:08 UTC (rev 236420) @@ -1,3 +1,25 @@ +2018-09-24 Chris Dumez + +Do not do early processing of incoming sync IPC unless we're waiting for a sync IPC reply +
[webkit-changes] [236419] trunk/LayoutTests
Title: [236419] trunk/LayoutTests Revision 236419 Author cdu...@apple.com Date 2018-09-24 12:42:31 -0700 (Mon, 24 Sep 2018) Log Message Unreviewed, skip imported/w3c/web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/contentType.window.html This newly imported test flakily times out. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (236418 => 236419) --- trunk/LayoutTests/ChangeLog 2018-09-24 19:20:20 UTC (rev 236418) +++ trunk/LayoutTests/ChangeLog 2018-09-24 19:42:31 UTC (rev 236419) @@ -1,3 +1,11 @@ +2018-09-24 Chris Dumez + +Unreviewed, skip imported/w3c/web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/contentType.window.html + +This newly imported test flakily times out. + +* TestExpectations: + 2018-09-24 Zan Dobersek Unreviewed WPE gardening. Managing failing WebGL tests in the 2.0.0 Modified: trunk/LayoutTests/TestExpectations (236418 => 236419) --- trunk/LayoutTests/TestExpectations 2018-09-24 19:20:20 UTC (rev 236418) +++ trunk/LayoutTests/TestExpectations 2018-09-24 19:42:31 UTC (rev 236419) @@ -2845,7 +2845,8 @@ webkit.org/b/185308 legacy-animation-engine/animations/combo-transform-translate+scale.html [ Pass Failure ] -webkit.org/b/189917 [ Debug ] imported/w3c/web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/contentType.window.html [ Crash ] +# This newly imported test crashes in debug and flakily times out. +webkit.org/b/189917 imported/w3c/web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/contentType.window.html [ Skip ] fast/gradients/conic-repeating.html [ Skip ] fast/gradients/conic.html [ Skip ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [236417] trunk
Title: [236417] trunk Revision 236417 Author dba...@webkit.org Date 2018-09-24 12:13:14 -0700 (Mon, 24 Sep 2018) Log Message [iOS] Key code is 0 for many hardware keyboard keys https://bugs.webkit.org/show_bug.cgi?id=189604 Reviewed by Wenson Hsieh. Source/WebCore: Based off a patch by Jeremy Jones. Add iOS-specific implementation of windowsKeyCodeForKeyCode() to map an iOS virtual key code to the corresponding Windows virtual key code. Only hardware keyboard-generated events have a virtual key code. For software-generated keyboard events we do what we do now and compute the Windows virtual key code from the character string associated with the event. When a WebEvent is instantiated with a non-zero iOS virtual key code (keyCode) we now always convert it to its corresponding Windows virtual key code without considering the specified charactersIgnoringModifiers character string. Currently we prefer computing the key code from charactersIgnoringModifiers regardless of whether a non-zero iOS virtual key code was given. However this causes special keys, including function keys (e.g. F10) to be misidentified because keyboard layouts in iOS (at least iOS 12) map such special keys to ASCII control characters (e.g. F10 maps to ASCII control character "data link escape" = 0x10) as opposed to special 16-bit integral constants as we do on Mac (e.g. F10 maps to NSF10FunctionKey = 0xF70D on Mac). I will look to fix up the computation of a Windows virtual key code from a char code on iOS in a subsequent commit(s). For now, computing the Windows virtual key code directly from the iOS virtual key code specified to the WebEvent constructor avoids the misidentification using an ANSI US keyboard layout. * platform/cocoa/KeyEventCocoa.mm: (WebCore::windowsKeyCodeForKeyCode): Deleted; moved to KeyEventMac.mm as this mapping is specific to Mac. * platform/ios/KeyEventIOS.mm: (WebCore::windowsKeyCodeForKeyCode): Added. * platform/ios/WebEvent.mm: (-[WebEvent initWithKeyEventType:timeStamp:characters:charactersIgnoringModifiers:modifiers:isRepeating:withFlags:keyCode:isTabKey:characterSet:]): Address the NOTE comment and compute the Windows virtual key code from the iOS virtual key code when we have one. Also inline the value of an unncessary local variable. (-[WebEvent initWithKeyEventType:timeStamp:characters:charactersIgnoringModifiers:modifiers:isRepeating:withFlags:withInputManagerHint:keyCode:isTabKey:]): Ditto. * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForKeyCode): Moved from KeyEventCocoa.mm. Updated code to make use of WTF_ARRAY_LENGTH() instead of hardcoding the upper bound of the lookup table. Source/WebKit: For a hardware keyboard-generated event (an event with a non-nill event._hidEvent) pass the key code for the event. Otherwise, do what we do now and pass 0 as the event is likely a software keyboard-generated event. * Platform/spi/ios/UIKitSPI.h: Add some more SPI. * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView handleKeyEvent:]): LayoutTests: Update existing test and test result and add a new test to ensure we dispatch DOM keydown and DOM keyup events dispatched for special keys. * fast/events/ios/keydown-keyup-in-non-editable-content-expected.txt: Update expected result. * fast/events/ios/keydown-keyup-in-non-editable-content.html: Remove logic to test arrow keys as these are tested in test keydown-keyup-special-keys-in-non-editable-element.html. Also update manual instructions to use to format keyboard keys. * fast/events/ios/keydown-keyup-special-keys-in-non-editable-element-expected.txt: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/events/ios/keydown-keyup-in-non-editable-content-expected.txt trunk/LayoutTests/fast/events/ios/keydown-keyup-in-non-editable-content.html trunk/LayoutTests/fast/events/ios/keydown-keyup-special-keys-in-non-editable-element-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/cocoa/KeyEventCocoa.mm trunk/Source/WebCore/platform/ios/KeyEventIOS.mm trunk/Source/WebCore/platform/ios/WebEvent.mm trunk/Source/WebCore/platform/mac/KeyEventMac.mm trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm Diff Modified: trunk/LayoutTests/ChangeLog (236416 => 236417) --- trunk/LayoutTests/ChangeLog 2018-09-24 18:20:46 UTC (rev 236416) +++ trunk/LayoutTests/ChangeLog 2018-09-24 19:13:14 UTC (rev 236417) @@ -1,3 +1,19 @@ +2018-09-24 Daniel Bates + +[iOS] Key code is 0 for many hardware keyboard keys +https://bugs.webkit.org/show_bug.cgi?id=189604 + +Reviewed by Wenson Hsieh. + +Update existing test and test result and add a new test to ensure we dispatch DOM keydown +and DOM keyup events dispatched for special keys. + +* fast/events/ios/keydown-keyup-in-non-editable-content-expected.txt: Update expected result. +*
[webkit-changes] [236416] trunk
Title: [236416] trunk Revision 236416 Author simon.fra...@apple.com Date 2018-09-24 11:20:46 -0700 (Mon, 24 Sep 2018) Log Message feMorphology filter in CSS doesn't update when element moves https://bugs.webkit.org/show_bug.cgi?id=189895 Reviewed by Dean Jackson. Source/WebCore: SourceAlpha needs to be invalidated from clearIntermediateResults(), so get it from the SVGFilterBuilder (which always creates one) and store in a member variable. Test: css3/filters/invalidate-sourceAlpha.html * rendering/CSSFilter.cpp: (WebCore::CSSFilter::buildReferenceFilter): (WebCore::CSSFilter::clearIntermediateResults): * rendering/CSSFilter.h: * svg/graphics/filters/SVGFilterBuilder.h: LayoutTests: Test that moves a box inside a filtered div. Masking is necessary to work around bugs in feMorphology invalidation (webkit.org/b/189896). * css3/filters/invalidate-sourceAlpha-expected.html: Added. * css3/filters/invalidate-sourceAlpha.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/CSSFilter.cpp trunk/Source/WebCore/rendering/CSSFilter.h trunk/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h Added Paths trunk/LayoutTests/css3/filters/invalidate-sourceAlpha-expected.html trunk/LayoutTests/css3/filters/invalidate-sourceAlpha.html Diff Modified: trunk/LayoutTests/ChangeLog (236415 => 236416) --- trunk/LayoutTests/ChangeLog 2018-09-24 18:20:22 UTC (rev 236415) +++ trunk/LayoutTests/ChangeLog 2018-09-24 18:20:46 UTC (rev 236416) @@ -1,5 +1,18 @@ 2018-09-24 Simon Fraser +feMorphology filter in CSS doesn't update when element moves +https://bugs.webkit.org/show_bug.cgi?id=189895 + +Reviewed by Dean Jackson. + +Test that moves a box inside a filtered div. Masking is necessary to work +around bugs in feMorphology invalidation (webkit.org/b/189896). + +* css3/filters/invalidate-sourceAlpha-expected.html: Added. +* css3/filters/invalidate-sourceAlpha.html: Added. + +2018-09-24 Simon Fraser + CSS reference filter with feDisplacementMap shows buffer corruption on Retina displays https://bugs.webkit.org/show_bug.cgi?id=188486 Added: trunk/LayoutTests/css3/filters/invalidate-sourceAlpha-expected.html (0 => 236416) --- trunk/LayoutTests/css3/filters/invalidate-sourceAlpha-expected.html (rev 0) +++ trunk/LayoutTests/css3/filters/invalidate-sourceAlpha-expected.html 2018-09-24 18:20:46 UTC (rev 236416) @@ -0,0 +1,37 @@ + + + + +.container { +width: 400px; +border: 20px solid blue; +background-color: rgba(0, 128, 0, 0.2); +filter: url(#filter); +-webkit-clip-path: inset(30px 320px 30px 30px); /* work around webkit.org/b/189896 */ +} + +#box { +width: 100px; +height: 100px; +background-color: green; +margin-left: 300px; +} + + + + + + + + + + + + + + + + + + + Added: trunk/LayoutTests/css3/filters/invalidate-sourceAlpha.html (0 => 236416) --- trunk/LayoutTests/css3/filters/invalidate-sourceAlpha.html (rev 0) +++ trunk/LayoutTests/css3/filters/invalidate-sourceAlpha.html 2018-09-24 18:20:46 UTC (rev 236416) @@ -0,0 +1,53 @@ + + + + +.container { +width: 400px; +border: 20px solid blue; +background-color: rgba(0, 128, 0, 0.2); +filter: url(#filter); +-webkit-clip-path: inset(30px 320px 30px 30px); /* work around webkit.org/b/189896 */ +} + +#box { +width: 100px; +height: 100px; +background-color: green; +} + +#box.moved { +margin-left: 300px; +} + + +if (window.testRunner) +testRunner.waitUntilDone(); + +window.addEventListener('load', () => { +setTimeout(() => { +document.getElementById('box').classList.toggle('moved'); +if (window.testRunner) +testRunner.notifyDone(); +}, 0) +}, false); + + + + + + + + + + + + + + + + + + + + Modified: trunk/Source/WebCore/ChangeLog (236415 => 236416) --- trunk/Source/WebCore/ChangeLog 2018-09-24 18:20:22 UTC (rev 236415) +++ trunk/Source/WebCore/ChangeLog 2018-09-24 18:20:46 UTC (rev 236416) @@ -1,5 +1,24 @@ 2018-09-24 Simon Fraser +feMorphology filter in CSS doesn't update when element moves +https://bugs.webkit.org/show_bug.cgi?id=189895 + +Reviewed by Dean Jackson. + +SourceAlpha
[webkit-changes] [236415] trunk
Title: [236415] trunk Revision 236415 Author simon.fra...@apple.com Date 2018-09-24 11:20:22 -0700 (Mon, 24 Sep 2018) Log Message CSS reference filter with feDisplacementMap shows buffer corruption on Retina displays https://bugs.webkit.org/show_bug.cgi?id=188486 Reviewed by Dean Jackson. Source/WebCore: The paintSize needs to be scaled by filterScale on Retina displays. Test: css3/filters/hidpi-feDisplacementMap.html * platform/graphics/filters/FEDisplacementMap.cpp: (WebCore::FEDisplacementMap::platformApplySoftware): * platform/graphics/filters/FEDisplacementMap.h: LayoutTests: * css3/filters/hidpi-feDisplacementMap-expected.html: Added. * css3/filters/hidpi-feDisplacementMap.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/filters/FEDisplacementMap.cpp trunk/Source/WebCore/platform/graphics/filters/FEDisplacementMap.h Added Paths trunk/LayoutTests/css3/filters/hidpi-feDisplacementMap-expected.html trunk/LayoutTests/css3/filters/hidpi-feDisplacementMap.html Diff Modified: trunk/LayoutTests/ChangeLog (236414 => 236415) --- trunk/LayoutTests/ChangeLog 2018-09-24 18:19:09 UTC (rev 236414) +++ trunk/LayoutTests/ChangeLog 2018-09-24 18:20:22 UTC (rev 236415) @@ -1,5 +1,16 @@ 2018-09-24 Simon Fraser +CSS reference filter with feDisplacementMap shows buffer corruption on Retina displays +https://bugs.webkit.org/show_bug.cgi?id=188486 + + +Reviewed by Dean Jackson. + +* css3/filters/hidpi-feDisplacementMap-expected.html: Added. +* css3/filters/hidpi-feDisplacementMap.html: Added. + +2018-09-24 Simon Fraser + Garbled rendering of image when applied feConvolveMatrix to it, on Retina display https://bugs.webkit.org/show_bug.cgi?id=189748 Added: trunk/LayoutTests/css3/filters/hidpi-feDisplacementMap-expected.html (0 => 236415) --- trunk/LayoutTests/css3/filters/hidpi-feDisplacementMap-expected.html (rev 0) +++ trunk/LayoutTests/css3/filters/hidpi-feDisplacementMap-expected.html 2018-09-24 18:20:22 UTC (rev 236415) @@ -0,0 +1,22 @@ + + + + +.box { +margin: 10px; +width: 200px; +height: 200px; +background-color: green; +} +.obscurer { +position: absolute; +background-color: gray; +} + + + + + + + + Added: trunk/LayoutTests/css3/filters/hidpi-feDisplacementMap.html (0 => 236415) --- trunk/LayoutTests/css3/filters/hidpi-feDisplacementMap.html (rev 0) +++ trunk/LayoutTests/css3/filters/hidpi-feDisplacementMap.html 2018-09-24 18:20:22 UTC (rev 236415) @@ -0,0 +1,29 @@ + + + + +.box { +margin: 10px; +width: 200px; +height: 200px; +background-color: green; +filter: url(#filter); +} +.obscurer { +position: absolute; +background-color: gray; +} + + + + + + + + + + + + + + Modified: trunk/Source/WebCore/ChangeLog (236414 => 236415) --- trunk/Source/WebCore/ChangeLog 2018-09-24 18:19:09 UTC (rev 236414) +++ trunk/Source/WebCore/ChangeLog 2018-09-24 18:20:22 UTC (rev 236415) @@ -1,5 +1,21 @@ 2018-09-24 Simon Fraser +CSS reference filter with feDisplacementMap shows buffer corruption on Retina displays +https://bugs.webkit.org/show_bug.cgi?id=188486 + + +Reviewed by Dean Jackson. + +The paintSize needs to be scaled by filterScale on Retina displays. + +Test: css3/filters/hidpi-feDisplacementMap.html + +* platform/graphics/filters/FEDisplacementMap.cpp: +(WebCore::FEDisplacementMap::platformApplySoftware): +* platform/graphics/filters/FEDisplacementMap.h: + +2018-09-24 Simon Fraser + ReferenceFilterOperation doesn't need to store the FilterEffect https://bugs.webkit.org/show_bug.cgi?id=189904 Modified: trunk/Source/WebCore/platform/graphics/filters/FEDisplacementMap.cpp (236414 => 236415) --- trunk/Source/WebCore/platform/graphics/filters/FEDisplacementMap.cpp 2018-09-24 18:19:09 UTC (rev 236414) +++ trunk/Source/WebCore/platform/graphics/filters/FEDisplacementMap.cpp 2018-09-24 18:20:22 UTC (rev 236415) @@ -112,6 +112,8 @@ Filter& filter = this->filter(); IntSize paintSize = absolutePaintRect().size(); +paintSize.scale(filter.filterScale()); + FloatSize scale = filter.scaledByFilterResolution({ m_scale, m_scale }); float scaleForColorX = scale.width() / 255.0; float scaleForColorY = scale.height() / 255.0; Modified: trunk/Source/WebCore/platform/graphics/filters/FEDisplacementMap.h (236414 => 236415) --- trunk/Source/WebCore/platform/graphics/filters/FEDisplacementMap.h 2018-09-24 18:19:09 UTC (rev 236414) +++ trunk/Source/WebCore/platform/graphics/filters/FEDisplacementMap.h 2018-09-24 18:20:22 UTC (rev 236415) @@ -37,7
[webkit-changes] [236413] trunk/Source/WebCore
Title: [236413] trunk/Source/WebCore Revision 236413 Author simon.fra...@apple.com Date 2018-09-24 11:10:19 -0700 (Mon, 24 Sep 2018) Log Message ReferenceFilterOperation doesn't need to store the FilterEffect https://bugs.webkit.org/show_bug.cgi?id=189904 Reviewed by Dean Jackson. ReferenceFilterOperation doesn't do anything with m_filterEffect so don't store it. * platform/graphics/filters/FilterOperation.cpp: (WebCore::ReferenceFilterOperation::setFilterEffect): Deleted. * platform/graphics/filters/FilterOperation.h: (WebCore::ReferenceFilterOperation::filterEffect const): Deleted. * rendering/CSSFilter.cpp: (WebCore::CSSFilter::build): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/filters/FilterOperation.cpp trunk/Source/WebCore/platform/graphics/filters/FilterOperation.h trunk/Source/WebCore/rendering/CSSFilter.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (236412 => 236413) --- trunk/Source/WebCore/ChangeLog 2018-09-24 18:00:31 UTC (rev 236412) +++ trunk/Source/WebCore/ChangeLog 2018-09-24 18:10:19 UTC (rev 236413) @@ -1,5 +1,21 @@ 2018-09-24 Simon Fraser +ReferenceFilterOperation doesn't need to store the FilterEffect +https://bugs.webkit.org/show_bug.cgi?id=189904 + +Reviewed by Dean Jackson. + +ReferenceFilterOperation doesn't do anything with m_filterEffect so don't store it. + +* platform/graphics/filters/FilterOperation.cpp: +(WebCore::ReferenceFilterOperation::setFilterEffect): Deleted. +* platform/graphics/filters/FilterOperation.h: +(WebCore::ReferenceFilterOperation::filterEffect const): Deleted. +* rendering/CSSFilter.cpp: +(WebCore::CSSFilter::build): + +2018-09-24 Simon Fraser + Garbled rendering of image when applied feConvolveMatrix to it, on Retina display https://bugs.webkit.org/show_bug.cgi?id=189748 Modified: trunk/Source/WebCore/platform/graphics/filters/FilterOperation.cpp (236412 => 236413) --- trunk/Source/WebCore/platform/graphics/filters/FilterOperation.cpp 2018-09-24 18:00:31 UTC (rev 236412) +++ trunk/Source/WebCore/platform/graphics/filters/FilterOperation.cpp 2018-09-24 18:10:19 UTC (rev 236413) @@ -71,11 +71,6 @@ m_cachedSVGDocumentReference->load(cachedResourceLoader, options); } -void ReferenceFilterOperation::setFilterEffect(RefPtr&& filterEffect) -{ -m_filterEffect = WTFMove(filterEffect); -} - RefPtr BasicColorMatrixFilterOperation::blend(const FilterOperation* from, double progress, bool blendToPassthrough) { if (from && !from->isSameType(*this)) Modified: trunk/Source/WebCore/platform/graphics/filters/FilterOperation.h (236412 => 236413) --- trunk/Source/WebCore/platform/graphics/filters/FilterOperation.h 2018-09-24 18:00:31 UTC (rev 236412) +++ trunk/Source/WebCore/platform/graphics/filters/FilterOperation.h 2018-09-24 18:10:19 UTC (rev 236413) @@ -189,9 +189,6 @@ CachedSVGDocumentReference* cachedSVGDocumentReference() const { return m_cachedSVGDocumentReference.get(); } -FilterEffect* filterEffect() const { return m_filterEffect.get(); } -void setFilterEffect(RefPtr&&); - private: ReferenceFilterOperation(const String& url, const String& fragment); @@ -200,7 +197,6 @@ String m_url; String m_fragment; std::unique_ptr m_cachedSVGDocumentReference; -RefPtr m_filterEffect; }; // GRAYSCALE, SEPIA, SATURATE and HUE_ROTATE are variations on a basic color matrix effect. Modified: trunk/Source/WebCore/rendering/CSSFilter.cpp (236412 => 236413) --- trunk/Source/WebCore/rendering/CSSFilter.cpp 2018-09-24 18:00:31 UTC (rev 236412) +++ trunk/Source/WebCore/rendering/CSSFilter.cpp 2018-09-24 18:10:19 UTC (rev 236413) @@ -144,7 +144,6 @@ case FilterOperation::REFERENCE: { auto& referenceOperation = downcast(filterOperation); effect = buildReferenceFilter(renderer, *previousEffect, referenceOperation); -referenceOperation.setFilterEffect(effect.copyRef()); break; } case FilterOperation::GRAYSCALE: { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [236412] trunk
Title: [236412] trunk Revision 236412 Author simon.fra...@apple.com Date 2018-09-24 11:00:31 -0700 (Mon, 24 Sep 2018) Log Message Garbled rendering of image when applied feConvolveMatrix to it, on Retina display https://bugs.webkit.org/show_bug.cgi?id=189748 Reviewed by Jon Lee. Source/WebCore: feConvolveMatrix needs to scale the paintSize by the filter scale (2x on Retina displays), otherwise parts of the output buffer are uninitialized and the result is incorrect. Test: css3/filters/hidpi-feConvolveMatrix.html * platform/graphics/filters/FEConvolveMatrix.cpp: (WebCore::FEConvolveMatrix::platformApplySoftware): LayoutTests: * css3/filters/hidpi-feConvolveMatrix-expected.html: Added. * css3/filters/hidpi-feConvolveMatrix.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/filters/FEConvolveMatrix.cpp Added Paths trunk/LayoutTests/css3/filters/hidpi-feConvolveMatrix-expected.html trunk/LayoutTests/css3/filters/hidpi-feConvolveMatrix.html Diff Modified: trunk/LayoutTests/ChangeLog (236411 => 236412) --- trunk/LayoutTests/ChangeLog 2018-09-24 17:37:47 UTC (rev 236411) +++ trunk/LayoutTests/ChangeLog 2018-09-24 18:00:31 UTC (rev 236412) @@ -1,3 +1,14 @@ +2018-09-24 Simon Fraser + +Garbled rendering of image when applied feConvolveMatrix to it, on Retina display +https://bugs.webkit.org/show_bug.cgi?id=189748 + + +Reviewed by Jon Lee. + +* css3/filters/hidpi-feConvolveMatrix-expected.html: Added. +* css3/filters/hidpi-feConvolveMatrix.html: Added. + 2018-09-22 Dean Jackson Ensure PointerEvent is not visible when disabled Added: trunk/LayoutTests/css3/filters/hidpi-feConvolveMatrix-expected.html (0 => 236412) --- trunk/LayoutTests/css3/filters/hidpi-feConvolveMatrix-expected.html (rev 0) +++ trunk/LayoutTests/css3/filters/hidpi-feConvolveMatrix-expected.html 2018-09-24 18:00:31 UTC (rev 236412) @@ -0,0 +1,15 @@ + + + + +.box { +width: 200px; +height: 200px; +background-color: green; +} + + + + + + Added: trunk/LayoutTests/css3/filters/hidpi-feConvolveMatrix.html (0 => 236412) --- trunk/LayoutTests/css3/filters/hidpi-feConvolveMatrix.html (rev 0) +++ trunk/LayoutTests/css3/filters/hidpi-feConvolveMatrix.html 2018-09-24 18:00:31 UTC (rev 236412) @@ -0,0 +1,23 @@ + + + + +.box { +width: 200px; +height: 200px; +background-color: green; +filter: url(#sharpen); +} + + + + + + + + + + + + + Modified: trunk/Source/WebCore/ChangeLog (236411 => 236412) --- trunk/Source/WebCore/ChangeLog 2018-09-24 17:37:47 UTC (rev 236411) +++ trunk/Source/WebCore/ChangeLog 2018-09-24 18:00:31 UTC (rev 236412) @@ -1,3 +1,19 @@ +2018-09-24 Simon Fraser + +Garbled rendering of image when applied feConvolveMatrix to it, on Retina display +https://bugs.webkit.org/show_bug.cgi?id=189748 + + +Reviewed by Jon Lee. + +feConvolveMatrix needs to scale the paintSize by the filter scale (2x on Retina displays), +otherwise parts of the output buffer are uninitialized and the result is incorrect. + +Test: css3/filters/hidpi-feConvolveMatrix.html + +* platform/graphics/filters/FEConvolveMatrix.cpp: +(WebCore::FEConvolveMatrix::platformApplySoftware): + 2018-09-22 Dean Jackson Ensure PointerEvent is not visible when disabled Modified: trunk/Source/WebCore/platform/graphics/filters/FEConvolveMatrix.cpp (236411 => 236412) --- trunk/Source/WebCore/platform/graphics/filters/FEConvolveMatrix.cpp 2018-09-24 17:37:47 UTC (rev 236411) +++ trunk/Source/WebCore/platform/graphics/filters/FEConvolveMatrix.cpp 2018-09-24 18:00:31 UTC (rev 236412) @@ -391,6 +391,8 @@ return; IntSize paintSize = absolutePaintRect().size(); +paintSize.scale(filter().filterScale()); + PaintingData paintingData = { *srcPixelArray, *resultImage, ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [236411] trunk/Source/WebKit
Title: [236411] trunk/Source/WebKit Revision 236411 Author bb...@apple.com Date 2018-09-24 10:37:47 -0700 (Mon, 24 Sep 2018) Log Message Web Inspector: topContentInset is not accounted for when inspecting a WKWebView and docked to side https://bugs.webkit.org/show_bug.cgi?id=189859 Reviewed by Joseph Pecoraro. * UIProcess/mac/WebInspectorProxyMac.mm: (WebKit::WebInspectorProxy::inspectedViewFrameDidChange): Add special cases for inspecting a WKWebView. We already special-case for WKView. Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/mac/WebInspectorProxyMac.mm Diff Modified: trunk/Source/WebKit/ChangeLog (236410 => 236411) --- trunk/Source/WebKit/ChangeLog 2018-09-24 17:35:39 UTC (rev 236410) +++ trunk/Source/WebKit/ChangeLog 2018-09-24 17:37:47 UTC (rev 236411) @@ -1,3 +1,14 @@ +2018-09-24 Brian Burg + +Web Inspector: topContentInset is not accounted for when inspecting a WKWebView and docked to side +https://bugs.webkit.org/show_bug.cgi?id=189859 + +Reviewed by Joseph Pecoraro. + +* UIProcess/mac/WebInspectorProxyMac.mm: +(WebKit::WebInspectorProxy::inspectedViewFrameDidChange): +Add special cases for inspecting a WKWebView. We already special-case for WKView. + 2018-09-24 Miguel Gomez [GTK][WPE] Compositing indicators are not working Modified: trunk/Source/WebKit/UIProcess/mac/WebInspectorProxyMac.mm (236410 => 236411) --- trunk/Source/WebKit/UIProcess/mac/WebInspectorProxyMac.mm 2018-09-24 17:35:39 UTC (rev 236410) +++ trunk/Source/WebKit/UIProcess/mac/WebInspectorProxyMac.mm 2018-09-24 17:37:47 UTC (rev 236411) @@ -526,6 +526,8 @@ CGFloat insetExcludingBanners = 0; if ([inspectedView isKindOfClass:[WKView class]]) insetExcludingBanners = ((WKView *)inspectedView)._topContentInset - ((WKView *)inspectedView)._totalHeightOfBanners; +if ([inspectedView isKindOfClass:[WKWebView class]]) +insetExcludingBanners = ((WKWebView *)inspectedView)._topContentInset - ((WKWebView *)inspectedView)._totalHeightOfBanners; newInspectorViewFrame = NSMakeRect(parentWidth - inspectorWidth, 0, inspectorWidth, NSHeight(parentBounds) - insetExcludingBanners); break; } @@ -543,6 +545,8 @@ CGFloat insetExcludingBanners = 0; if ([inspectedView isKindOfClass:[WKView class]]) insetExcludingBanners = ((WKView *)inspectedView)._topContentInset - ((WKView *)inspectedView)._totalHeightOfBanners; +if ([inspectedView isKindOfClass:[WKWebView class]]) +insetExcludingBanners = ((WKWebView *)inspectedView)._topContentInset - ((WKWebView *)inspectedView)._totalHeightOfBanners; newInspectorViewFrame = NSMakeRect(0, 0, inspectorWidth, NSHeight(parentBounds) - insetExcludingBanners); break; } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [236410] trunk
Title: [236410] trunk Revision 236410 Author d...@apple.com Date 2018-09-24 10:35:39 -0700 (Mon, 24 Sep 2018) Log Message Ensure PointerEvent is not visible when disabled https://bugs.webkit.org/show_bug.cgi?id=189889 Reviewed by Eric Carlson. Source/WebCore: Test: pointerevents/disabled.html * bindings/js/WebCoreBuiltinNames.h: Now that it is enabled at runtime, it needs a built-in name. * dom/PointerEvent.idl: Add EnabledAtRuntime. LayoutTests: A test that explicitly disables PointerEvents and checks that the interface is not visible. * pointerevents/disabled-expected.html: Added. * pointerevents/disabled.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h trunk/Source/WebCore/dom/PointerEvent.idl Added Paths trunk/LayoutTests/pointerevents/ trunk/LayoutTests/pointerevents/disabled-expected.html trunk/LayoutTests/pointerevents/disabled.html Diff Modified: trunk/LayoutTests/ChangeLog (236409 => 236410) --- trunk/LayoutTests/ChangeLog 2018-09-24 17:26:03 UTC (rev 236409) +++ trunk/LayoutTests/ChangeLog 2018-09-24 17:35:39 UTC (rev 236410) @@ -1,3 +1,17 @@ +2018-09-22 Dean Jackson + +Ensure PointerEvent is not visible when disabled +https://bugs.webkit.org/show_bug.cgi?id=189889 + + +Reviewed by Eric Carlson. + +A test that explicitly disables PointerEvents and checks +that the interface is not visible. + +* pointerevents/disabled-expected.html: Added. +* pointerevents/disabled.html: Added. + 2018-09-24 Truitt Savell [ iOS ] Layout Tests in media/media-fragments/ are flaky - Remved Debug only as tests are flakey on Release. Added: trunk/LayoutTests/pointerevents/disabled-expected.html (0 => 236410) --- trunk/LayoutTests/pointerevents/disabled-expected.html (rev 0) +++ trunk/LayoutTests/pointerevents/disabled-expected.html 2018-09-24 17:35:39 UTC (rev 236410) @@ -0,0 +1,3 @@ + +The PointerEvent interface shouldn't be visible when the feature is disabled. +window.PointerEvent == undefined Property changes on: trunk/LayoutTests/pointerevents/disabled-expected.html ___ Added: svn:eol-style +native \ No newline at end of property Added: svn:keywords +Date Revision \ No newline at end of property Added: svn:mime-type +text/html \ No newline at end of property Added: trunk/LayoutTests/pointerevents/disabled.html (0 => 236410) --- trunk/LayoutTests/pointerevents/disabled.html (rev 0) +++ trunk/LayoutTests/pointerevents/disabled.html 2018-09-24 17:35:39 UTC (rev 236410) @@ -0,0 +1,9 @@ + +The PointerEvent interface shouldn't be visible when the feature is disabled. +window.PointerEvent == + +window.addEventListener("load", () => { +const output = document.querySelector("span"); +output.textContent = `${window.PointerEvent}`; +}, false); + Property changes on: trunk/LayoutTests/pointerevents/disabled.html ___ Added: svn:eol-style +native \ No newline at end of property Added: svn:keywords +Date Revision \ No newline at end of property Added: svn:mime-type +text/html \ No newline at end of property Modified: trunk/Source/WebCore/ChangeLog (236409 => 236410) --- trunk/Source/WebCore/ChangeLog 2018-09-24 17:26:03 UTC (rev 236409) +++ trunk/Source/WebCore/ChangeLog 2018-09-24 17:35:39 UTC (rev 236410) @@ -1,3 +1,17 @@ +2018-09-22 Dean Jackson + +Ensure PointerEvent is not visible when disabled +https://bugs.webkit.org/show_bug.cgi?id=189889 + + +Reviewed by Eric Carlson. + +Test: pointerevents/disabled.html + +* bindings/js/WebCoreBuiltinNames.h: Now that it is enabled at runtime, it needs +a built-in name. +* dom/PointerEvent.idl: Add EnabledAtRuntime. + 2018-09-24 Alicia Boya García [MSE][GStreamer] Pull demuxed samples in batches Modified: trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h (236409 => 236410) --- trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h 2018-09-24 17:26:03 UTC (rev 236409) +++ trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h 2018-09-24 17:35:39 UTC (rev 236410) @@ -120,6 +120,7 @@ macro(PerformanceObserverEntryList) \ macro(PerformanceResourceTiming) \ macro(PerformanceServerTiming) \ +macro(PointerEvent) \ macro(PublicKeyCredential) \ macro(RTCDTMFSender) \ macro(RTCDTMFToneChangeEvent) \ Modified: trunk/Source/WebCore/dom/PointerEvent.idl (236409 => 236410) --- trunk/Source/WebCore/dom/PointerEvent.idl 2018-09-24 17:26:03 UTC (rev 236409) +++ trunk/Source/WebCore/dom/PointerEvent.idl 2018-09-24 17:35:39 UTC (rev 236410) @@ -36,9 +36,11 @@ boolean isPrimary = false; }; -[Constructor(DOMString type, optional PointerEventInit eventInitDict), -
[webkit-changes] [236409] trunk/Source/WebCore
Title: [236409] trunk/Source/WebCore Revision 236409 Author ab...@igalia.com Date 2018-09-24 10:26:03 -0700 (Mon, 24 Sep 2018) Log Message [MSE][GStreamer] Pull demuxed samples in batches https://bugs.webkit.org/show_bug.cgi?id=189871 Reviewed by Xabier Rodriguez-Calvar. After this patch, only the notifications of "new samples available" (appsink-new-sample bus messages) travel from the streaming thread to the main thread through the bus and the main thread is the responsible of pulling as many samples as it can from appsink. Before, the samples were pulled from appsink in the non-main thread and traveled to the main thread through the bus one by one. This reduces drastically the amount of context switches and waiting time in the streaming thread, resulting in a noticeable performance improvement. This fixes stutter while loading YouTube videos. * platform/graphics/gstreamer/MediaSampleGStreamer.cpp: (WebCore::MediaSampleGStreamer::MediaSampleGStreamer): * platform/graphics/gstreamer/mse/AppendPipeline.cpp: (WebCore::AppendPipeline::AppendPipeline): (WebCore::AppendPipeline::~AppendPipeline): (WebCore::AppendPipeline::clearPlayerPrivate): (WebCore::AppendPipeline::handleApplicationMessage): (WebCore::AppendPipeline::appsinkNewSample): (WebCore::AppendPipeline::consumeAppSinkAvailableSamples): (WebCore::AppendPipeline::resetPipeline): (WebCore::AppendPipeline::handleNewAppsinkSample): * platform/graphics/gstreamer/mse/AppendPipeline.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.cpp trunk/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp trunk/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.h Diff Modified: trunk/Source/WebCore/ChangeLog (236408 => 236409) --- trunk/Source/WebCore/ChangeLog 2018-09-24 17:19:52 UTC (rev 236408) +++ trunk/Source/WebCore/ChangeLog 2018-09-24 17:26:03 UTC (rev 236409) @@ -1,3 +1,36 @@ +2018-09-24 Alicia Boya García + +[MSE][GStreamer] Pull demuxed samples in batches +https://bugs.webkit.org/show_bug.cgi?id=189871 + +Reviewed by Xabier Rodriguez-Calvar. + +After this patch, only the notifications of "new samples available" +(appsink-new-sample bus messages) travel from the streaming thread to +the main thread through the bus and the main thread is the responsible +of pulling as many samples as it can from appsink. Before, the samples +were pulled from appsink in the non-main thread and traveled to the +main thread through the bus one by one. + +This reduces drastically the amount of context switches and waiting +time in the streaming thread, resulting in a noticeable performance +improvement. + +This fixes stutter while loading YouTube videos. + +* platform/graphics/gstreamer/MediaSampleGStreamer.cpp: +(WebCore::MediaSampleGStreamer::MediaSampleGStreamer): +* platform/graphics/gstreamer/mse/AppendPipeline.cpp: +(WebCore::AppendPipeline::AppendPipeline): +(WebCore::AppendPipeline::~AppendPipeline): +(WebCore::AppendPipeline::clearPlayerPrivate): +(WebCore::AppendPipeline::handleApplicationMessage): +(WebCore::AppendPipeline::appsinkNewSample): +(WebCore::AppendPipeline::consumeAppSinkAvailableSamples): +(WebCore::AppendPipeline::resetPipeline): +(WebCore::AppendPipeline::handleNewAppsinkSample): +* platform/graphics/gstreamer/mse/AppendPipeline.h: + 2018-09-24 Per Arne Vollan [WebVTT] Change name of WebVTT region attribute 'height' to 'lines'. Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.cpp (236408 => 236409) --- trunk/Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.cpp 2018-09-24 17:19:52 UTC (rev 236408) +++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.cpp 2018-09-24 17:26:03 UTC (rev 236409) @@ -36,8 +36,7 @@ { ASSERT(sample); GstBuffer* buffer = gst_sample_get_buffer(sample.get()); -if (!buffer) -return; +RELEASE_ASSERT(buffer); auto createMediaTime = [](GstClockTime time) -> MediaTime { Modified: trunk/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp (236408 => 236409) --- trunk/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp 2018-09-24 17:19:52 UTC (rev 236408) +++ trunk/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp 2018-09-24 17:26:03 UTC (rev 236409) @@ -109,6 +109,7 @@ , m_sourceBufferPrivate(sourceBufferPrivate.get()) , m_playerPrivate() , m_id(0) +, m_wasBusAlreadyNotifiedOfAvailableSamples(false) , m_appsrcAtLeastABufferLeft(false) , m_appsrcNeedDataReceived(false) , m_appsrcDataLeavingProbeId(0) @@ -190,11 +191,7 @@ { ASSERT(WTF::isMainThread()); -{ -LockHolder locker(m_newSampleLock); -
[webkit-changes] [236408] trunk/LayoutTests
Title: [236408] trunk/LayoutTests Revision 236408 Author tsav...@apple.com Date 2018-09-24 10:19:52 -0700 (Mon, 24 Sep 2018) Log Message [ iOS ] Layout Tests in media/media-fragments/ are flaky - Remved Debug only as tests are flakey on Release. https://bugs.webkit.org/show_bug.cgi?id=187557 Unreviewed Test Gardening * platform/ios/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (236407 => 236408) --- trunk/LayoutTests/ChangeLog 2018-09-24 17:16:58 UTC (rev 236407) +++ trunk/LayoutTests/ChangeLog 2018-09-24 17:19:52 UTC (rev 236408) @@ -1,5 +1,14 @@ 2018-09-24 Truitt Savell +[ iOS ] Layout Tests in media/media-fragments/ are flaky - Remved Debug only as tests are flakey on Release. +https://bugs.webkit.org/show_bug.cgi?id=187557 + +Unreviewed Test Gardening + +* platform/ios/TestExpectations: + +2018-09-24 Truitt Savell + [ iOS ] Layout Tests in media/media-fragments/ are flaky https://bugs.webkit.org/show_bug.cgi?id=187557 Modified: trunk/LayoutTests/platform/ios/TestExpectations (236407 => 236408) --- trunk/LayoutTests/platform/ios/TestExpectations 2018-09-24 17:16:58 UTC (rev 236407) +++ trunk/LayoutTests/platform/ios/TestExpectations 2018-09-24 17:19:52 UTC (rev 236408) @@ -3151,16 +3151,16 @@ webkit.org/b/189727 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html [ Pass Failure ] -webkit.org/b/187557 [ Debug ] media/media-fragments/TC0005.html [ Pass Failure ] -webkit.org/b/187522 [ Debug ] media/media-fragments/TC0015.html [ Pass Failure ] -webkit.org/b/187557 [ Debug ] media/media-fragments/TC0024.html [ Pass Failure ] -webkit.org/b/187557 [ Debug ] media/media-fragments/TC0037.html [ Pass Failure ] -webkit.org/b/187557 [ Debug ] media/media-fragments/TC0078.html [ Pass Failure ] -webkit.org/b/187557 [ Debug ] media/media-fragments/TC0079.html [ Pass Failure ] -webkit.org/b/187557 [ Debug ] media/media-fragments/TC0085.html [ Pass Failure ] -webkit.org/b/187557 [ Debug ] media/media-fragments/TC0086.html [ Pass Failure ] -webkit.org/b/187557 [ Debug ] media/media-fragments/TC0087.html [ Pass Failure ] -webkit.org/b/187557 [ Debug ] media/media-fragments/TC0088.html [ Pass Failure ] -webkit.org/b/187557 [ Debug ] media/media-fragments/TC0089.html [ Pass Failure ] -webkit.org/b/187557 [ Debug ] media/media-fragments/TC0090.html [ Pass Failure ] -webkit.org/b/187557 [ Debug ] media/media-fragments/TC0091.html [ Pass Failure ] \ No newline at end of file +webkit.org/b/187557 media/media-fragments/TC0005.html [ Pass Failure ] +webkit.org/b/187522 media/media-fragments/TC0015.html [ Pass Failure ] +webkit.org/b/187557 media/media-fragments/TC0024.html [ Pass Failure ] +webkit.org/b/187557 media/media-fragments/TC0037.html [ Pass Failure ] +webkit.org/b/187557 media/media-fragments/TC0078.html [ Pass Failure ] +webkit.org/b/187557 media/media-fragments/TC0079.html [ Pass Failure ] +webkit.org/b/187557 media/media-fragments/TC0085.html [ Pass Failure ] +webkit.org/b/187557 media/media-fragments/TC0086.html [ Pass Failure ] +webkit.org/b/187557 media/media-fragments/TC0087.html [ Pass Failure ] +webkit.org/b/187557 media/media-fragments/TC0088.html [ Pass Failure ] +webkit.org/b/187557 media/media-fragments/TC0089.html [ Pass Failure ] +webkit.org/b/187557 media/media-fragments/TC0090.html [ Pass Failure ] +webkit.org/b/187557 media/media-fragments/TC0091.html [ Pass Failure ] \ No newline at end of file ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [236407] trunk/LayoutTests
Title: [236407] trunk/LayoutTests Revision 236407 Author tsav...@apple.com Date 2018-09-24 10:16:58 -0700 (Mon, 24 Sep 2018) Log Message [ iOS ] Layout Tests in media/media-fragments/ are flaky https://bugs.webkit.org/show_bug.cgi?id=187557 Unreviewed Test Gardening * platform/ios/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (236406 => 236407) --- trunk/LayoutTests/ChangeLog 2018-09-24 17:13:05 UTC (rev 236406) +++ trunk/LayoutTests/ChangeLog 2018-09-24 17:16:58 UTC (rev 236407) @@ -1,3 +1,12 @@ +2018-09-24 Truitt Savell + +[ iOS ] Layout Tests in media/media-fragments/ are flaky +https://bugs.webkit.org/show_bug.cgi?id=187557 + +Unreviewed Test Gardening + +* platform/ios/TestExpectations: + 2018-09-24 Andy Estes Try to make payment-response-reference-cycle-leak.https.html not be flaky. Modified: trunk/LayoutTests/platform/ios/TestExpectations (236406 => 236407) --- trunk/LayoutTests/platform/ios/TestExpectations 2018-09-24 17:13:05 UTC (rev 236406) +++ trunk/LayoutTests/platform/ios/TestExpectations 2018-09-24 17:16:58 UTC (rev 236407) @@ -3150,3 +3150,17 @@ webkit.org/b/189726 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-mixed-content-to-outscope.https.html [ Pass Failure ] webkit.org/b/189727 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html [ Pass Failure ] + +webkit.org/b/187557 [ Debug ] media/media-fragments/TC0005.html [ Pass Failure ] +webkit.org/b/187522 [ Debug ] media/media-fragments/TC0015.html [ Pass Failure ] +webkit.org/b/187557 [ Debug ] media/media-fragments/TC0024.html [ Pass Failure ] +webkit.org/b/187557 [ Debug ] media/media-fragments/TC0037.html [ Pass Failure ] +webkit.org/b/187557 [ Debug ] media/media-fragments/TC0078.html [ Pass Failure ] +webkit.org/b/187557 [ Debug ] media/media-fragments/TC0079.html [ Pass Failure ] +webkit.org/b/187557 [ Debug ] media/media-fragments/TC0085.html [ Pass Failure ] +webkit.org/b/187557 [ Debug ] media/media-fragments/TC0086.html [ Pass Failure ] +webkit.org/b/187557 [ Debug ] media/media-fragments/TC0087.html [ Pass Failure ] +webkit.org/b/187557 [ Debug ] media/media-fragments/TC0088.html [ Pass Failure ] +webkit.org/b/187557 [ Debug ] media/media-fragments/TC0089.html [ Pass Failure ] +webkit.org/b/187557 [ Debug ] media/media-fragments/TC0090.html [ Pass Failure ] +webkit.org/b/187557 [ Debug ] media/media-fragments/TC0091.html [ Pass Failure ] \ No newline at end of file ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [236406] trunk/Tools
Title: [236406] trunk/Tools Revision 236406 Author ryanhad...@apple.com Date 2018-09-24 10:13:05 -0700 (Mon, 24 Sep 2018) Log Message Update flakiness dashboard configuration for iOS 12 queues https://bugs.webkit.org/show_bug.cgi?id=189688 Reviewed by Alexey Proskuryakov. * TestResultServer/static-dashboards/builders.jsonp: Modified Paths trunk/Tools/ChangeLog trunk/Tools/TestResultServer/static-dashboards/builders.jsonp Diff Modified: trunk/Tools/ChangeLog (236405 => 236406) --- trunk/Tools/ChangeLog 2018-09-24 16:55:25 UTC (rev 236405) +++ trunk/Tools/ChangeLog 2018-09-24 17:13:05 UTC (rev 236406) @@ -1,3 +1,12 @@ +2018-09-24 Ryan Haddad + +Update flakiness dashboard configuration for iOS 12 queues +https://bugs.webkit.org/show_bug.cgi?id=189688 + +Reviewed by Alexey Proskuryakov. + +* TestResultServer/static-dashboards/builders.jsonp: + 2018-09-24 Alicia Boya García [GStreamer] Unreviewed build fix. Modified: trunk/Tools/TestResultServer/static-dashboards/builders.jsonp (236405 => 236406) --- trunk/Tools/TestResultServer/static-dashboards/builders.jsonp 2018-09-24 16:55:25 UTC (rev 236405) +++ trunk/Tools/TestResultServer/static-dashboards/builders.jsonp 2018-09-24 17:13:05 UTC (rev 236406) @@ -17,13 +17,13 @@ "Apple Sierra Release WK2 (Tests)", "Apple Win 7 Debug (Tests)", "Apple Win 7 Release (Tests)", -"Apple iOS 11 Simulator Debug WK2 (Tests)", -"Apple iOS 11 Simulator Release WK2 (Tests)", +"Apple iOS 12 Simulator Debug WK2 (Tests)", +"Apple iOS 12 Simulator Release WK2 (Tests)", "GTK Linux 64-bit Debug (Tests)", "GTK Linux 64-bit Release (Tests)", "GTK Linux 64-bit Release Wayland (Tests)", -"WPE Linux 64-bit Release (Tests)", -"WPE Linux 64-bit Debug (Tests)" +"WPE Linux 64-bit Debug (Tests)", +"WPE Linux 64-bit Release (Tests)" ] } }, ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [236404] trunk/LayoutTests
Title: [236404] trunk/LayoutTests Revision 236404 Author aes...@apple.com Date 2018-09-24 09:49:18 -0700 (Mon, 24 Sep 2018) Log Message Try to make payment-response-reference-cycle-leak.https.html not be flaky. Unreviewed. * http/tests/paymentrequest/payment-response-reference-cycle-leak.https.html: Doubled the number of repetitions (from 40 to 80). Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/http/tests/paymentrequest/payment-response-reference-cycle-leak.https.html Diff Modified: trunk/LayoutTests/ChangeLog (236403 => 236404) --- trunk/LayoutTests/ChangeLog 2018-09-24 16:39:04 UTC (rev 236403) +++ trunk/LayoutTests/ChangeLog 2018-09-24 16:49:18 UTC (rev 236404) @@ -1,3 +1,12 @@ +2018-09-24 Andy Estes + +Try to make payment-response-reference-cycle-leak.https.html not be flaky. + +Unreviewed. + +* http/tests/paymentrequest/payment-response-reference-cycle-leak.https.html: +Doubled the number of repetitions (from 40 to 80). + 2018-09-24 Per Arne Vollan [WebVTT] Change name of WebVTT region attribute 'height' to 'lines'. Modified: trunk/LayoutTests/http/tests/paymentrequest/payment-response-reference-cycle-leak.https.html (236403 => 236404) --- trunk/LayoutTests/http/tests/paymentrequest/payment-response-reference-cycle-leak.https.html 2018-09-24 16:39:04 UTC (rev 236403) +++ trunk/LayoutTests/http/tests/paymentrequest/payment-response-reference-cycle-leak.https.html 2018-09-24 16:49:18 UTC (rev 236404) @@ -10,7 +10,7 @@ async function checkForNodeLeaks(testFunction, underlyingClass) { // Bump this number as high as we need to, to get reproducible results. -const repetitions = 40; +const repetitions = 80; GCController.collect(); const beforeCount = internals.numberOfLiveNodes(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [236403] trunk
Title: [236403] trunk Revision 236403 Author pvol...@apple.com Date 2018-09-24 09:39:04 -0700 (Mon, 24 Sep 2018) Log Message [WebVTT] Change name of WebVTT region attribute 'height' to 'lines'. https://bugs.webkit.org/show_bug.cgi?id=189862 Reviewed by Eric Carlson. Source/WebCore: The WebVTT region attribute 'height' has been renamed to 'lines', see https://w3c.github.io/webvtt/#region-settings. No new tests, covered by existing tests. * html/track/VTTRegion.cpp: (WebCore::VTTRegion::setLines): (WebCore::VTTRegion::updateParametersFromRegion): (WebCore::VTTRegion::scanSettingName): (WebCore::VTTRegion::parseSettingValue): (WebCore::VTTRegion::prepareRegionDisplayTree): (WebCore::VTTRegion::setHeight): Deleted. * html/track/VTTRegion.h: * html/track/VTTRegion.idl: LayoutTests: * media/track/captions-webvtt/captions-regions.vtt: * media/track/captions-webvtt/header-regions.vtt: * media/track/regions-webvtt/vtt-region-constructor-expected.txt: * media/track/regions-webvtt/vtt-region-constructor.html: * media/track/regions-webvtt/vtt-region-display-expected.txt: * media/track/regions-webvtt/vtt-region-display.html: * media/track/regions-webvtt/vtt-region-list-expected.txt: * media/track/regions-webvtt/vtt-region-list.html: * media/track/regions-webvtt/vtt-region-parser-expected.txt: * media/track/regions-webvtt/vtt-region-parser.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/media/track/captions-webvtt/captions-regions.vtt trunk/LayoutTests/media/track/captions-webvtt/header-regions.vtt trunk/LayoutTests/media/track/regions-webvtt/vtt-region-constructor-expected.txt trunk/LayoutTests/media/track/regions-webvtt/vtt-region-constructor.html trunk/LayoutTests/media/track/regions-webvtt/vtt-region-display-expected.txt trunk/LayoutTests/media/track/regions-webvtt/vtt-region-display.html trunk/LayoutTests/media/track/regions-webvtt/vtt-region-list-expected.txt trunk/LayoutTests/media/track/regions-webvtt/vtt-region-list.html trunk/LayoutTests/media/track/regions-webvtt/vtt-region-parser-expected.txt trunk/LayoutTests/media/track/regions-webvtt/vtt-region-parser.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/track/VTTRegion.cpp trunk/Source/WebCore/html/track/VTTRegion.h trunk/Source/WebCore/html/track/VTTRegion.idl Diff Modified: trunk/LayoutTests/ChangeLog (236402 => 236403) --- trunk/LayoutTests/ChangeLog 2018-09-24 15:58:43 UTC (rev 236402) +++ trunk/LayoutTests/ChangeLog 2018-09-24 16:39:04 UTC (rev 236403) @@ -1,3 +1,21 @@ +2018-09-24 Per Arne Vollan + +[WebVTT] Change name of WebVTT region attribute 'height' to 'lines'. +https://bugs.webkit.org/show_bug.cgi?id=189862 + +Reviewed by Eric Carlson. + +* media/track/captions-webvtt/captions-regions.vtt: +* media/track/captions-webvtt/header-regions.vtt: +* media/track/regions-webvtt/vtt-region-constructor-expected.txt: +* media/track/regions-webvtt/vtt-region-constructor.html: +* media/track/regions-webvtt/vtt-region-display-expected.txt: +* media/track/regions-webvtt/vtt-region-display.html: +* media/track/regions-webvtt/vtt-region-list-expected.txt: +* media/track/regions-webvtt/vtt-region-list.html: +* media/track/regions-webvtt/vtt-region-parser-expected.txt: +* media/track/regions-webvtt/vtt-region-parser.html: + 2018-09-24 Yoav Weiss Import WPT resource-timing tests Modified: trunk/LayoutTests/media/track/captions-webvtt/captions-regions.vtt (236402 => 236403) --- trunk/LayoutTests/media/track/captions-webvtt/captions-regions.vtt 2018-09-24 15:58:43 UTC (rev 236402) +++ trunk/LayoutTests/media/track/captions-webvtt/captions-regions.vtt 2018-09-24 16:39:04 UTC (rev 236403) @@ -3,7 +3,7 @@ REGION id=fred width=50% -height=2 +lines=2 regionanchor=50%,100% viewportanchor=10%,40% Modified: trunk/LayoutTests/media/track/captions-webvtt/header-regions.vtt (236402 => 236403) --- trunk/LayoutTests/media/track/captions-webvtt/header-regions.vtt 2018-09-24 15:58:43 UTC (rev 236402) +++ trunk/LayoutTests/media/track/captions-webvtt/header-regions.vtt 2018-09-24 16:39:04 UTC (rev 236403) @@ -6,7 +6,7 @@ REGION id=region_with_all_settings width=32% -height=5 +lines=5 regionanchor=41%,20% viewportanchor=31%,84% scroll=up Modified: trunk/LayoutTests/media/track/regions-webvtt/vtt-region-constructor-expected.txt (236402 => 236403) --- trunk/LayoutTests/media/track/regions-webvtt/vtt-region-constructor-expected.txt 2018-09-24 15:58:43 UTC (rev 236402) +++ trunk/LayoutTests/media/track/regions-webvtt/vtt-region-constructor-expected.txt 2018-09-24 16:39:04 UTC (rev 236403) @@ -9,7 +9,7 @@ EXPECTED (region.viewportAnchorY == '100') OK EXPECTED (region.regionAnchorX == '0') OK EXPECTED (region.regionAnchorY == '100') OK -EXPECTED (region.height == '3') OK +EXPECTED (region.lines == '3') OK EXPECTED (region.width == '100') OK ** Test that incorrect mutation keeps previous
[webkit-changes] [236400] trunk/Tools
Title: [236400] trunk/Tools Revision 236400 Author ab...@igalia.com Date 2018-09-24 08:28:25 -0700 (Mon, 24 Sep 2018) Log Message [GStreamer] Unreviewed build fix. A GStreamer patch was not applying cleanly on 1.14.3. * gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch: Modified Paths trunk/Tools/ChangeLog trunk/Tools/gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch Diff Modified: trunk/Tools/ChangeLog (236399 => 236400) --- trunk/Tools/ChangeLog 2018-09-24 13:31:19 UTC (rev 236399) +++ trunk/Tools/ChangeLog 2018-09-24 15:28:25 UTC (rev 236400) @@ -1,5 +1,13 @@ 2018-09-24 Alicia Boya García +[GStreamer] Unreviewed build fix. + +A GStreamer patch was not applying cleanly on 1.14.3. + +* gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch: + +2018-09-24 Alicia Boya García + [MSE][GStreamer] Use no-more-pads event for noticing initialization segments https://bugs.webkit.org/show_bug.cgi?id=189868 Modified: trunk/Tools/gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch (236399 => 236400) --- trunk/Tools/gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch 2018-09-24 13:31:19 UTC (rev 236399) +++ trunk/Tools/gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch 2018-09-24 15:28:25 UTC (rev 236400) @@ -1,8 +1,8 @@ -From f279bc5336dda19741a5996a108da42dd3201366 Mon Sep 17 00:00:00 2001 +From 1ef01359e5ab267ea13253cea688869697f7ff0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alicia=20Boya=20Garc=C3=ADa?= -Date: Fri, 21 Sep 2018 16:23:57 +0200 -Subject: [PATCH 8/9] matroskademux: Refactor track parsing out from adding - tracks +Date: Mon, 24 Sep 2018 17:20:15 +0200 +Subject: [PATCH] (backport for 1.4.13) matroskademux: Refactor track parsing + out from adding tracks This splits gst_matroska_demux_add_stream() into: @@ -17,14 +17,14 @@ https://bugzilla.gnome.org/show_bug.cgi?id=79 --- - gst/matroska/matroska-demux.c | 120 +- - 1 file changed, 75 insertions(+), 45 deletions(-) + gst/matroska/matroska-demux.c | 114 +- + 1 file changed, 72 insertions(+), 42 deletions(-) diff --git a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c -index 24a729485..0e2157a15 100644 +index 3f329ed6e..7c8990cf4 100644 --- a/gst/matroska/matroska-demux.c +++ b/gst/matroska/matroska-demux.c -@@ -592,21 +592,16 @@ beach: +@@ -575,21 +575,16 @@ beach: } static GstFlowReturn @@ -48,7 +48,7 @@ DEBUG_ELEMENT_START (demux, ebml, "TrackEntry"); -@@ -619,8 +614,6 @@ gst_matroska_demux_add_stream (GstMatroskaDemux * demux, GstEbmlRead * ebml) +@@ -602,8 +597,6 @@ gst_matroska_demux_add_stream (GstMatroskaDemux * demux, GstEbmlRead * ebml) /* allocate generic... if we know the type, we'll g_renew() * with the precise type */ context = g_new0 (GstMatroskaTrackContext, 1); @@ -57,7 +57,7 @@ context->index_writer_id = -1; context->type = 0;/* no type yet */ context->default_duration = 0; -@@ -637,10 +630,9 @@ gst_matroska_demux_add_stream (GstMatroskaDemux * demux, GstEbmlRead * ebml) +@@ -620,10 +613,9 @@ gst_matroska_demux_add_stream (GstMatroskaDemux * demux, GstEbmlRead * ebml) context->dts_only = FALSE; context->intra_only = FALSE; context->tags = gst_tag_list_new_empty (); @@ -70,7 +70,7 @@ /* try reading the trackentry headers */ while (ret == GST_FLOW_OK && gst_ebml_read_has_remaining (ebml, 1, TRUE)) { -@@ -659,12 +651,6 @@ gst_matroska_demux_add_stream (GstMatroskaDemux * demux, GstEbmlRead * ebml) +@@ -642,12 +634,6 @@ gst_matroska_demux_add_stream (GstMatroskaDemux * demux, GstEbmlRead * ebml) GST_ERROR_OBJECT (demux, "Invalid TrackNumber 0"); ret = GST_FLOW_ERROR; break; @@ -83,7 +83,7 @@ } GST_DEBUG_OBJECT (demux, "TrackNumber: %" G_GUINT64_FORMAT, num); -@@ -731,8 +717,6 @@ gst_matroska_demux_add_stream (GstMatroskaDemux * demux, GstEbmlRead * ebml) +@@ -714,8 +700,6 @@ gst_matroska_demux_add_stream (GstMatroskaDemux * demux, GstEbmlRead * ebml) context->type = 0; break; } @@ -92,7 +92,7 @@ break; } -@@ -751,8 +735,6 @@ gst_matroska_demux_add_stream (GstMatroskaDemux * demux, GstEbmlRead * ebml) +@@ -734,8 +718,6 @@ gst_matroska_demux_add_stream (GstMatroskaDemux * demux, GstEbmlRead * ebml) break; } videocontext = (GstMatroskaTrackVideoContext *) context; @@ -101,7 +101,7 @@ while (ret == GST_FLOW_OK && gst_ebml_read_has_remaining (ebml, 1, TRUE)) { -@@ -1033,8 +1015,6 @@ gst_matroska_demux_add_stream (GstMatroskaDemux * demux, GstEbmlRead
[webkit-changes] [236399] trunk
Title: [236399] trunk Revision 236399 Author ab...@igalia.com Date 2018-09-24 06:31:19 -0700 (Mon, 24 Sep 2018) Log Message [MSE][GStreamer] Use no-more-pads event for noticing initialization segments https://bugs.webkit.org/show_bug.cgi?id=189868 Reviewed by Xabier Rodriguez-Calvar. Source/WebCore: Fixes the following YTTV 2018 tests: 62.VideoDimensionVP9 63.PlaybackStateVP9 This removes the hack that was making supporting multiple tracks in the same file in MSE impossible. For WebM, this GStreamer patch is required: https://bugzilla.gnome.org/show_bug.cgi?id=797187 "matroskademux: Emit no-more-pads after parsing Tracks" * platform/graphics/gstreamer/mse/AppendPipeline.cpp: (WebCore::AppendPipeline::AppendPipeline): (WebCore::AppendPipeline::handleApplicationMessage): (WebCore::AppendPipeline::demuxerNoMorePads): (WebCore::AppendPipeline::appsinkCapsChanged): (WebCore::AppendPipeline::connectDemuxerSrcPadToAppsink): (WebCore::AppendPipeline::appendPipelineDemuxerNoMorePadsFromAnyThread): (WebCore::appendPipelineDemuxerNoMorePads): * platform/graphics/gstreamer/mse/AppendPipeline.h: Tools: Added patch from https://bugzilla.gnome.org/show_bug.cgi?id=797187 * gstreamer/jhbuild.modules: * gstreamer/patches/gst-plugins-good-0010-matroskademux-Emit-no-more-pads-after-parsing-Tracks.patch: Added. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp trunk/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.h trunk/Tools/ChangeLog trunk/Tools/gstreamer/jhbuild.modules Added Paths trunk/Tools/gstreamer/patches/gst-plugins-good-0010-matroskademux-Emit-no-more-pads-after-parsing-Tracks.patch Diff Modified: trunk/Source/WebCore/ChangeLog (236398 => 236399) --- trunk/Source/WebCore/ChangeLog 2018-09-24 12:34:19 UTC (rev 236398) +++ trunk/Source/WebCore/ChangeLog 2018-09-24 13:31:19 UTC (rev 236399) @@ -1,3 +1,31 @@ +2018-09-24 Alicia Boya García + +[MSE][GStreamer] Use no-more-pads event for noticing initialization segments +https://bugs.webkit.org/show_bug.cgi?id=189868 + +Reviewed by Xabier Rodriguez-Calvar. + +Fixes the following YTTV 2018 tests: +62.VideoDimensionVP9 +63.PlaybackStateVP9 + +This removes the hack that was making supporting multiple tracks in +the same file in MSE impossible. + +For WebM, this GStreamer patch is required: +https://bugzilla.gnome.org/show_bug.cgi?id=797187 +"matroskademux: Emit no-more-pads after parsing Tracks" + +* platform/graphics/gstreamer/mse/AppendPipeline.cpp: +(WebCore::AppendPipeline::AppendPipeline): +(WebCore::AppendPipeline::handleApplicationMessage): +(WebCore::AppendPipeline::demuxerNoMorePads): +(WebCore::AppendPipeline::appsinkCapsChanged): +(WebCore::AppendPipeline::connectDemuxerSrcPadToAppsink): +(WebCore::AppendPipeline::appendPipelineDemuxerNoMorePadsFromAnyThread): +(WebCore::appendPipelineDemuxerNoMorePads): +* platform/graphics/gstreamer/mse/AppendPipeline.h: + 2018-09-24 Thibault Saunier [WPE][GTK][WebRTC] Fix leaks in the libwebrtc Decoder and Encoder Modified: trunk/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp (236398 => 236399) --- trunk/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp 2018-09-24 12:34:19 UTC (rev 236398) +++ trunk/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp 2018-09-24 13:31:19 UTC (rev 236399) @@ -84,6 +84,7 @@ static GstPadProbeReturn appendPipelineDemuxerBlackHolePadProbe(GstPad*, GstPadProbeInfo*, gpointer); static GstFlowReturn appendPipelineAppsinkNewSample(GstElement*, AppendPipeline*); static void appendPipelineAppsinkEOS(GstElement*, AppendPipeline*); +static void appendPipelineDemuxerNoMorePads(GstElement*, AppendPipeline*); static GstPadProbeReturn matroskademuxForceSegmentStartToEqualZero(GstPad*, GstPadProbeInfo*, void*); @@ -174,6 +175,7 @@ g_signal_connect(m_appsrc.get(), "need-data", G_CALLBACK(appendPipelineAppsrcNeedData), this); g_signal_connect(m_demux.get(), "pad-added", G_CALLBACK(appendPipelineDemuxerPadAdded), this); g_signal_connect(m_demux.get(), "pad-removed", G_CALLBACK(appendPipelineDemuxerPadRemoved), this); +g_signal_connect(m_demux.get(), "no-more-pads", G_CALLBACK(appendPipelineDemuxerNoMorePads), this); g_signal_connect(m_appsink.get(), "new-sample", G_CALLBACK(appendPipelineAppsinkNewSample), this); g_signal_connect(m_appsink.get(), "eos", G_CALLBACK(appendPipelineAppsinkEOS), this); @@ -328,9 +330,22 @@ return; } +if (gst_structure_has_name(structure, "demuxer-no-more-pads")) { +demuxerNoMorePads(); +return; +} + ASSERT_NOT_REACHED(); } +void AppendPipeline::demuxerNoMorePads() +{ +GST_TRACE("calling didReceiveInitializationSegment"); +didReceiveInitializationSegment();
[webkit-changes] [236398] trunk/Tools
Title: [236398] trunk/Tools Revision 236398 Author ab...@igalia.com Date 2018-09-24 05:34:19 -0700 (Mon, 24 Sep 2018) Log Message [MSE][GStreamer] Add patch to jhbuild: matroskademux: Allow Matroska headers to be read more than once https://bugs.webkit.org/show_bug.cgi?id=185731 Reviewed by Xabier Rodriguez-Calvar. Upstream bug in GStreamer: https://bugzilla.gnome.org/show_bug.cgi?id=79 This fixes YTTV 35. AppendMultipleInitOpusAudio (and any other use case where two WebM initialization segments are appended on a row). * gstreamer/jhbuild.modules: * gstreamer/patches/gst-plugins-good-0007-matroskademux-Allow-Matroska-headers-to-be-read-more.patch: Added. * gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch: Added. * gstreamer/patches/gst-plugins-good-0009-matroskademux-Parse-successive-Tracks-elements.patch: Added. Modified Paths trunk/Tools/ChangeLog trunk/Tools/gstreamer/jhbuild.modules Added Paths trunk/Tools/gstreamer/patches/gst-plugins-good-0007-matroskademux-Allow-Matroska-headers-to-be-read-more.patch trunk/Tools/gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch trunk/Tools/gstreamer/patches/gst-plugins-good-0009-matroskademux-Parse-successive-Tracks-elements.patch Diff Modified: trunk/Tools/ChangeLog (236397 => 236398) --- trunk/Tools/ChangeLog 2018-09-24 11:16:58 UTC (rev 236397) +++ trunk/Tools/ChangeLog 2018-09-24 12:34:19 UTC (rev 236398) @@ -1,3 +1,19 @@ +2018-09-24 Alicia Boya García +[MSE][GStreamer] Add patch to jhbuild: matroskademux: Allow Matroska headers to be read more than once +https://bugs.webkit.org/show_bug.cgi?id=185731 + +Reviewed by Xabier Rodriguez-Calvar. + +Upstream bug in GStreamer: https://bugzilla.gnome.org/show_bug.cgi?id=79 + +This fixes YTTV 35. AppendMultipleInitOpusAudio (and any other use +case where two WebM initialization segments are appended on a row). + +* gstreamer/jhbuild.modules: +* gstreamer/patches/gst-plugins-good-0007-matroskademux-Allow-Matroska-headers-to-be-read-more.patch: Added. +* gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch: Added. +* gstreamer/patches/gst-plugins-good-0009-matroskademux-Parse-successive-Tracks-elements.patch: Added. + 2018-09-22 Myles C. Maxfield [WHSL] Need grammar to specify kernel group size Modified: trunk/Tools/gstreamer/jhbuild.modules (236397 => 236398) --- trunk/Tools/gstreamer/jhbuild.modules 2018-09-24 11:16:58 UTC (rev 236397) +++ trunk/Tools/gstreamer/jhbuild.modules 2018-09-24 12:34:19 UTC (rev 236398) @@ -85,6 +85,9 @@ + + + Added: trunk/Tools/gstreamer/patches/gst-plugins-good-0007-matroskademux-Allow-Matroska-headers-to-be-read-more.patch (0 => 236398) --- trunk/Tools/gstreamer/patches/gst-plugins-good-0007-matroskademux-Allow-Matroska-headers-to-be-read-more.patch (rev 0) +++ trunk/Tools/gstreamer/patches/gst-plugins-good-0007-matroskademux-Allow-Matroska-headers-to-be-read-more.patch 2018-09-24 12:34:19 UTC (rev 236398) @@ -0,0 +1,45 @@ +From 9dc7859184d4b7ad1dd7e2b54704e994dbace329 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alicia=20Boya=20Garc=C3=ADa?= +Date: Thu, 30 Nov 2017 20:44:23 +0100 +Subject: [PATCH 7/9] matroskademux: Allow Matroska headers to be read more + than once + +This is necessary for MSE, where a new MSE initialization segment may be +appended at any point. These MSE initialization segments consist of an +entire WebM file until the first Cluster element (not included). [1] + +Note that track definitions are ignored on successive headers, they must +match, but this is not checked by matroskademux (look for +`(!demux->tracks_parsed)` in the code). + +Source pads are not altered when the new headers are read. + +This patch has been splitted from the original patch from eocanha in [2]. + +[1] https://www.w3.org/TR/mse-byte-stream-format-webm/ +[2] https://bug334082.bugzilla-attachments.gnome.org/attachment.cgi?id=362212 + +https://bugzilla.gnome.org/show_bug.cgi?id=79 +--- + gst/matroska/matroska-demux.c | 5 + + 1 file changed, 5 insertions(+) + +diff --git a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c +index b7e13bb80..24a729485 100644 +--- a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c +@@ -4984,6 +4984,11 @@ gst_matroska_demux_parse_id (GstMatroskaDemux * demux, guint32 id, + case GST_MATROSKA_READ_STATE_DATA: + case GST_MATROSKA_READ_STATE_SEEK: + switch (id) { ++case GST_EBML_ID_HEADER: ++ GST_READ_CHECK (gst_matroska_demux_flush (demux, read)); ++ demux->common.state = GST_MATROSKA_READ_STATE_SEGMENT; ++ gst_matroska_demux_check_seekability (demux); ++ break; + case GST_MATROSKA_ID_SEGMENTINFO: + if
[webkit-changes] [236397] trunk/Source/WebCore
Title: [236397] trunk/Source/WebCore Revision 236397 Author commit-qu...@webkit.org Date 2018-09-24 04:16:58 -0700 (Mon, 24 Sep 2018) Log Message [WPE][GTK][WebRTC] Fix leaks in the libwebrtc Decoder and Encoder https://bugs.webkit.org/show_bug.cgi?id=189835 Patch by Thibault Saunier on 2018-09-24 Reviewed by Philippe Normand. - Rework memory management to avoid leaking encoded frames (basically use the same strategy as other libwebrtc encoder implementation). - Plug a GstCaps leak. * platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp: * platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.cpp: * platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp: (WebCore::GStreamerVideoEncoder::InitEncode): (WebCore::GStreamerVideoEncoder::newSampleCallback): (WebCore::GStreamerVideoEncoder::Fragmentize): (WebCore::GStreamerVideoEncoder::SetRestrictionCaps): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp trunk/Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.cpp trunk/Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (236396 => 236397) --- trunk/Source/WebCore/ChangeLog 2018-09-24 10:20:38 UTC (rev 236396) +++ trunk/Source/WebCore/ChangeLog 2018-09-24 11:16:58 UTC (rev 236397) @@ -1,3 +1,22 @@ +2018-09-24 Thibault Saunier + +[WPE][GTK][WebRTC] Fix leaks in the libwebrtc Decoder and Encoder +https://bugs.webkit.org/show_bug.cgi?id=189835 + +Reviewed by Philippe Normand. + +- Rework memory management to avoid leaking encoded frames (basically use the same + strategy as other libwebrtc encoder implementation). +- Plug a GstCaps leak. + +* platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp: +* platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.cpp: +* platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp: +(WebCore::GStreamerVideoEncoder::InitEncode): +(WebCore::GStreamerVideoEncoder::newSampleCallback): +(WebCore::GStreamerVideoEncoder::Fragmentize): +(WebCore::GStreamerVideoEncoder::SetRestrictionCaps): + 2018-09-24 Philippe Normand [GStreamer] Utilities cleanups Modified: trunk/Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp (236396 => 236397) --- trunk/Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp 2018-09-24 10:20:38 UTC (rev 236396) +++ trunk/Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp 2018-09-24 11:16:58 UTC (rev 236397) @@ -24,8 +24,6 @@ #if ENABLE(MEDIA_STREAM) && USE(LIBWEBRTC) && USE(GSTREAMER) #include "GStreamerVideoCapturer.h" -#include - namespace WebCore { GStreamerVideoCapturer::GStreamerVideoCapturer(GStreamerCaptureDevice device) Modified: trunk/Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.cpp (236396 => 236397) --- trunk/Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.cpp 2018-09-24 10:20:38 UTC (rev 236396) +++ trunk/Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.cpp 2018-09-24 11:16:58 UTC (rev 236397) @@ -159,15 +159,15 @@ } // FIXME- Use a GstBufferPool. -auto buffer = gst_buffer_new_wrapped(g_memdup(inputImage._buffer, inputImage._size), -inputImage._size); -GST_BUFFER_DTS(buffer) = (static_cast(inputImage._timeStamp) * GST_MSECOND) - m_firstBufferDts; -GST_BUFFER_PTS(buffer) = (static_cast(renderTimeMs) * GST_MSECOND) - m_firstBufferPts; -m_dtsPtsMap[GST_BUFFER_PTS(buffer)] = inputImage._timeStamp; +auto buffer = adoptGRef(gst_buffer_new_wrapped(g_memdup(inputImage._buffer, inputImage._size), +inputImage._size)); +GST_BUFFER_DTS(buffer.get()) = (static_cast(inputImage._timeStamp) * GST_MSECOND) - m_firstBufferDts; +GST_BUFFER_PTS(buffer.get()) = (static_cast(renderTimeMs) * GST_MSECOND) - m_firstBufferPts; +m_dtsPtsMap[GST_BUFFER_PTS(buffer.get())] = inputImage._timeStamp; GST_LOG_OBJECT(pipeline(), "%ld Decoding: %" GST_PTR_FORMAT, renderTimeMs, buffer); -switch (gst_app_src_push_sample(GST_APP_SRC(m_src), -gst_sample_new(buffer, GetCapsForFrame(inputImage), nullptr, nullptr))) { +auto sample = adoptGRef(gst_sample_new(buffer.get(), GetCapsForFrame(inputImage), nullptr, nullptr)); +switch (gst_app_src_push_sample(GST_APP_SRC(m_src), sample.get())) { case GST_FLOW_OK: return WEBRTC_VIDEO_CODEC_OK; case GST_FLOW_FLUSHING: Modified: trunk/Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp (236396 => 236397) --- trunk/Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp 2018-09-24 10:20:38 UTC (rev 236396) +++
[webkit-changes] [236396] trunk/Source/WebCore
Title: [236396] trunk/Source/WebCore Revision 236396 Author ph...@webkit.org Date 2018-09-24 03:20:38 -0700 (Mon, 24 Sep 2018) Log Message [GStreamer] Utilities cleanups https://bugs.webkit.org/show_bug.cgi?id=189699 Reviewed by Xabier Rodriguez-Calvar. The GstMappedBuffer now has a move constructor so that it can be easily reused in the webaudiosrc element. The now-unused corresponding buffer-mapping utilities are removed from the code-base. The HTTP source element used to handle a GstBuffer in its private structure but this is no longer required since data is now pushed in chunks, see bug #182829. * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp: (webKitWebAudioSrcLoop): * platform/graphics/gstreamer/GStreamerCommon.cpp: (WebCore::createGstBuffer): Deleted. (WebCore::createGstBufferForData): Deleted. (WebCore::getGstBufferDataPointer): Deleted. (WebCore::mapGstBuffer): Deleted. (WebCore::unmapGstBuffer): Deleted. * platform/graphics/gstreamer/GStreamerCommon.h: (WebCore::GstMappedBuffer::create): New method returning a reference to a newly created GstMappedBuffer instance. * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: (webKitWebSrcStop): Remove reference to unused GstBuffer. (CachedResourceStreamingClient::dataReceived): Ditto. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp trunk/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp trunk/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h trunk/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (236395 => 236396) --- trunk/Source/WebCore/ChangeLog 2018-09-24 10:16:10 UTC (rev 236395) +++ trunk/Source/WebCore/ChangeLog 2018-09-24 10:20:38 UTC (rev 236396) @@ -1,3 +1,34 @@ +2018-09-24 Philippe Normand + +[GStreamer] Utilities cleanups +https://bugs.webkit.org/show_bug.cgi?id=189699 + + +Reviewed by Xabier Rodriguez-Calvar. + +The GstMappedBuffer now has a move constructor so that it can be easily +reused in the webaudiosrc element. The now-unused corresponding +buffer-mapping utilities are removed from the code-base. + +The HTTP source element used to handle a GstBuffer in its private +structure but this is no longer required since data is now pushed +in chunks, see bug #182829. + +* platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp: +(webKitWebAudioSrcLoop): +* platform/graphics/gstreamer/GStreamerCommon.cpp: +(WebCore::createGstBuffer): Deleted. +(WebCore::createGstBufferForData): Deleted. +(WebCore::getGstBufferDataPointer): Deleted. +(WebCore::mapGstBuffer): Deleted. +(WebCore::unmapGstBuffer): Deleted. +* platform/graphics/gstreamer/GStreamerCommon.h: +(WebCore::GstMappedBuffer::create): New method returning a +reference to a newly created GstMappedBuffer instance. +* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: +(webKitWebSrcStop): Remove reference to unused GstBuffer. +(CachedResourceStreamingClient::dataReceived): Ditto. + 2018-09-24 Enrique Ocaña González [MSE][GStreamer] Don't update duration when it was not previously NaN Modified: trunk/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp (236395 => 236396) --- trunk/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp 2018-09-24 10:16:10 UTC (rev 236395) +++ trunk/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp 2018-09-24 10:20:38 UTC (rev 236396) @@ -308,7 +308,7 @@ } } -static void webKitWebAudioSrcLoop(WebKitWebAudioSrc* src) +static std::optional>> webKitWebAudioSrcAllocateBuffersAndRenderAudio(WebKitWebAudioSrc* src) { WebKitWebAudioSourcePrivate* priv = src->priv; @@ -317,7 +317,7 @@ if (!priv->provider || !priv->bus) { GST_ELEMENT_ERROR(src, CORE, FAILED, ("Internal WebAudioSrc error"), ("Can't start without provider or bus")); gst_task_stop(src->priv->task.get()); -return; +return std::nullopt; } ASSERT(priv->pool); @@ -327,25 +327,25 @@ Vector> channelBufferList; channelBufferList.reserveInitialCapacity(priv->sources.size()); +Vector mappedBuffers; +mappedBuffers.reserveInitialCapacity(priv->sources.size()); for (unsigned i = 0; i < priv->sources.size(); ++i) { GRefPtr buffer; GstFlowReturn ret = gst_buffer_pool_acquire_buffer(priv->pool.get(), (), nullptr); if (ret != GST_FLOW_OK) { -for (auto& buffer : channelBufferList) -unmapGstBuffer(buffer.get()); - // FLUSHING and EOS are not errors. if (ret < GST_FLOW_EOS || ret == GST_FLOW_NOT_LINKED) GST_ELEMENT_ERROR(src, CORE, PAD, ("Internal