[webkit-changes] [247254] trunk

2019-07-08 Thread sbarati
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

2019-07-08 Thread drousso
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

2019-07-08 Thread drousso
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

2019-07-08 Thread wenson_hsieh
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

2019-07-08 Thread cdumez
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

2019-07-08 Thread drousso
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

2019-07-08 Thread drousso
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

2019-07-08 Thread keith_miller
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

2019-07-08 Thread simon . fraser
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

2019-07-08 Thread Hironori . Fujii
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

2019-07-08 Thread Hironori . Fujii
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

2019-07-08 Thread cdumez
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

2019-07-08 Thread aakash_jain
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

2019-07-08 Thread drousso
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

2019-07-08 Thread drousso
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

2019-07-08 Thread cdumez
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

2019-07-08 Thread youenn
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

2019-07-08 Thread drousso
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/

2019-07-08 Thread alancoon
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

2019-07-08 Thread drousso
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/

2019-07-08 Thread alancoon
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

2019-07-08 Thread dbates
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

2019-07-08 Thread dbates
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

2019-07-08 Thread achristensen
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

2019-07-08 Thread cdumez
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

2019-07-08 Thread cturner
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

2019-07-08 Thread jbedard
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

2019-07-08 Thread timothy_horton
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

2019-07-08 Thread alancoon
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

2019-07-08 Thread wenson_hsieh
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

2019-07-08 Thread wenson_hsieh
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

2019-07-08 Thread alancoon
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

2019-07-08 Thread annulen
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

2019-07-08 Thread cdumez
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

2019-07-08 Thread cdumez
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

2019-07-08 Thread alancoon
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

2019-07-08 Thread cturner
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

2019-07-08 Thread alancoon
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

2019-07-08 Thread cdumez
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/

2019-07-08 Thread alancoon
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

2019-07-08 Thread graouts
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

2019-07-08 Thread youenn
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

2019-07-08 Thread pvollan
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

2019-07-08 Thread csaavedra
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

2019-07-08 Thread youenn
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

2019-07-08 Thread cturner
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

2019-07-08 Thread graouts
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

2019-07-08 Thread graouts
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

2019-07-08 Thread philn
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

2019-07-08 Thread mcatanzaro
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