[webkit-changes] [236454] trunk/Websites/perf.webkit.org

2018-09-24 Thread dewei_zhu
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

2018-09-24 Thread simon . fraser
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

2018-09-24 Thread commit-queue
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

2018-09-24 Thread commit-queue
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

2018-09-24 Thread Hironori . Fujii
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

2018-09-24 Thread commit-queue
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

2018-09-24 Thread wilander
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

2018-09-24 Thread rniwa
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

2018-09-24 Thread wenson_hsieh
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

2018-09-24 Thread jer . noble
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

2018-09-24 Thread jlewis3
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

2018-09-24 Thread rniwa
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

2018-09-24 Thread achristensen
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

2018-09-24 Thread rniwa
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

2018-09-24 Thread achristensen
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

2018-09-24 Thread sbarati
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

2018-09-24 Thread achristensen
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

2018-09-24 Thread commit-queue
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

2018-09-24 Thread tzagallo
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

2018-09-24 Thread cdumez
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

2018-09-24 Thread dbates
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

2018-09-24 Thread tzagallo
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

2018-09-24 Thread aestes
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

2018-09-24 Thread simon . fraser
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

2018-09-24 Thread dbates
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

2018-09-24 Thread tsavell
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

2018-09-24 Thread cdumez
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

2018-09-24 Thread simon . fraser
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

2018-09-24 Thread youenn
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

2018-09-24 Thread sbarati
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

2018-09-24 Thread eric . carlson
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

2018-09-24 Thread cdumez
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

2018-09-24 Thread cdumez
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

2018-09-24 Thread dbates
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

2018-09-24 Thread simon . fraser
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

2018-09-24 Thread simon . fraser
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

2018-09-24 Thread simon . fraser
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

2018-09-24 Thread simon . fraser
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

2018-09-24 Thread bburg
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

2018-09-24 Thread dino
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

2018-09-24 Thread aboya
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

2018-09-24 Thread tsavell
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

2018-09-24 Thread tsavell
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

2018-09-24 Thread ryanhaddad
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

2018-09-24 Thread aestes
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

2018-09-24 Thread pvollan
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

2018-09-24 Thread aboya
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

2018-09-24 Thread aboya
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

2018-09-24 Thread aboya
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

2018-09-24 Thread commit-queue
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

2018-09-24 Thread philn
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