[webkit-changes] [247254] trunk
Title: [247254] trunk Revision 247254 Author sbar...@apple.com Date 2019-07-08 22:32:26 -0700 (Mon, 08 Jul 2019) Log Message [WHLSL Import 23 new JS reference spec tests https://bugs.webkit.org/show_bug.cgi?id=199604 Reviewed by Myles C. Maxfield. Source/WebCore: This patch imports a bunch of JS reference spec tests on our way to completing https://bugs.webkit.org/show_bug.cgi?id=199595 It also fixes the recursion checker phase. That phase had two bugs: 1. We'd assert after visiting the function declaration that it was still in the set. However, it will not be in the set when we actually detect recursion. 2. We would not visit the arguments to a call, so if they contained other calls which were recursive, we would not detect such recursive calls. Tests: webgpu/whlsl-int-literal-compare.html webgpu/whlsl-simple-tests.html webgpu/whlsl-type-mismatch.html webgpu/whlsl-uint-bitwise.html * Modules/webgpu/WHLSL/WHLSLRecursionChecker.cpp: LayoutTests: This moves some stuff down into whlsl-test-harness which are needed by all tests. This also adds a new checkFail that ensures the program never runs (e.g, it has a compile error). * webgpu/js/whlsl-test-harness.js: (async.checkFail): (const.webGPUPromiseTest): * webgpu/whlsl-bitwise-bool-ops-expected.txt: * webgpu/whlsl-bitwise-bool-ops.html: * webgpu/whlsl-int-literal-compare-expected.txt: Added. * webgpu/whlsl-int-literal-compare.html: Added. * webgpu/whlsl-simple-tests-expected.txt: Added. * webgpu/whlsl-simple-tests.html: Added. * webgpu/whlsl-type-mismatch-expected.txt: Added. * webgpu/whlsl-type-mismatch.html: Added. * webgpu/whlsl-uint-bitwise-expected.txt: Added. * webgpu/whlsl-uint-bitwise.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/webgpu/js/whlsl-test-harness.js trunk/LayoutTests/webgpu/msl-harness-test.html trunk/LayoutTests/webgpu/whlsl-bitwise-bool-ops-expected.txt trunk/LayoutTests/webgpu/whlsl-bitwise-bool-ops.html trunk/LayoutTests/webgpu/whlsl-test-harness-test.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/webgpu/WHLSL/WHLSLRecursionChecker.cpp Added Paths trunk/LayoutTests/webgpu/whlsl-int-literal-compare-expected.txt trunk/LayoutTests/webgpu/whlsl-int-literal-compare.html trunk/LayoutTests/webgpu/whlsl-simple-tests-expected.txt trunk/LayoutTests/webgpu/whlsl-simple-tests.html trunk/LayoutTests/webgpu/whlsl-type-mismatch-expected.txt trunk/LayoutTests/webgpu/whlsl-type-mismatch.html trunk/LayoutTests/webgpu/whlsl-uint-bitwise-expected.txt trunk/LayoutTests/webgpu/whlsl-uint-bitwise.html Diff Modified: trunk/LayoutTests/ChangeLog (247253 => 247254) --- trunk/LayoutTests/ChangeLog 2019-07-09 03:30:12 UTC (rev 247253) +++ trunk/LayoutTests/ChangeLog 2019-07-09 05:32:26 UTC (rev 247254) @@ -1,3 +1,28 @@ +2019-07-08 Saam Barati + +[WHLSL Import 23 new JS reference spec tests +https://bugs.webkit.org/show_bug.cgi?id=199604 + +Reviewed by Myles C. Maxfield. + +This moves some stuff down into whlsl-test-harness which are needed by +all tests. This also adds a new checkFail that ensures the program never +runs (e.g, it has a compile error). + +* webgpu/js/whlsl-test-harness.js: +(async.checkFail): +(const.webGPUPromiseTest): +* webgpu/whlsl-bitwise-bool-ops-expected.txt: +* webgpu/whlsl-bitwise-bool-ops.html: +* webgpu/whlsl-int-literal-compare-expected.txt: Added. +* webgpu/whlsl-int-literal-compare.html: Added. +* webgpu/whlsl-simple-tests-expected.txt: Added. +* webgpu/whlsl-simple-tests.html: Added. +* webgpu/whlsl-type-mismatch-expected.txt: Added. +* webgpu/whlsl-type-mismatch.html: Added. +* webgpu/whlsl-uint-bitwise-expected.txt: Added. +* webgpu/whlsl-uint-bitwise.html: Added. + 2019-07-08 Wenson Hsieh [iOS 13] paste-does-not-fire-promises-while-sanitizing-web-content.html times out when run with multiple iterations Modified: trunk/LayoutTests/webgpu/js/whlsl-test-harness.js (247253 => 247254) --- trunk/LayoutTests/webgpu/js/whlsl-test-harness.js 2019-07-09 03:30:12 UTC (rev 247253) +++ trunk/LayoutTests/webgpu/js/whlsl-test-harness.js 2019-07-09 05:32:26 UTC (rev 247254) @@ -509,6 +509,63 @@ return (await harness.callTypedFunction(Types.FLOAT4X4, functions, name, args)).subarray(0, 16); } +async function checkFail(source) { +// FIXME: Make this handle errors with proper messages once we implement the API for that. +const name = "test_name"; +const program = ` +${source} + +[numthreads(1, 1, 1)] +compute void ${name}(device int[] buffer : register(u0), float3 threadID : SV_DispatchThreadID) { +buffer[0] = 1; +} +`; +const device = await getBasicDevice(); +const shaderModule = device.createShaderModule({code: program, isWHLSL: true}); +const computeStage = {module: shaderModule, entryPoint:
[webkit-changes] [247253] trunk/Source/WebInspectorUI
Title: [247253] trunk/Source/WebInspectorUI Revision 247253 Author drou...@apple.com Date 2019-07-08 20:30:12 -0700 (Mon, 08 Jul 2019) Log Message Web Inspector: Debugger: special breakpoints and event targets should be sorted into separate "areas" https://bugs.webkit.org/show_bug.cgi?id=199554 Reviewed by Joseph Pecoraro. Move the special All Requests breakpoint down to be right above all other URL breakpoints. Move the `window` object tree element below other DOM node tree elements. * UserInterface/Views/DebuggerSidebarPanel.js: (WI.DebuggerSidebarPanel.prototype._addTreeElement): * UserInterface/Views/SourcesNavigationSidebarPanel.js: (WI.SourcesNavigationSidebarPanel.prototype._insertDebuggerTreeElement): Modified Paths trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js trunk/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js Diff Modified: trunk/Source/WebInspectorUI/ChangeLog (247252 => 247253) --- trunk/Source/WebInspectorUI/ChangeLog 2019-07-09 03:16:04 UTC (rev 247252) +++ trunk/Source/WebInspectorUI/ChangeLog 2019-07-09 03:30:12 UTC (rev 247253) @@ -1,5 +1,20 @@ 2019-07-08 Devin Rousso +Web Inspector: Debugger: special breakpoints and event targets should be sorted into separate "areas" +https://bugs.webkit.org/show_bug.cgi?id=199554 + +Reviewed by Joseph Pecoraro. + +Move the special All Requests breakpoint down to be right above all other URL breakpoints. +Move the `window` object tree element below other DOM node tree elements. + +* UserInterface/Views/DebuggerSidebarPanel.js: +(WI.DebuggerSidebarPanel.prototype._addTreeElement): +* UserInterface/Views/SourcesNavigationSidebarPanel.js: +(WI.SourcesNavigationSidebarPanel.prototype._insertDebuggerTreeElement): + +2019-07-08 Devin Rousso + Web Inspector: DOM Debugger: there should be different icons for each type of DOM breakpoint https://bugs.webkit.org/show_bug.cgi?id=199552 Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js (247252 => 247253) --- trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js 2019-07-09 03:16:04 UTC (rev 247252) +++ trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js 2019-07-09 03:30:12 UTC (rev 247253) @@ -1063,11 +1063,12 @@ (treeElement) => treeElement.representedObject === WI.debuggerManager.allExceptionsBreakpoint, (treeElement) => treeElement.representedObject === WI.debuggerManager.uncaughtExceptionsBreakpoint, (treeElement) => treeElement.representedObject === WI.debuggerManager.assertionFailuresBreakpoint, -(treeElement) => treeElement.representedObject === WI.domDebuggerManager.allRequestsBreakpoint, (treeElement) => treeElement instanceof WI.BreakpointTreeElement || treeElement instanceof WI.ResourceTreeElement || treeElement instanceof WI.ScriptTreeElement, (treeElement) => treeElement instanceof WI.EventBreakpointTreeElement, (treeElement) => treeElement instanceof WI.DOMNodeTreeElement, +(treeElement) => treeElement.representedObject === DebuggerSidebarPanel.__windowEventTargetRepresentedObject, (treeElement) => treeElement instanceof WI.DOMBreakpointTreeElement, +(treeElement) => treeElement.representedObject === WI.domDebuggerManager.allRequestsBreakpoint, (treeElement) => treeElement instanceof WI.URLBreakpointTreeElement, ]; Modified: trunk/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js (247252 => 247253) --- trunk/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js 2019-07-09 03:16:04 UTC (rev 247252) +++ trunk/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js 2019-07-09 03:30:12 UTC (rev 247253) @@ -853,11 +853,12 @@ (treeElement) => treeElement.representedObject === WI.debuggerManager.allExceptionsBreakpoint, (treeElement) => treeElement.representedObject === WI.debuggerManager.uncaughtExceptionsBreakpoint, (treeElement) => treeElement.representedObject === WI.debuggerManager.assertionFailuresBreakpoint, -(treeElement) => treeElement.representedObject === WI.domDebuggerManager.allRequestsBreakpoint, (treeElement) => treeElement instanceof WI.BreakpointTreeElement || treeElement instanceof WI.ResourceTreeElement || treeElement instanceof WI.ScriptTreeElement, (treeElement) => treeElement instanceof WI.EventBreakpointTreeElement, (treeElement) => treeElement instanceof WI.DOMNodeTreeElement, +(treeElement) => treeElement.representedObject === SourcesNavigationSidebarPanel.__windowEventTargetRepresentedObject,
[webkit-changes] [247252] trunk/Source/WebInspectorUI
Title: [247252] trunk/Source/WebInspectorUI Revision 247252 Author drou...@apple.com Date 2019-07-08 20:16:04 -0700 (Mon, 08 Jul 2019) Log Message Web Inspector: DOM Debugger: there should be different icons for each type of DOM breakpoint https://bugs.webkit.org/show_bug.cgi?id=199552 Reviewed by Joseph Pecoraro. [S] for Subtree Modified [A] for Attribute Modified [R] for Node Removed * UserInterface/Views/DOMBreakpointTreeElement.js: (WI.DOMBreakpointTreeElement): * UserInterface/Views/DOMBreakpointTreeElement.css: Added. (.breakpoint.dom.breakpoint-for-subtree-modified:not(.breakpoint-paused-icon) .icon): (.breakpoint.dom.breakpoint-for-attribute-modified:not(.breakpoint-paused-icon) .icon): (.breakpoint.dom.breakpoint-for-node-removed:not(.breakpoint-paused-icon) .icon): * UserInterface/Main.html: * UserInterface/Images/DOMBreakpointAttributeModified.svg: Added. * UserInterface/Images/DOMBreakpointNodeRemoved.svg: Added. * UserInterface/Images/DOMBreakpointSubtreeModified.svg: Added. Modified Paths trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/UserInterface/Main.html trunk/Source/WebInspectorUI/UserInterface/Views/DOMBreakpointTreeElement.js Added Paths trunk/Source/WebInspectorUI/UserInterface/Images/DOMBreakpointAttributeModified.svg trunk/Source/WebInspectorUI/UserInterface/Images/DOMBreakpointNodeRemoved.svg trunk/Source/WebInspectorUI/UserInterface/Images/DOMBreakpointSubtreeModified.svg trunk/Source/WebInspectorUI/UserInterface/Views/DOMBreakpointTreeElement.css Diff Modified: trunk/Source/WebInspectorUI/ChangeLog (247251 => 247252) --- trunk/Source/WebInspectorUI/ChangeLog 2019-07-09 03:10:36 UTC (rev 247251) +++ trunk/Source/WebInspectorUI/ChangeLog 2019-07-09 03:16:04 UTC (rev 247252) @@ -1,5 +1,28 @@ 2019-07-08 Devin Rousso +Web Inspector: DOM Debugger: there should be different icons for each type of DOM breakpoint +https://bugs.webkit.org/show_bug.cgi?id=199552 + +Reviewed by Joseph Pecoraro. + +[S] for Subtree Modified +[A] for Attribute Modified +[R] for Node Removed + +* UserInterface/Views/DOMBreakpointTreeElement.js: +(WI.DOMBreakpointTreeElement): +* UserInterface/Views/DOMBreakpointTreeElement.css: Added. +(.breakpoint.dom.breakpoint-for-subtree-modified:not(.breakpoint-paused-icon) .icon): +(.breakpoint.dom.breakpoint-for-attribute-modified:not(.breakpoint-paused-icon) .icon): +(.breakpoint.dom.breakpoint-for-node-removed:not(.breakpoint-paused-icon) .icon): + +* UserInterface/Main.html: +* UserInterface/Images/DOMBreakpointAttributeModified.svg: Added. +* UserInterface/Images/DOMBreakpointNodeRemoved.svg: Added. +* UserInterface/Images/DOMBreakpointSubtreeModified.svg: Added. + +2019-07-08 Devin Rousso + Uncaught Exception: Unexpected enum value: CPU https://bugs.webkit.org/show_bug.cgi?id=199564 Added: trunk/Source/WebInspectorUI/UserInterface/Images/DOMBreakpointAttributeModified.svg (0 => 247252) --- trunk/Source/WebInspectorUI/UserInterface/Images/DOMBreakpointAttributeModified.svg (rev 0) +++ trunk/Source/WebInspectorUI/UserInterface/Images/DOMBreakpointAttributeModified.svg 2019-07-09 03:16:04 UTC (rev 247252) @@ -0,0 +1,8 @@ + + + + + + + + Added: trunk/Source/WebInspectorUI/UserInterface/Images/DOMBreakpointNodeRemoved.svg (0 => 247252) --- trunk/Source/WebInspectorUI/UserInterface/Images/DOMBreakpointNodeRemoved.svg (rev 0) +++ trunk/Source/WebInspectorUI/UserInterface/Images/DOMBreakpointNodeRemoved.svg 2019-07-09 03:16:04 UTC (rev 247252) @@ -0,0 +1,8 @@ + + + + + + + + Added: trunk/Source/WebInspectorUI/UserInterface/Images/DOMBreakpointSubtreeModified.svg (0 => 247252) --- trunk/Source/WebInspectorUI/UserInterface/Images/DOMBreakpointSubtreeModified.svg (rev 0) +++ trunk/Source/WebInspectorUI/UserInterface/Images/DOMBreakpointSubtreeModified.svg 2019-07-09 03:16:04 UTC (rev 247252) @@ -0,0 +1,8 @@ + + + + + + + + Modified: trunk/Source/WebInspectorUI/UserInterface/Main.html (247251 => 247252) --- trunk/Source/WebInspectorUI/UserInterface/Main.html 2019-07-09 03:10:36 UTC (rev 247251) +++ trunk/Source/WebInspectorUI/UserInterface/Main.html 2019-07-09 03:16:04 UTC (rev 247252) @@ -77,6 +77,7 @@ + Added: trunk/Source/WebInspectorUI/UserInterface/Views/DOMBreakpointTreeElement.css (0 => 247252) --- trunk/Source/WebInspectorUI/UserInterface/Views/DOMBreakpointTreeElement.css (rev 0) +++ trunk/Source/WebInspectorUI/UserInterface/Views/DOMBreakpointTreeElement.css 2019-07-09 03:16:04 UTC (rev 247252) @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2019 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided
[webkit-changes] [247251] trunk/LayoutTests
Title: [247251] trunk/LayoutTests Revision 247251 Author wenson_hs...@apple.com Date 2019-07-08 20:10:36 -0700 (Mon, 08 Jul 2019) Log Message [iOS 13] paste-does-not-fire-promises-while-sanitizing-web-content.html times out when run with multiple iterations https://bugs.webkit.org/show_bug.cgi?id=199597 Reviewed by Tim Horton. Make this test more robust to work around bugs in iOS 13 that currently prevent some single tap gestures from being recognized, due to conflicts with double tap gesture recognizers. - Make both the subframe and editable element taller, so that they're easier to hit. - Tap twice when attempting to trigger a paste, in hopes that at least one of the taps will be recognized as a single click. - Make several event listeners one-shot, to prevent the double tap gesture from triggering paste twice. * editing/pasteboard/paste-does-not-fire-promises-while-sanitizing-web-content.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/editing/pasteboard/paste-does-not-fire-promises-while-sanitizing-web-content.html Diff Modified: trunk/LayoutTests/ChangeLog (247250 => 247251) --- trunk/LayoutTests/ChangeLog 2019-07-09 03:06:12 UTC (rev 247250) +++ trunk/LayoutTests/ChangeLog 2019-07-09 03:10:36 UTC (rev 247251) @@ -1,3 +1,19 @@ +2019-07-08 Wenson Hsieh + +[iOS 13] paste-does-not-fire-promises-while-sanitizing-web-content.html times out when run with multiple iterations +https://bugs.webkit.org/show_bug.cgi?id=199597 + +Reviewed by Tim Horton. + +Make this test more robust to work around bugs in iOS 13 that currently prevent some single tap gestures from +being recognized, due to conflicts with double tap gesture recognizers. +- Make both the subframe and editable element taller, so that they're easier to hit. +- Tap twice when attempting to trigger a paste, in hopes that at least one of the taps will be recognized as a +single click. +- Make several event listeners one-shot, to prevent the double tap gesture from triggering paste twice. + +* editing/pasteboard/paste-does-not-fire-promises-while-sanitizing-web-content.html: + 2019-07-08 Keith Miller Enable Intl.PluralRules and Intl.NumberFormatToParts by default Modified: trunk/LayoutTests/editing/pasteboard/paste-does-not-fire-promises-while-sanitizing-web-content.html (247250 => 247251) --- trunk/LayoutTests/editing/pasteboard/paste-does-not-fire-promises-while-sanitizing-web-content.html 2019-07-09 03:06:12 UTC (rev 247250) +++ trunk/LayoutTests/editing/pasteboard/paste-does-not-fire-promises-while-sanitizing-web-content.html 2019-07-09 03:10:36 UTC (rev 247251) @@ -11,16 +11,21 @@ #copy { width: 100%; -height: 50px; +height: 100%; border: 1px dashed black; } #editor { width: 100%; -height: 100px; +height: 200px; border: 1px dashed tomato; text-align: center; } + +iframe { +width: 100%; +height: 200px; +} @@ -27,7 +32,7 @@ Click here to copy-copy.addEventListener('mousedown', event => {+document.body.addEventListener('mousedown', event => { getSelection().selectAllChildren(copy); document.execCommand('Copy'); getSelection().removeAllRanges(); @@ -58,6 +63,7 @@ await UIHelper.activateElement(frame); await UIHelper.activateElement(editor); +await UIHelper.activateElement(editor); checkDone(); }); @@ -66,7 +72,7 @@ Promise.resolve().then(() => textarea.focus()); document.execCommand("Paste"); event.preventDefault();-});+}, { "once": true }); editor.addEventListener("paste", () => { testPassed("Handled paste."); @@ -73,11 +79,11 @@ checkDone(); });-editor.addEventListener("focus", () => testPassed("Focused editor."));+editor.addEventListener("focus", () => testPassed("Focused editor."), { "once": true }); textarea.addEventListener("focus", () => { testPassed("Focused textarea."); checkDone();-});+}, { "once": true }); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247250] trunk/Source/WebKit
Title: [247250] trunk/Source/WebKit Revision 247250 Author cdu...@apple.com Date 2019-07-08 20:06:12 -0700 (Mon, 08 Jul 2019) Log Message Speculative fix for crashes under LocalStorageDatabaseTracker::databasePath() https://bugs.webkit.org/show_bug.cgi?id=199599 Reviewed by Ryosuke Niwa. Speculative fix for crashes under LocalStorageDatabaseTracker::databasePath(): - Add new localStorageDirectory() getter to LocalStorageDatabaseTracker which calls isolatedCopy() on m_localStorageDirectory before returning it. Use it everywhere instead of m_localStorageDirectory since it is not safe to use the same String from various threads like it was done. - Move localStorageDirectory when constructing the LocalStorageDatabaseTracker instead of copying it. - Make sure that LocalStorageDatabaseTracker and StorageManager are both constructed and destroyed on the main thread. * NetworkProcess/NetworkSession.cpp: (WebKit::NetworkSession::NetworkSession): * NetworkProcess/NetworkSession.h: * NetworkProcess/WebStorage/LocalStorageDatabaseTracker.cpp: (WebKit::LocalStorageDatabaseTracker::create): (WebKit::LocalStorageDatabaseTracker::LocalStorageDatabaseTracker): (WebKit::LocalStorageDatabaseTracker::localStorageDirectory const): (WebKit::LocalStorageDatabaseTracker::~LocalStorageDatabaseTracker): (WebKit::LocalStorageDatabaseTracker::deleteAllDatabases): (WebKit::LocalStorageDatabaseTracker::origins const): (WebKit::LocalStorageDatabaseTracker::databasePath const): * NetworkProcess/WebStorage/LocalStorageDatabaseTracker.h: * NetworkProcess/WebStorage/StorageManager.cpp: (WebKit::StorageManager::create): (WebKit::StorageManager::StorageManager): (WebKit::StorageManager::~StorageManager): * NetworkProcess/WebStorage/StorageManager.h: * NetworkProcess/WebStorage/ios/LocalStorageDatabaseTrackerIOS.mm: (WebKit::LocalStorageDatabaseTracker::platformMaybeExcludeFromBackup const): * NetworkProcess/cocoa/NetworkSessionCocoa.mm: (WebKit::NetworkSessionCocoa::NetworkSessionCocoa): * NetworkProcess/curl/NetworkSessionCurl.cpp: (WebKit::NetworkSessionCurl::NetworkSessionCurl): * NetworkProcess/soup/NetworkSessionSoup.cpp: (WebKit::NetworkSessionSoup::NetworkSessionSoup): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/NetworkSession.cpp trunk/Source/WebKit/NetworkProcess/NetworkSession.h trunk/Source/WebKit/NetworkProcess/WebStorage/LocalStorageDatabaseTracker.cpp trunk/Source/WebKit/NetworkProcess/WebStorage/LocalStorageDatabaseTracker.h trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.h trunk/Source/WebKit/NetworkProcess/WebStorage/ios/LocalStorageDatabaseTrackerIOS.mm trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm trunk/Source/WebKit/NetworkProcess/curl/NetworkSessionCurl.cpp trunk/Source/WebKit/NetworkProcess/soup/NetworkSessionSoup.cpp Diff Modified: trunk/Source/WebKit/ChangeLog (247249 => 247250) --- trunk/Source/WebKit/ChangeLog 2019-07-09 02:22:30 UTC (rev 247249) +++ trunk/Source/WebKit/ChangeLog 2019-07-09 03:06:12 UTC (rev 247250) @@ -1,5 +1,49 @@ 2019-07-08 Chris Dumez +Speculative fix for crashes under LocalStorageDatabaseTracker::databasePath() +https://bugs.webkit.org/show_bug.cgi?id=199599 + + +Reviewed by Ryosuke Niwa. + +Speculative fix for crashes under LocalStorageDatabaseTracker::databasePath(): +- Add new localStorageDirectory() getter to LocalStorageDatabaseTracker which + calls isolatedCopy() on m_localStorageDirectory before returning it. + Use it everywhere instead of m_localStorageDirectory since it is not safe + to use the same String from various threads like it was done. +- Move localStorageDirectory when constructing the LocalStorageDatabaseTracker + instead of copying it. +- Make sure that LocalStorageDatabaseTracker and StorageManager are both + constructed and destroyed on the main thread. + +* NetworkProcess/NetworkSession.cpp: +(WebKit::NetworkSession::NetworkSession): +* NetworkProcess/NetworkSession.h: +* NetworkProcess/WebStorage/LocalStorageDatabaseTracker.cpp: +(WebKit::LocalStorageDatabaseTracker::create): +(WebKit::LocalStorageDatabaseTracker::LocalStorageDatabaseTracker): +(WebKit::LocalStorageDatabaseTracker::localStorageDirectory const): +(WebKit::LocalStorageDatabaseTracker::~LocalStorageDatabaseTracker): +(WebKit::LocalStorageDatabaseTracker::deleteAllDatabases): +(WebKit::LocalStorageDatabaseTracker::origins const): +(WebKit::LocalStorageDatabaseTracker::databasePath const): +* NetworkProcess/WebStorage/LocalStorageDatabaseTracker.h: +* NetworkProcess/WebStorage/StorageManager.cpp: +(WebKit::StorageManager::create): +(WebKit::StorageManager::StorageManager): +
[webkit-changes] [247249] trunk/Source/WebInspectorUI
Title: [247249] trunk/Source/WebInspectorUI Revision 247249 Author drou...@apple.com Date 2019-07-08 19:22:30 -0700 (Mon, 08 Jul 2019) Log Message Uncaught Exception: Unexpected enum value: CPU https://bugs.webkit.org/show_bug.cgi?id=199564 Reviewed by Joseph Pecoraro. * UserInterface/Controllers/TimelineManager.js: (WI.TimelineManager.prototype._updateAutoCaptureInstruments): Filter the list of auto-capture instruments based on what's actually supported, instead of directly using the saved list from the `WI.Setting`. Modified Paths trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js Diff Modified: trunk/Source/WebInspectorUI/ChangeLog (247248 => 247249) --- trunk/Source/WebInspectorUI/ChangeLog 2019-07-09 02:19:26 UTC (rev 247248) +++ trunk/Source/WebInspectorUI/ChangeLog 2019-07-09 02:22:30 UTC (rev 247249) @@ -1,5 +1,17 @@ 2019-07-08 Devin Rousso +Uncaught Exception: Unexpected enum value: CPU +https://bugs.webkit.org/show_bug.cgi?id=199564 + +Reviewed by Joseph Pecoraro. + +* UserInterface/Controllers/TimelineManager.js: +(WI.TimelineManager.prototype._updateAutoCaptureInstruments): +Filter the list of auto-capture instruments based on what's actually supported, instead of +directly using the saved list from the `WI.Setting`. + +2019-07-08 Devin Rousso + Enabling the Layers tab hides the paint flashing button https://bugs.webkit.org/show_bug.cgi?id=199549 Modified: trunk/Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js (247248 => 247249) --- trunk/Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js 2019-07-09 02:19:26 UTC (rev 247248) +++ trunk/Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js 2019-07-09 02:22:30 UTC (rev 247249) @@ -1206,7 +1206,7 @@ _updateAutoCaptureInstruments(targets) { -let enabledTimelineTypes = this._enabledTimelineTypesSetting.value; +let enabledTimelineTypes = this.enabledTimelineTypes; for (let target of targets) { if (!target.TimelineAgent) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247248] trunk/Source/WebInspectorUI
Title: [247248] trunk/Source/WebInspectorUI Revision 247248 Author drou...@apple.com Date 2019-07-08 19:19:26 -0700 (Mon, 08 Jul 2019) Log Message Enabling the Layers tab hides the paint flashing button https://bugs.webkit.org/show_bug.cgi?id=199549 Reviewed by Joseph Pecoraro. Still show the Compositing Borders and Paint Flashing navigation items in the Elements tab even when the Layers tab is enabled (just like the Layers details sidebar). * UserInterface/Views/DOMTreeContentView.js: (WI.DOMTreeContentView.prototype.get navigationItems): (WI.DOMTreeContentView.prototype._updateCompositingBordersButtonToMatchPageSettings): Modified Paths trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js Diff Modified: trunk/Source/WebInspectorUI/ChangeLog (247247 => 247248) --- trunk/Source/WebInspectorUI/ChangeLog 2019-07-09 02:18:56 UTC (rev 247247) +++ trunk/Source/WebInspectorUI/ChangeLog 2019-07-09 02:19:26 UTC (rev 247248) @@ -1,5 +1,19 @@ 2019-07-08 Devin Rousso +Enabling the Layers tab hides the paint flashing button +https://bugs.webkit.org/show_bug.cgi?id=199549 + +Reviewed by Joseph Pecoraro. + +Still show the Compositing Borders and Paint Flashing navigation items in the Elements tab +even when the Layers tab is enabled (just like the Layers details sidebar). + +* UserInterface/Views/DOMTreeContentView.js: +(WI.DOMTreeContentView.prototype.get navigationItems): +(WI.DOMTreeContentView.prototype._updateCompositingBordersButtonToMatchPageSettings): + +2019-07-08 Devin Rousso + Web Inspector: REGRESSION: Elements: pasting in the Styles sidebar adds a text node to the DOM tree https://bugs.webkit.org/show_bug.cgi?id=199588 Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js (247247 => 247248) --- trunk/Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js 2019-07-09 02:18:56 UTC (rev 247247) +++ trunk/Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js 2019-07-09 02:19:26 UTC (rev 247248) @@ -128,13 +128,11 @@ if (this._showRulersButtonNavigationItem) items.unshift(this._showRulersButtonNavigationItem); -if (!WI.settings.experimentalEnableLayersTab.value) { -if (this._compositingBordersButtonNavigationItem) -items.push(this._compositingBordersButtonNavigationItem); +if (this._compositingBordersButtonNavigationItem) +items.push(this._compositingBordersButtonNavigationItem); -if (this._paintFlashingButtonNavigationItem) -items.push(this._paintFlashingButtonNavigationItem); - } +if (this._paintFlashingButtonNavigationItem) +items.push(this._paintFlashingButtonNavigationItem); return items; } @@ -606,9 +604,6 @@ _updateCompositingBordersButtonToMatchPageSettings() { -if (WI.settings.experimentalEnableLayersTab.value) -return; - var button = this._compositingBordersButtonNavigationItem; // We need to sync with the page settings since these can be controlled ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247247] trunk
Title: [247247] trunk Revision 247247 Author keith_mil...@apple.com Date 2019-07-08 19:18:56 -0700 (Mon, 08 Jul 2019) Log Message Enable Intl.PluralRules and Intl.NumberFormatToParts by default https://bugs.webkit.org/show_bug.cgi?id=199288 Reviewed by Yusuke Suzuki. Source/_javascript_Core: These features have been around for a while. We should turn them on by default. * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatPrototype::finishCreation): * runtime/IntlObject.cpp: (JSC::IntlObject::finishCreation): Deleted. * runtime/IntlObject.h: * runtime/Options.h: LayoutTests: Remove runtime flag from testing. * js/intl-numberformat-format-to-parts.html: * js/intl-pluralrules.html: * js/script-tests/intl-numberformat-format-to-parts.js: * js/script-tests/intl-pluralrules.js: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/js/intl-numberformat-format-to-parts.html trunk/LayoutTests/js/intl-pluralrules.html trunk/LayoutTests/js/script-tests/intl-numberformat-format-to-parts.js trunk/LayoutTests/js/script-tests/intl-pluralrules.js trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/IntlNumberFormatPrototype.cpp trunk/Source/_javascript_Core/runtime/IntlObject.cpp trunk/Source/_javascript_Core/runtime/IntlObject.h trunk/Source/_javascript_Core/runtime/Options.h Diff Modified: trunk/LayoutTests/ChangeLog (247246 => 247247) --- trunk/LayoutTests/ChangeLog 2019-07-09 01:24:15 UTC (rev 247246) +++ trunk/LayoutTests/ChangeLog 2019-07-09 02:18:56 UTC (rev 247247) @@ -1,3 +1,17 @@ +2019-07-08 Keith Miller + +Enable Intl.PluralRules and Intl.NumberFormatToParts by default +https://bugs.webkit.org/show_bug.cgi?id=199288 + +Reviewed by Yusuke Suzuki. + +Remove runtime flag from testing. + +* js/intl-numberformat-format-to-parts.html: +* js/intl-pluralrules.html: +* js/script-tests/intl-numberformat-format-to-parts.js: +* js/script-tests/intl-pluralrules.js: + 2019-07-08 Daniel Bates [iOS] Support select all in non-editable element Modified: trunk/LayoutTests/js/intl-numberformat-format-to-parts.html (247246 => 247247) --- trunk/LayoutTests/js/intl-numberformat-format-to-parts.html 2019-07-09 01:24:15 UTC (rev 247246) +++ trunk/LayoutTests/js/intl-numberformat-format-to-parts.html 2019-07-09 02:18:56 UTC (rev 247247) @@ -1,4 +1,4 @@ - + Modified: trunk/LayoutTests/js/intl-pluralrules.html (247246 => 247247) --- trunk/LayoutTests/js/intl-pluralrules.html 2019-07-09 01:24:15 UTC (rev 247246) +++ trunk/LayoutTests/js/intl-pluralrules.html 2019-07-09 02:18:56 UTC (rev 247247) @@ -1,4 +1,4 @@ - + Modified: trunk/LayoutTests/js/script-tests/intl-numberformat-format-to-parts.js (247246 => 247247) --- trunk/LayoutTests/js/script-tests/intl-numberformat-format-to-parts.js 2019-07-09 01:24:15 UTC (rev 247246) +++ trunk/LayoutTests/js/script-tests/intl-numberformat-format-to-parts.js 2019-07-09 02:18:56 UTC (rev 247247) @@ -1,5 +1,4 @@ //@ skip if $hostOS == "windows" or $hostOS == "darwin" or $hostOS == "linux" -//@ requireOptions("--useIntlNumberFormatToParts=true") description("This test checks the behavior of Intl.NumberFormat.prototype.formatToParts as described in the ECMAScript Internationalization API Specification."); Modified: trunk/LayoutTests/js/script-tests/intl-pluralrules.js (247246 => 247247) --- trunk/LayoutTests/js/script-tests/intl-pluralrules.js 2019-07-09 01:24:15 UTC (rev 247246) +++ trunk/LayoutTests/js/script-tests/intl-pluralrules.js 2019-07-09 02:18:56 UTC (rev 247247) @@ -1,5 +1,4 @@ //@ skip if $hostOS == "windows" or $hostOS == "linux" -//@ requireOptions("--useIntlPluralRules=true") description("This test checks the behavior of Intl.PluralRules as described in the ECMAScript Internationalization API Specification."); Modified: trunk/Source/_javascript_Core/ChangeLog (247246 => 247247) --- trunk/Source/_javascript_Core/ChangeLog 2019-07-09 01:24:15 UTC (rev 247246) +++ trunk/Source/_javascript_Core/ChangeLog 2019-07-09 02:18:56 UTC (rev 247247) @@ -1,3 +1,19 @@ +2019-07-08 Keith Miller + +Enable Intl.PluralRules and Intl.NumberFormatToParts by default +https://bugs.webkit.org/show_bug.cgi?id=199288 + +Reviewed by Yusuke Suzuki. + +These features have been around for a while. We should turn them on by default. + +* runtime/IntlNumberFormatPrototype.cpp: +(JSC::IntlNumberFormatPrototype::finishCreation): +* runtime/IntlObject.cpp: +(JSC::IntlObject::finishCreation): Deleted. +* runtime/IntlObject.h: +* runtime/Options.h: + 2019-07-08 Antoine Quint [Pointer Events] Enable only on the most recent version of the supported iOS family Modified: trunk/Source/_javascript_Core/runtime/IntlNumberFormatPrototype.cpp (247246 => 247247) --- trunk/Source/_javascript_Core/runtime/IntlNumberFormatPrototype.cpp 2019-07-09 01:24:15
[webkit-changes] [247246] trunk/Source/WebCore
Title: [247246] trunk/Source/WebCore Revision 247246 Author simon.fra...@apple.com Date 2019-07-08 18:24:15 -0700 (Mon, 08 Jul 2019) Log Message YouTube embedding iframes in WebView sometimes go blank when the video starts playing https://bugs.webkit.org/show_bug.cgi?id=199600 rdar://problem/47806012 Reviewed by Tim Horton. With some combinations of nested iframes that are being resized from empty, and toggling into compositing mode, we'd fail to update compositing in the iframe's enclosing document, so never host the iframes's layers. Fix by moving some widget-resize-related code into RenderLayerCompositor::widgetDidChangeSize(), and adding code to schedule a compositing update. I was unable to come up with a layout test for this. * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::widgetDidChangeSize): * rendering/RenderLayerCompositor.h: * rendering/RenderWidget.cpp: (WebCore::RenderWidget::setWidgetGeometry): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp trunk/Source/WebCore/rendering/RenderLayerCompositor.h trunk/Source/WebCore/rendering/RenderWidget.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (247245 => 247246) --- trunk/Source/WebCore/ChangeLog 2019-07-09 01:07:18 UTC (rev 247245) +++ trunk/Source/WebCore/ChangeLog 2019-07-09 01:24:15 UTC (rev 247246) @@ -304,6 +304,29 @@ (WebCore::MediaStreamTrack::~MediaStreamTrack): * Modules/mediastream/MediaStreamTrack.h: +2019-07-08 Simon Fraser + +YouTube embedding iframes in WebView sometimes go blank when the video starts playing +https://bugs.webkit.org/show_bug.cgi?id=199600 +rdar://problem/47806012 + +Reviewed by Tim Horton. + +With some combinations of nested iframes that are being resized from empty, and toggling into +compositing mode, we'd fail to update compositing in the iframe's enclosing document, so never +host the iframes's layers. + +Fix by moving some widget-resize-related code into RenderLayerCompositor::widgetDidChangeSize(), +and adding code to schedule a compositing update. + +I was unable to come up with a layout test for this. + +* rendering/RenderLayerCompositor.cpp: +(WebCore::RenderLayerCompositor::widgetDidChangeSize): +* rendering/RenderLayerCompositor.h: +* rendering/RenderWidget.cpp: +(WebCore::RenderWidget::setWidgetGeometry): + 2019-07-08 Antoine Quint [Pointer Events] Enable only on the most recent version of the supported iOS family Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (247245 => 247246) --- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2019-07-09 01:07:18 UTC (rev 247245) +++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2019-07-09 01:24:15 UTC (rev 247246) @@ -1985,6 +1985,24 @@ } } +void RenderLayerCompositor::widgetDidChangeSize(RenderWidget& widget) +{ +if (!widget.hasLayer()) +return; + +auto& layer = *widget.layer(); + +LOG_WITH_STREAM(Compositing, stream << "RenderLayerCompositor " << this << " widgetDidChangeSize (layer " << << ")"); + +// Widget size affects answer to requiresCompositingForFrame() so we need to trigger +// a compositing update. +layer.setNeedsPostLayoutCompositingUpdate(); +scheduleCompositingLayerUpdate(); + +if (layer.isComposited()) +layer.backing()->updateAfterWidgetResize(); +} + bool RenderLayerCompositor::hasCoordinatedScrolling() const { auto* scrollingCoordinator = this->scrollingCoordinator(); Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.h (247245 => 247246) --- trunk/Source/WebCore/rendering/RenderLayerCompositor.h 2019-07-09 01:07:18 UTC (rev 247245) +++ trunk/Source/WebCore/rendering/RenderLayerCompositor.h 2019-07-09 01:24:15 UTC (rev 247246) @@ -306,6 +306,8 @@ void frameViewDidLayout(); void rootLayerConfigurationChanged(); +void widgetDidChangeSize(RenderWidget&); + String layerTreeAsText(LayerTreeFlags); float deviceScaleFactor() const override; Modified: trunk/Source/WebCore/rendering/RenderWidget.cpp (247245 => 247246) --- trunk/Source/WebCore/rendering/RenderWidget.cpp 2019-07-09 01:07:18 UTC (rev 247245) +++ trunk/Source/WebCore/rendering/RenderWidget.cpp 2019-07-09 01:24:15 UTC (rev 247246) @@ -141,8 +141,8 @@ if (!weakThis) return true; -if (boundsChanged && isComposited()) -layer()->backing()->updateAfterWidgetResize(); +if (boundsChanged) +view().compositor().widgetDidChangeSize(*this); return oldFrameRect.size() != newFrameRect.size(); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247245] trunk/Source/WebKitLegacy/win
Title: [247245] trunk/Source/WebKitLegacy/win Revision 247245 Author hironori.fu...@sony.com Date 2019-07-08 18:07:18 -0700 (Mon, 08 Jul 2019) Log Message [WinCairo] ASSERTION FAILED: info.bmBitsPixel == 32 in createCairoContextWithHDC https://bugs.webkit.org/show_bug.cgi?id=198323 Reviewed by Per Arne Vollan. WebView::paint binds m_backingStoreBitmap to a DC by using SelectObject. WebView::paint can be called recursively, but m_backingStoreBitmap can't be bound to multiple DCs at the same time. Then, SelectObject was failing in such case. Call WebCore::Page::updateRendering before binding m_backingStoreBitmap instead of after it. Reverted r202744 change which won't be needed since this change. * WebView.cpp: (WebView::scrollBackingStore): Removed r202744's change. (WebView::updateBackingStore): Removed m_page->updateRendering(). (WebView::paint): Do m_page->updateRendering() before binding m_backingStoreBitmap. * WebView.h: Removed unused WebView::isPainting. Modified Paths trunk/Source/WebKitLegacy/win/ChangeLog trunk/Source/WebKitLegacy/win/WebView.cpp trunk/Source/WebKitLegacy/win/WebView.h Diff Modified: trunk/Source/WebKitLegacy/win/ChangeLog (247244 => 247245) --- trunk/Source/WebKitLegacy/win/ChangeLog 2019-07-09 01:03:27 UTC (rev 247244) +++ trunk/Source/WebKitLegacy/win/ChangeLog 2019-07-09 01:07:18 UTC (rev 247245) @@ -1,3 +1,26 @@ +2019-07-08 Fujii Hironori + +[WinCairo] ASSERTION FAILED: info.bmBitsPixel == 32 in createCairoContextWithHDC +https://bugs.webkit.org/show_bug.cgi?id=198323 + +Reviewed by Per Arne Vollan. + +WebView::paint binds m_backingStoreBitmap to a DC by using +SelectObject. WebView::paint can be called recursively, but +m_backingStoreBitmap can't be bound to multiple DCs at the same +time. Then, SelectObject was failing in such case. + +Call WebCore::Page::updateRendering before binding +m_backingStoreBitmap instead of after it. + +Reverted r202744 change which won't be needed since this change. + +* WebView.cpp: +(WebView::scrollBackingStore): Removed r202744's change. +(WebView::updateBackingStore): Removed m_page->updateRendering(). +(WebView::paint): Do m_page->updateRendering() before binding m_backingStoreBitmap. +* WebView.h: Removed unused WebView::isPainting. + 2019-07-02 Devin Rousso Web Inspector: Debug: "Reset Web Inspector" should also clear the saved window size and attachment side Modified: trunk/Source/WebKitLegacy/win/WebView.cpp (247244 => 247245) --- trunk/Source/WebKitLegacy/win/WebView.cpp 2019-07-09 01:03:27 UTC (rev 247244) +++ trunk/Source/WebKitLegacy/win/WebView.cpp 2019-07-09 01:07:18 UTC (rev 247245) @@ -1015,15 +1015,7 @@ HWndDC windowDC(m_viewWindow); auto bitmapDC = adoptGDIObject(::CreateCompatibleDC(windowDC)); HGDIOBJ oldBitmap = ::SelectObject(bitmapDC.get(), m_backingStoreBitmap->get()); -if (!oldBitmap) { -// The ::SelectObject call will fail if m_backingStoreBitmap is already selected into a device context. -// This happens when this method is called indirectly from WebView::updateBackingStore during normal WM_PAINT handling. -// There is no point continuing, since we would just be scrolling a 1x1 bitmap which is selected into the device context by default. -// We can just scroll by repainting the scroll rectangle. -RECT scrollRect(scrollViewRect); -::InvalidateRect(m_viewWindow, , FALSE); -return; -} +ASSERT(oldBitmap); // Scroll the bitmap. RECT scrollRectWin(scrollViewRect); @@ -1164,6 +1156,7 @@ bitmapDCObject = adoptGDIObject(::CreateCompatibleDC(windowDC)); bitmapDC = bitmapDCObject.get(); oldBitmap = ::SelectObject(bitmapDC, m_backingStoreBitmap->get()); +ASSERT(oldBitmap); #if USE(DIRECT2D) HRESULT hr = m_backingStoreGdiInterop->GetDC(D2D1_DC_INITIALIZE_MODE_COPY, ); RELEASE_ASSERT(SUCCEEDED(hr)); @@ -1171,9 +1164,6 @@ } if (m_backingStoreBitmap && (m_backingStoreDirtyRegion || backingStoreCompletelyDirty)) { -// Do a layout first so that everything we render to the backing store is always current. -m_page->updateRendering(); - Vector paintRects; if (!backingStoreCompletelyDirty && m_backingStoreDirtyRegion) { RECT regionBox; @@ -1305,6 +1295,8 @@ return; } +m_page->updateRendering(); + Frame* coreFrame = core(m_mainFrame); if (!coreFrame) return; @@ -1341,8 +1333,6 @@ return; } -m_paintCount++; - auto bitmapDC = adoptGDIObject(::CreateCompatibleDC(hdc)); HGDIOBJ oldBitmap = ::SelectObject(bitmapDC.get(), m_backingStoreBitmap->get()); @@ -1377,8 +1367,6 @@ m_backingStoreGdiInterop->ReleaseDC(nullptr); #endif -m_paintCount--; - if (active())
[webkit-changes] [247244] trunk/Tools
Title: [247244] trunk/Tools Revision 247244 Author hironori.fu...@sony.com Date 2019-07-08 18:03:27 -0700 (Mon, 08 Jul 2019) Log Message JSTestGlobalObject.cpp of bindings-generation-tests is failing for Windows Python https://bugs.webkit.org/show_bug.cgi?id=199487 Reviewed by Ross Kirsling. In Windows Python, preprocessor.pm is using cl.exe. cl.exe was failing to open testglobalscope_constructors_file which was created by using tempfile.mkstemp() because it keeps the file open. Use tempfile.mkdtemp() to create temporary files in the temporary directory instead of tempfile.mkstemp(). * Scripts/webkitpy/bindings/main.py: (BindingsTests.run_tests): (BindingsTests.main): (BindingsTests.close_and_remove): Deleted. Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/bindings/main.py Diff Modified: trunk/Tools/ChangeLog (247243 => 247244) --- trunk/Tools/ChangeLog 2019-07-09 00:53:26 UTC (rev 247243) +++ trunk/Tools/ChangeLog 2019-07-09 01:03:27 UTC (rev 247244) @@ -1,3 +1,21 @@ +2019-07-08 Fujii Hironori + +JSTestGlobalObject.cpp of bindings-generation-tests is failing for Windows Python +https://bugs.webkit.org/show_bug.cgi?id=199487 + +Reviewed by Ross Kirsling. + +In Windows Python, preprocessor.pm is using cl.exe. cl.exe was +failing to open testglobalscope_constructors_file which was +created by using tempfile.mkstemp() because it keeps the file +open. Use tempfile.mkdtemp() to create temporary files in the +temporary directory instead of tempfile.mkstemp(). + +* Scripts/webkitpy/bindings/main.py: +(BindingsTests.run_tests): +(BindingsTests.main): +(BindingsTests.close_and_remove): Deleted. + 2019-07-08 Aakash Jain [ews-build] Add KillOldProcesses step before running API or Layout tests Modified: trunk/Tools/Scripts/webkitpy/bindings/main.py (247243 => 247244) --- trunk/Tools/Scripts/webkitpy/bindings/main.py 2019-07-09 00:53:26 UTC (rev 247243) +++ trunk/Tools/Scripts/webkitpy/bindings/main.py 2019-07-09 01:03:27 UTC (rev 247244) @@ -174,10 +174,6 @@ return passed -def close_and_remove(self, temporary_file): -os.close(temporary_file[0]) -os.remove(temporary_file[1]) - def main(self): current_scm = detect_scm_system(os.curdir) os.chdir(os.path.join(current_scm.checkout_root, 'Source')) @@ -184,41 +180,28 @@ all_tests_passed = True +work_directory = tempfile.mkdtemp() input_directory = os.path.join('WebCore', 'bindings', 'scripts', 'test') -supplemental_dependency_file = tempfile.mkstemp() -window_constructors_file = tempfile.mkstemp() -workerglobalscope_constructors_file = tempfile.mkstemp() -dedicatedworkerglobalscope_constructors_file = tempfile.mkstemp() -serviceworkerglobalscope_constructors_file = tempfile.mkstemp() -workletglobalscope_constructors_file = tempfile.mkstemp() -paintworkletglobalscope_constructors_file = tempfile.mkstemp() -testglobalscope_constructors_file = tempfile.mkstemp() -if self.generate_supplemental_dependency(input_directory, supplemental_dependency_file[1], window_constructors_file[1], workerglobalscope_constructors_file[1], dedicatedworkerglobalscope_constructors_file[1], serviceworkerglobalscope_constructors_file[1], workletglobalscope_constructors_file[1], paintworkletglobalscope_constructors_file[1], testglobalscope_constructors_file[1]): +supplemental_dependency_file = os.path.join(work_directory, 'supplemental_dependency.tmp') +window_constructors_file = os.path.join(work_directory, 'DOMWindowConstructors.idl') +workerglobalscope_constructors_file = os.path.join(work_directory, 'WorkerGlobalScopeConstructors.idl') +dedicatedworkerglobalscope_constructors_file = os.path.join(work_directory, 'DedicatedWorkerGlobalScopeConstructors.idl') +serviceworkerglobalscope_constructors_file = os.path.join(work_directory, 'ServiceWorkerGlobalScopeConstructors.idl') +workletglobalscope_constructors_file = os.path.join(work_directory, 'WorkletGlobalScopeConstructors.idl') +paintworkletglobalscope_constructors_file = os.path.join(work_directory, 'PaintWorkletGlobalScopeConstructors.idl') +testglobalscope_constructors_file = os.path.join(work_directory, 'BindingTestGlobalConstructors.idl') +if self.generate_supplemental_dependency(input_directory, supplemental_dependency_file, window_constructors_file, workerglobalscope_constructors_file, dedicatedworkerglobalscope_constructors_file, serviceworkerglobalscope_constructors_file, workletglobalscope_constructors_file, paintworkletglobalscope_constructors_file, testglobalscope_constructors_file): print('Failed to generate a supplemental dependency file.') -self.close_and_remove(supplemental_dependency_file) -
[webkit-changes] [247243] trunk/Source
Title: [247243] trunk/Source Revision 247243 Author cdu...@apple.com Date 2019-07-08 17:53:26 -0700 (Mon, 08 Jul 2019) Log Message Use WeakHashSet for WebUserContentControllerProxy::m_processes https://bugs.webkit.org/show_bug.cgi?id=199591 Reviewed by Youenn Fablet. Source/WebKit: Use WeakHashSet for WebUserContentControllerProxy::m_processses for safety. In theory, a WebProcessProxy could stay in the map if we failed to call WebProcessProxy::shutDown() before destroying it. * UIProcess/UserContent/WebUserContentControllerProxy.cpp: (WebKit::WebUserContentControllerProxy::~WebUserContentControllerProxy): (WebKit::WebUserContentControllerProxy::addProcess): (WebKit::WebUserContentControllerProxy::removeProcess): (WebKit::WebUserContentControllerProxy::addUserContentWorldUse): (WebKit::WebUserContentControllerProxy::removeUserContentWorldUses): (WebKit::WebUserContentControllerProxy::addUserScript): (WebKit::WebUserContentControllerProxy::removeUserScript): (WebKit::WebUserContentControllerProxy::removeAllUserScripts): (WebKit::WebUserContentControllerProxy::addUserStyleSheet): (WebKit::WebUserContentControllerProxy::removeUserStyleSheet): (WebKit::WebUserContentControllerProxy::removeAllUserStyleSheets): (WebKit::WebUserContentControllerProxy::addUserScriptMessageHandler): (WebKit::WebUserContentControllerProxy::removeUserMessageHandlerForName): (WebKit::WebUserContentControllerProxy::removeAllUserMessageHandlers): (WebKit::WebUserContentControllerProxy::addContentRuleList): (WebKit::WebUserContentControllerProxy::removeContentRuleList): (WebKit::WebUserContentControllerProxy::removeAllContentRuleLists): * UIProcess/UserContent/WebUserContentControllerProxy.h: (WebKit::WebUserContentControllerProxy::addNetworkProcess): (WebKit::WebUserContentControllerProxy::removeNetworkProcess): Source/WTF: Update WeakHashSet::add() to return an AddResult type, similarly to our other containers. * wtf/WeakHashSet.h: (WTF::WeakHashSet::add): Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/WeakHashSet.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/UserContent/WebUserContentControllerProxy.cpp trunk/Source/WebKit/UIProcess/UserContent/WebUserContentControllerProxy.h Diff Modified: trunk/Source/WTF/ChangeLog (247242 => 247243) --- trunk/Source/WTF/ChangeLog 2019-07-09 00:35:31 UTC (rev 247242) +++ trunk/Source/WTF/ChangeLog 2019-07-09 00:53:26 UTC (rev 247243) @@ -1,3 +1,16 @@ +2019-07-08 Chris Dumez + +Use WeakHashSet for WebUserContentControllerProxy::m_processes +https://bugs.webkit.org/show_bug.cgi?id=199591 + + +Reviewed by Youenn Fablet. + +Update WeakHashSet::add() to return an AddResult type, similarly to our other containers. + +* wtf/WeakHashSet.h: +(WTF::WeakHashSet::add): + 2019-07-08 Christopher Reid Implement MappedFileData for Windows Modified: trunk/Source/WTF/wtf/WeakHashSet.h (247242 => 247243) --- trunk/Source/WTF/wtf/WeakHashSet.h 2019-07-09 00:35:31 UTC (rev 247242) +++ trunk/Source/WTF/wtf/WeakHashSet.h 2019-07-09 00:53:26 UTC (rev 247243) @@ -44,6 +44,7 @@ class WeakHashSet { public: typedef HashSet> WeakPtrImplSet; +typedef typename WeakPtrImplSet::AddResult AddResult; class WeakHashSetConstIterator : public std::iterator { private: @@ -96,9 +97,9 @@ const_iterator end() const { return WeakHashSetConstIterator(m_set, m_set.end()); } template -void add(const U& value) +AddResult add(const U& value) { -m_set.add(*makeWeakPtr(const_cast(value)).m_impl); +return m_set.add(*makeWeakPtr(const_cast(value)).m_impl); } template Modified: trunk/Source/WebKit/ChangeLog (247242 => 247243) --- trunk/Source/WebKit/ChangeLog 2019-07-09 00:35:31 UTC (rev 247242) +++ trunk/Source/WebKit/ChangeLog 2019-07-09 00:53:26 UTC (rev 247243) @@ -1,3 +1,36 @@ +2019-07-08 Chris Dumez + +Use WeakHashSet for WebUserContentControllerProxy::m_processes +https://bugs.webkit.org/show_bug.cgi?id=199591 + + +Reviewed by Youenn Fablet. + +Use WeakHashSet for WebUserContentControllerProxy::m_processses for safety. In theory, a WebProcessProxy could +stay in the map if we failed to call WebProcessProxy::shutDown() before destroying it. + +* UIProcess/UserContent/WebUserContentControllerProxy.cpp: +(WebKit::WebUserContentControllerProxy::~WebUserContentControllerProxy): +(WebKit::WebUserContentControllerProxy::addProcess): +(WebKit::WebUserContentControllerProxy::removeProcess): +(WebKit::WebUserContentControllerProxy::addUserContentWorldUse): +(WebKit::WebUserContentControllerProxy::removeUserContentWorldUses): +(WebKit::WebUserContentControllerProxy::addUserScript): +(WebKit::WebUserContentControllerProxy::removeUserScript): +(WebKit::WebUserContentControllerProxy::removeAllUserScripts): +
[webkit-changes] [247242] trunk/Tools
Title: [247242] trunk/Tools Revision 247242 Author aakash_j...@apple.com Date 2019-07-08 17:35:31 -0700 (Mon, 08 Jul 2019) Log Message [ews-build] Add KillOldProcesses step before running API or Layout tests https://bugs.webkit.org/show_bug.cgi?id=199592 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/factories.py: Modified Paths trunk/Tools/BuildSlaveSupport/ews-build/factories.py trunk/Tools/ChangeLog Diff Modified: trunk/Tools/BuildSlaveSupport/ews-build/factories.py (247241 => 247242) --- trunk/Tools/BuildSlaveSupport/ews-build/factories.py 2019-07-09 00:27:05 UTC (rev 247241) +++ trunk/Tools/BuildSlaveSupport/ews-build/factories.py 2019-07-09 00:35:31 UTC (rev 247242) @@ -90,6 +90,7 @@ def __init__(self, platform, configuration=None, architectures=None, additionalArguments=None, **kwargs): Factory.__init__(self, platform, configuration, architectures, False, additionalArguments) self.getProduct() +self.addStep(KillOldProcesses()) if self.LayoutTestClass: self.addStep(self.LayoutTestClass()) if self.APITestClass: Modified: trunk/Tools/ChangeLog (247241 => 247242) --- trunk/Tools/ChangeLog 2019-07-09 00:27:05 UTC (rev 247241) +++ trunk/Tools/ChangeLog 2019-07-09 00:35:31 UTC (rev 247242) @@ -1,3 +1,12 @@ +2019-07-08 Aakash Jain + +[ews-build] Add KillOldProcesses step before running API or Layout tests +https://bugs.webkit.org/show_bug.cgi?id=199592 + +Reviewed by Jonathan Bedard. + +* BuildSlaveSupport/ews-build/factories.py: + 2019-07-08 Jonathan Bedard test-webkitpy: Explicitly use Python 2.7 lldb library ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247241] trunk/Source/WebInspectorUI
Title: [247241] trunk/Source/WebInspectorUI Revision 247241 Author drou...@apple.com Date 2019-07-08 17:27:05 -0700 (Mon, 08 Jul 2019) Log Message Web Inspector: REGRESSION: Elements: pasting in the Styles sidebar adds a text node to the DOM tree https://bugs.webkit.org/show_bug.cgi?id=199588 Reviewed by Joseph Pecoraro. * UserInterface/Base/Main.js: (WI._paste): Bail if `event.defaultPrevented`, as that means that something else has handled (and likely overrode) this event. Modified Paths trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/UserInterface/Base/Main.js Diff Modified: trunk/Source/WebInspectorUI/ChangeLog (247240 => 247241) --- trunk/Source/WebInspectorUI/ChangeLog 2019-07-09 00:03:53 UTC (rev 247240) +++ trunk/Source/WebInspectorUI/ChangeLog 2019-07-09 00:27:05 UTC (rev 247241) @@ -1,5 +1,17 @@ 2019-07-08 Devin Rousso +Web Inspector: REGRESSION: Elements: pasting in the Styles sidebar adds a text node to the DOM tree +https://bugs.webkit.org/show_bug.cgi?id=199588 + +Reviewed by Joseph Pecoraro. + +* UserInterface/Base/Main.js: +(WI._paste): +Bail if `event.defaultPrevented`, as that means that something else has handled (and likely +overrode) this event. + +2019-07-08 Devin Rousso + Web Inspector: the "x" in the Exception icon overlaps the border https://bugs.webkit.org/show_bug.cgi?id=199553 Modified: trunk/Source/WebInspectorUI/UserInterface/Base/Main.js (247240 => 247241) --- trunk/Source/WebInspectorUI/UserInterface/Base/Main.js 2019-07-09 00:03:53 UTC (rev 247240) +++ trunk/Source/WebInspectorUI/UserInterface/Base/Main.js 2019-07-09 00:27:05 UTC (rev 247241) @@ -2623,6 +2623,9 @@ WI._paste = function(event) { +if (event.defaultPrevented) +return; + let selection = window.getSelection(); // If there is no selection, pass the paste event on to the focused element or focused ContentView. ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247240] trunk/Source/WebInspectorUI
Title: [247240] trunk/Source/WebInspectorUI Revision 247240 Author drou...@apple.com Date 2019-07-08 17:03:53 -0700 (Mon, 08 Jul 2019) Log Message Web Inspector: the "x" in the Exception icon overlaps the border https://bugs.webkit.org/show_bug.cgi?id=199553 Reviewed by Joseph Pecoraro. * UserInterface/Images/Exception.svg: * UserInterface/Images/Function.svg: * UserInterface/Images/TailDeletedFunction.svg: Modified Paths trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/UserInterface/Images/Exception.svg trunk/Source/WebInspectorUI/UserInterface/Images/Function.svg trunk/Source/WebInspectorUI/UserInterface/Images/TailDeletedFunction.svg Diff Modified: trunk/Source/WebInspectorUI/ChangeLog (247239 => 247240) --- trunk/Source/WebInspectorUI/ChangeLog 2019-07-08 23:56:45 UTC (rev 247239) +++ trunk/Source/WebInspectorUI/ChangeLog 2019-07-09 00:03:53 UTC (rev 247240) @@ -1,5 +1,16 @@ 2019-07-08 Devin Rousso +Web Inspector: the "x" in the Exception icon overlaps the border +https://bugs.webkit.org/show_bug.cgi?id=199553 + +Reviewed by Joseph Pecoraro. + +* UserInterface/Images/Exception.svg: +* UserInterface/Images/Function.svg: +* UserInterface/Images/TailDeletedFunction.svg: + +2019-07-08 Devin Rousso + Web Inspector: Debugger: there should be a different icon for URL breakpoints https://bugs.webkit.org/show_bug.cgi?id=199550 Modified: trunk/Source/WebInspectorUI/UserInterface/Images/Exception.svg (247239 => 247240) --- trunk/Source/WebInspectorUI/UserInterface/Images/Exception.svg 2019-07-08 23:56:45 UTC (rev 247239) +++ trunk/Source/WebInspectorUI/UserInterface/Images/Exception.svg 2019-07-09 00:03:53 UTC (rev 247240) @@ -2,7 +2,7 @@ - + Modified: trunk/Source/WebInspectorUI/UserInterface/Images/Function.svg (247239 => 247240) --- trunk/Source/WebInspectorUI/UserInterface/Images/Function.svg 2019-07-08 23:56:45 UTC (rev 247239) +++ trunk/Source/WebInspectorUI/UserInterface/Images/Function.svg 2019-07-09 00:03:53 UTC (rev 247240) @@ -2,7 +2,7 @@ - + Modified: trunk/Source/WebInspectorUI/UserInterface/Images/TailDeletedFunction.svg (247239 => 247240) --- trunk/Source/WebInspectorUI/UserInterface/Images/TailDeletedFunction.svg 2019-07-08 23:56:45 UTC (rev 247239) +++ trunk/Source/WebInspectorUI/UserInterface/Images/TailDeletedFunction.svg 2019-07-09 00:03:53 UTC (rev 247240) @@ -2,7 +2,7 @@ - + ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247239] trunk/Source/WebCore
Title: [247239] trunk/Source/WebCore Revision 247239 Author cdu...@apple.com Date 2019-07-08 16:56:45 -0700 (Mon, 08 Jul 2019) Log Message Make Document::postTask() safe to call from a background thread https://bugs.webkit.org/show_bug.cgi?id=199585 Reviewed by Alex Christensen. Make Document::postTask() safe to call from a background thread by not calling makeWeakPtr() on the Document. Calling makeWeakPtr() on a document from a background thread is not safe since Document is a main thread object. Instead, capture Document::identifier() in the lambda and lookup the document from its identifier once we're on the main thread. * dom/Document.cpp: (WebCore::Document::postTask): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/Document.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (247238 => 247239) --- trunk/Source/WebCore/ChangeLog 2019-07-08 23:51:43 UTC (rev 247238) +++ trunk/Source/WebCore/ChangeLog 2019-07-08 23:56:45 UTC (rev 247239) @@ -1,3 +1,18 @@ +2019-07-08 Chris Dumez + +Make Document::postTask() safe to call from a background thread +https://bugs.webkit.org/show_bug.cgi?id=199585 + +Reviewed by Alex Christensen. + +Make Document::postTask() safe to call from a background thread by not calling makeWeakPtr() on the Document. +Calling makeWeakPtr() on a document from a background thread is not safe since Document is a main thread +object. Instead, capture Document::identifier() in the lambda and lookup the document from its identifier +once we're on the main thread. + +* dom/Document.cpp: +(WebCore::Document::postTask): + 2019-07-08 Youenn Fablet Hop explicitly to the main thread after generating a frame in ScreenDisplayCaptureSourceMac Modified: trunk/Source/WebCore/dom/Document.cpp (247238 => 247239) --- trunk/Source/WebCore/dom/Document.cpp 2019-07-08 23:51:43 UTC (rev 247238) +++ trunk/Source/WebCore/dom/Document.cpp 2019-07-08 23:56:45 UTC (rev 247239) @@ -6120,10 +6120,10 @@ void Document::postTask(Task&& task) { -callOnMainThread([documentReference = makeWeakPtr(*this), task = WTFMove(task)]() mutable { +callOnMainThread([documentID = identifier(), task = WTFMove(task)]() mutable { ASSERT(isMainThread()); -Document* document = documentReference.get(); +auto* document = allDocumentsMap().get(documentID); if (!document) return; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247238] trunk/Source/WebCore
Title: [247238] trunk/Source/WebCore Revision 247238 Author you...@apple.com Date 2019-07-08 16:51:43 -0700 (Mon, 08 Jul 2019) Log Message Hop explicitly to the main thread after generating a frame in ScreenDisplayCaptureSourceMac https://bugs.webkit.org/show_bug.cgi?id=199581 Reviewed by Eric Carlson. Instead of locking and setting the current frame from a background thread, hop to the main thread. This also makes sure the weakThis check is done in the main thread. Manually tested. * platform/mediastream/mac/ScreenDisplayCaptureSourceMac.h: (WebCore::ScreenDisplayCaptureSourceMac::DisplaySurface::DisplaySurface): * platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm: (WebCore::ScreenDisplayCaptureSourceMac::createDisplayStream): (WebCore::ScreenDisplayCaptureSourceMac::generateFrame): (WebCore::ScreenDisplayCaptureSourceMac::newFrame): (WebCore::ScreenDisplayCaptureSourceMac::frameAvailable): Deleted. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/mediastream/mac/ScreenDisplayCaptureSourceMac.h trunk/Source/WebCore/platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm Diff Modified: trunk/Source/WebCore/ChangeLog (247237 => 247238) --- trunk/Source/WebCore/ChangeLog 2019-07-08 23:49:10 UTC (rev 247237) +++ trunk/Source/WebCore/ChangeLog 2019-07-08 23:51:43 UTC (rev 247238) @@ -1,3 +1,22 @@ +2019-07-08 Youenn Fablet + +Hop explicitly to the main thread after generating a frame in ScreenDisplayCaptureSourceMac +https://bugs.webkit.org/show_bug.cgi?id=199581 + +Reviewed by Eric Carlson. + +Instead of locking and setting the current frame from a background thread, hop to the main thread. +This also makes sure the weakThis check is done in the main thread. +Manually tested. + +* platform/mediastream/mac/ScreenDisplayCaptureSourceMac.h: +(WebCore::ScreenDisplayCaptureSourceMac::DisplaySurface::DisplaySurface): +* platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm: +(WebCore::ScreenDisplayCaptureSourceMac::createDisplayStream): +(WebCore::ScreenDisplayCaptureSourceMac::generateFrame): +(WebCore::ScreenDisplayCaptureSourceMac::newFrame): +(WebCore::ScreenDisplayCaptureSourceMac::frameAvailable): Deleted. + 2019-07-08 Daniel Bates Command + . generates Escape with key identifier Period, should be Escape Modified: trunk/Source/WebCore/platform/mediastream/mac/ScreenDisplayCaptureSourceMac.h (247237 => 247238) --- trunk/Source/WebCore/platform/mediastream/mac/ScreenDisplayCaptureSourceMac.h 2019-07-08 23:49:10 UTC (rev 247237) +++ trunk/Source/WebCore/platform/mediastream/mac/ScreenDisplayCaptureSourceMac.h 2019-07-08 23:51:43 UTC (rev 247238) @@ -54,8 +54,6 @@ void displayWasReconfigured(CGDirectDisplayID, CGDisplayChangeSummaryFlags); -void frameAvailable(CGDisplayStreamFrameStatus, uint64_t, IOSurfaceRef, CGDisplayStreamUpdateRef); - DisplayCaptureSourceCocoa::DisplayFrameType generateFrame() final; RealtimeMediaSourceSettings::DisplaySurfaceType surfaceType() const final { return RealtimeMediaSourceSettings::DisplaySurfaceType::Monitor; } @@ -74,6 +72,13 @@ class DisplaySurface { public: DisplaySurface() = default; +explicit DisplaySurface(IOSurfaceRef surface) +: m_surface(surface) +{ +if (m_surface) +IOSurfaceIncrementUseCount(m_surface.get()); +} + ~DisplaySurface() { if (m_surface) @@ -96,7 +101,8 @@ RetainPtr m_surface; }; -mutable Lock m_currentFrameMutex; +void newFrame(CGDisplayStreamFrameStatus, DisplaySurface&&); + DisplaySurface m_currentFrame; RetainPtr m_displayStream; OSObjectPtr m_captureQueue; Modified: trunk/Source/WebCore/platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm (247237 => 247238) --- trunk/Source/WebCore/platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm 2019-07-08 23:49:10 UTC (rev 247237) +++ trunk/Source/WebCore/platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm 2019-07-08 23:51:43 UTC (rev 247238) @@ -154,10 +154,20 @@ auto weakThis = makeWeakPtr(*this); auto frameAvailableBlock = ^(CGDisplayStreamFrameStatus status, uint64_t displayTime, IOSurfaceRef frameSurface, CGDisplayStreamUpdateRef updateRef) { -if (!weakThis) + +if (!frameSurface || !displayTime) return; -weakThis->frameAvailable(status, displayTime, frameSurface, updateRef); +size_t count; +auto* rects = CGDisplayStreamUpdateGetRects(updateRef, kCGDisplayStreamUpdateDirtyRects, ); +if (!rects || !count) +return; + +RunLoop::main().dispatch([weakThis, status, frame = DisplaySurface { frameSurface }]() mutable { +if (!weakThis) +return; +
[webkit-changes] [247237] trunk/Source/WebInspectorUI
Title: [247237] trunk/Source/WebInspectorUI Revision 247237 Author drou...@apple.com Date 2019-07-08 16:49:10 -0700 (Mon, 08 Jul 2019) Log Message Web Inspector: Debugger: there should be a different icon for URL breakpoints https://bugs.webkit.org/show_bug.cgi?id=199550 Reviewed by Joseph Pecoraro. Use the same (down|up) arrow icon for the Network Tab and the Network timeline. * UserInterface/Views/URLBreakpointTreeElement.js: (WI.URLBreakpointTreeElement): * UserInterface/Views/URLBreakpointTreeElement.css: (.breakpoint.url:not(.breakpoint-paused-icon) .icon): Added. * UserInterface/Views/DebuggerSidebarPanel.js: (WI.DebuggerSidebarPanel.prototype._addBreakpoint): * UserInterface/Views/SourcesNavigationSidebarPanel.js: (WI.SourcesNavigationSidebarPanel.prototype._addBreakpoint): * UserInterface/Images/URLBreakpoint.svg: Added. Modified Paths trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js trunk/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js trunk/Source/WebInspectorUI/UserInterface/Views/URLBreakpointTreeElement.css trunk/Source/WebInspectorUI/UserInterface/Views/URLBreakpointTreeElement.js Added Paths trunk/Source/WebInspectorUI/UserInterface/Images/URLBreakpoint.svg Diff Modified: trunk/Source/WebInspectorUI/ChangeLog (247236 => 247237) --- trunk/Source/WebInspectorUI/ChangeLog 2019-07-08 23:35:59 UTC (rev 247236) +++ trunk/Source/WebInspectorUI/ChangeLog 2019-07-08 23:49:10 UTC (rev 247237) @@ -1,5 +1,26 @@ 2019-07-08 Devin Rousso +Web Inspector: Debugger: there should be a different icon for URL breakpoints +https://bugs.webkit.org/show_bug.cgi?id=199550 + +Reviewed by Joseph Pecoraro. + +Use the same (down|up) arrow icon for the Network Tab and the Network timeline. + +* UserInterface/Views/URLBreakpointTreeElement.js: +(WI.URLBreakpointTreeElement): +* UserInterface/Views/URLBreakpointTreeElement.css: +(.breakpoint.url:not(.breakpoint-paused-icon) .icon): Added. + +* UserInterface/Views/DebuggerSidebarPanel.js: +(WI.DebuggerSidebarPanel.prototype._addBreakpoint): +* UserInterface/Views/SourcesNavigationSidebarPanel.js: +(WI.SourcesNavigationSidebarPanel.prototype._addBreakpoint): + +* UserInterface/Images/URLBreakpoint.svg: Added. + +2019-07-08 Devin Rousso + Web Inspector: Timelines: CPU: the Duration string isn't localized https://bugs.webkit.org/show_bug.cgi?id=199582 Added: trunk/Source/WebInspectorUI/UserInterface/Images/URLBreakpoint.svg (0 => 247237) --- trunk/Source/WebInspectorUI/UserInterface/Images/URLBreakpoint.svg (rev 0) +++ trunk/Source/WebInspectorUI/UserInterface/Images/URLBreakpoint.svg 2019-07-08 23:49:10 UTC (rev 247237) @@ -0,0 +1,10 @@ + + + + + + + + + + Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js (247236 => 247237) --- trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js 2019-07-08 23:35:59 UTC (rev 247236) +++ trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js 2019-07-08 23:49:10 UTC (rev 247237) @@ -532,10 +532,8 @@ } else if (breakpoint instanceof WI.URLBreakpoint) { constructor = WI.URLBreakpointTreeElement; -if (breakpoint === WI.domDebuggerManager.allRequestsBreakpoint) { -options.className = WI.DebuggerSidebarPanel.AssertionIconStyleClassName; +if (breakpoint === WI.domDebuggerManager.allRequestsBreakpoint) options.title = WI.repeatedUIString.allRequests(); -} } else { let sourceCode = breakpoint.sourceCodeLocation && breakpoint.sourceCodeLocation.displaySourceCode; if (!sourceCode) Modified: trunk/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js (247236 => 247237) --- trunk/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js 2019-07-08 23:35:59 UTC (rev 247236) +++ trunk/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js 2019-07-08 23:49:10 UTC (rev 247237) @@ -954,10 +954,8 @@ } else if (breakpoint instanceof WI.URLBreakpoint) { constructor = WI.URLBreakpointTreeElement; -if (breakpoint === WI.domDebuggerManager.allRequestsBreakpoint) { -options.className = "breakpoint-assertion-icon"; +if (breakpoint === WI.domDebuggerManager.allRequestsBreakpoint) options.title = WI.repeatedUIString.allRequests(); -} } else { let sourceCode = breakpoint.sourceCodeLocation && breakpoint.sourceCodeLocation.displaySourceCode; if (!sourceCode) Modified: trunk/Source/WebInspectorUI/UserInterface/Views/URLBreakpointTreeElement.css (247236 => 247237) ---
[webkit-changes] [247236] tags/Safari-607.3.9/
Title: [247236] tags/Safari-607.3.9/ Revision 247236 Author alanc...@apple.com Date 2019-07-08 16:35:59 -0700 (Mon, 08 Jul 2019) Log Message Tag Safari-607.3.9. Added Paths tags/Safari-607.3.9/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247235] trunk/Source/WebInspectorUI
Title: [247235] trunk/Source/WebInspectorUI Revision 247235 Author drou...@apple.com Date 2019-07-08 16:34:19 -0700 (Mon, 08 Jul 2019) Log Message Web Inspector: Timelines: CPU: the Duration string isn't localized https://bugs.webkit.org/show_bug.cgi?id=199582 Reviewed by Joseph Pecoraro. * UserInterface/Views/CPUTimelineView.js: (WI.CPUTimelineView.prototype._layoutEnergyChart): * Localizations/en.lproj/localizedStrings.js: Modified Paths trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js trunk/Source/WebInspectorUI/UserInterface/Views/CPUTimelineView.js Diff Modified: trunk/Source/WebInspectorUI/ChangeLog (247234 => 247235) --- trunk/Source/WebInspectorUI/ChangeLog 2019-07-08 23:31:25 UTC (rev 247234) +++ trunk/Source/WebInspectorUI/ChangeLog 2019-07-08 23:34:19 UTC (rev 247235) @@ -1,3 +1,16 @@ +2019-07-08 Devin Rousso + +Web Inspector: Timelines: CPU: the Duration string isn't localized +https://bugs.webkit.org/show_bug.cgi?id=199582 + + +Reviewed by Joseph Pecoraro. + +* UserInterface/Views/CPUTimelineView.js: +(WI.CPUTimelineView.prototype._layoutEnergyChart): + +* Localizations/en.lproj/localizedStrings.js: + 2019-07-06 Nikita Vasilyev Web Inspector: Styles: unbalanced quotes and parenthesis aren't displayed as property closed after editing values Modified: trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js (247234 => 247235) --- trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js 2019-07-08 23:31:25 UTC (rev 247234) +++ trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js 2019-07-08 23:34:19 UTC (rev 247235) @@ -361,7 +361,9 @@ localizedStrings["Dropped Node"] = "Dropped Node"; localizedStrings["Duplicate property"] = "Duplicate property"; localizedStrings["Duration"] = "Duration"; -localizedStrings["Duration: %s"] = "Duration: %s"; +/* The duration of the Timeline recording in seconds (s). */ +localizedStrings["Duration: %ss"] = "Duration: %ss"; +localizedStrings["Duration: Short"] = "Duration: Short"; localizedStrings["Dynamically calculated for the parent element"] = "Dynamically calculated for the parent element"; localizedStrings["Dynamically calculated for the selected element"] = "Dynamically calculated for the selected element"; localizedStrings["Dynamically calculated for the selected element and did not match"] = "Dynamically calculated for the selected element and did not match"; @@ -962,7 +964,6 @@ localizedStrings["Shadow Content"] = "Shadow Content"; localizedStrings["Shadow Content (%s)"] = "Shadow Content (%s)"; localizedStrings["Shared Focus"] = "Shared Focus"; -localizedStrings["Short"] = "Short"; localizedStrings["Shortest property path to %s"] = "Shortest property path to %s"; localizedStrings["Show %d More"] = "Show %d More"; localizedStrings["Show All"] = "Show All"; Modified: trunk/Source/WebInspectorUI/UserInterface/Views/CPUTimelineView.js (247234 => 247235) --- trunk/Source/WebInspectorUI/UserInterface/Views/CPUTimelineView.js 2019-07-08 23:31:25 UTC (rev 247234) +++ trunk/Source/WebInspectorUI/UserInterface/Views/CPUTimelineView.js 2019-07-08 23:34:19 UTC (rev 247235) @@ -1136,10 +1136,10 @@ this._energyImpactNumberElement.textContent = WI.UIString("Average CPU: %s").format(Number.percentageString(average / 100)); if (visibleDuration < 5) -this._energyImpactDurationElement.textContent = WI.UIString("Duration: %s").format(WI.UIString("Short")); +this._energyImpactDurationElement.textContent = WI.UIString("Duration: Short"); else { -let durationDisplayString = Math.floor(visibleDuration) + "s"; -this._energyImpactDurationElement.textContent = WI.UIString("Duration: %s").format(durationDisplayString); +let durationDisplayString = Math.floor(visibleDuration); +this._energyImpactDurationElement.textContent = WI.UIString("Duration: %ss", "The duration of the Timeline recording in seconds (s).").format(durationDisplayString); } } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247234] tags/Safari-608.1.34.0.1/
Title: [247234] tags/Safari-608.1.34.0.1/ Revision 247234 Author alanc...@apple.com Date 2019-07-08 16:31:25 -0700 (Mon, 08 Jul 2019) Log Message Tag Safari-608.1.34.0.1. Added Paths tags/Safari-608.1.34.0.1/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247233] trunk
Title: [247233] trunk Revision 247233 Author dba...@webkit.org Date 2019-07-08 16:08:19 -0700 (Mon, 08 Jul 2019) Log Message [iOS] Support select all in non-editable element https://bugs.webkit.org/show_bug.cgi?id=199257 Reviewed by Wenson Hsieh. Source/WebKit: Unless we are populating the callout bar always advertise that WebKit can perform Select All when building with USE(UIKIT_KEYBOARD_ADDITIONS). This way you can press Command + A to select all text even in a non-editable element just like you can on Mac. * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView canPerformActionForWebView:withSender:]): LayoutTests: Add a test to ensure that we can perform Select All even when a non-editable element is focused. Also disallow testing of Command + A until we fix . Otherwise, the test fast/events/ios/key-events-comprehensive/key-events-meta.html fails since Command + A now triggers page selection even in a non-editable (the purpose of this change) and hence Command + C also triggers the copy command. The triggering of these commands causes the test to fail the Command + A and Command + C sub-tests since no keypress event is dispatched for the key that triggered these key commands. This is expected, but Command + A should not have triggered selection as key-tester.js calls preventDefault() from a keypress handler. That's the bug. See for more details. * editing/selection/ios/select-all-non-editable-text-using-keyboard-expected.txt: Added. * editing/selection/ios/select-all-non-editable-text-using-keyboard.html: Added. * fast/events/ios/key-events-comprehensive/key-events-meta-expected.txt: Updated result. * fast/events/ios/resources/key-tester.js: Disallow Command + A until we fix . * platform/ios/TestExpectations: Skip the test until the fix for has shipped. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/events/ios/key-events-comprehensive/key-events-meta-expected.txt trunk/LayoutTests/fast/events/ios/resources/key-tester.js trunk/LayoutTests/platform/ios/TestExpectations trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm Added Paths trunk/LayoutTests/editing/selection/ios/select-all-non-editable-text-using-keyboard-expected.txt trunk/LayoutTests/editing/selection/ios/select-all-non-editable-text-using-keyboard.html Diff Modified: trunk/LayoutTests/ChangeLog (247232 => 247233) --- trunk/LayoutTests/ChangeLog 2019-07-08 23:07:03 UTC (rev 247232) +++ trunk/LayoutTests/ChangeLog 2019-07-08 23:08:19 UTC (rev 247233) @@ -1,5 +1,31 @@ 2019-07-08 Daniel Bates +[iOS] Support select all in non-editable element +https://bugs.webkit.org/show_bug.cgi?id=199257 + + +Reviewed by Wenson Hsieh. + +Add a test to ensure that we can perform Select All even when a non-editable element is focused. + +Also disallow testing of Command + A until we fix . +Otherwise, the test fast/events/ios/key-events-comprehensive/key-events-meta.html fails since +Command + A now triggers page selection even in a non-editable (the purpose of this change) +and hence Command + C also triggers the copy command. The triggering of these commands causes +the test to fail the Command + A and Command + C sub-tests since no keypress event is dispatched +for the key that triggered these key commands. This is expected, but Command + A should not have +triggered selection as key-tester.js calls preventDefault() from a keypress handler. That's +the bug. See for more details. + +* editing/selection/ios/select-all-non-editable-text-using-keyboard-expected.txt: Added. +* editing/selection/ios/select-all-non-editable-text-using-keyboard.html: Added. +* fast/events/ios/key-events-comprehensive/key-events-meta-expected.txt: Updated result. +* fast/events/ios/resources/key-tester.js: Disallow Command + A until we fix . +* platform/ios/TestExpectations: Skip the test until the fix for +has shipped. + +2019-07-08 Daniel Bates + Command + . generates Escape with key identifier Period, should be Escape https://bugs.webkit.org/show_bug.cgi?id=199393 Added: trunk/LayoutTests/editing/selection/ios/select-all-non-editable-text-using-keyboard-expected.txt (0 => 247233) --- trunk/LayoutTests/editing/selection/ios/select-all-non-editable-text-using-keyboard-expected.txt (rev 0) +++ trunk/LayoutTests/editing/selection/ios/select-all-non-editable-text-using-keyboard-expected.txt 2019-07-08 23:08:19 UTC (rev 247233) @@ -0,0 +1,10 @@ +Tests pressing Command + a to select all non-editable text. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS window.getSelection().toString() is "Here's to the crazy ones.\n\nThe misfits.\n\nThe rebels." +PASS successfullyParsed is true + +TEST COMPLETE + Added:
[webkit-changes] [247232] trunk
Title: [247232] trunk Revision 247232 Author dba...@webkit.org Date 2019-07-08 16:07:03 -0700 (Mon, 08 Jul 2019) Log Message Command + . generates Escape with key identifier Period, should be Escape https://bugs.webkit.org/show_bug.cgi?id=199393 Reviewed by Wenson Hsieh. Source/WebCore: Remap the key code for Command + . before we compute the Windows virtual key code. Otherwise, the Windows virtual key code reveals the pre-mapped key code. * platform/ios/WebEvent.mm: (-[WebEvent initWithKeyEventType:timeStamp:characters:charactersIgnoringModifiers:modifiers:isRepeating:withFlags:withInputManagerHint:keyCode:isTabKey:]): LayoutTests: Update test result. * fast/events/ios/key-events-comprehensive/key-events-meta-expected.txt: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/events/ios/key-events-comprehensive/key-events-meta-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/ios/WebEvent.mm Diff Modified: trunk/LayoutTests/ChangeLog (247231 => 247232) --- trunk/LayoutTests/ChangeLog 2019-07-08 22:59:11 UTC (rev 247231) +++ trunk/LayoutTests/ChangeLog 2019-07-08 23:07:03 UTC (rev 247232) @@ -1,3 +1,15 @@ +2019-07-08 Daniel Bates + +Command + . generates Escape with key identifier Period, should be Escape +https://bugs.webkit.org/show_bug.cgi?id=199393 + + +Reviewed by Wenson Hsieh. + +Update test result. + +* fast/events/ios/key-events-comprehensive/key-events-meta-expected.txt: + 2019-07-08 Charlie Turner [GTK] Some media fragment tests are flaky Modified: trunk/LayoutTests/fast/events/ios/key-events-comprehensive/key-events-meta-expected.txt (247231 => 247232) --- trunk/LayoutTests/fast/events/ios/key-events-comprehensive/key-events-meta-expected.txt 2019-07-08 22:59:11 UTC (rev 247231) +++ trunk/LayoutTests/fast/events/ios/key-events-comprehensive/key-events-meta-expected.txt 2019-07-08 23:07:03 UTC (rev 247232) @@ -146,8 +146,8 @@ Test Command + .: type: keydown, key: Meta, code: MetaLeft, keyIdentifier: Meta, keyCode: 91, charCode: 0, keyCode: 91, which: 91, altKey: false, ctrlKey: false, metaKey: true, shiftKey: false, location: 1, keyLocation: 1 -type: keydown, key: Escape, code: Period, keyIdentifier: U+001B, keyCode: 27, charCode: 0, keyCode: 27, which: 27, altKey: false, ctrlKey: false, metaKey: false, shiftKey: false, location: 0, keyLocation: 0 -type: keypress, key: Escape, code: Period, keyIdentifier: , keyCode: 27, charCode: 27, keyCode: 27, which: 27, altKey: false, ctrlKey: false, metaKey: false, shiftKey: false, location: 0, keyLocation: 0 +type: keydown, key: Escape, code: Escape, keyIdentifier: U+001B, keyCode: 27, charCode: 0, keyCode: 27, which: 27, altKey: false, ctrlKey: false, metaKey: false, shiftKey: false, location: 0, keyLocation: 0 +type: keypress, key: Escape, code: Escape, keyIdentifier: , keyCode: 27, charCode: 27, keyCode: 27, which: 27, altKey: false, ctrlKey: false, metaKey: false, shiftKey: false, location: 0, keyLocation: 0 type: keyup, key: Meta, code: MetaLeft, keyIdentifier: Meta, keyCode: 91, charCode: 0, keyCode: 91, which: 91, altKey: false, ctrlKey: false, metaKey: false, shiftKey: false, location: 1, keyLocation: 1 Test Command + /: Modified: trunk/Source/WebCore/ChangeLog (247231 => 247232) --- trunk/Source/WebCore/ChangeLog 2019-07-08 22:59:11 UTC (rev 247231) +++ trunk/Source/WebCore/ChangeLog 2019-07-08 23:07:03 UTC (rev 247232) @@ -1,3 +1,17 @@ +2019-07-08 Daniel Bates + +Command + . generates Escape with key identifier Period, should be Escape +https://bugs.webkit.org/show_bug.cgi?id=199393 + + +Reviewed by Wenson Hsieh. + +Remap the key code for Command + . before we compute the Windows virtual key code. +Otherwise, the Windows virtual key code reveals the pre-mapped key code. + +* platform/ios/WebEvent.mm: +(-[WebEvent initWithKeyEventType:timeStamp:characters:charactersIgnoringModifiers:modifiers:isRepeating:withFlags:withInputManagerHint:keyCode:isTabKey:]): + 2019-07-08 Alex Christensen Prevent null dereferencing in SubresourceLoader::init's lambda Modified: trunk/Source/WebCore/platform/ios/WebEvent.mm (247231 => 247232) --- trunk/Source/WebCore/platform/ios/WebEvent.mm 2019-07-08 22:59:11 UTC (rev 247231) +++ trunk/Source/WebCore/platform/ios/WebEvent.mm 2019-07-08 23:07:03 UTC (rev 247232) @@ -185,6 +185,17 @@ _modifierFlags = modifiers; _keyboardFlags = flags; _inputManagerHint = [hint retain]; + +BOOL flagsChanged = _keyboardFlags & WebEventKeyboardInputModifierFlagsChanged; +if (!flagsChanged) { +// Map Command + . to Escape since Apple Smart Keyboards lack an Escape key. +// FIXME: This doesn't work for some keyboard layouts, like French. See . +if ([charactersIgnoringModifiers isEqualToString:@"."] && (modifiers & WebEventFlagMaskCommandKey)) { +keyCode =
[webkit-changes] [247231] trunk/Source/WebCore
Title: [247231] trunk/Source/WebCore Revision 247231 Author achristen...@apple.com Date 2019-07-08 15:59:11 -0700 (Mon, 08 Jul 2019) Log Message Prevent null dereferencing in SubresourceLoader::init's lambda https://bugs.webkit.org/show_bug.cgi?id=199580 Reviewed by Ryosuke Niwa. Crash logs indicate that sometimes m_documentLoader is null. This is similar to https://bugs.webkit.org/show_bug.cgi?id=187360 * loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::init): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/loader/SubresourceLoader.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (247230 => 247231) --- trunk/Source/WebCore/ChangeLog 2019-07-08 22:28:30 UTC (rev 247230) +++ trunk/Source/WebCore/ChangeLog 2019-07-08 22:59:11 UTC (rev 247231) @@ -1,3 +1,16 @@ +2019-07-08 Alex Christensen + +Prevent null dereferencing in SubresourceLoader::init's lambda +https://bugs.webkit.org/show_bug.cgi?id=199580 + +Reviewed by Ryosuke Niwa. + +Crash logs indicate that sometimes m_documentLoader is null. +This is similar to https://bugs.webkit.org/show_bug.cgi?id=187360 + +* loader/SubresourceLoader.cpp: +(WebCore::SubresourceLoader::init): + 2019-07-08 Wenson Hsieh Unable to paste from Notes into Excel 365 spreadsheet Modified: trunk/Source/WebCore/loader/SubresourceLoader.cpp (247230 => 247231) --- trunk/Source/WebCore/loader/SubresourceLoader.cpp 2019-07-08 22:28:30 UTC (rev 247230) +++ trunk/Source/WebCore/loader/SubresourceLoader.cpp 2019-07-08 22:59:11 UTC (rev 247231) @@ -164,6 +164,11 @@ ResourceLoader::init(WTFMove(request), [this, protectedThis = makeRef(*this), completionHandler = WTFMove(completionHandler)] (bool initialized) mutable { if (!initialized) return completionHandler(false); +if (!m_documentLoader) { +ASSERT_NOT_REACHED(); +RELEASE_LOG_ERROR(ResourceLoading, "SubresourceLoader::init: resource load canceled because document loader is null (frame = %p, frameLoader = %p, resourceID = %lu)", frame(), frameLoader(), identifier()); +return completionHandler(false); +} ASSERT(!reachedTerminalState()); m_state = Initialized; m_documentLoader->addSubresourceLoader(this); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247230] trunk/Source/WebKit
Title: [247230] trunk/Source/WebKit Revision 247230 Author cdu...@apple.com Date 2019-07-08 15:28:30 -0700 (Mon, 08 Jul 2019) Log Message Cleanup uses of NetworkProcess::m_sessionByConnection https://bugs.webkit.org/show_bug.cgi?id=199586 Reviewed by Alex Christensen. Avoid double HashMap lookups and call add() instead of ensure() when appropriate. * NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::networkSessionByConnection const): (WebKit::NetworkProcess::webPageWasAdded): (WebKit::NetworkProcess::webProcessWasDisconnected): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp Diff Modified: trunk/Source/WebKit/ChangeLog (247229 => 247230) --- trunk/Source/WebKit/ChangeLog 2019-07-08 20:51:11 UTC (rev 247229) +++ trunk/Source/WebKit/ChangeLog 2019-07-08 22:28:30 UTC (rev 247230) @@ -1,3 +1,17 @@ +2019-07-08 Chris Dumez + +Cleanup uses of NetworkProcess::m_sessionByConnection +https://bugs.webkit.org/show_bug.cgi?id=199586 + +Reviewed by Alex Christensen. + +Avoid double HashMap lookups and call add() instead of ensure() when appropriate. + +* NetworkProcess/NetworkProcess.cpp: +(WebKit::NetworkProcess::networkSessionByConnection const): +(WebKit::NetworkProcess::webPageWasAdded): +(WebKit::NetworkProcess::webProcessWasDisconnected): + 2019-07-08 Tim Horton WKWebView fails to render when another view uses CoreImage filters Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (247229 => 247230) --- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2019-07-08 20:51:11 UTC (rev 247229) +++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2019-07-08 22:28:30 UTC (rev 247230) @@ -566,10 +566,8 @@ NetworkSession* NetworkProcess::networkSessionByConnection(IPC::Connection& connection) const { -if (!m_sessionByConnection.contains(connection.uniqueID())) -return nullptr; - -return networkSession(m_sessionByConnection.get(connection.uniqueID())); +auto sessionID = m_sessionByConnection.get(connection.uniqueID()); +return sessionID.isValid() ? networkSession(sessionID) : nullptr; } void NetworkProcess::setSession(const PAL::SessionID& sessionID, Ref&& session) @@ -2668,10 +2666,8 @@ } auto& storageManager = session->storageManager(); -auto connectionID = connection.uniqueID(); -m_sessionByConnection.ensure(connectionID, [&]() { -return sessionID; -}); +auto addResult = m_sessionByConnection.add(connection.uniqueID(), sessionID); +ASSERT_UNUSED(addResult, addResult.iterator->value == sessionID); storageManager.createSessionStorageNamespace(pageID.toUInt64(), std::numeric_limits::max()); storageManager.addAllowedSessionStorageNamespaceConnection(pageID.toUInt64(), connection); @@ -2698,11 +2694,10 @@ void NetworkProcess::webProcessWasDisconnected(IPC::Connection& connection) { -auto connectionID = connection.uniqueID(); -if (!m_sessionByConnection.contains(connectionID)) +auto sessionID = m_sessionByConnection.take(connection.uniqueID()); +if (!sessionID.isValid()) return; -auto sessionID = m_sessionByConnection.take(connectionID); if (auto* session = networkSession(sessionID)) session->storageManager().processDidCloseConnection(connection); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247229] trunk/LayoutTests
Title: [247229] trunk/LayoutTests Revision 247229 Author ctur...@igalia.com Date 2019-07-08 13:51:11 -0700 (Mon, 08 Jul 2019) Log Message [GTK] Some media fragment tests are flaky https://bugs.webkit.org/show_bug.cgi?id=132248 Reviewed by Eric Carlson. These tests look like they're flakey due to a small stop time. I'm surmising that based on the bot's load, we step over the 0.5 mark often. When I run this locally, despite running the fragment tests 100 times, I saw no timeouts. I have seen crashes in the flakiness dashboard, but I would prefer for these to have separate bugs so that we can squash them rather than allowing them to linger. Having them expected to crash means we have no crash logs to investigate. Updated the baselines in the LayoutTests/ directory to reflect the new stop time delta. * media/media-fragments/media-fragments.js: (pause): Increase stop delta, on simulator builds the stddev crossed the 0.5s mark, and I suspect on GTK builds, our bots being heavily loaded cause the majority of timeouts. * platform/gtk/TestExpectations: Remove expectations. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/media/media-fragments/TC0004-expected.txt trunk/LayoutTests/media/media-fragments/TC0005-expected.txt trunk/LayoutTests/media/media-fragments/TC0006-expected.txt trunk/LayoutTests/media/media-fragments/TC0011-expected.txt trunk/LayoutTests/media/media-fragments/TC0015-expected.txt trunk/LayoutTests/media/media-fragments/TC0017-expected.txt trunk/LayoutTests/media/media-fragments/TC0024-expected.txt trunk/LayoutTests/media/media-fragments/TC0035-expected.txt trunk/LayoutTests/media/media-fragments/TC0036-expected.txt trunk/LayoutTests/media/media-fragments/TC0037-expected.txt trunk/LayoutTests/media/media-fragments/TC0038-expected.txt trunk/LayoutTests/media/media-fragments/TC0039-expected.txt trunk/LayoutTests/media/media-fragments/TC0051-expected.txt trunk/LayoutTests/media/media-fragments/TC0052-expected.txt trunk/LayoutTests/media/media-fragments/TC0053-expected.txt trunk/LayoutTests/media/media-fragments/TC0054-expected.txt trunk/LayoutTests/media/media-fragments/TC0055-expected.txt trunk/LayoutTests/media/media-fragments/TC0059-expected.txt trunk/LayoutTests/media/media-fragments/TC0072-expected.txt trunk/LayoutTests/media/media-fragments/TC0078-expected.txt trunk/LayoutTests/media/media-fragments/TC0079-expected.txt trunk/LayoutTests/media/media-fragments/TC0080-expected.txt trunk/LayoutTests/media/media-fragments/TC0081-expected.txt trunk/LayoutTests/media/media-fragments/TC0085-expected.txt trunk/LayoutTests/media/media-fragments/TC0086-expected.txt trunk/LayoutTests/media/media-fragments/TC0087-expected.txt trunk/LayoutTests/media/media-fragments/TC0088-expected.txt trunk/LayoutTests/media/media-fragments/TC0089-expected.txt trunk/LayoutTests/media/media-fragments/TC0090-expected.txt trunk/LayoutTests/media/media-fragments/TC0091-expected.txt trunk/LayoutTests/media/media-fragments/media-fragments.js trunk/LayoutTests/platform/gtk/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (247228 => 247229) --- trunk/LayoutTests/ChangeLog 2019-07-08 19:57:27 UTC (rev 247228) +++ trunk/LayoutTests/ChangeLog 2019-07-08 20:51:11 UTC (rev 247229) @@ -1,3 +1,29 @@ +2019-07-08 Charlie Turner + +[GTK] Some media fragment tests are flaky +https://bugs.webkit.org/show_bug.cgi?id=132248 + +Reviewed by Eric Carlson. + +These tests look like they're flakey due to a small stop time. I'm +surmising that based on the bot's load, we step over the 0.5 mark +often. When I run this locally, despite running the fragment tests +100 times, I saw no timeouts. + +I have seen crashes in the flakiness dashboard, but I would prefer +for these to have separate bugs so that we can squash them rather +than allowing them to linger. Having them expected to crash means +we have no crash logs to investigate. + +Updated the baselines in the LayoutTests/ directory to reflect the +new stop time delta. + +* media/media-fragments/media-fragments.js: +(pause): Increase stop delta, on simulator builds the stddev +crossed the 0.5s mark, and I suspect on GTK builds, our bots being +heavily loaded cause the majority of timeouts. +* platform/gtk/TestExpectations: Remove expectations. + 2019-07-08 Ryan Haddad Add test expectations and baselines for Catalina Modified: trunk/LayoutTests/media/media-fragments/TC0004-expected.txt (247228 => 247229) --- trunk/LayoutTests/media/media-fragments/TC0004-expected.txt 2019-07-08 19:57:27 UTC (rev 247228) +++ trunk/LayoutTests/media/media-fragments/TC0004-expected.txt 2019-07-08 20:51:11 UTC (rev 247229) @@ -7,6 +7,6 @@ EXPECTED (video.currentTime == '0') OK RUN(video.play()) EVENT(pause) -EXPECTED (video.currentTime - fragmentEndTime <= '0.5') OK +EXPECTED (video.currentTime - fragmentEndTime
[webkit-changes] [247228] trunk/Tools
Title: [247228] trunk/Tools Revision 247228 Author jbed...@apple.com Date 2019-07-08 12:57:27 -0700 (Mon, 08 Jul 2019) Log Message test-webkitpy: Explicitly use Python 2.7 lldb library https://bugs.webkit.org/show_bug.cgi?id=199578 Reviewed by Aakash Jain. * Scripts/webkitpy/common/system/systemhost.py: (SystemHost.path_to_lldb_python_directory): Explicitly use Python 2.7 lldb libary. * Scripts/webkitpy/test/main.py: (_supports_building_and_running_lldb_tests): Run lldb tests on Catalina again. Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/common/system/systemhost.py trunk/Tools/Scripts/webkitpy/test/main.py Diff Modified: trunk/Tools/ChangeLog (247227 => 247228) --- trunk/Tools/ChangeLog 2019-07-08 19:54:50 UTC (rev 247227) +++ trunk/Tools/ChangeLog 2019-07-08 19:57:27 UTC (rev 247228) @@ -1,3 +1,16 @@ +2019-07-08 Jonathan Bedard + +test-webkitpy: Explicitly use Python 2.7 lldb library +https://bugs.webkit.org/show_bug.cgi?id=199578 + + +Reviewed by Aakash Jain. + +* Scripts/webkitpy/common/system/systemhost.py: +(SystemHost.path_to_lldb_python_directory): Explicitly use Python 2.7 lldb libary. +* Scripts/webkitpy/test/main.py: +(_supports_building_and_running_lldb_tests): Run lldb tests on Catalina again. + 2019-07-08 Ryan Haddad Add test expectations and baselines for Catalina Modified: trunk/Tools/Scripts/webkitpy/common/system/systemhost.py (247227 => 247228) --- trunk/Tools/Scripts/webkitpy/common/system/systemhost.py 2019-07-08 19:54:50 UTC (rev 247227) +++ trunk/Tools/Scripts/webkitpy/common/system/systemhost.py 2019-07-08 19:57:27 UTC (rev 247228) @@ -54,7 +54,9 @@ def path_to_lldb_python_directory(self): if not self.platform.is_mac(): return '' -return self.executive.run_command(['xcrun', 'lldb', '--python-path'], return_stderr=False).rstrip() +# Explicitly use Python 2.7 +path = self.executive.run_command(['xcrun', 'lldb', '--python-path'], return_stderr=False).rstrip() +return self.filesystem.join(self.filesystem.dirname(path), 'Python') @property def device_type(self): Modified: trunk/Tools/Scripts/webkitpy/test/main.py (247227 => 247228) --- trunk/Tools/Scripts/webkitpy/test/main.py 2019-07-08 19:54:50 UTC (rev 247227) +++ trunk/Tools/Scripts/webkitpy/test/main.py 2019-07-08 19:57:27 UTC (rev 247228) @@ -107,7 +107,7 @@ build_version = _host.platform.build_version() if build_version is None: return False -return not build_version.startswith('19A') +return True def _print_results_as_json(stream, all_test_names, failures, errors): ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247227] trunk/Source/WebKit
Title: [247227] trunk/Source/WebKit Revision 247227 Author timothy_hor...@apple.com Date 2019-07-08 12:54:50 -0700 (Mon, 08 Jul 2019) Log Message WKWebView fails to render when another view uses CoreImage filters https://bugs.webkit.org/show_bug.cgi?id=199488 Reviewed by Dean Jackson. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::layerHostingModeDidChange): Update m_layerHostingMode when it changes, even if we can't message the Web Content process. This ensures that the next time we launch a Web Content process, WebPageCreationParameters will have the correct layer hosting mode, and is the usual pattern for such things. Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/WebPageProxy.cpp Diff Modified: trunk/Source/WebKit/ChangeLog (247226 => 247227) --- trunk/Source/WebKit/ChangeLog 2019-07-08 19:12:00 UTC (rev 247226) +++ trunk/Source/WebKit/ChangeLog 2019-07-08 19:54:50 UTC (rev 247227) @@ -1,3 +1,18 @@ +2019-07-08 Tim Horton + +WKWebView fails to render when another view uses CoreImage filters +https://bugs.webkit.org/show_bug.cgi?id=199488 + + +Reviewed by Dean Jackson. + +* UIProcess/WebPageProxy.cpp: +(WebKit::WebPageProxy::layerHostingModeDidChange): +Update m_layerHostingMode when it changes, even if we can't message +the Web Content process. This ensures that the next time we launch +a Web Content process, WebPageCreationParameters will have the correct +layer hosting mode, and is the usual pattern for such things. + 2019-07-08 Wenson Hsieh [iPadOS] Viewport pops while loading sohu.com, xinhuanet.com, and various other websites Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (247226 => 247227) --- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2019-07-08 19:12:00 UTC (rev 247226) +++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2019-07-08 19:54:50 UTC (rev 247227) @@ -1847,15 +1847,14 @@ void WebPageProxy::layerHostingModeDidChange() { -if (!hasRunningProcess()) -return; - LayerHostingMode layerHostingMode = pageClient().viewLayerHostingMode(); if (m_layerHostingMode == layerHostingMode) return; m_layerHostingMode = layerHostingMode; -m_process->send(Messages::WebPage::SetLayerHostingMode(layerHostingMode), m_pageID); + +if (hasRunningProcess()) +m_process->send(Messages::WebPage::SetLayerHostingMode(layerHostingMode), m_pageID); } void WebPageProxy::waitForDidUpdateActivityState(ActivityStateChangeID activityStateChangeID) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247224] branches/safari-607-branch/Source/JavaScriptCore/runtime/ RegExpInlines.h
Title: [247224] branches/safari-607-branch/Source/_javascript_Core/runtime/RegExpInlines.h Revision 247224 Author alanc...@apple.com Date 2019-07-08 12:08:32 -0700 (Mon, 08 Jul 2019) Log Message Unreviewed build fix. rdar://problem/51349045 Modified Paths branches/safari-607-branch/Source/_javascript_Core/runtime/RegExpInlines.h Diff Modified: branches/safari-607-branch/Source/_javascript_Core/runtime/RegExpInlines.h (247223 => 247224) --- branches/safari-607-branch/Source/_javascript_Core/runtime/RegExpInlines.h 2019-07-08 19:03:42 UTC (rev 247223) +++ branches/safari-607-branch/Source/_javascript_Core/runtime/RegExpInlines.h 2019-07-08 19:08:32 UTC (rev 247224) @@ -155,7 +155,6 @@ #if ENABLE(YARR_JIT) if (m_state == JITCode) { { -ASSERT(m_regExpJITCode); PatternContextBufferHolder patternContextBufferHolder(vm, m_regExpJITCode.usesPatternContextBuffer()); if (s.is8Bit()) @@ -269,7 +268,6 @@ if (m_state == JITCode) { { -ASSERT(m_regExpJITCode); PatternContextBufferHolder patternContextBufferHolder(vm, m_regExpJITCode.usesPatternContextBuffer()); if (s.is8Bit()) result = m_regExpJITCode.execute(s.characters8(), startOffset, s.length(), patternContextBufferHolder.buffer(), patternContextBufferHolder.size()); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247223] trunk
Title: [247223] trunk Revision 247223 Author wenson_hs...@apple.com Date 2019-07-08 12:03:42 -0700 (Mon, 08 Jul 2019) Log Message [iPadOS] Viewport pops while loading sohu.com, xinhuanet.com, and various other websites https://bugs.webkit.org/show_bug.cgi?id=199575 Reviewed by Simon Fraser. Source/WebKit: Currently, the shrink-to-fit-content heuristic added to scale desktop sites fit within the viewport on iPadOS only runs during two intervals: after document load, and after page load. On very script-heavy websites, this may cause a visible jump, as rendering may commence well before the document is finished parsing. To mitigate this, we move the first opportunity for the shrink-to-fit heuristic from after document, to right after the page transition has completed (before we unfreeze the layer tree). * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didCompletePageTransition): (WebKit::WebPage::didFinishDocumentLoad): Deleted. Remove this didFinishDocumentLoad hook, which was only used to schedule the shrink-to-fit timer. * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::immediatelyShrinkToFitContent): m_mainFrame might be null after page transition completes, so we need to ensure immediatelyShrinkToFitContent is robust in this scenario. LayoutTests: Adjusts an existing layout test, and introduces a new test to verify that the shrink-to-fit heuristic is given a chance to run before document load. See WebKit ChangeLog for more details. * fast/viewport/ios/shrink-to-fit-content-before-document-load-expected.txt: Added. * fast/viewport/ios/shrink-to-fit-content-before-document-load.html: Added. * fast/viewport/ios/shrink-to-fit-content-temporary-overflow.html: Tweak this layout test to add the temporarily overflowing element after document load. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/viewport/ios/shrink-to-fit-content-temporary-overflow.html trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp trunk/Source/WebKit/WebProcess/WebPage/WebPage.h trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm Added Paths trunk/LayoutTests/fast/viewport/ios/shrink-to-fit-content-before-document-load-expected.txt trunk/LayoutTests/fast/viewport/ios/shrink-to-fit-content-before-document-load.html Diff Modified: trunk/LayoutTests/ChangeLog (247222 => 247223) --- trunk/LayoutTests/ChangeLog 2019-07-08 18:59:49 UTC (rev 247222) +++ trunk/LayoutTests/ChangeLog 2019-07-08 19:03:42 UTC (rev 247223) @@ -1,5 +1,22 @@ 2019-07-08 Wenson Hsieh +[iPadOS] Viewport pops while loading sohu.com, xinhuanet.com, and various other websites +https://bugs.webkit.org/show_bug.cgi?id=199575 + + +Reviewed by Simon Fraser. + +Adjusts an existing layout test, and introduces a new test to verify that the shrink-to-fit heuristic is given a +chance to run before document load. See WebKit ChangeLog for more details. + +* fast/viewport/ios/shrink-to-fit-content-before-document-load-expected.txt: Added. +* fast/viewport/ios/shrink-to-fit-content-before-document-load.html: Added. +* fast/viewport/ios/shrink-to-fit-content-temporary-overflow.html: + +Tweak this layout test to add the temporarily overflowing element after document load. + +2019-07-08 Wenson Hsieh + Unable to paste from Notes into Excel 365 spreadsheet https://bugs.webkit.org/show_bug.cgi?id=199565 Added: trunk/LayoutTests/fast/viewport/ios/shrink-to-fit-content-before-document-load-expected.txt (0 => 247223) --- trunk/LayoutTests/fast/viewport/ios/shrink-to-fit-content-before-document-load-expected.txt (rev 0) +++ trunk/LayoutTests/fast/viewport/ios/shrink-to-fit-content-before-document-load-expected.txt 2019-07-08 19:03:42 UTC (rev 247223) @@ -0,0 +1,11 @@ +Verifies that the shrink-to-fit heuristic is given a chance to run before document load finishes. This test requires WebKitTestRunner. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS innerWidth is 1280 +PASS visualViewport.scale.toFixed(2) is (screen.width / 1280).toFixed(2) +PASS successfullyParsed is true + +TEST COMPLETE + Added: trunk/LayoutTests/fast/viewport/ios/shrink-to-fit-content-before-document-load.html (0 => 247223) --- trunk/LayoutTests/fast/viewport/ios/shrink-to-fit-content-before-document-load.html (rev 0) +++ trunk/LayoutTests/fast/viewport/ios/shrink-to-fit-content-before-document-load.html 2019-07-08 19:03:42 UTC (rev 247223) @@ -0,0 +1,38 @@ + + + + + +body, html { +margin: 0; +width: 100%; +height: 100%; +} + +#bar { +width: 1280px; +height: 100px; +background:
[webkit-changes] [247222] trunk
Title: [247222] trunk Revision 247222 Author wenson_hs...@apple.com Date 2019-07-08 11:59:49 -0700 (Mon, 08 Jul 2019) Log Message Unable to paste from Notes into Excel 365 spreadsheet https://bugs.webkit.org/show_bug.cgi?id=199565 Reviewed by Chris Dumez. Source/WebCore: When pasting into Microsoft Excel 365, the copied data is all inserted into a single cell, even when copying a table. To understand why this happens, we first need to understand how Excel's logic for handling paste works. When tapping on the "Paste" button, Excel performs and expects the following: 1. Before triggering programmatic paste, move focus into a hidden contenteditable area specifically intended to capture pasted content. 2. Run a promise that resolves immediately; the promise callback restores focus to the originally focused element prior to (1). 3. Invoke programmatic paste using `document.execCommand("Paste")`. 4. The callback scheduled in step (2) then runs, restoring focus to the main editable element representing a table cell. However, what ends up happening is this: Steps (1)-(3): same as before. 4. We (WebKit) create a temporary Page for the purposes of sanitizing copied web content before exposing it to the paste handler. This involves creating and loading a document; when this is finished, we call into Document::finishedParsing which flushes the microtask queue. 5. This causes us to immediately run the microtask enqueued in step (2), which restores focus to the previously focused element (importantly, this is not the element that was focused in step (1)). 6. The paste commences, and inserts the sanitized fragment into the originally focused element rather than the content editable area intended to capture pasted content. Excel's script then gets confused, and does not end up using their special paste logic to handle the paste. The pasted content is instead just inserted as plain text in a cell. To address this, we simply prevent document load in the Page for web content sanitization from triggering a microtask checkpoint; this allows any scheduled main thread microtasks to be deferred until the next turn of the runloop. Test: editing/pasteboard/paste-does-not-fire-promises-while-sanitizing-web-content.html * dom/Document.cpp: (WebCore::Document::finishedParsing): Don't immediately dispatch microtasks when we finish document parsing, in the case where the page is intended only for web content sanitization, since this may end up executing script in the original document. As explained above, this causes compatibility issues when pasting in Excel. * editing/markup.cpp: (WebCore::createPageForSanitizingWebContent): When creating a page for sanitizing web content, mark it as such. * page/Page.h: Add a new flag to indicate that a Page is only intended for sanitizing web content. (WebCore::Page::setIsForSanitizingWebContent): (WebCore::Page::isForSanitizingWebContent const): LayoutTests: Add a test to verify that promises scheduled right before a programmatic paste resolve in the middle of the paste, while creating a document for web content sanitization. See WebCore ChangeLog for more details. * editing/pasteboard/paste-does-not-fire-promises-while-sanitizing-web-content-expected.txt: Added. * editing/pasteboard/paste-does-not-fire-promises-while-sanitizing-web-content.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/Document.cpp trunk/Source/WebCore/editing/markup.cpp trunk/Source/WebCore/page/Page.h Added Paths trunk/LayoutTests/editing/pasteboard/paste-does-not-fire-promises-while-sanitizing-web-content-expected.txt trunk/LayoutTests/editing/pasteboard/paste-does-not-fire-promises-while-sanitizing-web-content.html Diff Modified: trunk/LayoutTests/ChangeLog (247221 => 247222) --- trunk/LayoutTests/ChangeLog 2019-07-08 18:55:22 UTC (rev 247221) +++ trunk/LayoutTests/ChangeLog 2019-07-08 18:59:49 UTC (rev 247222) @@ -1,3 +1,17 @@ +2019-07-08 Wenson Hsieh + +Unable to paste from Notes into Excel 365 spreadsheet +https://bugs.webkit.org/show_bug.cgi?id=199565 + + +Reviewed by Chris Dumez. + +Add a test to verify that promises scheduled right before a programmatic paste resolve in the middle of the +paste, while creating a document for web content sanitization. See WebCore ChangeLog for more details. + +* editing/pasteboard/paste-does-not-fire-promises-while-sanitizing-web-content-expected.txt: Added. +* editing/pasteboard/paste-does-not-fire-promises-while-sanitizing-web-content.html: Added. + 2019-07-08 Chris Dumez Unable to play videos on xfinity.com/stream on macOS Catalina Added: trunk/LayoutTests/editing/pasteboard/paste-does-not-fire-promises-while-sanitizing-web-content-expected.txt (0 => 247222) ---
[webkit-changes] [247221] branches/safari-607-branch/Source/WebCore
Title: [247221] branches/safari-607-branch/Source/WebCore Revision 247221 Author alanc...@apple.com Date 2019-07-08 11:55:22 -0700 (Mon, 08 Jul 2019) Log Message Cherry-pick r246808. rdar://problem/52505041 Add didBecomePrototype() calls to global context prototypes https://bugs.webkit.org/show_bug.cgi?id=199202 Reviewed by Mark Lam. This fixes some crashes related to asserting that all prototypes have been marked as such in JSC from https://trac.webkit.org/changeset/246801. It's ok to call didBecomePrototype here as we setting up the world state right now so we won't be having a bad time. We don't automatically call didBecomePrototype() for setPrototypeWithoutTransition because existing objects may already have this structure so it seems more reasonable to be explicit there. * bindings/js/JSWindowProxy.cpp: (WebCore::JSWindowProxy::setWindow): * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::initScript): * worklets/WorkletScriptController.cpp: (WebCore::WorkletScriptController::initScriptWithSubclass): git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246808 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-607-branch/Source/WebCore/ChangeLog branches/safari-607-branch/Source/WebCore/bindings/js/JSWindowProxy.cpp branches/safari-607-branch/Source/WebCore/bindings/js/WorkerScriptController.cpp branches/safari-607-branch/Source/WebCore/worklets/WorkletScriptController.cpp Diff Modified: branches/safari-607-branch/Source/WebCore/ChangeLog (247220 => 247221) --- branches/safari-607-branch/Source/WebCore/ChangeLog 2019-07-08 18:44:15 UTC (rev 247220) +++ branches/safari-607-branch/Source/WebCore/ChangeLog 2019-07-08 18:55:22 UTC (rev 247221) @@ -1,3 +1,57 @@ +2019-07-08 Alan Coon + +Cherry-pick r246808. rdar://problem/52505041 + +Add didBecomePrototype() calls to global context prototypes +https://bugs.webkit.org/show_bug.cgi?id=199202 + +Reviewed by Mark Lam. + +This fixes some crashes related to asserting that all prototypes +have been marked as such in JSC from +https://trac.webkit.org/changeset/246801. It's ok to call +didBecomePrototype here as we setting up the world state right now +so we won't be having a bad time. + +We don't automatically call didBecomePrototype() for +setPrototypeWithoutTransition because existing objects may already +have this structure so it seems more reasonable to be explicit +there. + +* bindings/js/JSWindowProxy.cpp: +(WebCore::JSWindowProxy::setWindow): +* bindings/js/WorkerScriptController.cpp: +(WebCore::WorkerScriptController::initScript): +* worklets/WorkletScriptController.cpp: +(WebCore::WorkletScriptController::initScriptWithSubclass): + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246808 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-06-25 Keith Miller + +Add didBecomePrototype() calls to global context prototypes +https://bugs.webkit.org/show_bug.cgi?id=199202 + +Reviewed by Mark Lam. + +This fixes some crashes related to asserting that all prototypes +have been marked as such in JSC from +https://trac.webkit.org/changeset/246801. It's ok to call +didBecomePrototype here as we setting up the world state right now +so we won't be having a bad time. + +We don't automatically call didBecomePrototype() for +setPrototypeWithoutTransition because existing objects may already +have this structure so it seems more reasonable to be explicit +there. + +* bindings/js/JSWindowProxy.cpp: +(WebCore::JSWindowProxy::setWindow): +* bindings/js/WorkerScriptController.cpp: +(WebCore::WorkerScriptController::initScript): +* worklets/WorkletScriptController.cpp: +(WebCore::WorkletScriptController::initScriptWithSubclass): + 2019-07-02 Alan Coon Cherry-pick r247017. rdar://problem/52054321 Modified: branches/safari-607-branch/Source/WebCore/bindings/js/JSWindowProxy.cpp (247220 => 247221) --- branches/safari-607-branch/Source/WebCore/bindings/js/JSWindowProxy.cpp 2019-07-08 18:44:15 UTC (rev 247220) +++ branches/safari-607-branch/Source/WebCore/bindings/js/JSWindowProxy.cpp 2019-07-08 18:55:22 UTC (rev 247221) @@ -111,6 +111,7 @@ auto& propertiesStructure = *JSDOMWindowProperties::createStructure(vm, window, JSEventTarget::prototype(vm, *window)); auto& properties = *JSDOMWindowProperties::create(, *window); +properties.didBecomePrototype(); prototype->structure(vm)->setPrototypeWithoutTransition(vm, ); setWindow(vm, *window); Modified: branches/safari-607-branch/Source/WebCore/bindings/js/WorkerScriptController.cpp (247220 => 247221) ---
[webkit-changes] [247220] trunk/Source/WebCore
Title: [247220] trunk/Source/WebCore Revision 247220 Author annu...@yandex.ru Date 2019-07-08 11:44:15 -0700 (Mon, 08 Jul 2019) Log Message Remove unused #include "ImageBufferData.h" https://bugs.webkit.org/show_bug.cgi?id=199574 Reviewed by Michael Catanzaro. * html/canvas/ImageBitmapRenderingContext.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/canvas/ImageBitmapRenderingContext.h Diff Modified: trunk/Source/WebCore/ChangeLog (247219 => 247220) --- trunk/Source/WebCore/ChangeLog 2019-07-08 18:38:32 UTC (rev 247219) +++ trunk/Source/WebCore/ChangeLog 2019-07-08 18:44:15 UTC (rev 247220) @@ -1,3 +1,12 @@ +2019-07-08 Konstantin Tokarev + +Remove unused #include "ImageBufferData.h" +https://bugs.webkit.org/show_bug.cgi?id=199574 + +Reviewed by Michael Catanzaro. + +* html/canvas/ImageBitmapRenderingContext.h: + 2019-07-08 Chris Dumez Fix thread safety issue in Database::scheduleTransactionCallback() Modified: trunk/Source/WebCore/html/canvas/ImageBitmapRenderingContext.h (247219 => 247220) --- trunk/Source/WebCore/html/canvas/ImageBitmapRenderingContext.h 2019-07-08 18:38:32 UTC (rev 247219) +++ trunk/Source/WebCore/html/canvas/ImageBitmapRenderingContext.h 2019-07-08 18:44:15 UTC (rev 247220) @@ -29,7 +29,6 @@ #include "ExceptionOr.h" #include "ImageBitmapRenderingContextSettings.h" -#include "ImageBufferData.h" #include #include ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247219] trunk/Source/WebCore
Title: [247219] trunk/Source/WebCore Revision 247219 Author cdu...@apple.com Date 2019-07-08 11:38:32 -0700 (Mon, 08 Jul 2019) Log Message Fix thread safety issue in Database::scheduleTransactionCallback() https://bugs.webkit.org/show_bug.cgi?id=199557 Reviewed by Alex Christensen. I am working on adding threading assertions to WeakPtr and found a potentially unsafe call to makeWeakPtr() on a Document from Database::scheduleTransactionCallback() via Document::postTask(), on a background database thread. Document is a main thread object and we should therefore not be interacting with it from a background thread. For clarity, this patch also switches the webdatabase code to use Document instead of ScriptExecution as type since it is only exposed to Window contexts, not workers. * Modules/webdatabase/Database.cpp: (WebCore::Database::Database): (WebCore::Database::~Database): (WebCore::Database::runTransaction): (WebCore::Database::scheduleTransactionCallback): (WebCore::Database::logErrorMessage): (WebCore::Database::securityOrigin): (WebCore::Database::didExceedQuota): * Modules/webdatabase/Database.h: (WebCore::Database::document): * Modules/webdatabase/DatabaseContext.cpp: (WebCore::DatabaseContext::DatabaseContext): * Modules/webdatabase/DatabaseContext.h: * Modules/webdatabase/DatabaseManager.cpp: (WebCore::DatabaseManager::databaseContext): (WebCore::logOpenDatabaseError): (WebCore::DatabaseManager::openDatabaseBackend): (WebCore::DatabaseManager::tryToOpenDatabaseBackend): (WebCore::DatabaseManager::openDatabase): (WebCore::DatabaseManager::hasOpenDatabases): (WebCore::DatabaseManager::stopDatabases): (WebCore::DatabaseManager::logErrorMessage): * Modules/webdatabase/DatabaseManager.h: * Modules/webdatabase/SQLStatement.cpp: (WebCore::SQLStatement::SQLStatement): * Modules/webdatabase/SQLTransaction.cpp: (WebCore::SQLTransaction::SQLTransaction): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didOpenDatabase): * inspector/agents/InspectorDatabaseAgent.cpp: (WebCore::InspectorDatabaseAgent::executeSQL): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/webdatabase/Database.cpp trunk/Source/WebCore/Modules/webdatabase/Database.h trunk/Source/WebCore/Modules/webdatabase/DatabaseContext.cpp trunk/Source/WebCore/Modules/webdatabase/DatabaseContext.h trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.cpp trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.h trunk/Source/WebCore/Modules/webdatabase/SQLStatement.cpp trunk/Source/WebCore/Modules/webdatabase/SQLTransaction.cpp trunk/Source/WebCore/inspector/InspectorInstrumentation.h trunk/Source/WebCore/inspector/agents/InspectorDatabaseAgent.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (247218 => 247219) --- trunk/Source/WebCore/ChangeLog 2019-07-08 18:26:47 UTC (rev 247218) +++ trunk/Source/WebCore/ChangeLog 2019-07-08 18:38:32 UTC (rev 247219) @@ -1,5 +1,52 @@ 2019-07-08 Chris Dumez +Fix thread safety issue in Database::scheduleTransactionCallback() +https://bugs.webkit.org/show_bug.cgi?id=199557 + +Reviewed by Alex Christensen. + +I am working on adding threading assertions to WeakPtr and found a potentially +unsafe call to makeWeakPtr() on a Document from Database::scheduleTransactionCallback() +via Document::postTask(), on a background database thread. Document is a main thread +object and we should therefore not be interacting with it from a background thread. + +For clarity, this patch also switches the webdatabase code to use Document instead +of ScriptExecution as type since it is only exposed to Window contexts, not workers. + +* Modules/webdatabase/Database.cpp: +(WebCore::Database::Database): +(WebCore::Database::~Database): +(WebCore::Database::runTransaction): +(WebCore::Database::scheduleTransactionCallback): +(WebCore::Database::logErrorMessage): +(WebCore::Database::securityOrigin): +(WebCore::Database::didExceedQuota): +* Modules/webdatabase/Database.h: +(WebCore::Database::document): +* Modules/webdatabase/DatabaseContext.cpp: +(WebCore::DatabaseContext::DatabaseContext): +* Modules/webdatabase/DatabaseContext.h: +* Modules/webdatabase/DatabaseManager.cpp: +(WebCore::DatabaseManager::databaseContext): +(WebCore::logOpenDatabaseError): +(WebCore::DatabaseManager::openDatabaseBackend): +(WebCore::DatabaseManager::tryToOpenDatabaseBackend): +(WebCore::DatabaseManager::openDatabase): +(WebCore::DatabaseManager::hasOpenDatabases): +(WebCore::DatabaseManager::stopDatabases): +(WebCore::DatabaseManager::logErrorMessage): +* Modules/webdatabase/DatabaseManager.h: +* Modules/webdatabase/SQLStatement.cpp: +(WebCore::SQLStatement::SQLStatement): +*
[webkit-changes] [247218] trunk/Source
Title: [247218] trunk/Source Revision 247218 Author cdu...@apple.com Date 2019-07-08 11:26:47 -0700 (Mon, 08 Jul 2019) Log Message Add threading assertion to WTF::CompletionHandler https://bugs.webkit.org/show_bug.cgi?id=199516 Reviewed by Alex Christensen. Source/WebCore: Update some MessagePort-related code to use WTF::Function instead of WTF::CompletionHandler since the callback is always called on the main thread, even when it was created on a worker thread. Ideally, this code would be refactored so that the callback gets called on the worker thread directly. * dom/messageports/MessagePortChannel.cpp: (WebCore::MessagePortChannel::checkRemotePortForActivity): * dom/messageports/MessagePortChannel.h: * dom/messageports/MessagePortChannelProvider.h: * dom/messageports/MessagePortChannelProviderImpl.cpp: (WebCore::MessagePortChannelProviderImpl::checkRemotePortForActivity): * dom/messageports/MessagePortChannelProviderImpl.h: * dom/messageports/MessagePortChannelRegistry.cpp: (WebCore::MessagePortChannelRegistry::checkRemotePortForActivity): * dom/messageports/MessagePortChannelRegistry.h: Source/WebKit: Update some MessagePort-related code to use WTF::Function instead of WTF::CompletionHandler since the callback is always called on the main thread, even when it was created on a worker thread. Ideally, this code would be refactored so that the callback gets called on the worker thread directly. * UIProcess/UIMessagePortChannelProvider.cpp: (WebKit::UIMessagePortChannelProvider::checkRemotePortForActivity): * UIProcess/UIMessagePortChannelProvider.h: * WebProcess/WebCoreSupport/WebMessagePortChannelProvider.cpp: (WebKit::WebMessagePortChannelProvider::checkRemotePortForActivity): * WebProcess/WebCoreSupport/WebMessagePortChannelProvider.h: Source/WTF: Add threading assertion to WTF::CompletionHandler to try and catch common cases of unsafe usage (completion handler constructed on one thread but called on another). * wtf/CompletionHandler.h: (WTF::CompletionHandler Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/CompletionHandler.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/messageports/MessagePortChannel.cpp trunk/Source/WebCore/dom/messageports/MessagePortChannel.h trunk/Source/WebCore/dom/messageports/MessagePortChannelProvider.h trunk/Source/WebCore/dom/messageports/MessagePortChannelProviderImpl.cpp trunk/Source/WebCore/dom/messageports/MessagePortChannelProviderImpl.h trunk/Source/WebCore/dom/messageports/MessagePortChannelRegistry.cpp trunk/Source/WebCore/dom/messageports/MessagePortChannelRegistry.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/UIMessagePortChannelProvider.cpp trunk/Source/WebKit/UIProcess/UIMessagePortChannelProvider.h trunk/Source/WebKit/WebProcess/WebCoreSupport/WebMessagePortChannelProvider.cpp trunk/Source/WebKit/WebProcess/WebCoreSupport/WebMessagePortChannelProvider.h Diff Modified: trunk/Source/WTF/ChangeLog (247217 => 247218) --- trunk/Source/WTF/ChangeLog 2019-07-08 18:19:13 UTC (rev 247217) +++ trunk/Source/WTF/ChangeLog 2019-07-08 18:26:47 UTC (rev 247218) @@ -1,3 +1,17 @@ +2019-07-08 Chris Dumez + +Add threading assertion to WTF::CompletionHandler +https://bugs.webkit.org/show_bug.cgi?id=199516 + +Reviewed by Alex Christensen. + +Add threading assertion to WTF::CompletionHandler to try and catch common cases +of unsafe usage (completion handler constructed on one thread but called on +another). + +* wtf/CompletionHandler.h: +(WTF::CompletionHandler 2019-07-08 Antoine Quint [Pointer Events] Enable only on the most recent version of the supported iOS family Modified: trunk/Source/WTF/wtf/CompletionHandler.h (247217 => 247218) --- trunk/Source/WTF/wtf/CompletionHandler.h 2019-07-08 18:19:13 UTC (rev 247217) +++ trunk/Source/WTF/wtf/CompletionHandler.h 2019-07-08 18:26:47 UTC (rev 247218) @@ -26,6 +26,7 @@ #pragma once #include +#include namespace WTF { @@ -40,6 +41,9 @@ template::value>::type> CompletionHandler(CallableType&& callable) : m_function(WTFMove(callable)) +#if !ASSERT_DISABLED +, m_wasConstructedOnMainThread(isMainThread()) +#endif { } @@ -55,6 +59,7 @@ Out operator()(In... in) { +ASSERT(m_wasConstructedOnMainThread == isMainThread()); ASSERT_WITH_MESSAGE(m_function, "Completion handler should not be called more than once"); return std::exchange(m_function, nullptr)(std::forward(in)...); } @@ -61,6 +66,9 @@ private: Function m_function; +#if !ASSERT_DISABLED +bool m_wasConstructedOnMainThread; +#endif }; namespace Detail { Modified: trunk/Source/WebCore/ChangeLog (247217 => 247218) --- trunk/Source/WebCore/ChangeLog 2019-07-08 18:19:13 UTC (rev 247217) +++ trunk/Source/WebCore/ChangeLog 2019-07-08 18:26:47 UTC (rev 247218) @@ -1,3 +1,26 @@ +2019-07-08 Chris Dumez + +Add threading
[webkit-changes] [247217] branches/safari-608.1.34.0-branch/Source/WebKit
Title: [247217] branches/safari-608.1.34.0-branch/Source/WebKit Revision 247217 Author alanc...@apple.com Date 2019-07-08 11:19:13 -0700 (Mon, 08 Jul 2019) Log Message Cherry-pick r247192. rdar://problem/52563665 AX: CrashTracer: com.apple.WebKit.WebContent at WebKit: WebKit::WebSpeechSynthesisClient::speak https://bugs.webkit.org/show_bug.cgi?id=199435 Reviewed by Ryosuke Niwa. Ensure we don't access null observers in speech callbacks. * WebProcess/WebCoreSupport/WebSpeechSynthesisClient.cpp: (WebKit::WebSpeechSynthesisClient::voiceList): (WebKit::WebSpeechSynthesisClient::speak): (WebKit::WebSpeechSynthesisClient::pause): (WebKit::WebSpeechSynthesisClient::resume): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::speakingErrorOccurred): (WebKit::WebPage::boundaryEventOccurred): (WebKit::WebPage::voicesDidChange): git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247192 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-608.1.34.0-branch/Source/WebKit/ChangeLog branches/safari-608.1.34.0-branch/Source/WebKit/WebProcess/WebCoreSupport/WebSpeechSynthesisClient.cpp branches/safari-608.1.34.0-branch/Source/WebKit/WebProcess/WebCoreSupport/WebSpeechSynthesisClient.h branches/safari-608.1.34.0-branch/Source/WebKit/WebProcess/WebPage/WebPage.cpp Diff Modified: branches/safari-608.1.34.0-branch/Source/WebKit/ChangeLog (247216 => 247217) --- branches/safari-608.1.34.0-branch/Source/WebKit/ChangeLog 2019-07-08 18:17:24 UTC (rev 247216) +++ branches/safari-608.1.34.0-branch/Source/WebKit/ChangeLog 2019-07-08 18:19:13 UTC (rev 247217) @@ -1,3 +1,46 @@ +2019-07-08 Alan Coon + +Cherry-pick r247192. rdar://problem/52563665 + +AX: CrashTracer: com.apple.WebKit.WebContent at WebKit: WebKit::WebSpeechSynthesisClient::speak +https://bugs.webkit.org/show_bug.cgi?id=199435 + +Reviewed by Ryosuke Niwa. + +Ensure we don't access null observers in speech callbacks. + +* WebProcess/WebCoreSupport/WebSpeechSynthesisClient.cpp: +(WebKit::WebSpeechSynthesisClient::voiceList): +(WebKit::WebSpeechSynthesisClient::speak): +(WebKit::WebSpeechSynthesisClient::pause): +(WebKit::WebSpeechSynthesisClient::resume): +* WebProcess/WebPage/WebPage.cpp: +(WebKit::WebPage::speakingErrorOccurred): +(WebKit::WebPage::boundaryEventOccurred): +(WebKit::WebPage::voicesDidChange): + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247192 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2019-07-06 Chris Fleizach + +AX: CrashTracer: com.apple.WebKit.WebContent at WebKit: WebKit::WebSpeechSynthesisClient::speak +https://bugs.webkit.org/show_bug.cgi?id=199435 + +Reviewed by Ryosuke Niwa. + +Ensure we don't access null observers in speech callbacks. + +* WebProcess/WebCoreSupport/WebSpeechSynthesisClient.cpp: +(WebKit::WebSpeechSynthesisClient::voiceList): +(WebKit::WebSpeechSynthesisClient::speak): +(WebKit::WebSpeechSynthesisClient::pause): +(WebKit::WebSpeechSynthesisClient::resume): +* WebProcess/WebPage/WebPage.cpp: +(WebKit::WebPage::speakingErrorOccurred): +(WebKit::WebPage::boundaryEventOccurred): +(WebKit::WebPage::voicesDidChange): + 2019-07-05 Babak Shafiei Cherry-pick r247167. rdar://problem/52547473 Modified: branches/safari-608.1.34.0-branch/Source/WebKit/WebProcess/WebCoreSupport/WebSpeechSynthesisClient.cpp (247216 => 247217) --- branches/safari-608.1.34.0-branch/Source/WebKit/WebProcess/WebCoreSupport/WebSpeechSynthesisClient.cpp 2019-07-08 18:17:24 UTC (rev 247216) +++ branches/safari-608.1.34.0-branch/Source/WebKit/WebProcess/WebCoreSupport/WebSpeechSynthesisClient.cpp 2019-07-08 18:19:13 UTC (rev 247217) @@ -43,18 +43,25 @@ m_page.sendSync(Messages::WebPageProxy::SpeechSynthesisVoiceList(), voiceList); m_voices.clear(); -for (auto& voice : voiceList) { +for (auto& voice : voiceList) m_voices.append(WebCore::PlatformSpeechSynthesisVoice::create(voice.voiceURI, voice.name, voice.lang, voice.localService, voice.defaultLang)); - -} return m_voices; } +WebCore::SpeechSynthesisClientObserver* WebSpeechSynthesisClient::corePageObserver() const +{ +if (m_page.corePage() && m_page.corePage()->speechSynthesisClient() && m_page.corePage()->speechSynthesisClient()->observer()) +return m_page.corePage()->speechSynthesisClient()->observer().get(); +return nullptr; +} + void WebSpeechSynthesisClient::speak(RefPtr utterance) { WTF::CompletionHandler completionHandler = [this, weakThis = makeWeakPtr(*this)]() mutable { -if (weakThis) -m_page.corePage()->speechSynthesisClient()->observer()->didFinishSpeaking(); +if (!weakThis) +return; +if (auto observer =
[webkit-changes] [247215] trunk
Title: [247215] trunk Revision 247215 Author ctur...@igalia.com Date 2019-07-08 11:16:08 -0700 (Mon, 08 Jul 2019) Log Message REGRESSION(r243197): [GStreamer] Web process hangs when scrolling twitter timeline which contains HLS videos https://bugs.webkit.org/show_bug.cgi?id=197558 Reviewed by Xabier Rodriguez-Calvar. Source/WebCore: Not covered, I have a test locally that would probably trigger the deadlock if the network requests took a realistic amount of time, but from a local webserver the window of time to hit this deadlock is too narrow. * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: (webkit_web_src_init): Make the websrc start asynchronously, this allows the main thread to be free to complete resource loader setup. (webKitWebSrcCreate): Calling start() from the create() vfunc is a recipe for deadlock, since BaseSrc holds the streaming lock during seeks, and then calls create(). In these cases, we do not want to notify async-completion, since we've already completed from the necessarily preceeding start() vfunc, and calling it again would require the stream-lock and deadlock us. (webKitWebSrcStart): Refactor to use webKitWebSrcMakeRequest, but ensuring that we do perform an async-complete notification. (webKitWebSrcMakeRequest): What Start() used to be, but now can be toggled when to notify of async-completion. Start() no longer blocks, since the return value of initiating a resource loader is of no interest to the callers. (webKitWebSrcCloseSession): Similarly to Start(), we do not need to wait for the completion of cancelled net requests. Tools: On shutdown we can easily deadlock the web process if we don't ensure all network operations are completed before comitting state changes. In HLS, make sure the network operations are cancelled, and also prevent hlsdemux's retry logic from scuppering our efforts. * gstreamer/jhbuild.modules: Include the patch. * gstreamer/patches/gst-plugins-bad-do-not-retry-downloads-during-shutdown.patch: Added. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp trunk/Tools/ChangeLog trunk/Tools/gstreamer/jhbuild.modules Added Paths trunk/Tools/gstreamer/patches/gst-plugins-bad-do-not-retry-downloads-during-shutdown.patch Diff Modified: trunk/Source/WebCore/ChangeLog (247214 => 247215) --- trunk/Source/WebCore/ChangeLog 2019-07-08 18:14:23 UTC (rev 247214) +++ trunk/Source/WebCore/ChangeLog 2019-07-08 18:16:08 UTC (rev 247215) @@ -1,3 +1,34 @@ +2019-07-08 Charlie Turner + +REGRESSION(r243197): [GStreamer] Web process hangs when scrolling twitter timeline which contains HLS videos +https://bugs.webkit.org/show_bug.cgi?id=197558 + +Reviewed by Xabier Rodriguez-Calvar. + +Not covered, I have a test locally that would probably trigger the +deadlock if the network requests took a realistic amount of time, +but from a local webserver the window of time to hit this deadlock +is too narrow. + +* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: +(webkit_web_src_init): Make the websrc start asynchronously, this +allows the main thread to be free to complete resource loader +setup. +(webKitWebSrcCreate): Calling start() from the create() vfunc is a +recipe for deadlock, since BaseSrc holds the streaming lock during +seeks, and then calls create(). In these cases, we do not want to +notify async-completion, since we've already completed from the +necessarily preceeding start() vfunc, and calling it again would +require the stream-lock and deadlock us. +(webKitWebSrcStart): Refactor to use webKitWebSrcMakeRequest, but +ensuring that we do perform an async-complete notification. +(webKitWebSrcMakeRequest): What Start() used to be, but now can be +toggled when to notify of async-completion. Start() no longer +blocks, since the return value of initiating a resource loader is +of no interest to the callers. +(webKitWebSrcCloseSession): Similarly to Start(), we do not need +to wait for the completion of cancelled net requests. + 2019-07-08 Chris Dumez Unable to play videos on xfinity.com/stream on macOS Catalina Modified: trunk/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp (247214 => 247215) --- trunk/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp 2019-07-08 18:14:23 UTC (rev 247214) +++ trunk/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp 2019-07-08 18:16:08 UTC (rev 247215) @@ -156,6 +156,7 @@ static void webKitWebSrcGetProperty(GObject*, guint propertyID, GValue*, GParamSpec*); static GstStateChangeReturn webKitWebSrcChangeState(GstElement*, GstStateChange); static GstFlowReturn webKitWebSrcCreate(GstPushSrc*, GstBuffer**); +static gboolean
[webkit-changes] [247216] branches/safari-608.1.34.0-branch/Source
Title: [247216] branches/safari-608.1.34.0-branch/Source Revision 247216 Author alanc...@apple.com Date 2019-07-08 11:17:24 -0700 (Mon, 08 Jul 2019) Log Message Versioning. Modified Paths branches/safari-608.1.34.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig branches/safari-608.1.34.0-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig branches/safari-608.1.34.0-branch/Source/WebCore/Configurations/Version.xcconfig branches/safari-608.1.34.0-branch/Source/WebCore/PAL/Configurations/Version.xcconfig branches/safari-608.1.34.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig branches/safari-608.1.34.0-branch/Source/WebKit/Configurations/Version.xcconfig branches/safari-608.1.34.0-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig Diff Modified: branches/safari-608.1.34.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig (247215 => 247216) --- branches/safari-608.1.34.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2019-07-08 18:16:08 UTC (rev 247215) +++ branches/safari-608.1.34.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2019-07-08 18:17:24 UTC (rev 247216) @@ -25,8 +25,8 @@ MINOR_VERSION = 1; TINY_VERSION = 34; MICRO_VERSION = 0; -NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +NANO_VERSION = 1; +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); Modified: branches/safari-608.1.34.0-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (247215 => 247216) --- branches/safari-608.1.34.0-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2019-07-08 18:16:08 UTC (rev 247215) +++ branches/safari-608.1.34.0-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2019-07-08 18:17:24 UTC (rev 247216) @@ -25,8 +25,8 @@ MINOR_VERSION = 1; TINY_VERSION = 34; MICRO_VERSION = 0; -NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +NANO_VERSION = 1; +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); Modified: branches/safari-608.1.34.0-branch/Source/WebCore/Configurations/Version.xcconfig (247215 => 247216) --- branches/safari-608.1.34.0-branch/Source/WebCore/Configurations/Version.xcconfig 2019-07-08 18:16:08 UTC (rev 247215) +++ branches/safari-608.1.34.0-branch/Source/WebCore/Configurations/Version.xcconfig 2019-07-08 18:17:24 UTC (rev 247216) @@ -25,8 +25,8 @@ MINOR_VERSION = 1; TINY_VERSION = 34; MICRO_VERSION = 0; -NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +NANO_VERSION = 1; +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); Modified: branches/safari-608.1.34.0-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (247215 => 247216) --- branches/safari-608.1.34.0-branch/Source/WebCore/PAL/Configurations/Version.xcconfig 2019-07-08 18:16:08 UTC (rev 247215) +++ branches/safari-608.1.34.0-branch/Source/WebCore/PAL/Configurations/Version.xcconfig 2019-07-08 18:17:24 UTC (rev 247216) @@ -25,8 +25,8 @@ MINOR_VERSION = 1; TINY_VERSION = 34; MICRO_VERSION = 0; -NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +NANO_VERSION = 1; +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); Modified: branches/safari-608.1.34.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (247215 => 247216) --- branches/safari-608.1.34.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig 2019-07-08 18:16:08 UTC (rev 247215) +++ branches/safari-608.1.34.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig 2019-07-08 18:17:24 UTC (rev 247216) @@ -2,8 +2,8 @@ MINOR_VERSION = 1; TINY_VERSION = 34; MICRO_VERSION = 0; -NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +NANO_VERSION = 1; +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION); // The system version prefix is based on the current system version. SYSTEM_VERSION_PREFIX[sdk=iphone*] = 8; Modified: branches/safari-608.1.34.0-branch/Source/WebKit/Configurations/Version.xcconfig (247215 => 247216)
[webkit-changes] [247213] trunk
Title: [247213] trunk Revision 247213 Author cdu...@apple.com Date 2019-07-08 11:14:21 -0700 (Mon, 08 Jul 2019) Log Message Unable to play videos on xfinity.com/stream on macOS Catalina https://bugs.webkit.org/show_bug.cgi?id=199576 Reviewed by Alex Christensen. Source/WebCore: Enable invalidate Fetch signal quirk for all sites as the blacklist is getting too large and we are finding too much breakage too late in the release cycle. * Modules/fetch/FetchRequest.cpp: (WebCore::processInvalidSignal): * page/Quirks.cpp: (WebCore::Quirks::shouldIgnoreInvalidSignal const): LayoutTests: Rebaseline existing test. * http/wpt/fetch/request-abort-expected.txt: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/http/wpt/fetch/request-abort-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/fetch/FetchRequest.cpp trunk/Source/WebCore/page/Quirks.cpp Diff Modified: trunk/LayoutTests/ChangeLog (247212 => 247213) --- trunk/LayoutTests/ChangeLog 2019-07-08 18:00:33 UTC (rev 247212) +++ trunk/LayoutTests/ChangeLog 2019-07-08 18:14:21 UTC (rev 247213) @@ -1,3 +1,15 @@ +2019-07-08 Chris Dumez + +Unable to play videos on xfinity.com/stream on macOS Catalina +https://bugs.webkit.org/show_bug.cgi?id=199576 + + +Reviewed by Alex Christensen. + +Rebaseline existing test. + +* http/wpt/fetch/request-abort-expected.txt: + 2019-07-08 Antoine Quint [Pointer Events] "touch-action: none" does not prevent double-tap-to-zoom Modified: trunk/LayoutTests/http/wpt/fetch/request-abort-expected.txt (247212 => 247213) --- trunk/LayoutTests/http/wpt/fetch/request-abort-expected.txt 2019-07-08 18:00:33 UTC (rev 247212) +++ trunk/LayoutTests/http/wpt/fetch/request-abort-expected.txt 2019-07-08 18:14:21 UTC (rev 247213) @@ -1,5 +1,5 @@ -CONSOLE MESSAGE: line 14: FetchRequestInit.signal should be undefined, null or an AbortSignal object. -CONSOLE MESSAGE: line 28: FetchRequestInit.signal should be undefined, null or an AbortSignal object. +CONSOLE MESSAGE: line 14: FetchRequestInit.signal should be undefined, null or an AbortSignal object. This will throw in a future release. +CONSOLE MESSAGE: line 28: FetchRequestInit.signal should be undefined, null or an AbortSignal object. This will throw in a future release. PASS Request from URL with signal PASS Request from request with signal Modified: trunk/Source/WebCore/ChangeLog (247212 => 247213) --- trunk/Source/WebCore/ChangeLog 2019-07-08 18:00:33 UTC (rev 247212) +++ trunk/Source/WebCore/ChangeLog 2019-07-08 18:14:21 UTC (rev 247213) @@ -1,3 +1,19 @@ +2019-07-08 Chris Dumez + +Unable to play videos on xfinity.com/stream on macOS Catalina +https://bugs.webkit.org/show_bug.cgi?id=199576 + + +Reviewed by Alex Christensen. + +Enable invalidate Fetch signal quirk for all sites as the blacklist is getting too large and +we are finding too much breakage too late in the release cycle. + +* Modules/fetch/FetchRequest.cpp: +(WebCore::processInvalidSignal): +* page/Quirks.cpp: +(WebCore::Quirks::shouldIgnoreInvalidSignal const): + 2019-07-08 Youenn Fablet MediaStreamTrackPrivate should always call readyStateChanged on the main thread Modified: trunk/Source/WebCore/Modules/fetch/FetchRequest.cpp (247212 => 247213) --- trunk/Source/WebCore/Modules/fetch/FetchRequest.cpp 2019-07-08 18:00:33 UTC (rev 247212) +++ trunk/Source/WebCore/Modules/fetch/FetchRequest.cpp 2019-07-08 18:14:21 UTC (rev 247213) @@ -147,7 +147,7 @@ static inline Optional processInvalidSignal(ScriptExecutionContext& context) { -ASCIILiteral message { "FetchRequestInit.signal should be undefined, null or an AbortSignal object."_s }; +ASCIILiteral message { "FetchRequestInit.signal should be undefined, null or an AbortSignal object. This will throw in a future release."_s }; context.addConsoleMessage(MessageSource::JS, MessageLevel::Warning, message); if (is(context) && downcast(context).quirks().shouldIgnoreInvalidSignal()) Modified: trunk/Source/WebCore/page/Quirks.cpp (247212 => 247213) --- trunk/Source/WebCore/page/Quirks.cpp 2019-07-08 18:00:33 UTC (rev 247212) +++ trunk/Source/WebCore/page/Quirks.cpp 2019-07-08 18:14:21 UTC (rev 247213) @@ -90,13 +90,7 @@ bool Quirks::shouldIgnoreInvalidSignal() const { -if (!needsQuirks()) -return false; - -auto host = m_document->topDocument().url().host(); -return equalLettersIgnoringASCIICase(host, "www.thrivepatientportal.com") -|| equalLettersIgnoringASCIICase(host, "www.bnz.co.nz") -|| equalLettersIgnoringASCIICase(host, "www.carvana.com"); +return needsQuirks(); } bool Quirks::needsFormControlToBeMouseFocusable() const ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247214] branches/safari-608.1.34.0-branch/
Title: [247214] branches/safari-608.1.34.0-branch/ Revision 247214 Author alanc...@apple.com Date 2019-07-08 11:14:23 -0700 (Mon, 08 Jul 2019) Log Message New branch. Added Paths branches/safari-608.1.34.0-branch/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247212] trunk
Title: [247212] trunk Revision 247212 Author grao...@webkit.org Date 2019-07-08 11:00:33 -0700 (Mon, 08 Jul 2019) Log Message [Pointer Events] "touch-action: none" does not prevent double-tap-to-zoom https://bugs.webkit.org/show_bug.cgi?id=199571 Reviewed by Wenson Hsieh. Source/WebKit: We add a new WKTouchActionGestureRecognizerDelegate method to check whether a gesture recognizer may lead to zooming the page as a result of double-tapping, which can be caused by two different gesture recognizers managed by WKContentViewInteraction. If that delegate method returns true and we have "touch-action: none" set for this touch, we cause those gesture recognizers to fail and prevent double-tap-to-zoom behavior. * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView gestureRecognizerMayDoubleTapToZoomWebView:]): * UIProcess/ios/WKTouchActionGestureRecognizer.h: * UIProcess/ios/WKTouchActionGestureRecognizer.mm: (-[WKTouchActionGestureRecognizer canPreventGestureRecognizer:]): LayoutTests: Add two new tests that check that setting "touch-action: none" on an element does not allow double-tap-to-zoom and that "touch-action: manipulation" allows it. * pointerevents/ios/touch-action-manipulation-double-tap-to-zoom-expected.txt: Added. * pointerevents/ios/touch-action-manipulation-double-tap-to-zoom.html: Added. * pointerevents/ios/touch-action-none-double-tap-to-zoom-expected.txt: Added. * pointerevents/ios/touch-action-none-double-tap-to-zoom.html: Added. * pointerevents/utils.js: (const.ui.new.UIController.prototype.doubleTapToZoom): Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/pointerevents/utils.js trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm trunk/Source/WebKit/UIProcess/ios/WKTouchActionGestureRecognizer.h trunk/Source/WebKit/UIProcess/ios/WKTouchActionGestureRecognizer.mm Added Paths trunk/LayoutTests/pointerevents/ios/touch-action-manipulation-double-tap-to-zoom-expected.txt trunk/LayoutTests/pointerevents/ios/touch-action-manipulation-double-tap-to-zoom.html trunk/LayoutTests/pointerevents/ios/touch-action-none-double-tap-to-zoom-expected.txt trunk/LayoutTests/pointerevents/ios/touch-action-none-double-tap-to-zoom.html Diff Modified: trunk/LayoutTests/ChangeLog (247211 => 247212) --- trunk/LayoutTests/ChangeLog 2019-07-08 17:46:27 UTC (rev 247211) +++ trunk/LayoutTests/ChangeLog 2019-07-08 18:00:33 UTC (rev 247212) @@ -1,3 +1,21 @@ +2019-07-08 Antoine Quint + +[Pointer Events] "touch-action: none" does not prevent double-tap-to-zoom +https://bugs.webkit.org/show_bug.cgi?id=199571 + + +Reviewed by Wenson Hsieh. + +Add two new tests that check that setting "touch-action: none" on an element does not allow double-tap-to-zoom +and that "touch-action: manipulation" allows it. + +* pointerevents/ios/touch-action-manipulation-double-tap-to-zoom-expected.txt: Added. +* pointerevents/ios/touch-action-manipulation-double-tap-to-zoom.html: Added. +* pointerevents/ios/touch-action-none-double-tap-to-zoom-expected.txt: Added. +* pointerevents/ios/touch-action-none-double-tap-to-zoom.html: Added. +* pointerevents/utils.js: +(const.ui.new.UIController.prototype.doubleTapToZoom): + 2019-07-08 Charlie Turner [GStreamer] media/video-volume.html broken after switching from cubic to linear scaling Added: trunk/LayoutTests/pointerevents/ios/touch-action-manipulation-double-tap-to-zoom-expected.txt (0 => 247212) --- trunk/LayoutTests/pointerevents/ios/touch-action-manipulation-double-tap-to-zoom-expected.txt (rev 0) +++ trunk/LayoutTests/pointerevents/ios/touch-action-manipulation-double-tap-to-zoom-expected.txt 2019-07-08 18:00:33 UTC (rev 247212) @@ -0,0 +1,3 @@ + +PASS Testing that setting touch-action: manipulation on an element allows double tap to zoom. + Added: trunk/LayoutTests/pointerevents/ios/touch-action-manipulation-double-tap-to-zoom.html (0 => 247212) --- trunk/LayoutTests/pointerevents/ios/touch-action-manipulation-double-tap-to-zoom.html (rev 0) +++ trunk/LayoutTests/pointerevents/ios/touch-action-manipulation-double-tap-to-zoom.html 2019-07-08 18:00:33 UTC (rev 247212) @@ -0,0 +1,33 @@ + + + + + + + + + +'use strict'; + +target_test({ width: "200px", height: "200px" }, (target, test) => { +document.body.style.width = "2000px"; +document.body.style.height = "2000px"; + +target.style.touchAction = "manipulation"; + +requestAnimationFrame(() => { +const initialPageScaleFactor = window.internals.pageScaleFactor(); +ui.doubleTapToZoom({ x: 10, y: 10 }).then(() => { +assert_not_equals(window.internals.pageScaleFactor(), initialPageScaleFactor, "The page was scaled."); +test.done(); +}); +}) + +}, "Testing that setting touch-action: manipulation on an element allows double tap to zoom."); +
[webkit-changes] [247211] trunk/Source/WebCore
Title: [247211] trunk/Source/WebCore Revision 247211 Author you...@apple.com Date 2019-07-08 10:46:27 -0700 (Mon, 08 Jul 2019) Log Message MediaStreamTrackPrivate should always call readyStateChanged on the main thread https://bugs.webkit.org/show_bug.cgi?id=199538 Reviewed by Eric Carlson. MediaStreamTrackPrivate is sometimes calling readyStateChanged in a background thread inside its audioSamplesAvailable method. Instead of doing that, we hop to the main thread to call readyStateChanged. Once the call is made in the main thread, MediaStreamTrackPrivate will send the audio samples to its observers. To make mock audio source closer to real capture audio sources, audioSamplesAvailable is called on a background thread. RealtimeMediaSource is updated to always be destroyed in the main run loop since it is WebKit2 only. Covered by existing tests and making sure the mock audio source calls the audioSamplesAvailable method on a background thread. * platform/mediastream/MediaStreamTrackPrivate.cpp: (WebCore::MediaStreamTrackPrivate::videoSampleAvailable): (WebCore::MediaStreamTrackPrivate::audioSamplesAvailable): * platform/mediastream/MediaStreamTrackPrivate.h: * platform/mediastream/RealtimeMediaSource.cpp: (WebCore::RealtimeMediaSource::scheduleDeferredTask): scheduleDeferredTask may be called from a background thread. It is thus safer to ref the source instead of creating a weak pointer. * platform/mediastream/RealtimeMediaSource.h: * platform/mediastream/mac/MockRealtimeAudioSourceMac.mm: (WebCore::MockRealtimeAudioSourceMac::MockRealtimeAudioSourceMac): (WebCore::MockRealtimeAudioSourceMac::emitSampleBuffers): (WebCore::MockRealtimeAudioSourceMac::reconfigure): (WebCore::MockRealtimeAudioSourceMac::render): (WebCore::MockRealtimeAudioSourceMac::settingsDidChange): * platform/mock/MockRealtimeAudioSource.cpp: (WebCore::MockRealtimeAudioSource::MockRealtimeAudioSource): (WebCore::MockRealtimeAudioSource::tick): * platform/mock/MockRealtimeAudioSource.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.cpp trunk/Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.h trunk/Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp trunk/Source/WebCore/platform/mediastream/RealtimeMediaSource.h trunk/Source/WebCore/platform/mediastream/mac/MockRealtimeAudioSourceMac.mm trunk/Source/WebCore/platform/mock/MockRealtimeAudioSource.cpp trunk/Source/WebCore/platform/mock/MockRealtimeAudioSource.h Diff Modified: trunk/Source/WebCore/ChangeLog (247210 => 247211) --- trunk/Source/WebCore/ChangeLog 2019-07-08 16:51:28 UTC (rev 247210) +++ trunk/Source/WebCore/ChangeLog 2019-07-08 17:46:27 UTC (rev 247211) @@ -1,5 +1,47 @@ 2019-07-08 Youenn Fablet +MediaStreamTrackPrivate should always call readyStateChanged on the main thread +https://bugs.webkit.org/show_bug.cgi?id=199538 + + +Reviewed by Eric Carlson. + +MediaStreamTrackPrivate is sometimes calling readyStateChanged in a +background thread inside its audioSamplesAvailable method. +Instead of doing that, we hop to the main thread to call readyStateChanged. +Once the call is made in the main thread, MediaStreamTrackPrivate will +send the audio samples to its observers. + +To make mock audio source closer to real capture audio sources, +audioSamplesAvailable is called on a background thread. +RealtimeMediaSource is updated to always be destroyed in the main +run loop since it is WebKit2 only. + +Covered by existing tests and making sure the mock audio source calls +the audioSamplesAvailable method on a background thread. + +* platform/mediastream/MediaStreamTrackPrivate.cpp: +(WebCore::MediaStreamTrackPrivate::videoSampleAvailable): +(WebCore::MediaStreamTrackPrivate::audioSamplesAvailable): +* platform/mediastream/MediaStreamTrackPrivate.h: +* platform/mediastream/RealtimeMediaSource.cpp: +(WebCore::RealtimeMediaSource::scheduleDeferredTask): +scheduleDeferredTask may be called from a background thread. +It is thus safer to ref the source instead of creating a weak pointer. +* platform/mediastream/RealtimeMediaSource.h: +* platform/mediastream/mac/MockRealtimeAudioSourceMac.mm: +(WebCore::MockRealtimeAudioSourceMac::MockRealtimeAudioSourceMac): +(WebCore::MockRealtimeAudioSourceMac::emitSampleBuffers): +(WebCore::MockRealtimeAudioSourceMac::reconfigure): +(WebCore::MockRealtimeAudioSourceMac::render): +(WebCore::MockRealtimeAudioSourceMac::settingsDidChange): +* platform/mock/MockRealtimeAudioSource.cpp: +(WebCore::MockRealtimeAudioSource::MockRealtimeAudioSource): +(WebCore::MockRealtimeAudioSource::tick): +* platform/mock/MockRealtimeAudioSource.h: + +2019-07-08 Youenn Fablet + Register a
[webkit-changes] [247210] trunk/Source/WebKit
Title: [247210] trunk/Source/WebKit Revision 247210 Author pvol...@apple.com Date 2019-07-08 09:51:28 -0700 (Mon, 08 Jul 2019) Log Message [iOS] WebContent processes should not globally allow mach lookup to the AX server. https://bugs.webkit.org/show_bug.cgi?id=199386 Reviewed by Chris Fleizach. Instead, a mach extension for this service should be issued to the WebContent process. This has already been implemented. * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb Diff Modified: trunk/Source/WebKit/ChangeLog (247209 => 247210) --- trunk/Source/WebKit/ChangeLog 2019-07-08 16:40:02 UTC (rev 247209) +++ trunk/Source/WebKit/ChangeLog 2019-07-08 16:51:28 UTC (rev 247210) @@ -1,3 +1,15 @@ +2019-07-08 Per Arne Vollan + +[iOS] WebContent processes should not globally allow mach lookup to the AX server. +https://bugs.webkit.org/show_bug.cgi?id=199386 + + +Reviewed by Chris Fleizach. + +Instead, a mach extension for this service should be issued to the WebContent process. This has already been implemented. + +* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: + 2019-07-08 Claudio Saavedra REGRESSION(r246671): [WPE][GTK] Crash in NetworkProcess since the DNS cache landed Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb (247209 => 247210) --- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb 2019-07-08 16:40:02 UTC (rev 247209) +++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb 2019-07-08 16:51:28 UTC (rev 247210) @@ -71,8 +71,6 @@ (allow mach-register (local-name "com.apple.iphone.axserver")) ; Needed for Application Accessibility -(allow mach-lookup -(global-name "com.apple.iphone.axserver-systemwide")) ; Needed to send accessibility notifications. ;; Access to high quality speech voices ;; Needed for WebSpeech ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247209] trunk/Source/WebKit
Title: [247209] trunk/Source/WebKit Revision 247209 Author csaave...@igalia.com Date 2019-07-08 09:40:02 -0700 (Mon, 08 Jul 2019) Log Message REGRESSION(r246671): [WPE][GTK] Crash in NetworkProcess since the DNS cache landed https://bugs.webkit.org/show_bug.cgi?id=199572 Reviewed by Michael Catanzaro. The GError coming from the wrapped resolver shouldn't be freed, but passed onto the caller. * NetworkProcess/glib/WebKitCachedResolver.cpp: (webkitCachedResolverLookupByNameAsync): (webkitCachedResolverLookupByNameWithFlagsAsync): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/glib/WebKitCachedResolver.cpp Diff Modified: trunk/Source/WebKit/ChangeLog (247208 => 247209) --- trunk/Source/WebKit/ChangeLog 2019-07-08 16:25:55 UTC (rev 247208) +++ trunk/Source/WebKit/ChangeLog 2019-07-08 16:40:02 UTC (rev 247209) @@ -1,3 +1,17 @@ +2019-07-08 Claudio Saavedra + +REGRESSION(r246671): [WPE][GTK] Crash in NetworkProcess since the DNS cache landed +https://bugs.webkit.org/show_bug.cgi?id=199572 + +Reviewed by Michael Catanzaro. + +The GError coming from the wrapped resolver shouldn't be freed, +but passed onto the caller. + +* NetworkProcess/glib/WebKitCachedResolver.cpp: +(webkitCachedResolverLookupByNameAsync): +(webkitCachedResolverLookupByNameWithFlagsAsync): + 2019-07-07 Antoine Quint [Pointer Events] touch-action should affect the behavior of pinch-to-zoom to show tabs in Safari Modified: trunk/Source/WebKit/NetworkProcess/glib/WebKitCachedResolver.cpp (247208 => 247209) --- trunk/Source/WebKit/NetworkProcess/glib/WebKitCachedResolver.cpp 2019-07-08 16:25:55 UTC (rev 247208) +++ trunk/Source/WebKit/NetworkProcess/glib/WebKitCachedResolver.cpp 2019-07-08 16:40:02 UTC (rev 247209) @@ -108,7 +108,7 @@ priv->cache.update(asyncData->hostname, addressListGListToVector(addressList)); g_task_return_pointer(task.get(), addressList, reinterpret_cast(g_resolver_free_addresses)); } else -g_task_return_error(task.get(), error.get()); +g_task_return_error(task.get(), error.release().release()); }, task.leakRef()); } @@ -170,7 +170,7 @@ priv->cache.update(asyncData->hostname, addressListGListToVector(addressList), asyncData->dnsCacheType); g_task_return_pointer(task.get(), addressList, reinterpret_cast(g_resolver_free_addresses)); } else -g_task_return_error(task.get(), error.get()); +g_task_return_error(task.get(), error.release().release()); }, task.leakRef()); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247208] trunk/Source/WebCore
Title: [247208] trunk/Source/WebCore Revision 247208 Author you...@apple.com Date 2019-07-08 09:25:55 -0700 (Mon, 08 Jul 2019) Log Message Register a MediaStreamTrack as media producer only if it is a capture track https://bugs.webkit.org/show_bug.cgi?id=199566 Reviewed by Eric Carlson. MediaStreamTrack registration as a media producer is only useful for capture tracks. Otherwise, the audio/video playing state is computed through HTMLMediaElement. Do not register MediaStreamTrack as a media producer if it is not a capture track. Set the muted state of the track before registering it as an audio producer. Otherwise, it might create unnecessary small change of playing state. Covered by existing tests. * Modules/mediastream/MediaStreamTrack.cpp: (WebCore::MediaStreamTrack::MediaStreamTrack): (WebCore::MediaStreamTrack::~MediaStreamTrack): * Modules/mediastream/MediaStreamTrack.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.h Diff Modified: trunk/Source/WebCore/ChangeLog (247207 => 247208) --- trunk/Source/WebCore/ChangeLog 2019-07-08 11:47:13 UTC (rev 247207) +++ trunk/Source/WebCore/ChangeLog 2019-07-08 16:25:55 UTC (rev 247208) @@ -1,3 +1,23 @@ +2019-07-08 Youenn Fablet + +Register a MediaStreamTrack as media producer only if it is a capture track +https://bugs.webkit.org/show_bug.cgi?id=199566 + +Reviewed by Eric Carlson. + +MediaStreamTrack registration as a media producer is only useful for capture tracks. +Otherwise, the audio/video playing state is computed through HTMLMediaElement. +Do not register MediaStreamTrack as a media producer if it is not a capture track. + +Set the muted state of the track before registering it as an audio +producer. Otherwise, it might create unnecessary small change of playing state. +Covered by existing tests. + +* Modules/mediastream/MediaStreamTrack.cpp: +(WebCore::MediaStreamTrack::MediaStreamTrack): +(WebCore::MediaStreamTrack::~MediaStreamTrack): +* Modules/mediastream/MediaStreamTrack.h: + 2019-07-08 Antoine Quint [Pointer Events] Enable only on the most recent version of the supported iOS family Modified: trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp (247207 => 247208) --- trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp 2019-07-08 11:47:13 UTC (rev 247207) +++ trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp 2019-07-08 16:25:55 UTC (rev 247208) @@ -66,10 +66,13 @@ m_private->addObserver(*this); +if (!isCaptureTrack()) +return; + if (auto document = this->document()) { +if (document->page() && document->page()->mutedState()) +setMuted(document->page()->mutedState()); document->addAudioProducer(*this); -if (isCaptureTrack() && document->page() && document->page()->mutedState()) -setMuted(document->page()->mutedState()); } } @@ -77,6 +80,9 @@ { m_private->removeObserver(*this); +if (!isCaptureTrack()) +return; + if (auto document = this->document()) document->removeAudioProducer(*this); } Modified: trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.h (247207 => 247208) --- trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.h 2019-07-08 11:47:13 UTC (rev 247207) +++ trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.h 2019-07-08 16:25:55 UTC (rev 247208) @@ -199,7 +199,7 @@ GenericTaskQueue m_eventTaskQueue; bool m_ended { false }; -bool m_isCaptureTrack { false }; +const bool m_isCaptureTrack { false }; }; typedef Vector> MediaStreamTrackVector; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247207] trunk/LayoutTests
Title: [247207] trunk/LayoutTests Revision 247207 Author ctur...@igalia.com Date 2019-07-08 04:47:13 -0700 (Mon, 08 Jul 2019) Log Message [GStreamer] media/video-volume.html broken after switching from cubic to linear scaling https://bugs.webkit.org/show_bug.cgi?id=199505 Reviewed by Xabier Rodriguez-Calvar. PulseAudio has a conversion process from volume's in double-precision to uint32_t volumes. Depending on the environment can introduce rounding errors. Be more lenient in our comparison code. * media/video-volume-expected.txt: Update baseline * media/video-volume.html: Compare volume values within a reasonable tolerance. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/media/video-volume-expected.txt trunk/LayoutTests/media/video-volume.html Diff Modified: trunk/LayoutTests/ChangeLog (247206 => 247207) --- trunk/LayoutTests/ChangeLog 2019-07-08 11:26:24 UTC (rev 247206) +++ trunk/LayoutTests/ChangeLog 2019-07-08 11:47:13 UTC (rev 247207) @@ -1,3 +1,19 @@ +2019-07-08 Charlie Turner + +[GStreamer] media/video-volume.html broken after switching from cubic to linear scaling +https://bugs.webkit.org/show_bug.cgi?id=199505 + +Reviewed by Xabier Rodriguez-Calvar. + +PulseAudio has a conversion process from volume's in +double-precision to uint32_t volumes. Depending on the environment +can introduce rounding errors. Be more lenient in our comparison +code. + +* media/video-volume-expected.txt: Update baseline +* media/video-volume.html: Compare volume values within a +reasonable tolerance. + 2019-07-08 Antoine Quint [Pointer Events] Enable only on the most recent version of the supported iOS family Modified: trunk/LayoutTests/media/video-volume-expected.txt (247206 => 247207) --- trunk/LayoutTests/media/video-volume-expected.txt 2019-07-08 11:26:24 UTC (rev 247206) +++ trunk/LayoutTests/media/video-volume-expected.txt 2019-07-08 11:47:13 UTC (rev 247207) @@ -1,18 +1,18 @@ Test 'volume' attribute -EXPECTED (video.volume == '1') OK +EXPECTED (compareWithTolerance(video.volume, 1.0) == 'true') OK RUN(video.volume = 0.5) -EXPECTED (video.volume == '0.5') OK +EXPECTED (compareWithTolerance(video.volume, 0.5) == 'true') OK RUN(video.volume = 0) -EXPECTED (video.volume == '0') OK +EXPECTED (compareWithTolerance(video.volume, 0) == 'true') OK TEST(video.volume = 1.5) THROWS(DOMException.INDEX_SIZE_ERR) OK TEST(video.volume = -0.5) THROWS(DOMException.INDEX_SIZE_ERR) OK RUN(video.load()) EVENT(canplaythrough) -EXPECTED (video.volume == '0') OK +EXPECTED (compareWithTolerance(video.volume, 0) == 'true') OK RUN(video.volume = 0.5) -EXPECTED (video.volume == '0.5') OK +EXPECTED (compareWithTolerance(video.volume, 0.5) == 'true') OK TEST(video.volume = 1.5) THROWS(DOMException.INDEX_SIZE_ERR) OK TEST(video.volume = -0.5) THROWS(DOMException.INDEX_SIZE_ERR) OK END OF TEST Modified: trunk/LayoutTests/media/video-volume.html (247206 => 247207) --- trunk/LayoutTests/media/video-volume.html 2019-07-08 11:26:24 UTC (rev 247206) +++ trunk/LayoutTests/media/video-volume.html 2019-07-08 11:47:13 UTC (rev 247207) @@ -3,19 +3,23 @@
[webkit-changes] [247206] trunk/Source/WebKit
Title: [247206] trunk/Source/WebKit Revision 247206 Author grao...@webkit.org Date 2019-07-08 04:26:24 -0700 (Mon, 08 Jul 2019) Log Message [Pointer Events] touch-action should affect the behavior of pinch-to-zoom to show tabs in Safari https://bugs.webkit.org/show_bug.cgi?id=199560 Reviewed by Dean Jackson. There are other UIPinchGestureRecognizer objects that may lead to pinch-to-zoom behavior, for instance pinching out to show open tabs in Safari on iOS. We add a new WKUIDelegatePrivate method that will allow Safari to indicate that a UIPinchGestureRecognizer considered for prevention would lead to pinch-to-zoom behavior. * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView gestureRecognizerMayPinchToZoomWebView:]): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm Diff Modified: trunk/Source/WebKit/ChangeLog (247205 => 247206) --- trunk/Source/WebKit/ChangeLog 2019-07-08 11:22:06 UTC (rev 247205) +++ trunk/Source/WebKit/ChangeLog 2019-07-08 11:26:24 UTC (rev 247206) @@ -1,3 +1,19 @@ +2019-07-07 Antoine Quint + +[Pointer Events] touch-action should affect the behavior of pinch-to-zoom to show tabs in Safari +https://bugs.webkit.org/show_bug.cgi?id=199560 + + +Reviewed by Dean Jackson. + +There are other UIPinchGestureRecognizer objects that may lead to pinch-to-zoom behavior, for instance pinching +out to show open tabs in Safari on iOS. We add a new WKUIDelegatePrivate method that will allow Safari to indicate +that a UIPinchGestureRecognizer considered for prevention would lead to pinch-to-zoom behavior. + +* UIProcess/API/Cocoa/WKUIDelegatePrivate.h: +* UIProcess/ios/WKContentViewInteraction.mm: +(-[WKContentView gestureRecognizerMayPinchToZoomWebView:]): + 2019-07-08 Antoine Quint [Pointer Events] Enable only on the most recent version of the supported iOS family Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h (247205 => 247206) --- trunk/Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h 2019-07-08 11:22:06 UTC (rev 247205) +++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h 2019-07-08 11:26:24 UTC (rev 247206) @@ -186,6 +186,7 @@ - (void)_webView:(WKWebView *)webView didChangeSafeAreaShouldAffectObscuredInsets:(BOOL)safeAreaShouldAffectObscuredInsets WK_API_AVAILABLE(ios(11.0)); - (void)_webView:(WKWebView *)webView didPresentFocusedElementViewController:(UIViewController *)controller WK_API_AVAILABLE(ios(12.0)); - (void)_webView:(WKWebView *)webView didDismissFocusedElementViewController:(UIViewController *)controller WK_API_AVAILABLE(ios(12.0)); +- (BOOL)_webView:(WKWebView *)webView gestureRecognizerCouldPinch:(UIGestureRecognizer *)gestureRecognizer WK_API_AVAILABLE(ios(13.0)); /*! @abstract Allows your app to determine whether or not the given security origin should have access to the device's orientation and motion. @param securityOrigin The security origin which requested access to the device's orientation and motion. Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (247205 => 247206) --- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2019-07-08 11:22:06 UTC (rev 247205) +++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2019-07-08 11:26:24 UTC (rev 247206) @@ -1390,7 +1390,17 @@ - (BOOL)gestureRecognizerMayPinchToZoomWebView:(UIGestureRecognizer *)gestureRecognizer { // The gesture recognizer is the main UIScrollView's UIPinchGestureRecognizer. -return gestureRecognizer == [_webView scrollView].pinchGestureRecognizer; +if (gestureRecognizer == [_webView scrollView].pinchGestureRecognizer) +return YES; + +// The gesture recognizer is another UIPichGestureRecognizer known to lead to pinch-to-zoom. +if ([gestureRecognizer isKindOfClass:[UIPinchGestureRecognizer class]]) { +if (auto uiDelegate = static_cast>(_webView.UIDelegate)) { +if ([uiDelegate respondsToSelector:@selector(_webView:gestureRecognizerCouldPinch:)]) +return [uiDelegate _webView:_webView gestureRecognizerCouldPinch:gestureRecognizer]; +} +} +return NO; } - (NSMapTable *)touchActionActiveTouches ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [247205] trunk
Title: [247205] trunk Revision 247205 Author grao...@webkit.org Date 2019-07-08 04:22:06 -0700 (Mon, 08 Jul 2019) Log Message [Pointer Events] Enable only on the most recent version of the supported iOS family https://bugs.webkit.org/show_bug.cgi?id=199562 Reviewed by Dean Jackson. Source/_javascript_Core: * Configurations/FeatureDefines.xcconfig: Source/WebCore: * Configurations/FeatureDefines.xcconfig: Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: Source/WebKit: * Configurations/FeatureDefines.xcconfig: * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView cancelPointersForGestureRecognizer:]): (-[WKContentView activeTouchIdentifierForGestureRecognizer:]): (-[WKContentView touchActionActiveTouches]): * UIProcess/ios/WKSyntheticTapGestureRecognizer.m: (-[WKSyntheticTapGestureRecognizer touchesEnded:withEvent:]): * UIProcess/ios/WKTouchActionGestureRecognizer.h: * UIProcess/ios/WKTouchActionGestureRecognizer.mm: (-[WKTouchActionGestureRecognizer canPreventGestureRecognizer:]): Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: Source/WTF: We really don't need HAVE_UI_WEB_TOUCH_EVENTS_GESTURE_RECOGNIZER_WITH_ACTIVE_TOUCHES_BY_ID since the UIKit SPI that was added in iOS 13 that it's checking for is really required for all parts of the implementation of Pointer Events, including dispatch of the "pointercancel" event and support for the "touch-action" CSS property. * wtf/Platform.h: Tools: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: LayoutTests: * js/dom/navigator-maxtouchpoints-expected.txt: Since ENABLE_POINTER_EVENTS is now disabled by default, navigator.maxTouchPoints is "undefined" in thed default case. * platform/mac/js/dom/navigator-maxtouchpoints-expected.txt: But 0 on macOS. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/js/dom/navigator-maxtouchpoints-expected.txt trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/Platform.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig trunk/Source/WebCore/PAL/ChangeLog trunk/Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Configurations/FeatureDefines.xcconfig trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm trunk/Source/WebKit/UIProcess/ios/WKSyntheticTapGestureRecognizer.m trunk/Source/WebKit/UIProcess/ios/WKTouchActionGestureRecognizer.h trunk/Source/WebKit/UIProcess/ios/WKTouchActionGestureRecognizer.mm trunk/Source/WebKitLegacy/mac/ChangeLog trunk/Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig Added Paths trunk/LayoutTests/platform/mac/js/dom/navigator-maxtouchpoints-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (247204 => 247205) --- trunk/LayoutTests/ChangeLog 2019-07-08 10:08:04 UTC (rev 247204) +++ trunk/LayoutTests/ChangeLog 2019-07-08 11:22:06 UTC (rev 247205) @@ -1,3 +1,15 @@ +2019-07-08 Antoine Quint + +[Pointer Events] Enable only on the most recent version of the supported iOS family +https://bugs.webkit.org/show_bug.cgi?id=199562 + + +Reviewed by Dean Jackson. + +* js/dom/navigator-maxtouchpoints-expected.txt: Since ENABLE_POINTER_EVENTS is now disabled by default, navigator.maxTouchPoints +is "undefined" in thed default case. +* platform/mac/js/dom/navigator-maxtouchpoints-expected.txt: But 0 on macOS. + 2019-07-07 Zalan Bujtas [ContentChangeObserver] Difficult to control videos on iqiyi.com as the actions are mouse hover Modified: trunk/LayoutTests/js/dom/navigator-maxtouchpoints-expected.txt (247204 => 247205) --- trunk/LayoutTests/js/dom/navigator-maxtouchpoints-expected.txt 2019-07-08 10:08:04 UTC (rev 247204) +++ trunk/LayoutTests/js/dom/navigator-maxtouchpoints-expected.txt 2019-07-08 11:22:06 UTC (rev 247205) @@ -3,7 +3,7 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". -navigator.maxTouchPoints = 0 +navigator.maxTouchPoints = undefined PASS successfullyParsed is true TEST COMPLETE Copied: trunk/LayoutTests/platform/mac/js/dom/navigator-maxtouchpoints-expected.txt (from rev 247204, trunk/LayoutTests/js/dom/navigator-maxtouchpoints-expected.txt) (0 => 247205) --- trunk/LayoutTests/platform/mac/js/dom/navigator-maxtouchpoints-expected.txt (rev 0) +++ trunk/LayoutTests/platform/mac/js/dom/navigator-maxtouchpoints-expected.txt 2019-07-08 11:22:06 UTC (rev 247205) @@ -0,0 +1,10 @@ +Check return value of navigator.maxTouchPoints. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +navigator.maxTouchPoints = 0 +PASS successfullyParsed is true + +TEST COMPLETE + Modified: trunk/Source/_javascript_Core/ChangeLog (247204 =>
[webkit-changes] [247204] trunk/Source/WebCore
Title: [247204] trunk/Source/WebCore Revision 247204 Author ph...@webkit.org Date 2019-07-08 03:08:04 -0700 (Mon, 08 Jul 2019) Log Message [GStreamer] The CREATE_TRACK macro is messed up https://bugs.webkit.org/show_bug.cgi?id=199356 Reviewed by Xabier Rodriguez-Calvar. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivateGStreamer::updateTracks): Fix the CREATE_TRACK macro for !VIDEO_TRACK builds. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (247203 => 247204) --- trunk/Source/WebCore/ChangeLog 2019-07-08 08:17:24 UTC (rev 247203) +++ trunk/Source/WebCore/ChangeLog 2019-07-08 10:08:04 UTC (rev 247204) @@ -1,3 +1,14 @@ +2019-07-08 Philippe Normand + +[GStreamer] The CREATE_TRACK macro is messed up +https://bugs.webkit.org/show_bug.cgi?id=199356 + +Reviewed by Xabier Rodriguez-Calvar. + +* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: +(WebCore::MediaPlayerPrivateGStreamer::updateTracks): Fix the +CREATE_TRACK macro for !VIDEO_TRACK builds. + 2019-07-07 Zalan Bujtas [ContentChangeObserver] Difficult to control videos on iqiyi.com as the actions are mouse hover Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp (247203 => 247204) --- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp 2019-07-08 08:17:24 UTC (rev 247203) +++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp 2019-07-08 10:08:04 UTC (rev 247204) @@ -680,18 +680,6 @@ } #undef CLEAR_TRACKS -#if ENABLE(VIDEO_TRACK) -#define CREATE_TRACK(type, Type) \ -m_has##Type = true; \ -if (!useMediaSource) {\ -RefPtr track = Type##TrackPrivateGStreamer::create(makeWeakPtr(*this), i, stream); \ -m_##type##Tracks.add(track->id(), track); \ -m_player->add##Type##Track(*track);\ -if (gst_stream_get_stream_flags(stream.get()) & GST_STREAM_FLAG_SELECT) {\ -m_current##Type##StreamId = String(gst_stream_get_stream_id(stream.get())); \ -}\ -} - FloatSize MediaPlayerPrivateGStreamer::naturalSize() const { #if ENABLE(MEDIA_STREAM) @@ -710,8 +698,22 @@ return MediaPlayerPrivateGStreamerBase::naturalSize(); } + +#if ENABLE(VIDEO_TRACK) +#define CREATE_TRACK(type, Type) G_STMT_START { \ +m_has##Type = true; \ +if (!useMediaSource) { \ +RefPtr track = Type##TrackPrivateGStreamer::create(makeWeakPtr(*this), i, stream); \ +m_##type##Tracks.add(track->id(), track); \ +m_player->add##Type##Track(*track); \ +if (gst_stream_get_stream_flags(stream.get()) & GST_STREAM_FLAG_SELECT) \ +m_current##Type##StreamId = String(gst_stream_get_stream_id(stream.get())); \ +} \ +} G_STMT_END #else -#define CREATE_TRACK(type, _id, tracks, method, stream) m_has##Type## = true; +#define CREATE_TRACK(type, Type) G_STMT_START { \ +m_has##Type## = true; \ +} G_STMT_END #endif // ENABLE(VIDEO_TRACK) void MediaPlayerPrivateGStreamer::updateTracks() @@ -732,11 +734,11 @@ GstStreamType type = gst_stream_get_stream_type(stream.get()); GST_DEBUG_OBJECT(pipeline(), "Inspecting %s track with ID %s", gst_stream_type_get_name(type), streamId.utf8().data()); -if (type & GST_STREAM_TYPE_AUDIO) { -CREATE_TRACK(audio, Audio) -} else if (type & GST_STREAM_TYPE_VIDEO) { -CREATE_TRACK(video, Video) -} else if (type & GST_STREAM_TYPE_TEXT && !useMediaSource) { +if (type & GST_STREAM_TYPE_AUDIO) +CREATE_TRACK(audio, Audio); +else if (type & GST_STREAM_TYPE_VIDEO) +CREATE_TRACK(video, Video); +else if (type & GST_STREAM_TYPE_TEXT && !useMediaSource) { #if ENABLE(VIDEO_TRACK) auto track = InbandTextTrackPrivateGStreamer::create(textTrackIndex++, stream); m_textTracks.add(streamId, track.copyRef()); @@ -755,6 +757,8 @@ m_player->client().mediaPlayerEngineUpdated(m_player); } +#undef CREATE_TRACK + void MediaPlayerPrivateGStreamer::enableTrack(TrackPrivateBaseGStreamer::TrackType trackType, unsigned index) { // FIXME: Remove isMediaSource() test below when fixing https://bugs.webkit.org/show_bug.cgi?id=182531. ___ webkit-changes mailing list webkit-changes@lists.webkit.org
[webkit-changes] [247203] trunk/Source/WebKit
Title: [247203] trunk/Source/WebKit Revision 247203 Author mcatanz...@igalia.com Date 2019-07-08 01:17:24 -0700 (Mon, 08 Jul 2019) Log Message [GTK] ViewGestureController constructor leaves m_direction uninitialized https://bugs.webkit.org/show_bug.cgi?id=199532 Reviewed by Carlos Garcia Campos. This is harmless because it should never be read until after it's initialized, but still not robust. Fix it by assuming Back as the default value until the first swipe begins. * UIProcess/ViewGestureController.h: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/ViewGestureController.h Diff Modified: trunk/Source/WebKit/ChangeLog (247202 => 247203) --- trunk/Source/WebKit/ChangeLog 2019-07-08 05:07:19 UTC (rev 247202) +++ trunk/Source/WebKit/ChangeLog 2019-07-08 08:17:24 UTC (rev 247203) @@ -1,3 +1,15 @@ +2019-07-08 Michael Catanzaro + +[GTK] ViewGestureController constructor leaves m_direction uninitialized +https://bugs.webkit.org/show_bug.cgi?id=199532 + +Reviewed by Carlos Garcia Campos. + +This is harmless because it should never be read until after it's initialized, but still not +robust. Fix it by assuming Back as the default value until the first swipe begins. + +* UIProcess/ViewGestureController.h: + 2019-07-07 Zalan Bujtas [ContentChangeObserver] Difficult to control videos on iqiyi.com as the actions are mouse hover Modified: trunk/Source/WebKit/UIProcess/ViewGestureController.h (247202 => 247203) --- trunk/Source/WebKit/UIProcess/ViewGestureController.h 2019-07-08 05:07:19 UTC (rev 247202) +++ trunk/Source/WebKit/UIProcess/ViewGestureController.h 2019-07-08 08:17:24 UTC (rev 247203) @@ -388,7 +388,7 @@ State m_state { State::None }; -SwipeDirection m_direction; +SwipeDirection m_direction { SwipeDirection::Back }; RefPtr m_targetItem; unsigned m_tickCallbackID { 0 }; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes