[webkit-changes] [214712] trunk
Title: [214712] trunk Revision 214712 Author za...@apple.com Date 2017-03-31 23:30:00 -0700 (Fri, 31 Mar 2017) Log Message : Including , or causes clipping across page breaks https://bugs.webkit.org/show_bug.cgi?id=170348 Reviewed by David Hyatt. Source/WebCore: 1. In RenderFlowThread::offsetFromLogicalTopOfFirstRegion() we need to take table section offset into account (they are skipped during the containing block traversal). 2. Trigger paginated relayout when body is moved vertically due to caption/thead etc. Test: fast/multicol/table-section-page-break.html * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::offsetFromLogicalTopOfFirstRegion): * rendering/RenderTable.cpp: (WebCore::RenderTable::layout): LayoutTests: * fast/multicol/table-section-page-break-expected.html: Added. * fast/multicol/table-section-page-break.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios/fast/multicol/table-vertical-align-expected.txt trunk/LayoutTests/platform/mac/fast/multicol/table-vertical-align-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFlowThread.cpp trunk/Source/WebCore/rendering/RenderTable.cpp Added Paths trunk/LayoutTests/fast/multicol/table-section-page-break-expected.html trunk/LayoutTests/fast/multicol/table-section-page-break.html Diff Modified: trunk/LayoutTests/ChangeLog (214711 => 214712) --- trunk/LayoutTests/ChangeLog 2017-04-01 02:09:51 UTC (rev 214711) +++ trunk/LayoutTests/ChangeLog 2017-04-01 06:30:00 UTC (rev 214712) @@ -1,3 +1,14 @@ +2017-03-31 Zalan Bujtas + +: Including , or causes clipping across page breaks +https://bugs.webkit.org/show_bug.cgi?id=170348 + + +Reviewed by David Hyatt. + +* fast/multicol/table-section-page-break-expected.html: Added. +* fast/multicol/table-section-page-break.html: Added. + 2017-03-31 Chris Dumez LayoutTest fast/images/animated-gif-restored-from-bfcache.html is a flaky failure Added: trunk/LayoutTests/fast/multicol/table-section-page-break-expected.html (0 => 214712) --- trunk/LayoutTests/fast/multicol/table-section-page-break-expected.html (rev 0) +++ trunk/LayoutTests/fast/multicol/table-section-page-break-expected.html 2017-04-01 06:30:00 UTC (rev 214712) @@ -0,0 +1,20 @@ + + + +This tests that paginated tables with sections renderer properly. + +html { + overflow: hidden; +} + + +if (window.testRunner) +internals.setPagination("LeftToRightPaginated", 0); + + + + + + + + Added: trunk/LayoutTests/fast/multicol/table-section-page-break.html (0 => 214712) --- trunk/LayoutTests/fast/multicol/table-section-page-break.html (rev 0) +++ trunk/LayoutTests/fast/multicol/table-section-page-break.html 2017-04-01 06:30:00 UTC (rev 214712) @@ -0,0 +1,21 @@ + + + +This tests that paginated tables with sections renderer properly. + +html { + overflow: hidden; +} + + +if (window.testRunner) +internals.setPagination("LeftToRightPaginated", 0); + + + + + +page break before this line + + + Modified: trunk/LayoutTests/platform/ios/fast/multicol/table-vertical-align-expected.txt (214711 => 214712) --- trunk/LayoutTests/platform/ios/fast/multicol/table-vertical-align-expected.txt 2017-04-01 02:09:51 UTC (rev 214711) +++ trunk/LayoutTests/platform/ios/fast/multicol/table-vertical-align-expected.txt 2017-04-01 06:30:00 UTC (rev 214712) @@ -42,98 +42,98 @@ text run at (11,251) width 108: "This cell has lots" text run at (11,271) width 46: "of text." RenderBR {BR} at (56,286) size 1x0 -RenderText {#text} at (11,306) size 108x39 - text run at (11,306) width 108: "This cell has lots" - text run at (11,326) width 46: "of text." -RenderBR {BR} at (56,341) size 1x0 -RenderText {#text} at (11,346) size 108x39 - text run at (11,346) width 108: "This cell has lots" - text run at (11,366) width 46: "of text." -RenderBR {BR} at (56,381) size 1x0 -RenderText {#text} at (11,386) size 108x39 - text run at (11,386) width 108: "This cell has lots" - text run at (11,406) width 46: "of text." -RenderBR {BR} at (56,421) size 1x0 -RenderText {#text} at (11,426) size 108x39 - text run at (11,426) width 108: "This cell has lots" - text run at (11,446) width 46: "of text." -RenderBR {BR} at (56,461) size 1x0 -RenderText {#text} at (11,466) size 108x39 - text run at (11,466) width 108: "This cell has lots" - text run at (11,486) width 46: "of text." -RenderBR {BR} at (56,501) size 1x0 -RenderText {#text} at (11,506) size 108x39 - text run at (11,506) width 108: "This cell has lots" - text run at (11,526) width 46: "of text." -Re
[webkit-changes] [214711] trunk/Source/JavaScriptCore
Title: [214711] trunk/Source/_javascript_Core Revision 214711 Author sbar...@apple.com Date 2017-03-31 19:09:51 -0700 (Fri, 31 Mar 2017) Log Message WebAssembly: Make our calls out to JS PIC friendly https://bugs.webkit.org/show_bug.cgi?id=170261 Reviewed by Keith Miller. This patch removes a direct call from the module to the Wasm to JS stub. Instead, we do an indirect call to the stub by loading the stub's executable address off of the CodeBlock. This is to make the code we emit for comply with requirements needed for PIC. Adding this indirection is not ideal. Although this patch is neutral on WasmBench, we really want to get back to a world where we have an IC call infrastructure. This patch is obviously a regression on some types of programs. I've filed this bug to make sure we implement a PIC compliant Wasm to JS call IC: https://bugs.webkit.org/show_bug.cgi?id=170375 * wasm/WasmB3IRGenerator.cpp: * wasm/WasmFormat.h: * wasm/WasmPlan.cpp: (JSC::Wasm::Plan::complete): * wasm/js/JSWebAssemblyCodeBlock.cpp: (JSC::JSWebAssemblyCodeBlock::initialize): * wasm/js/JSWebAssemblyCodeBlock.h: (JSC::JSWebAssemblyCodeBlock::create): (JSC::JSWebAssemblyCodeBlock::offsetOfImportWasmToJSStub): (JSC::JSWebAssemblyCodeBlock::offsetOfCallees): (JSC::JSWebAssemblyCodeBlock::allocationSize): (JSC::JSWebAssemblyCodeBlock::importWasmToJSStub): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::addUnitializedCodeBlock): * wasm/js/JSWebAssemblyInstance.h: (JSC::JSWebAssemblyInstance::offsetOfCodeBlock): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.cpp trunk/Source/_javascript_Core/wasm/WasmFormat.h trunk/Source/_javascript_Core/wasm/WasmPlan.cpp trunk/Source/_javascript_Core/wasm/js/JSWebAssemblyCodeBlock.cpp trunk/Source/_javascript_Core/wasm/js/JSWebAssemblyCodeBlock.h trunk/Source/_javascript_Core/wasm/js/JSWebAssemblyInstance.cpp trunk/Source/_javascript_Core/wasm/js/JSWebAssemblyInstance.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (214710 => 214711) --- trunk/Source/_javascript_Core/ChangeLog 2017-04-01 02:05:01 UTC (rev 214710) +++ trunk/Source/_javascript_Core/ChangeLog 2017-04-01 02:09:51 UTC (rev 214711) @@ -1,3 +1,39 @@ +2017-03-31 Saam Barati + +WebAssembly: Make our calls out to JS PIC friendly +https://bugs.webkit.org/show_bug.cgi?id=170261 + +Reviewed by Keith Miller. + +This patch removes a direct call from the module to the Wasm to JS stub. +Instead, we do an indirect call to the stub by loading the stub's executable +address off of the CodeBlock. This is to make the code we emit for comply with +requirements needed for PIC. + +Adding this indirection is not ideal. Although this patch is neutral on +WasmBench, we really want to get back to a world where we have an IC +call infrastructure. This patch is obviously a regression on some +types of programs. I've filed this bug to make sure we implement a +PIC compliant Wasm to JS call IC: +https://bugs.webkit.org/show_bug.cgi?id=170375 + +* wasm/WasmB3IRGenerator.cpp: +* wasm/WasmFormat.h: +* wasm/WasmPlan.cpp: +(JSC::Wasm::Plan::complete): +* wasm/js/JSWebAssemblyCodeBlock.cpp: +(JSC::JSWebAssemblyCodeBlock::initialize): +* wasm/js/JSWebAssemblyCodeBlock.h: +(JSC::JSWebAssemblyCodeBlock::create): +(JSC::JSWebAssemblyCodeBlock::offsetOfImportWasmToJSStub): +(JSC::JSWebAssemblyCodeBlock::offsetOfCallees): +(JSC::JSWebAssemblyCodeBlock::allocationSize): +(JSC::JSWebAssemblyCodeBlock::importWasmToJSStub): +* wasm/js/JSWebAssemblyInstance.cpp: +(JSC::JSWebAssemblyInstance::addUnitializedCodeBlock): +* wasm/js/JSWebAssemblyInstance.h: +(JSC::JSWebAssemblyInstance::offsetOfCodeBlock): + 2017-03-31 Keith Miller WebAssembly: webAssemblyB3OptimizationLevel should use defaultB3OptLevel by default Modified: trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.cpp (214710 => 214711) --- trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.cpp 2017-04-01 02:05:01 UTC (rev 214710) +++ trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.cpp 2017-04-01 02:09:51 UTC (rev 214711) @@ -908,7 +908,7 @@ AllowMacroScratchRegisterUsage allowScratch(jit); CCallHelpers::Call call = jit.call(); jit.addLinkTask([unlinkedWasmToWasmCalls, call, functionIndex] (LinkBuffer& linkBuffer) { -unlinkedWasmToWasmCalls->append({ linkBuffer.locationOf(call), functionIndex, UnlinkedWasmToWasmCall::Target::ToWasm }); +unlinkedWasmToWasmCalls->append({ linkBuffer.locationOf(call), functionIndex }); }); }); }); @@ -915,17 +915,23 @@ UpsilonValue* wasmCallResultUpsilon = re
[webkit-changes] [214710] trunk/Websites/webkit.org
Title: [214710] trunk/Websites/webkit.org Revision 214710 Author d...@apple.com Date 2017-03-31 19:05:01 -0700 (Fri, 31 Mar 2017) Log Message Unreviewed. Add some WebGPU examples. * demos/webgpu/2d.html: Added. * demos/webgpu/2d.js: Added. * demos/webgpu/cubes.html: Added. * demos/webgpu/cubes.js: Added. * demos/webgpu/shared.css: Added. * demos/webgpu/shared.js: Added. * demos/webgpu/simple.html: Added. * demos/webgpu/simple.js: Added. Modified Paths trunk/Websites/webkit.org/ChangeLog Added Paths trunk/Websites/webkit.org/demos/webgpu/ trunk/Websites/webkit.org/demos/webgpu/2d.html trunk/Websites/webkit.org/demos/webgpu/2d.js trunk/Websites/webkit.org/demos/webgpu/cubes.html trunk/Websites/webkit.org/demos/webgpu/cubes.js trunk/Websites/webkit.org/demos/webgpu/shared.css trunk/Websites/webkit.org/demos/webgpu/shared.js trunk/Websites/webkit.org/demos/webgpu/simple.html trunk/Websites/webkit.org/demos/webgpu/simple.js Diff Modified: trunk/Websites/webkit.org/ChangeLog (214709 => 214710) --- trunk/Websites/webkit.org/ChangeLog 2017-04-01 01:54:53 UTC (rev 214709) +++ trunk/Websites/webkit.org/ChangeLog 2017-04-01 02:05:01 UTC (rev 214710) @@ -1,3 +1,16 @@ +2017-03-31 Dean Jackson + +Unreviewed. Add some WebGPU examples. + +* demos/webgpu/2d.html: Added. +* demos/webgpu/2d.js: Added. +* demos/webgpu/cubes.html: Added. +* demos/webgpu/cubes.js: Added. +* demos/webgpu/shared.css: Added. +* demos/webgpu/shared.js: Added. +* demos/webgpu/simple.html: Added. +* demos/webgpu/simple.js: Added. + 2017-03-11 Jon Davis Add Swift syntax highlighting to webkit.org Added: trunk/Websites/webkit.org/demos/webgpu/2d.html (0 => 214710) --- trunk/Websites/webkit.org/demos/webgpu/2d.html (rev 0) +++ trunk/Websites/webkit.org/demos/webgpu/2d.html 2017-04-01 02:05:01 UTC (rev 214710) @@ -0,0 +1,61 @@ + + + + + +WebGPU 2D demo + +#include + +using namespace metal; + +struct Vertex +{ +float4 position [[position]]; +}; + +struct Uniform +{ +float2 resolution; +float time; +}; + +vertex Vertex vertex_main(device Vertex *vertices [[buffer(0)]], + constant Uniform *uniforms [[buffer(1)]], + uint vid [[vertex_id]]) +{ +return vertices[vid]; +} + +fragment float4 fragment_main(Vertex vertexIn [[stage_in]], constant Uniform *uniforms [[buffer(0)]]) +{ +float2 position = vertexIn.position.xy / uniforms->resolution.xy; + +float color = 0.0; +float time = uniforms->time; +color += sin(position.x * cos(time / 7.0) * 90.0) + cos(position.y * cos(time / 17.0) * 15.0); +color += sin(position.y * sin(time / 13.0) * 35.0) + cos(position.x * sin(time / 27.0) * 35.0); +color += sin(position.x * sin(time / 5.0) * 15.0) + sin(position.y * sin(time / 31.0) * 90.0); +color *= sin(time / 10.0) * 0.5; + +return float4(color, color * 0.5 + sin(time / 10), sin(color + time / 3.0) * 0.75, 1.0); +} + + + + + +WebGPU not available + +Make sure you are on a system with WebGPU enabled. In +Safari, first make sure the Developer Menu is visible (Preferences → +Advanced), then Develop → Experimental Features → Enable WebGPU. + + + + Property changes on: trunk/Websites/webkit.org/demos/webgpu/2d.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/Websites/webkit.org/demos/webgpu/2d.js (0 => 214710) --- trunk/Websites/webkit.org/demos/webgpu/2d.js (rev 0) +++ trunk/Websites/webkit.org/demos/webgpu/2d.js 2017-04-01 02:05:01 UTC (rev 214710) @@ -0,0 +1,144 @@ +class Uniform { +constructor(float32Array) { +if (float32Array && float32Array.length != 64) { +console.log("Incorrect backing store for Uniform"); +return; +} + +this.array = float32Array || new Float32Array(64); +} +// Layout is +// 0-1 = resolution (float2) +// 2 = time (float) +get buffer() { +return this.array; +} +get resolution() { +return this.array.subarray(0, 2); +} +get time() { +return this.array[2]; +} +set resolution(value) { +this.array[0] = value[0]; +this.array[1] = value[1]; +} +set time(value) { +this.array[2] = value; +} +copyValuesTo(buffer) { +var bufferData = new Float32Array(buffer.contents); +for (let i = 0; i < 3; i++) { +bufferData[i] = this.array[i]; +} +} +} + +const vertexData = new Float32Array( +[ +-1, -1, 0, 1, +1, -1, 0, 1, +1, 1, 0, 1, +-1, -1, 0, 1, +-1, 1, 0, 1, +1, 1, 0, 1, +]); + +let gpu; +let commandQueue; +let renderPassDescripto
[webkit-changes] [214709] trunk/Source/JavaScriptCore
Title: [214709] trunk/Source/_javascript_Core Revision 214709 Author keith_mil...@apple.com Date 2017-03-31 18:54:53 -0700 (Fri, 31 Mar 2017) Log Message WebAssembly: webAssemblyB3OptimizationLevel should use defaultB3OptLevel by default https://bugs.webkit.org/show_bug.cgi?id=170378 Reviewed by Saam Barati. * runtime/Options.h: * wasm/WasmB3IRGenerator.h: Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/Options.h trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (214708 => 214709) --- trunk/Source/_javascript_Core/ChangeLog 2017-04-01 00:47:38 UTC (rev 214708) +++ trunk/Source/_javascript_Core/ChangeLog 2017-04-01 01:54:53 UTC (rev 214709) @@ -1,5 +1,15 @@ 2017-03-31 Keith Miller +WebAssembly: webAssemblyB3OptimizationLevel should use defaultB3OptLevel by default +https://bugs.webkit.org/show_bug.cgi?id=170378 + +Reviewed by Saam Barati. + +* runtime/Options.h: +* wasm/WasmB3IRGenerator.h: + +2017-03-31 Keith Miller + WebAssembly: Add compilation level option https://bugs.webkit.org/show_bug.cgi?id=170374 Modified: trunk/Source/_javascript_Core/runtime/Options.h (214708 => 214709) --- trunk/Source/_javascript_Core/runtime/Options.h 2017-04-01 00:47:38 UTC (rev 214708) +++ trunk/Source/_javascript_Core/runtime/Options.h 2017-04-01 01:54:53 UTC (rev 214709) @@ -435,7 +435,7 @@ \ v(bool, failToCompileWebAssemblyCode, false, Normal, "If true, no Wasm::Plan will sucessfully compile a function.") \ v(size, webAssemblyPartialCompileLimit, 5000, Normal, "Limit on the number of bytes a Wasm::Plan::compile should attempt before checking for other work.") \ -v(unsigned, webAssemblyB3OptimizationLevel, 2, Normal, "B3 Optimization level for Web Assembly modules.") \ +v(unsigned, webAssemblyB3OptimizationLevel, Options::defaultB3OptLevel(), Normal, "B3 Optimization level for Web Assembly modules.") \ \ v(bool, simulateWebAssemblyLowMemory, false, Normal, "If true, the Memory object won't mmap the full 'maximum' range and instead will allocate the minimum required amount.") \ v(bool, useWebAssemblyFastMemory, true, Normal, "If true, we will try to use a 32-bit address space with a signal handler to bounds check wasm memory.") \ Modified: trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.h (214708 => 214709) --- trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.h 2017-04-01 00:47:38 UTC (rev 214708) +++ trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.h 2017-04-01 01:54:53 UTC (rev 214709) @@ -48,7 +48,7 @@ CCallHelpers::Call jsEntrypointToWasmEntrypointCall; }; -Expected, String> parseAndCompile(CompilationContext&, const uint8_t*, size_t, const Signature&, Vector&, const ModuleInformation&, const Vector&, MemoryMode, unsigned optLevel = B3::defaultOptLevel()); +Expected, String> parseAndCompile(CompilationContext&, const uint8_t*, size_t, const Signature&, Vector&, const ModuleInformation&, const Vector&, MemoryMode, unsigned optLevel); } } // namespace JSC::Wasm ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [214708] trunk/Source/JavaScriptCore
Title: [214708] trunk/Source/_javascript_Core Revision 214708 Author keith_mil...@apple.com Date 2017-03-31 17:47:38 -0700 (Fri, 31 Mar 2017) Log Message WebAssembly: Add compilation level option https://bugs.webkit.org/show_bug.cgi?id=170374 Reviewed by Mark Lam. This patch adds an option, webAssemblyB3OptimizationLevel, which changes the optimization mode wasm passes to B3. * runtime/Options.h: * wasm/WasmPlan.cpp: (JSC::Wasm::Plan::compileFunctions): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/Options.h trunk/Source/_javascript_Core/wasm/WasmPlan.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (214707 => 214708) --- trunk/Source/_javascript_Core/ChangeLog 2017-04-01 00:45:51 UTC (rev 214707) +++ trunk/Source/_javascript_Core/ChangeLog 2017-04-01 00:47:38 UTC (rev 214708) @@ -1,3 +1,17 @@ +2017-03-31 Keith Miller + +WebAssembly: Add compilation level option +https://bugs.webkit.org/show_bug.cgi?id=170374 + +Reviewed by Mark Lam. + +This patch adds an option, webAssemblyB3OptimizationLevel, which +changes the optimization mode wasm passes to B3. + +* runtime/Options.h: +* wasm/WasmPlan.cpp: +(JSC::Wasm::Plan::compileFunctions): + 2017-03-31 Saam Barati WebAssembly: Strip WasmParser and WasmFunctionParser from knowing about VM Modified: trunk/Source/_javascript_Core/runtime/Options.h (214707 => 214708) --- trunk/Source/_javascript_Core/runtime/Options.h 2017-04-01 00:45:51 UTC (rev 214707) +++ trunk/Source/_javascript_Core/runtime/Options.h 2017-04-01 00:47:38 UTC (rev 214708) @@ -435,6 +435,7 @@ \ v(bool, failToCompileWebAssemblyCode, false, Normal, "If true, no Wasm::Plan will sucessfully compile a function.") \ v(size, webAssemblyPartialCompileLimit, 5000, Normal, "Limit on the number of bytes a Wasm::Plan::compile should attempt before checking for other work.") \ +v(unsigned, webAssemblyB3OptimizationLevel, 2, Normal, "B3 Optimization level for Web Assembly modules.") \ \ v(bool, simulateWebAssemblyLowMemory, false, Normal, "If true, the Memory object won't mmap the full 'maximum' range and instead will allocate the minimum required amount.") \ v(bool, useWebAssemblyFastMemory, true, Normal, "If true, we will try to use a 32-bit address space with a signal handler to bounds check wasm memory.") \ Modified: trunk/Source/_javascript_Core/wasm/WasmPlan.cpp (214707 => 214708) --- trunk/Source/_javascript_Core/wasm/WasmPlan.cpp 2017-04-01 00:45:51 UTC (rev 214707) +++ trunk/Source/_javascript_Core/wasm/WasmPlan.cpp 2017-04-01 00:47:38 UTC (rev 214708) @@ -245,7 +245,7 @@ ASSERT(validateFunction(functionStart, functionLength, signature, *m_moduleInformation, m_moduleSignatureIndicesToUniquedSignatureIndices)); m_unlinkedWasmToWasmCalls[functionIndex] = Vector(); -auto parseAndCompileResult = parseAndCompile(m_compilationContexts[functionIndex], functionStart, functionLength, signature, m_unlinkedWasmToWasmCalls[functionIndex], *m_moduleInformation, m_moduleSignatureIndicesToUniquedSignatureIndices, m_mode); +auto parseAndCompileResult = parseAndCompile(m_compilationContexts[functionIndex], functionStart, functionLength, signature, m_unlinkedWasmToWasmCalls[functionIndex], *m_moduleInformation, m_moduleSignatureIndicesToUniquedSignatureIndices, m_mode, Options::webAssemblyB3OptimizationLevel()); if (UNLIKELY(!parseAndCompileResult)) { auto locker = holdLock(m_lock); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [214707] trunk/Websites/perf.webkit.org
Title: [214707] trunk/Websites/perf.webkit.org Revision 214707 Author rn...@webkit.org Date 2017-03-31 17:45:51 -0700 (Fri, 31 Mar 2017) Log Message Build fix. For OS versions, we can end up with non-alphanumeric revision. Delete the code path only used by the v2 UI since nobody uses that now. * public/api/commits.php: (main): Modified Paths trunk/Websites/perf.webkit.org/ChangeLog trunk/Websites/perf.webkit.org/public/api/commits.php Diff Modified: trunk/Websites/perf.webkit.org/ChangeLog (214706 => 214707) --- trunk/Websites/perf.webkit.org/ChangeLog 2017-04-01 00:31:34 UTC (rev 214706) +++ trunk/Websites/perf.webkit.org/ChangeLog 2017-04-01 00:45:51 UTC (rev 214707) @@ -1,3 +1,11 @@ +2017-03-31 Ryosuke Niwa + +Build fix. For OS versions, we can end up with non-alphanumeric revision. +Delete the code path only used by the v2 UI since nobody uses that now. + +* public/api/commits.php: +(main): + 2017-03-30 Ryosuke Niwa sync-buildbot.js can schedule more than one build per builder Modified: trunk/Websites/perf.webkit.org/public/api/commits.php (214706 => 214707) --- trunk/Websites/perf.webkit.org/public/api/commits.php 2017-04-01 00:31:34 UTC (rev 214706) +++ trunk/Websites/perf.webkit.org/public/api/commits.php 2017-04-01 00:45:51 UTC (rev 214707) @@ -38,14 +38,8 @@ $commits = $fetcher->fetch_last_reported_between_orders($repository_id, $from, $to); else $commits = $fetcher->fetch_last_reported($repository_id); -} else if (ctype_alnum($filter)) { +} else $commits = $fetcher->fetch_revision($repository_id, $filter); -} else { // V2 UI compatibility. -$matches = array(); -if (!preg_match('/([A-Za-z0-9]+)[\:\-]([A-Za-z0-9]+)/', $filter, $matches)) -exit_with_error('UnknownFilter', array('repositoryName' => $repository_name, 'filter' => $filter)); -$commits = $fetcher->fetch_between($repository_id, $matches[1], $matches[2]); -} if (!is_array($commits)) exit_with_error('FailedToFetchCommits', array('repository' => $repository_id, 'filter' => $filter)); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [214706] trunk/LayoutTests
Title: [214706] trunk/LayoutTests Revision 214706 Author cdu...@apple.com Date 2017-03-31 17:31:34 -0700 (Fri, 31 Mar 2017) Log Message LayoutTest fast/images/animated-gif-restored-from-bfcache.html is a flaky failure https://bugs.webkit.org/show_bug.cgi?id=162510 Reviewed by Alexey Proskuryakov. The test restores a page from PageCache and wants to check that an animated GIF is properly animating. To do so, it store the data of the current image frame, and then checks in a 100ms timer that the current image frame is different. This is flaky by nature since the image only has 10 frames and you therefore have a 1/10 chance that the new frame will be the same as the previous one, even if the image is properly animating. To address the problem, do a setInterval instead of a setTimeout and check until the frame becomes different. * fast/images/animated-gif-restored-from-bfcache.html: * platform/mac/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/images/animated-gif-restored-from-bfcache.html trunk/LayoutTests/platform/mac/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (214705 => 214706) --- trunk/LayoutTests/ChangeLog 2017-04-01 00:24:48 UTC (rev 214705) +++ trunk/LayoutTests/ChangeLog 2017-04-01 00:31:34 UTC (rev 214706) @@ -1,3 +1,24 @@ +2017-03-31 Chris Dumez + +LayoutTest fast/images/animated-gif-restored-from-bfcache.html is a flaky failure +https://bugs.webkit.org/show_bug.cgi?id=162510 + + +Reviewed by Alexey Proskuryakov. + +The test restores a page from PageCache and wants to check that an animated +GIF is properly animating. To do so, it store the data of the current image +frame, and then checks in a 100ms timer that the current image frame is +different. This is flaky by nature since the image only has 10 frames and +you therefore have a 1/10 chance that the new frame will be the same as the +previous one, even if the image is properly animating. + +To address the problem, do a setInterval instead of a setTimeout and check +until the frame becomes different. + +* fast/images/animated-gif-restored-from-bfcache.html: +* platform/mac/TestExpectations: + 2017-03-31 Wenson Hsieh [WK2] Tapping away to dismiss the selection does not update the selected DOM range using character granularity Modified: trunk/LayoutTests/fast/images/animated-gif-restored-from-bfcache.html (214705 => 214706) --- trunk/LayoutTests/fast/images/animated-gif-restored-from-bfcache.html 2017-04-01 00:24:48 UTC (rev 214705) +++ trunk/LayoutTests/fast/images/animated-gif-restored-from-bfcache.html 2017-04-01 00:31:34 UTC (rev 214706) @@ -17,7 +17,7 @@ context.drawImage(image, 0, 0); var frameOne = context.getImageData(0, 0, 1, 1).data; -window.setTimeout(function() { +handle = window.setInterval(function() { context.drawImage(image, 0, 0); var frameTwo = context.getImageData(0, 0, 1, 1).data; @@ -26,13 +26,13 @@ && frameOne[1] == frameTwo[1] && frameOne[2] == frameTwo[2] && frameOne[3] == frameTwo[3]) -console.innerHTML = "FAIL"; -else -console.innerHTML = "PASS"; +return; +window.clearInterval(handle); +console.innerHTML = "PASS"; if (window.testRunner) testRunner.notifyDone(); -}, 100); +}, 10); } window._onpageshow_ = function(event) { Modified: trunk/LayoutTests/platform/mac/TestExpectations (214705 => 214706) --- trunk/LayoutTests/platform/mac/TestExpectations 2017-04-01 00:24:48 UTC (rev 214705) +++ trunk/LayoutTests/platform/mac/TestExpectations 2017-04-01 00:31:34 UTC (rev 214706) @@ -1516,8 +1516,6 @@ webkit.org/b/162507 http/tests/media/hls/hls-video-resize.html [ Pass Failure ] -webkit.org/b/162510 [ Debug ] fast/images/animated-gif-restored-from-bfcache.html [ Pass Failure ] - webkit.org/b/167642 imported/w3c/web-platform-tests/shadow-dom/slotchange.html [ Pass Failure ] webkit.org/b/167757 [ Sierra Release ] workers/bomb.html [ Pass Timeout ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [214705] trunk/Tools
Title: [214705] trunk/Tools Revision 214705 Author jbed...@apple.com Date 2017-03-31 17:24:48 -0700 (Fri, 31 Mar 2017) Log Message webkitpy: Add target host concept https://bugs.webkit.org/show_bug.cgi?id=170186 Reviewed by Alexey Proskuryakov. Adding the idea of a target host. Target hosts are objects conforming to the structure of the SystemHost object in Scripts/webkitpy/common/system/systemhost.py Target hosts are the hosts associated with a worker process. * Scripts/webkitpy/common/system/filesystem.py: (FileSystem.map_base_host_path): Convert a path from an absolute path on the base host to an absolute path on this host. (FileSystem.move_to_base_host): Move file from this host to the base host. (FileSystem.move_from_base_host): Move file from the base host to this host. (FileSystem.copy_to_base_host): Copy file from this host to the base host. (FileSystem.copy_from_base_host): Copy file from the base host to this host. * Scripts/webkitpy/common/system/filesystem_mock.py: (MockFileSystem.map_base_host_path): Convert a path from an absolute path on the base host to an absolute path on this host. (MockFileSystem.move_to_base_host): Move file from this host to the base host. (MockFileSystem.move_from_base_host): Move file from the base host to this host. (MockFileSystem.copy_to_base_host): Copy file from this host to the base host. (MockFileSystem.copy_from_base_host): Copy file from the base host to this host. * Scripts/webkitpy/port/base.py: (Port.target_host): Return host determined by worker number. (Port.abspath_for_test): Accept optional target_host argument to return location of test on a target host. (Port._driver_tempdir): Accept optional target_host argument to return a temporary directory on a target host. (Port.sample_process): Accept optional target_host argument to sample process on a target host. * Scripts/webkitpy/port/darwin.py: (DarwinPort.sample_process): Run sample process on target host. (DarwinPort.sample_file_path): Accept directory for file. (DarwinPort.spindump_file_path): Ditto. * Scripts/webkitpy/port/darwin_testcase.py: (DarwinTest.test_spindump): Check file movement. (DarwinTest.test_sample_process): Ditto. (DarwinTest.test_sample_process_exception): * Scripts/webkitpy/port/driver.py: (Driver.__init__): Add and set self._target_host variable. (Driver._start): Pass target host to _driver_tempdir(). (Driver.stop): Call the target host's rmtree. (Driver._check_for_driver_timeout): Pass target host to sample_process. (Driver._check_for_driver_crash_or_unresponsiveness): Ditto. (Driver._command_from_driver_input): Pass target host to abspath_for_test and map layout test directory to target host. * Scripts/webkitpy/port/ios.py: (IOSPort): (IOSPort.target_host): Replaced device_for_worker_number. (IOSPort.setup_test_run): Replace device_for_worker_number with target_host. (IOSPort.device_for_worker_number): Replaced with target_host. * Scripts/webkitpy/port/server_process.py: (ServerProcess.__init__): Accept target_host instead of worker_number. (ServerProcess._start): Replace _host with _target_host. (ServerProcess._handle_timeout): Ditto. (ServerProcess._kill): Ditto. * Scripts/webkitpy/port/simulator_process.py: (SimulatorProcess.__init__): Accept target_host instead of worker_number. (SimulatorProcess._start): Replace _device with _target_host. (SimulatorProcess.stop): Ditto. (SimulatorProcess._kill): Deleted. Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/common/system/filesystem.py trunk/Tools/Scripts/webkitpy/common/system/filesystem_mock.py trunk/Tools/Scripts/webkitpy/port/base.py trunk/Tools/Scripts/webkitpy/port/darwin.py trunk/Tools/Scripts/webkitpy/port/darwin_testcase.py trunk/Tools/Scripts/webkitpy/port/driver.py trunk/Tools/Scripts/webkitpy/port/ios.py trunk/Tools/Scripts/webkitpy/port/server_process.py trunk/Tools/Scripts/webkitpy/port/server_process_mock.py trunk/Tools/Scripts/webkitpy/port/simulator_process.py Diff Modified: trunk/Tools/ChangeLog (214704 => 214705) --- trunk/Tools/ChangeLog 2017-04-01 00:20:38 UTC (rev 214704) +++ trunk/Tools/ChangeLog 2017-04-01 00:24:48 UTC (rev 214705) @@ -1,5 +1,71 @@ 2017-03-31 Jonathan Bedard +webkitpy: Add target host concept +https://bugs.webkit.org/show_bug.cgi?id=170186 + + +Reviewed by Alexey Proskuryakov. + +Adding the idea of a target host. Target hosts are objects conforming to the +structure of the SystemHost object in Scripts/webkitpy/common/system/systemhost.py +Target hosts are the hosts associated with a worker process. + +* Scripts/webkitpy/common/system/filesystem.py: +(FileSystem.map_base_host_path): Convert a path from an absolute path on the base +host to an absolute path on this host. +(FileSystem.move_to_base_host): Move file from this host to the base host. +(FileSystem.move_from_base_host): Move file from the base host to this host. +(FileSystem.copy_to_b
[webkit-changes] [214704] branches/safari-603-branch/Source
Title: [214704] branches/safari-603-branch/Source Revision 214704 Author jmarc...@apple.com Date 2017-03-31 17:20:38 -0700 (Fri, 31 Mar 2017) Log Message Merge r214378. rdar://problem/31177657 2017-03-24 Brent Fulgham Handle recursive calls to ProcessingInstruction::checkStyleSheet https://bugs.webkit.org/show_bug.cgi?id=169982 Reviewed by Antti Koivisto. See if we triggered a recursive load of the stylesheet during the 'beforeload' event handler. If so, reset to a valid state before completing the load. We should also check after 'beforeload' that we were not disconnected from (or moved to a new) document. I also looked for other cases of this pattern and fixed them, too. Tests: fast/dom/beforeload/image-removed-during-before-load.html fast/dom/beforeload/recursive-css-pi-before-load.html fast/dom/beforeload/recursive-link-before-load.html fast/dom/beforeload/recursive-xsl-pi-before-load.html * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::checkStyleSheet): Prevent recursive calls into this function during 'beforeload' handling. Also, safely handle the case where the element was disconnected in the 'beforeload' handler (similar to what we do in HTMLLinkElement). (WebCore::ProcessingInstruction::setCSSStyleSheet): Drive-by Fix: Protect the current document to match what we do in setXSLStyleSheet. * dom/ProcessingInstruction.h: * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::process): Prevent recursive calls into this function during 'beforeload' handling. * html/HTMLLinkElement.h: * loader/ImageLoader.cpp: (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent): safely handle the case where the element was disconnected in the 'beforeload' handler (similar to what we do in HTMLLinkElement). Patch by Brent Fulgham on 2017-03-31 Modified Paths branches/safari-603-branch/Source/WebCore/ChangeLog branches/safari-603-branch/Source/WebCore/dom/ProcessingInstruction.cpp branches/safari-603-branch/Source/WebCore/dom/ProcessingInstruction.h branches/safari-603-branch/Source/WebCore/html/HTMLLinkElement.cpp branches/safari-603-branch/Source/WebCore/html/HTMLLinkElement.h branches/safari-603-branch/Source/WebCore/loader/ImageLoader.cpp Added Paths branches/safari-603-branch/Source/fast/ branches/safari-603-branch/Source/fast/dom/ branches/safari-603-branch/Source/fast/dom/beforeload/ branches/safari-603-branch/Source/fast/dom/beforeload/image-removed-during-before-load-expected.txt branches/safari-603-branch/Source/fast/dom/beforeload/image-removed-during-before-load.html branches/safari-603-branch/Source/fast/dom/beforeload/recursive-css-pi-before-load-expected.txt branches/safari-603-branch/Source/fast/dom/beforeload/recursive-css-pi-before-load.html branches/safari-603-branch/Source/fast/dom/beforeload/recursive-link-before-load-expected.txt branches/safari-603-branch/Source/fast/dom/beforeload/recursive-link-before-load.html branches/safari-603-branch/Source/fast/dom/beforeload/recursive-xsl-pi-before-load-expected.txt branches/safari-603-branch/Source/fast/dom/beforeload/recursive-xsl-pi-before-load.html branches/safari-603-branch/Source/fast/dom/beforeload/resources/ branches/safari-603-branch/Source/fast/dom/beforeload/resources/content.xhtml branches/safari-603-branch/Source/fast/dom/beforeload/resources/pass.css branches/safari-603-branch/Source/fast/dom/beforeload/resources/test.xsl Diff Modified: branches/safari-603-branch/Source/WebCore/ChangeLog (214703 => 214704) --- branches/safari-603-branch/Source/WebCore/ChangeLog 2017-04-01 00:11:08 UTC (rev 214703) +++ branches/safari-603-branch/Source/WebCore/ChangeLog 2017-04-01 00:20:38 UTC (rev 214704) @@ -1,3 +1,45 @@ +2017-03-31 Brent Fulgham + +Merge r214378. rdar://problem/31177657 + +2017-03-24 Brent Fulgham + +Handle recursive calls to ProcessingInstruction::checkStyleSheet +https://bugs.webkit.org/show_bug.cgi?id=169982 + + +Reviewed by Antti Koivisto. + + See if we triggered a recursive load of the stylesheet during the 'beforeload' + event handler. If so, reset to a valid state before completing the load. + + We should also check after 'beforeload' that we were not disconnected from (or + moved to a new) document. + + I also looked for other cases of this pattern and fixed them, too. + + Tests: fast/dom/beforeload/image-removed-during-before-load.html + fast/dom/beforeload/recursive-css-pi-before-load.html + fast/dom/beforeload/recursive-link-before-load.html + fast/dom/beforeload/recursive-xsl-pi-before-load.html + +* dom/ProcessingInstruction.cpp: +(WebCore::ProcessingInstruction::checkStyleSheet): Prevent recursive calls into +this function during
[webkit-changes] [214703] trunk/Source/WebCore
Title: [214703] trunk/Source/WebCore Revision 214703 Author simon.fra...@apple.com Date 2017-03-31 17:11:08 -0700 (Fri, 31 Mar 2017) Log Message Rename DOMWindow's m_touchEventListenerCount to m_touchAndGestureEventListenerCount https://bugs.webkit.org/show_bug.cgi?id=170371 Reviewed by Tim Horton. This count tracks touch and gesture event listeners, so name it appropriately. * page/DOMWindow.cpp: (WebCore::DOMWindow::addEventListener): (WebCore::DOMWindow::removeEventListener): (WebCore::DOMWindow::removeAllEventListeners): * page/DOMWindow.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/DOMWindow.cpp trunk/Source/WebCore/page/DOMWindow.h Diff Modified: trunk/Source/WebCore/ChangeLog (214702 => 214703) --- trunk/Source/WebCore/ChangeLog 2017-04-01 00:10:59 UTC (rev 214702) +++ trunk/Source/WebCore/ChangeLog 2017-04-01 00:11:08 UTC (rev 214703) @@ -1,5 +1,20 @@ 2017-03-31 Simon Fraser +Rename DOMWindow's m_touchEventListenerCount to m_touchAndGestureEventListenerCount +https://bugs.webkit.org/show_bug.cgi?id=170371 + +Reviewed by Tim Horton. + +This count tracks touch and gesture event listeners, so name it appropriately. + +* page/DOMWindow.cpp: +(WebCore::DOMWindow::addEventListener): +(WebCore::DOMWindow::removeEventListener): +(WebCore::DOMWindow::removeAllEventListeners): +* page/DOMWindow.h: + +2017-03-31 Simon Fraser + When destroying a Node, assert that it's been removed from all the touch handler maps https://bugs.webkit.org/show_bug.cgi?id=170363 rdar://problem/31377469 Modified: trunk/Source/WebCore/page/DOMWindow.cpp (214702 => 214703) --- trunk/Source/WebCore/page/DOMWindow.cpp 2017-04-01 00:10:59 UTC (rev 214702) +++ trunk/Source/WebCore/page/DOMWindow.cpp 2017-04-01 00:11:08 UTC (rev 214703) @@ -1819,11 +1819,11 @@ #endif #if ENABLE(IOS_TOUCH_EVENTS) else if (eventNames().isTouchEventType(eventType)) -++m_touchEventListenerCount; +++m_touchAndGestureEventListenerCount; #endif #if ENABLE(IOS_GESTURE_EVENTS) else if (eventNames().isGestureEventType(eventType)) -++m_touchEventListenerCount; +++m_touchAndGestureEventListenerCount; #endif #if ENABLE(GAMEPAD) else if (eventNames().isGamepadEventType(eventType)) @@ -1910,14 +1910,14 @@ #endif #if ENABLE(IOS_TOUCH_EVENTS) else if (eventNames().isTouchEventType(eventType)) { -ASSERT(m_touchEventListenerCount > 0); ---m_touchEventListenerCount; +ASSERT(m_touchAndGestureEventListenerCount > 0); +--m_touchAndGestureEventListenerCount; } #endif #if ENABLE(IOS_GESTURE_EVENTS) else if (eventNames().isGestureEventType(eventType)) { -ASSERT(m_touchEventListenerCount > 0); ---m_touchEventListenerCount; +ASSERT(m_touchAndGestureEventListenerCount > 0); +--m_touchAndGestureEventListenerCount; } #endif #if ENABLE(GAMEPAD) @@ -2023,7 +2023,7 @@ #endif #if ENABLE(IOS_TOUCH_EVENTS) || ENABLE(IOS_GESTURE_EVENTS) -m_touchEventListenerCount = 0; +m_touchAndGestureEventListenerCount = 0; #endif #if ENABLE(TOUCH_EVENTS) Modified: trunk/Source/WebCore/page/DOMWindow.h (214702 => 214703) --- trunk/Source/WebCore/page/DOMWindow.h 2017-04-01 00:10:59 UTC (rev 214702) +++ trunk/Source/WebCore/page/DOMWindow.h 2017-04-01 00:11:08 UTC (rev 214703) @@ -303,7 +303,7 @@ void resetAllGeolocationPermission(); #if ENABLE(IOS_TOUCH_EVENTS) || ENABLE(IOS_GESTURE_EVENTS) -bool hasTouchEventListeners() const { return m_touchEventListenerCount > 0; } +bool hasTouchOrGestureEventListeners() const { return m_touchAndGestureEventListenerCount > 0; } #endif #if ENABLE(USER_MESSAGE_HANDLERS) @@ -390,7 +390,7 @@ #endif #if ENABLE(IOS_TOUCH_EVENTS) || ENABLE(IOS_GESTURE_EVENTS) -unsigned m_touchEventListenerCount { 0 }; +unsigned m_touchAndGestureEventListenerCount { 0 }; #endif #if ENABLE(GAMEPAD) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [214702] trunk/Source/WebCore
Title: [214702] trunk/Source/WebCore Revision 214702 Author simon.fra...@apple.com Date 2017-03-31 17:10:59 -0700 (Fri, 31 Mar 2017) Log Message When destroying a Node, assert that it's been removed from all the touch handler maps https://bugs.webkit.org/show_bug.cgi?id=170363 rdar://problem/31377469 Reviewed by Tim Horton. Assert that the Node has been removed from the touch handler maps in all documents on destruction. * dom/Document.h: (WebCore::Document::hasTouchEventHandlers): (WebCore::Document::touchEventTargetsContain): * dom/Node.cpp: (WebCore::Node::~Node): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/Document.h trunk/Source/WebCore/dom/Node.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (214701 => 214702) --- trunk/Source/WebCore/ChangeLog 2017-04-01 00:00:52 UTC (rev 214701) +++ trunk/Source/WebCore/ChangeLog 2017-04-01 00:10:59 UTC (rev 214702) @@ -1,3 +1,19 @@ +2017-03-31 Simon Fraser + +When destroying a Node, assert that it's been removed from all the touch handler maps +https://bugs.webkit.org/show_bug.cgi?id=170363 +rdar://problem/31377469 + +Reviewed by Tim Horton. + +Assert that the Node has been removed from the touch handler maps in all documents on destruction. + +* dom/Document.h: +(WebCore::Document::hasTouchEventHandlers): +(WebCore::Document::touchEventTargetsContain): +* dom/Node.cpp: +(WebCore::Node::~Node): + 2017-03-31 Alexey Proskuryakov Rolling back https://trac.webkit.org/r214689, as it caused many crashes. Modified: trunk/Source/WebCore/dom/Document.h (214701 => 214702) --- trunk/Source/WebCore/dom/Document.h 2017-04-01 00:00:52 UTC (rev 214701) +++ trunk/Source/WebCore/dom/Document.h 2017-04-01 00:10:59 UTC (rev 214702) @@ -1145,12 +1145,6 @@ double lastHandledUserGestureTimestamp() const { return m_lastHandledUserGestureTimestamp; } void updateLastHandledUserGestureTimestamp(); -#if ENABLE(TOUCH_EVENTS) -bool hasTouchEventHandlers() const { return (m_touchEventTargets.get()) ? m_touchEventTargets->size() : false; } -#else -bool hasTouchEventHandlers() const { return false; } -#endif - // Used for testing. Count handlers in the main document, and one per frame which contains handlers. WEBCORE_EXPORT unsigned wheelEventHandlerCount() const; WEBCORE_EXPORT unsigned touchEventHandlerCount() const; @@ -1158,6 +1152,14 @@ WEBCORE_EXPORT void startTrackingStyleRecalcs(); WEBCORE_EXPORT unsigned styleRecalcCount() const; +#if ENABLE(TOUCH_EVENTS) +bool hasTouchEventHandlers() const { return (m_touchEventTargets.get()) ? m_touchEventTargets->size() : false; } +bool touchEventTargetsContain(Node& node) const { return m_touchEventTargets ? m_touchEventTargets->contains(&node) : false; } +#else +bool hasTouchEventHandlers() const { return false; } +bool touchEventTargetsContain(Node&) const { return false; } +#endif + void didAddTouchEventHandler(Node&); void didRemoveTouchEventHandler(Node&, EventHandlerRemoval = EventHandlerRemoval::One); Modified: trunk/Source/WebCore/dom/Node.cpp (214701 => 214702) --- trunk/Source/WebCore/dom/Node.cpp 2017-04-01 00:00:52 UTC (rev 214701) +++ trunk/Source/WebCore/dom/Node.cpp 2017-04-01 00:10:59 UTC (rev 214702) @@ -301,6 +301,14 @@ clearEventTargetData(); document().decrementReferencingNodeCount(); + +#if ENABLE(TOUCH_EVENTS) && PLATFORM(IOS) && (!ASSERT_DISABLED || ENABLE(SECURITY_ASSERTIONS)) +for (auto* document : Document::allDocuments()) { +ASSERT_WITH_SECURITY_IMPLICATION(!document->touchEventListenersContain(*this)); +ASSERT_WITH_SECURITY_IMPLICATION(!document->touchEventHandlersContain(*this)); +ASSERT_WITH_SECURITY_IMPLICATION(!document->touchEventTargetsContain(*this)); +} +#endif } void Node::willBeDeletedFrom(Document& document) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [214701] trunk/Source/WebKit2
Title: [214701] trunk/Source/WebKit2 Revision 214701 Author simon.fra...@apple.com Date 2017-03-31 17:00:52 -0700 (Fri, 31 Mar 2017) Log Message Remove a logging statement left in by mistake. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::restoreViewState): Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp Diff Modified: trunk/Source/WebKit2/ChangeLog (214700 => 214701) --- trunk/Source/WebKit2/ChangeLog 2017-03-31 23:59:20 UTC (rev 214700) +++ trunk/Source/WebKit2/ChangeLog 2017-04-01 00:00:52 UTC (rev 214701) @@ -1,3 +1,10 @@ +2017-03-31 Simon Fraser + +Remove a logging statement left in by mistake. + +* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: +(WebKit::WebFrameLoaderClient::restoreViewState): + 2017-03-31 Wenson Hsieh Address post-review feedback after r214692 Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (214700 => 214701) --- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp 2017-03-31 23:59:20 UTC (rev 214700) +++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp 2017-04-01 00:00:52 UTC (rev 214701) @@ -1224,10 +1224,8 @@ if (FrameView* view = frame.view()) { if (m_frame->isMainFrame()) m_frame->page()->restorePageState(*currentItem); -else if (!view->wasScrolledByUser()) { -WTFLogAlways("WebFrameLoaderClient::restoreViewState restoring scroll position %d,%d", currentItem->scrollPosition().x(), currentItem->scrollPosition().y()); +else if (!view->wasScrolledByUser()) view->setScrollPosition(currentItem->scrollPosition()); -} } #else // Inform the UI process of the scale factor. ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [214699] trunk/Source/WebCore
Title: [214699] trunk/Source/WebCore Revision 214699 Author commit-qu...@webkit.org Date 2017-03-31 16:55:07 -0700 (Fri, 31 Mar 2017) Log Message Fix memory leak in RealtimeVideoIncomingSource https://bugs.webkit.org/show_bug.cgi?id=170356 Patch by Youenn Fablet on 2017-03-31 Reviewed by Eric Carlson. No change of behavior. * platform/mediastream/mac/RealtimeIncomingVideoSource.cpp: (WebCore::RealtimeIncomingVideoSource::OnFrame): Adopting the newly created pointer. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSource.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (214698 => 214699) --- trunk/Source/WebCore/ChangeLog 2017-03-31 23:38:17 UTC (rev 214698) +++ trunk/Source/WebCore/ChangeLog 2017-03-31 23:55:07 UTC (rev 214699) @@ -1,3 +1,15 @@ +2017-03-31 Youenn Fablet + +Fix memory leak in RealtimeVideoIncomingSource +https://bugs.webkit.org/show_bug.cgi?id=170356 + +Reviewed by Eric Carlson. + +No change of behavior. + +* platform/mediastream/mac/RealtimeIncomingVideoSource.cpp: +(WebCore::RealtimeIncomingVideoSource::OnFrame): Adopting the newly created pointer. + 2017-03-31 Andy Estes REGRESSION (r202472): Data Detection overwrites existing links in detected ranges Modified: trunk/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSource.cpp (214698 => 214699) --- trunk/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSource.cpp 2017-03-31 23:38:17 UTC (rev 214698) +++ trunk/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSource.cpp 2017-03-31 23:55:07 UTC (rev 214699) @@ -160,7 +160,7 @@ } CFRelease(formatDescription); -RetainPtr sample = sampleBuffer; +auto sample = adoptCF(sampleBuffer); CFArrayRef attachmentsArray = CMSampleBufferGetSampleAttachmentsArray(sampleBuffer, true); for (CFIndex i = 0; i < CFArrayGetCount(attachmentsArray); ++i) { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [214700] trunk/Source/WebCore
Title: [214700] trunk/Source/WebCore Revision 214700 Author a...@apple.com Date 2017-03-31 16:59:20 -0700 (Fri, 31 Mar 2017) Log Message Rolling back https://trac.webkit.org/r214689, as it caused many crashes. Was: Fix memory leak in CreateSessionDescriptionObserver::OnSuccess https://bugs.webkit.org/show_bug.cgi?id=170357 * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp: (WebCore::LibWebRTCMediaEndpoint::createSessionDescriptionSucceeded): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (214699 => 214700) --- trunk/Source/WebCore/ChangeLog 2017-03-31 23:55:07 UTC (rev 214699) +++ trunk/Source/WebCore/ChangeLog 2017-03-31 23:59:20 UTC (rev 214700) @@ -1,3 +1,14 @@ +2017-03-31 Alexey Proskuryakov + +Rolling back https://trac.webkit.org/r214689, as it caused many crashes. + +Was: +Fix memory leak in CreateSessionDescriptionObserver::OnSuccess +https://bugs.webkit.org/show_bug.cgi?id=170357 + +* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp: +(WebCore::LibWebRTCMediaEndpoint::createSessionDescriptionSucceeded): + 2017-03-31 Youenn Fablet Fix memory leak in RealtimeVideoIncomingSource Modified: trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp (214699 => 214700) --- trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp 2017-03-31 23:55:07 UTC (rev 214699) +++ trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp 2017-03-31 23:59:20 UTC (rev 214700) @@ -703,10 +703,8 @@ ASSERT_NOT_REACHED(); } -void LibWebRTCMediaEndpoint::createSessionDescriptionSucceeded(webrtc::SessionDescriptionInterface* rawDescription) +void LibWebRTCMediaEndpoint::createSessionDescriptionSucceeded(webrtc::SessionDescriptionInterface* description) { -std::unique_ptr description(rawDescription); - std::string sdp; description->ToString(&sdp); String sdpString(sdp.data(), sdp.size()); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [214698] trunk/Tools
Title: [214698] trunk/Tools Revision 214698 Author jbed...@apple.com Date 2017-03-31 16:38:17 -0700 (Fri, 31 Mar 2017) Log Message Unreviewed fix after r214569 https://bugs.webkit.org/show_bug.cgi?id=170255 Unreviewed infrastructure fix. * Scripts/webkitpy/port/ios.py: (IOSPort.clean_up_test_run): Check if the device is defined before teardown. Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/port/ios.py Diff Modified: trunk/Tools/ChangeLog (214697 => 214698) --- trunk/Tools/ChangeLog 2017-03-31 23:33:24 UTC (rev 214697) +++ trunk/Tools/ChangeLog 2017-03-31 23:38:17 UTC (rev 214698) @@ -1,3 +1,13 @@ +2017-03-31 Jonathan Bedard + +Unreviewed fix after r214569 +https://bugs.webkit.org/show_bug.cgi?id=170255 + +Unreviewed infrastructure fix. + +* Scripts/webkitpy/port/ios.py: +(IOSPort.clean_up_test_run): Check if the device is defined before teardown. + 2017-03-31 Andy Estes REGRESSION (r202472): Data Detection overwrites existing links in detected ranges Modified: trunk/Tools/Scripts/webkitpy/port/ios.py (214697 => 214698) --- trunk/Tools/Scripts/webkitpy/port/ios.py 2017-03-31 23:33:24 UTC (rev 214697) +++ trunk/Tools/Scripts/webkitpy/port/ios.py 2017-03-31 23:38:17 UTC (rev 214698) @@ -131,7 +131,8 @@ for i in xrange(self.child_processes()): device = self.device_for_worker_number(i) try: -self.device_for_worker_number(i).finished_testing() +if device: +device.finished_testing() except BaseException as e: trace = traceback.format_exc() if isinstance(e, Exception): ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [214697] trunk
Title: [214697] trunk Revision 214697 Author aes...@apple.com Date 2017-03-31 16:33:24 -0700 (Fri, 31 Mar 2017) Log Message REGRESSION (r202472): Data Detection overwrites existing links in detected ranges https://bugs.webkit.org/show_bug.cgi?id=170365 Reviewed by Tim Horton. Source/WebCore: r202472 changed the node traversal in searchForLinkRemovingExistingDDLinks() to only consider nodes that are descendants of startNode, but we need to traverse all nodes between startNode and endNode to find existing non-DD links. As a result, we'd add a Data Detector link to the following snippet and make the original links un-clickable: tomorrow night Fix this by not specifying a stayWithin node when calling NodeTraversal::next(). The loop will terminate when we reach endNode. Updated WebKit2.DataDetectionReferenceDate API test. * editing/cocoa/DataDetection.mm: (WebCore::searchForLinkRemovingExistingDDLinks): Tools: * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm: (expectLinkCount): Changed to only query links with the x-apple-data-detectors attribute. (TEST): Re-enabled the test, which now passes. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/editing/cocoa/DataDetection.mm trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm Diff Modified: trunk/Source/WebCore/ChangeLog (214696 => 214697) --- trunk/Source/WebCore/ChangeLog 2017-03-31 23:19:11 UTC (rev 214696) +++ trunk/Source/WebCore/ChangeLog 2017-03-31 23:33:24 UTC (rev 214697) @@ -1,3 +1,28 @@ +2017-03-31 Andy Estes + +REGRESSION (r202472): Data Detection overwrites existing links in detected ranges +https://bugs.webkit.org/show_bug.cgi?id=170365 + + +Reviewed by Tim Horton. + +r202472 changed the node traversal in searchForLinkRemovingExistingDDLinks() to only +consider nodes that are descendants of startNode, but we need to traverse all nodes between +startNode and endNode to find existing non-DD links. + +As a result, we'd add a Data Detector link to the following snippet and make the original +links un-clickable: + +tomorrow night + +Fix this by not specifying a stayWithin node when calling NodeTraversal::next(). The loop +will terminate when we reach endNode. + +Updated WebKit2.DataDetectionReferenceDate API test. + +* editing/cocoa/DataDetection.mm: +(WebCore::searchForLinkRemovingExistingDDLinks): + 2017-03-31 Eric Carlson Incoming video source doesn't propogate frame rotation Modified: trunk/Source/WebCore/editing/cocoa/DataDetection.mm (214696 => 214697) --- trunk/Source/WebCore/editing/cocoa/DataDetection.mm 2017-03-31 23:19:11 UTC (rev 214696) +++ trunk/Source/WebCore/editing/cocoa/DataDetection.mm 2017-03-31 23:33:24 UTC (rev 214697) @@ -274,7 +274,7 @@ static bool searchForLinkRemovingExistingDDLinks(Node& startNode, Node& endNode, bool& didModifyDOM) { didModifyDOM = false; -for (Node* node = &startNode; node; node = NodeTraversal::next(*node, &startNode)) { +for (Node* node = &startNode; node; node = NodeTraversal::next(*node)) { if (is(*node)) { auto& anchor = downcast(*node); if (!equalIgnoringASCIICase(anchor.attributeWithoutSynchronization(x_apple_data_detectorsAttr), "true")) Modified: trunk/Tools/ChangeLog (214696 => 214697) --- trunk/Tools/ChangeLog 2017-03-31 23:19:11 UTC (rev 214696) +++ trunk/Tools/ChangeLog 2017-03-31 23:33:24 UTC (rev 214697) @@ -1,3 +1,15 @@ +2017-03-31 Andy Estes + +REGRESSION (r202472): Data Detection overwrites existing links in detected ranges +https://bugs.webkit.org/show_bug.cgi?id=170365 + + +Reviewed by Tim Horton. + +* TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm: +(expectLinkCount): Changed to only query links with the x-apple-data-detectors attribute. +(TEST): Re-enabled the test, which now passes. + 2017-03-31 Tim Horton Mail can get stuck underneath FindController::findStringMatches after searching in a long message Modified: trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm (214696 => 214697) --- trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm 2017-03-31 23:19:11 UTC (rev 214696) +++ trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm 2017-03-31 23:33:24 UTC (rev 214697) @@ -60,7 +60,7 @@ [webView loadHTMLString:HTMLString baseURL:nil]; [webView _test_waitForDidFinishNavigation]; -[webView evaluateJavaScript:@"document.getElementsByTagName('a').length" completionHandler:^(id value, NSError *error) { +[webView evaluateJavaScript:@"document.querySelectorAll('a[x-apple-data-detectors=true]').length" completionHandler:^(id value, NSError *error) { EXPECT_EQ(linkCount, [value unsignedIntValue]); ranScript = true; }]; @@ -69,7 +69,7 @@ ranScript = false; } -TEST(W
[webkit-changes] [214696] trunk/Source/WebKit2
Title: [214696] trunk/Source/WebKit2 Revision 214696 Author wenson_hs...@apple.com Date 2017-03-31 16:19:11 -0700 (Fri, 31 Mar 2017) Log Message Address post-review feedback after r214692 https://bugs.webkit.org/show_bug.cgi?id=170328 Reviewed by Dan Bernstein. Clearing the selection when UIKit calls into WKContentView to set its selected text range to nil is a rule that should be applied when using a text interaction assistant, not just when using character granularity for selecting text. * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView setSelectedTextRange:]): Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm Diff Modified: trunk/Source/WebKit2/ChangeLog (214695 => 214696) --- trunk/Source/WebKit2/ChangeLog 2017-03-31 23:06:20 UTC (rev 214695) +++ trunk/Source/WebKit2/ChangeLog 2017-03-31 23:19:11 UTC (rev 214696) @@ -1,5 +1,19 @@ 2017-03-31 Wenson Hsieh +Address post-review feedback after r214692 +https://bugs.webkit.org/show_bug.cgi?id=170328 + +Reviewed by Dan Bernstein. + +Clearing the selection when UIKit calls into WKContentView to set its selected text range to nil is a rule +that should be applied when using a text interaction assistant, not just when using character granularity +for selecting text. + +* UIProcess/ios/WKContentViewInteraction.mm: +(-[WKContentView setSelectedTextRange:]): + +2017-03-31 Wenson Hsieh + [WK2] Tapping away to dismiss the selection does not update the selected DOM range using character granularity https://bugs.webkit.org/show_bug.cgi?id=170328 Modified: trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm (214695 => 214696) --- trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm 2017-03-31 23:06:20 UTC (rev 214695) +++ trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm 2017-03-31 23:19:11 UTC (rev 214696) @@ -2977,10 +2977,7 @@ - (void)setSelectedTextRange:(UITextRange *)range { -if (_webView.configuration.selectionGranularity != WKSelectionGranularityCharacter) -return; - -if (!range) +if (_textSelectionAssistant && !range) [self clearSelection]; } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [214695] trunk/Source/JavaScriptCore
Title: [214695] trunk/Source/_javascript_Core Revision 214695 Author sbar...@apple.com Date 2017-03-31 16:06:20 -0700 (Fri, 31 Mar 2017) Log Message WebAssembly: Strip WasmParser and WasmFunctionParser from knowing about VM https://bugs.webkit.org/show_bug.cgi?id=170312 Reviewed by Mark Lam. This is another step towards PIC-ifying Wasm. This patch removes the VM field that is no longer used. * wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::parseAndCompile): * wasm/WasmB3IRGenerator.h: * wasm/WasmFunctionParser.h: (JSC::Wasm::FunctionParser::FunctionParser): * wasm/WasmModuleParser.h: (JSC::Wasm::ModuleParser::ModuleParser): * wasm/WasmParser.h: (JSC::Wasm::Parser::Parser): * wasm/WasmPlan.cpp: (JSC::Wasm::Plan::parseAndValidateModule): (JSC::Wasm::Plan::compileFunctions): * wasm/WasmValidate.cpp: (JSC::Wasm::validateFunction): * wasm/WasmValidate.h: Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.cpp trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.h trunk/Source/_javascript_Core/wasm/WasmFunctionParser.h trunk/Source/_javascript_Core/wasm/WasmModuleParser.h trunk/Source/_javascript_Core/wasm/WasmParser.h trunk/Source/_javascript_Core/wasm/WasmPlan.cpp trunk/Source/_javascript_Core/wasm/WasmValidate.cpp trunk/Source/_javascript_Core/wasm/WasmValidate.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (214694 => 214695) --- trunk/Source/_javascript_Core/ChangeLog 2017-03-31 22:50:47 UTC (rev 214694) +++ trunk/Source/_javascript_Core/ChangeLog 2017-03-31 23:06:20 UTC (rev 214695) @@ -1,5 +1,31 @@ 2017-03-31 Saam Barati +WebAssembly: Strip WasmParser and WasmFunctionParser from knowing about VM +https://bugs.webkit.org/show_bug.cgi?id=170312 + +Reviewed by Mark Lam. + +This is another step towards PIC-ifying Wasm. This patch removes +the VM field that is no longer used. + +* wasm/WasmB3IRGenerator.cpp: +(JSC::Wasm::parseAndCompile): +* wasm/WasmB3IRGenerator.h: +* wasm/WasmFunctionParser.h: +(JSC::Wasm::FunctionParser::FunctionParser): +* wasm/WasmModuleParser.h: +(JSC::Wasm::ModuleParser::ModuleParser): +* wasm/WasmParser.h: +(JSC::Wasm::Parser::Parser): +* wasm/WasmPlan.cpp: +(JSC::Wasm::Plan::parseAndValidateModule): +(JSC::Wasm::Plan::compileFunctions): +* wasm/WasmValidate.cpp: +(JSC::Wasm::validateFunction): +* wasm/WasmValidate.h: + +2017-03-31 Saam Barati + WebAssembly: Ref count Signature and SignatureInformation should not care about VM https://bugs.webkit.org/show_bug.cgi?id=170316 Modified: trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.cpp (214694 => 214695) --- trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.cpp 2017-03-31 22:50:47 UTC (rev 214694) +++ trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.cpp 2017-03-31 23:06:20 UTC (rev 214695) @@ -1263,7 +1263,7 @@ return bitwise_cast(OpcodeOrigin(m_parser->currentOpcode(), m_parser->currentOpcodeStartingOffset())); } -Expected, String> parseAndCompile(VM& vm, CompilationContext& compilationContext, const uint8_t* functionStart, size_t functionLength, const Signature& signature, Vector& unlinkedWasmToWasmCalls, const ModuleInformation& info, const Vector& moduleSignatureIndicesToUniquedSignatureIndices, MemoryMode mode, unsigned optLevel) +Expected, String> parseAndCompile(CompilationContext& compilationContext, const uint8_t* functionStart, size_t functionLength, const Signature& signature, Vector& unlinkedWasmToWasmCalls, const ModuleInformation& info, const Vector& moduleSignatureIndicesToUniquedSignatureIndices, MemoryMode mode, unsigned optLevel) { auto result = std::make_unique(); @@ -1278,7 +1278,7 @@ }); B3IRGenerator context(info, procedure, result.get(), unlinkedWasmToWasmCalls, mode); -FunctionParser parser(&vm, context, functionStart, functionLength, signature, info, moduleSignatureIndicesToUniquedSignatureIndices); +FunctionParser parser(context, functionStart, functionLength, signature, info, moduleSignatureIndicesToUniquedSignatureIndices); WASM_FAIL_IF_HELPER_FAILS(parser.parse()); context.insertConstants(); Modified: trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.h (214694 => 214695) --- trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.h 2017-03-31 22:50:47 UTC (rev 214694) +++ trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.h 2017-03-31 23:06:20 UTC (rev 214695) @@ -30,7 +30,6 @@ #include "B3Common.h" #include "B3Compilation.h" #include "CCallHelpers.h" -#include "VM.h" #include "WasmFormat.h" #include "WasmMemory.h" #include @@ -49,7 +48,7 @@ CCallHelpers::Call jsEntrypointToWasmEntrypointCall; }; -Expected, String> parseAndCompile(VM&, CompilationContext&, const uint8_t*, size_t, const Signature&, Vector&, const ModuleInformation&, const Vector&, MemoryMode, unsig
[webkit-changes] [214694] trunk/Source/WebCore
Title: [214694] trunk/Source/WebCore Revision 214694 Author eric.carl...@apple.com Date 2017-03-31 15:50:47 -0700 (Fri, 31 Mar 2017) Log Message Incoming video source doesn't propogate frame rotation https://bugs.webkit.org/show_bug.cgi?id=170364 Reviewed by Youenn Fablet. No new tests, the mock video source doesn't support rotation. Test will be added when this is fixed in https://bugs.webkit.org/show_bug.cgi?id=169822. The changes were verified manually. * platform/mediastream/mac/RealtimeIncomingVideoSource.cpp: (WebCore::RealtimeIncomingVideoSource::OnFrame): Convert frame rotation to sample orientation and swap width and height when necessary. (WebCore::RealtimeIncomingVideoSource::processNewSample): * platform/mediastream/mac/RealtimeIncomingVideoSource.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSource.cpp trunk/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSource.h Diff Modified: trunk/Source/WebCore/ChangeLog (214693 => 214694) --- trunk/Source/WebCore/ChangeLog 2017-03-31 22:48:50 UTC (rev 214693) +++ trunk/Source/WebCore/ChangeLog 2017-03-31 22:50:47 UTC (rev 214694) @@ -1,3 +1,20 @@ +2017-03-31 Eric Carlson + +Incoming video source doesn't propogate frame rotation +https://bugs.webkit.org/show_bug.cgi?id=170364 + +Reviewed by Youenn Fablet. + +No new tests, the mock video source doesn't support rotation. Test will be added when +this is fixed in https://bugs.webkit.org/show_bug.cgi?id=169822. The changes were +verified manually. + +* platform/mediastream/mac/RealtimeIncomingVideoSource.cpp: +(WebCore::RealtimeIncomingVideoSource::OnFrame): Convert frame rotation to sample +orientation and swap width and height when necessary. +(WebCore::RealtimeIncomingVideoSource::processNewSample): +* platform/mediastream/mac/RealtimeIncomingVideoSource.h: + 2017-03-31 Chris Dumez Possible null dereference under SourceBuffer::sourceBufferPrivateDidReceiveSample() Modified: trunk/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSource.cpp (214693 => 214694) --- trunk/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSource.cpp 2017-03-31 22:48:50 UTC (rev 214693) +++ trunk/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSource.cpp 2017-03-31 22:50:47 UTC (rev 214694) @@ -170,13 +170,32 @@ unsigned width = frame.width(); unsigned height = frame.height(); + +MediaSample::VideoOrientation orientation; +switch (frame.rotation()) { +case webrtc::kVideoRotation_0: +orientation = MediaSample::VideoOrientation::Portrait; +break; +case webrtc::kVideoRotation_180: +orientation = MediaSample::VideoOrientation::PortraitUpsideDown; +break; +case webrtc::kVideoRotation_90: +orientation = MediaSample::VideoOrientation::LandscapeRight; +std::swap(width, height); +break; +case webrtc::kVideoRotation_270: +orientation = MediaSample::VideoOrientation::LandscapeLeft; +std::swap(width, height); +break; +} + RefPtr protectedThis(this); -callOnMainThread([protectedThis = WTFMove(protectedThis), sample = WTFMove(sample), width, height] { -protectedThis->processNewSample(sample.get(), width, height); +callOnMainThread([protectedThis = WTFMove(protectedThis), sample = WTFMove(sample), width, height, orientation] { +protectedThis->processNewSample(sample.get(), width, height, orientation); }); } -void RealtimeIncomingVideoSource::processNewSample(CMSampleBufferRef sample, unsigned width, unsigned height) +void RealtimeIncomingVideoSource::processNewSample(CMSampleBufferRef sample, unsigned width, unsigned height, MediaSample::VideoOrientation orientation) { m_buffer = sample; if (width != m_currentSettings.width() || height != m_currentSettings.height()) { @@ -185,7 +204,7 @@ settingsDidChange(); } -videoSampleAvailable(MediaSampleAVFObjC::create(sample)); +videoSampleAvailable(MediaSampleAVFObjC::create(sample, orientation)); } RefPtr RealtimeIncomingVideoSource::capabilities() const Modified: trunk/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSource.h (214693 => 214694) --- trunk/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSource.h 2017-03-31 22:48:50 UTC (rev 214693) +++ trunk/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSource.h 2017-03-31 22:50:47 UTC (rev 214694) @@ -64,7 +64,7 @@ MediaConstraints& constraints() { return *m_constraints.get(); } RealtimeMediaSourceSupportedConstraints& supportedConstraints(); -void processNewSample(CMSampleBufferRef, unsigned, unsigned); +void processNewSample(CMSampleBufferRef, unsigned, unsigned, MediaSample::VideoOrientation); bool isProducingData() const final { return m_isPr
[webkit-changes] [214693] trunk/Source/WebCore
Title: [214693] trunk/Source/WebCore Revision 214693 Author cdu...@apple.com Date 2017-03-31 15:48:50 -0700 (Fri, 31 Mar 2017) Log Message Possible null dereference under SourceBuffer::sourceBufferPrivateDidReceiveSample() https://bugs.webkit.org/show_bug.cgi?id=159639 Reviewed by Eric Carlson. Add a null check for trackBuffer.description before dereferencing as it seems it can be null. * Modules/mediasource/SourceBuffer.cpp: (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (214692 => 214693) --- trunk/Source/WebCore/ChangeLog 2017-03-31 22:36:00 UTC (rev 214692) +++ trunk/Source/WebCore/ChangeLog 2017-03-31 22:48:50 UTC (rev 214693) @@ -1,3 +1,16 @@ +2017-03-31 Chris Dumez + +Possible null dereference under SourceBuffer::sourceBufferPrivateDidReceiveSample() +https://bugs.webkit.org/show_bug.cgi?id=159639 + +Reviewed by Eric Carlson. + +Add a null check for trackBuffer.description before dereferencing as it seems +it can be null. + +* Modules/mediasource/SourceBuffer.cpp: +(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): + 2017-03-31 Youenn Fablet Fix memory leak in CreateSessionDescriptionObserver::OnSuccess Modified: trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp (214692 => 214693) --- trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp 2017-03-31 22:36:00 UTC (rev 214692) +++ trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp 2017-03-31 22:48:50 UTC (rev 214693) @@ -1498,7 +1498,7 @@ // FIXME: Add support for sample splicing. // If track buffer contains video coded frames: -if (trackBuffer.description->isVideo()) { +if (trackBuffer.description && trackBuffer.description->isVideo()) { // 1.14.2.1 Let overlapped frame presentation timestamp equal the presentation timestamp // of overlapped frame. MediaTime overlappedFramePresentationTimestamp = overlappedFrame->presentationTime(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [214692] trunk
Title: [214692] trunk Revision 214692 Author wenson_hs...@apple.com Date 2017-03-31 15:36:00 -0700 (Fri, 31 Mar 2017) Log Message [WK2] Tapping away to dismiss the selection does not update the selected DOM range using character granularity https://bugs.webkit.org/show_bug.cgi?id=170328 Reviewed by Tim Horton. Source/WebKit2: When UIKit clears the selection while in text interaction mode, it notifies its document view (i.e., the WKContentView) by setting its selected text range to nil. When character granularity selection is enabled, use this as a cue to notify the web process that the selection is being cleared out. -setSelectedTextRange: is a noop in the general case because the web process acts as the source of truth for what the selection currently consists of, and notifies the UI process and UIKit via WKTextPosition and WKTextRange. However, in the case of character granularity selections, tapping away to clear the selection is handled by UIKit's text gesture recognizer cluster, which then informs the document (via -setSelectedTextRange:) that the selection should be cleared out. Adds a new Layout test: editing/selection/character-granularity-selected-range-after-dismissing-selection.html. * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView setSelectedTextRange:]): LayoutTests: Adds a new layout test verifying that when a user taps away to clear the current selection in character granularity selection mode, the selected DOM range in the web process does not fall out of sync with UIKit's selection views, which are dismissed. * editing/selection/character-granularity-selected-range-after-dismissing-selection-expected.txt: Added. * editing/selection/character-granularity-selected-range-after-dismissing-selection.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm Added Paths trunk/LayoutTests/editing/selection/character-granularity-selected-range-after-dismissing-selection-expected.txt trunk/LayoutTests/editing/selection/character-granularity-selected-range-after-dismissing-selection.html Diff Modified: trunk/LayoutTests/ChangeLog (214691 => 214692) --- trunk/LayoutTests/ChangeLog 2017-03-31 22:18:27 UTC (rev 214691) +++ trunk/LayoutTests/ChangeLog 2017-03-31 22:36:00 UTC (rev 214692) @@ -1,3 +1,18 @@ +2017-03-31 Wenson Hsieh + +[WK2] Tapping away to dismiss the selection does not update the selected DOM range using character granularity +https://bugs.webkit.org/show_bug.cgi?id=170328 + + +Reviewed by Tim Horton. + +Adds a new layout test verifying that when a user taps away to clear the current selection in character +granularity selection mode, the selected DOM range in the web process does not fall out of sync with UIKit's +selection views, which are dismissed. + +* editing/selection/character-granularity-selected-range-after-dismissing-selection-expected.txt: Added. +* editing/selection/character-granularity-selected-range-after-dismissing-selection.html: Added. + 2017-03-31 Youenn Fablet Add a test to ensure webrtc generated certificates and names are ephemeral Modified: trunk/LayoutTests/TestExpectations (214691 => 214692) --- trunk/LayoutTests/TestExpectations 2017-03-31 22:18:27 UTC (rev 214691) +++ trunk/LayoutTests/TestExpectations 2017-03-31 22:36:00 UTC (rev 214692) @@ -79,6 +79,7 @@ # This test only makes sense on iOS fast/attachment/attachment-wrapping-action.html +editing/selection/character-granularity-selected-range-after-dismissing-selection.html [ Skip ] editing/selection/caret-after-tap-in-editable-selection.html [ Skip ] # Only iOS has selection UI drawn by UIKit Added: trunk/LayoutTests/editing/selection/character-granularity-selected-range-after-dismissing-selection-expected.txt (0 => 214692) --- trunk/LayoutTests/editing/selection/character-granularity-selected-range-after-dismissing-selection-expected.txt (rev 0) +++ trunk/LayoutTests/editing/selection/character-granularity-selected-range-after-dismissing-selection-expected.txt 2017-03-31 22:36:00 UTC (rev 214692) @@ -0,0 +1,5 @@ +WEB +KIT +The selected content is now: "WEB" +The selected content is now: "" + Added: trunk/LayoutTests/editing/selection/character-granularity-selected-range-after-dismissing-selection.html (0 => 214692) --- trunk/LayoutTests/editing/selection/character-granularity-selected-range-after-dismissing-selection.html (rev 0) +++ trunk/LayoutTests/editing/selection/character-granularity-selected-range-after-dismissing-selection.html 2017-03-31 22:36:00 UTC (rev 214692) @@ -0,0 +1,58 @@ + + +WEBKIT + + +function selectUpperTextScript() +{ +return ` +(() => { +uiController.longPressAtPoint(100, 100, () => { +uiController.uiScriptComplet
[webkit-changes] [214691] trunk/Source/JavaScriptCore
Title: [214691] trunk/Source/_javascript_Core Revision 214691 Author sbar...@apple.com Date 2017-03-31 15:18:27 -0700 (Fri, 31 Mar 2017) Log Message WebAssembly: Ref count Signature and SignatureInformation should not care about VM https://bugs.webkit.org/show_bug.cgi?id=170316 Reviewed by Keith Miller. This is yet again another step towards PIC-ifying Wasm. Signature should be ref counted so we can tell when no code is holding onto a Signature. This makes it easy to free unused Signatures. Also, this patch rids SignatureInfo of any VM knowledge. Now, there is just a single SignatureInfo that lives in a process. * runtime/VM.h: * wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::createJSToWasmWrapper): (JSC::Wasm::parseAndCompile): * wasm/WasmB3IRGenerator.h: * wasm/WasmBinding.cpp: (JSC::Wasm::wasmToJs): * wasm/WasmCallingConvention.h: (JSC::Wasm::CallingConvention::loadArguments): * wasm/WasmFormat.h: * wasm/WasmFunctionParser.h: (JSC::Wasm::FunctionParser::FunctionParser): * wasm/WasmModuleParser.cpp: * wasm/WasmPlan.cpp: (JSC::Wasm::Plan::parseAndValidateModule): (JSC::Wasm::Plan::compileFunctions): (JSC::Wasm::Plan::complete): * wasm/WasmSignature.cpp: (JSC::Wasm::Signature::hash): (JSC::Wasm::Signature::tryCreate): (JSC::Wasm::SignatureInformation::SignatureInformation): (JSC::Wasm::SignatureInformation::singleton): (JSC::Wasm::SignatureInformation::adopt): (JSC::Wasm::SignatureInformation::get): (JSC::Wasm::SignatureInformation::tryCleanup): (JSC::Wasm::Signature::create): Deleted. (JSC::Wasm::Signature::createInvalid): Deleted. (JSC::Wasm::Signature::destroy): Deleted. (JSC::Wasm::SignatureInformation::~SignatureInformation): Deleted. * wasm/WasmSignature.h: (JSC::Wasm::Signature::allocatedSize): (JSC::Wasm::Signature::operator==): * wasm/WasmValidate.cpp: (JSC::Wasm::validateFunction): * wasm/WasmValidate.h: * wasm/js/JSWebAssemblyModule.cpp: (JSC::JSWebAssemblyModule::destroy): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * wasm/js/WebAssemblyFunction.h: * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::link): (JSC::WebAssemblyModuleRecord::evaluate): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::WebAssemblyWrapperFunction::create): * wasm/js/WebAssemblyWrapperFunction.h: Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/VM.h trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.cpp trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.h trunk/Source/_javascript_Core/wasm/WasmBinding.cpp trunk/Source/_javascript_Core/wasm/WasmCallingConvention.h trunk/Source/_javascript_Core/wasm/WasmFormat.h trunk/Source/_javascript_Core/wasm/WasmFunctionParser.h trunk/Source/_javascript_Core/wasm/WasmModuleParser.cpp trunk/Source/_javascript_Core/wasm/WasmPlan.cpp trunk/Source/_javascript_Core/wasm/WasmSignature.cpp trunk/Source/_javascript_Core/wasm/WasmSignature.h trunk/Source/_javascript_Core/wasm/WasmValidate.cpp trunk/Source/_javascript_Core/wasm/WasmValidate.h trunk/Source/_javascript_Core/wasm/js/JSWebAssemblyModule.cpp trunk/Source/_javascript_Core/wasm/js/WebAssemblyFunction.cpp trunk/Source/_javascript_Core/wasm/js/WebAssemblyFunction.h trunk/Source/_javascript_Core/wasm/js/WebAssemblyModuleRecord.cpp trunk/Source/_javascript_Core/wasm/js/WebAssemblyWrapperFunction.cpp trunk/Source/_javascript_Core/wasm/js/WebAssemblyWrapperFunction.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (214690 => 214691) --- trunk/Source/_javascript_Core/ChangeLog 2017-03-31 22:08:36 UTC (rev 214690) +++ trunk/Source/_javascript_Core/ChangeLog 2017-03-31 22:18:27 UTC (rev 214691) @@ -1,3 +1,64 @@ +2017-03-31 Saam Barati + +WebAssembly: Ref count Signature and SignatureInformation should not care about VM +https://bugs.webkit.org/show_bug.cgi?id=170316 + +Reviewed by Keith Miller. + +This is yet again another step towards PIC-ifying Wasm. +Signature should be ref counted so we can tell when +no code is holding onto a Signature. This makes it easy +to free unused Signatures. Also, this patch rids SignatureInfo +of any VM knowledge. Now, there is just a single SignatureInfo that +lives in a process. + +* runtime/VM.h: +* wasm/WasmB3IRGenerator.cpp: +(JSC::Wasm::createJSToWasmWrapper): +(JSC::Wasm::parseAndCompile): +* wasm/WasmB3IRGenerator.h: +* wasm/WasmBinding.cpp: +(JSC::Wasm::wasmToJs): +* wasm/WasmCallingConvention.h: +(JSC::Wasm::CallingConvention::loadArguments): +* wasm/WasmFormat.h: +* wasm/WasmFunctionParser.h: +(JSC::Wasm::FunctionParser::FunctionParser): +* wasm/WasmModuleParser.cpp: +* wasm/WasmPlan.cpp: +(JSC::Wasm::Plan::parseAndValidateModule): +(JSC::Wasm::Plan::compileFunctions): +(JSC::Wasm::Plan::complete): +* wasm/WasmSignature.cpp: +(JSC::Wasm::Signature::hash): +(JSC::W
[webkit-changes] [214690] trunk/LayoutTests
Title: [214690] trunk/LayoutTests Revision 214690 Author commit-qu...@webkit.org Date 2017-03-31 15:08:36 -0700 (Fri, 31 Mar 2017) Log Message Add a test to ensure webrtc generated certificates and names are ephemeral https://bugs.webkit.org/show_bug.cgi?id=170225 Patch by Youenn Fablet on 2017-03-31 Reviewed by Jon Lee. * webrtc/ephemeral-certificates-and-cnames-expected.txt: Added. * webrtc/ephemeral-certificates-and-cnames.html: Added. Modified Paths trunk/LayoutTests/ChangeLog Added Paths trunk/LayoutTests/webrtc/ephemeral-certificates-and-cnames-expected.txt trunk/LayoutTests/webrtc/ephemeral-certificates-and-cnames.html Diff Modified: trunk/LayoutTests/ChangeLog (214689 => 214690) --- trunk/LayoutTests/ChangeLog 2017-03-31 22:05:22 UTC (rev 214689) +++ trunk/LayoutTests/ChangeLog 2017-03-31 22:08:36 UTC (rev 214690) @@ -1,3 +1,13 @@ +2017-03-31 Youenn Fablet + +Add a test to ensure webrtc generated certificates and names are ephemeral +https://bugs.webkit.org/show_bug.cgi?id=170225 + +Reviewed by Jon Lee. + +* webrtc/ephemeral-certificates-and-cnames-expected.txt: Added. +* webrtc/ephemeral-certificates-and-cnames.html: Added. + 2017-03-31 Wenson Hsieh [WK2] Tapping editable text inside of a range selection no longer changes the selection to a caret Added: trunk/LayoutTests/webrtc/ephemeral-certificates-and-cnames-expected.txt (0 => 214690) --- trunk/LayoutTests/webrtc/ephemeral-certificates-and-cnames-expected.txt (rev 0) +++ trunk/LayoutTests/webrtc/ephemeral-certificates-and-cnames-expected.txt 2017-03-31 22:08:36 UTC (rev 214690) @@ -0,0 +1,3 @@ + +PASS Ensuring certificates and cnames are ephemerals + Added: trunk/LayoutTests/webrtc/ephemeral-certificates-and-cnames.html (0 => 214690) --- trunk/LayoutTests/webrtc/ephemeral-certificates-and-cnames.html (rev 0) +++ trunk/LayoutTests/webrtc/ephemeral-certificates-and-cnames.html 2017-03-31 22:08:36 UTC (rev 214690) @@ -0,0 +1,81 @@ + + + + +Testing basic video exchange from offerer to receiver + + +