[webkit-changes] [250122] releases/Apple

2019-09-19 Thread mitz
Title: [250122] releases/Apple








Revision 250122
Author m...@apple.com
Date 2019-09-19 22:32:52 -0700 (Thu, 19 Sep 2019)


Log Message
Added a tag for Safari 13.0.

Added Paths

releases/Apple/Safari 13.0/
releases/Apple/Safari 13.0/ANGLE/
releases/Apple/Safari 13.0/_javascript_Core/
releases/Apple/Safari 13.0/WTF/
releases/Apple/Safari 13.0/WebCore/
releases/Apple/Safari 13.0/WebInspectorUI/
releases/Apple/Safari 13.0/WebKit/
releases/Apple/Safari 13.0/WebKitLegacy/
releases/Apple/Safari 13.0/bmalloc/
releases/Apple/Safari 13.0/libwebrtc/




Diff
Index: releases/Apple/Safari 13.0/ANGLE
===
--- tags/Safari-608.1.49/Source/ThirdParty/ANGLE	2019-09-20 04:55:55 UTC (rev 250121)
+++ releases/Apple/Safari 13.0/ANGLE	2019-09-20 05:32:52 UTC (rev 250122)

Property changes: releases/Apple/Safari 13.0/ANGLE



Added: allow-tabs
+true
\ No newline at end of property

Added: svn:mergeinfo
+/trunk/Source/ThirdParty/ANGLE:53455
\ No newline at end of property
Index: releases/Apple/Safari 13.0/_javascript_Core
===
--- tags/Safari-608.1.49/Source/_javascript_Core	2019-09-20 04:55:55 UTC (rev 250121)
+++ releases/Apple/Safari 13.0/_javascript_Core	2019-09-20 05:32:52 UTC (rev 250122)

Property changes: releases/Apple/Safari 13.0/_javascript_Core



Added: svn:mergeinfo
+/trunk/Source/_javascript_Core:53455
\ No newline at end of property
Index: releases/Apple/Safari 13.0/WTF
===
--- tags/Safari-608.1.49/Source/WTF	2019-09-20 04:55:55 UTC (rev 250121)
+++ releases/Apple/Safari 13.0/WTF	2019-09-20 05:32:52 UTC (rev 250122)

Property changes: releases/Apple/Safari 13.0/WTF



Added: svn:mergeinfo
+/trunk/Source/WTF:53455
\ No newline at end of property
Index: releases/Apple/Safari 13.0/WebInspectorUI
===
--- tags/Safari-608.1.49/Source/WebInspectorUI	2019-09-20 04:55:55 UTC (rev 250121)
+++ releases/Apple/Safari 13.0/WebInspectorUI	2019-09-20 05:32:52 UTC (rev 250122)

Property changes: releases/Apple/Safari 13.0/WebInspectorUI



Added: svn:mergeinfo
+/trunk/Source/WebInspectorUI:53455
\ No newline at end of property
Index: releases/Apple/Safari 13.0/bmalloc
===
--- tags/Safari-608.1.49/Source/bmalloc	2019-09-20 04:55:55 UTC (rev 250121)
+++ releases/Apple/Safari 13.0/bmalloc	2019-09-20 05:32:52 UTC (rev 250122)

Property changes: releases/Apple/Safari 13.0/bmalloc



Added: svn:mergeinfo
+/trunk/Source/bmalloc:53455
\ No newline at end of property
Index: releases/Apple/Safari 13.0/libwebrtc
===
--- tags/Safari-608.1.49/Source/ThirdParty/libwebrtc	2019-09-20 04:55:55 UTC (rev 250121)
+++ releases/Apple/Safari 13.0/libwebrtc	2019-09-20 05:32:52 UTC (rev 250122)

Property changes: releases/Apple/Safari 13.0/libwebrtc



Added: svn:mergeinfo
+/trunk/Source/ThirdParty/libwebrtc:53455
\ No newline at end of property




___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [250121] trunk/Tools

2019-09-19 Thread bfulgham
Title: [250121] trunk/Tools








Revision 250121
Author bfulg...@apple.com
Date 2019-09-19 21:55:55 -0700 (Thu, 19 Sep 2019)


Log Message
[FTW] Enable WebKitTestRunner build
https://bugs.webkit.org/show_bug.cgi?id=201996

Reviewed by Fujii Hironori.

It's time to start getting the test system up and running for FTW.

This patch does the following:

1. Adds relevant CMake changes to get things building.
2. Adds a "--ftw" flag to the build scripts that will trigger a relevant build.
3. Updates 'webkitpy' to recognize the 'ftw' port.

Note: Pixel tests are not yet supported.

* PlatformFTW.cmake: Build the WK2 test runner.
* Scripts/build-webkit: Update to recognize the FTW port.
* Scripts/webkitdirs.pm: Ditto.
* Scripts/webkitperl/webkitdirs_unittest/extractNonMacOSHostConfiguration.pl: Ditto.
* Scripts/webkitpy/common/config/ports.py: Ditto.
* Scripts/webkitpy/common/config/ports_unittest.py: Ditto.
* Scripts/webkitpy/common/version_name_map.py: Ditto.
* Scripts/webkitpy/port/factory.py: Ditto.
* Scripts/webkitpy/port/win.py: Ditto.
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::dumpDOMAsWebArchive): Don't build or run this method
on Windows.
* WebKitTestRunner/PlatformFTW.cmake: Added.
* WebKitTestRunner/PlatformWebView.h:
* WebKitTestRunner/win/PlatformWebViewWin.cpp:
* WebKitTestRunner/win/TestInvocationDirect2D.cpp: Added.
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected): Add stub implementation.

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/PlatformFTW.cmake
trunk/Tools/Scripts/build-webkit
trunk/Tools/Scripts/webkitdirs.pm
trunk/Tools/Scripts/webkitperl/webkitdirs_unittest/extractNonMacOSHostConfiguration.pl
trunk/Tools/Scripts/webkitpy/common/config/ports.py
trunk/Tools/Scripts/webkitpy/common/config/ports_unittest.py
trunk/Tools/Scripts/webkitpy/common/version_name_map.py
trunk/Tools/Scripts/webkitpy/port/factory.py
trunk/Tools/Scripts/webkitpy/port/win.py
trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp
trunk/Tools/WebKitTestRunner/PlatformWebView.h
trunk/Tools/WebKitTestRunner/win/PlatformWebViewWin.cpp


Added Paths

trunk/Tools/WebKitTestRunner/PlatformFTW.cmake
trunk/Tools/WebKitTestRunner/win/TestInvocationDirect2D.cpp




Diff

Modified: trunk/Tools/ChangeLog (250120 => 250121)

--- trunk/Tools/ChangeLog	2019-09-20 04:47:51 UTC (rev 250120)
+++ trunk/Tools/ChangeLog	2019-09-20 04:55:55 UTC (rev 250121)
@@ -1,3 +1,38 @@
+2019-09-19  Brent Fulgham  
+
+[FTW] Enable WebKitTestRunner build
+https://bugs.webkit.org/show_bug.cgi?id=201996
+
+Reviewed by Fujii Hironori.
+
+It's time to start getting the test system up and running for FTW.
+
+This patch does the following:
+
+1. Adds relevant CMake changes to get things building.
+2. Adds a "--ftw" flag to the build scripts that will trigger a relevant build.
+3. Updates 'webkitpy' to recognize the 'ftw' port.
+
+Note: Pixel tests are not yet supported.
+
+* PlatformFTW.cmake: Build the WK2 test runner.
+* Scripts/build-webkit: Update to recognize the FTW port.
+* Scripts/webkitdirs.pm: Ditto.
+* Scripts/webkitperl/webkitdirs_unittest/extractNonMacOSHostConfiguration.pl: Ditto.
+* Scripts/webkitpy/common/config/ports.py: Ditto.
+* Scripts/webkitpy/common/config/ports_unittest.py: Ditto.
+* Scripts/webkitpy/common/version_name_map.py: Ditto.
+* Scripts/webkitpy/port/factory.py: Ditto.
+* Scripts/webkitpy/port/win.py: Ditto.
+* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
+(WTR::InjectedBundlePage::dumpDOMAsWebArchive): Don't build or run this method
+on Windows.
+* WebKitTestRunner/PlatformFTW.cmake: Added.
+* WebKitTestRunner/PlatformWebView.h:
+* WebKitTestRunner/win/PlatformWebViewWin.cpp:
+* WebKitTestRunner/win/TestInvocationDirect2D.cpp: Added.
+(WTR::TestInvocation::dumpPixelsAndCompareWithExpected): Add stub implementation.
+
 2019-09-19  Fujii Hironori  
 
 [Win][MiniBrowser] Use _com_ptr_t methods instead of calling QueryInterface explictly


Modified: trunk/Tools/PlatformFTW.cmake (250120 => 250121)

--- trunk/Tools/PlatformFTW.cmake	2019-09-20 04:47:51 UTC (rev 250120)
+++ trunk/Tools/PlatformFTW.cmake	2019-09-20 04:55:55 UTC (rev 250121)
@@ -5,6 +5,6 @@
 add_subdirectory(MiniBrowser/win)
 endif ()
 
-#if (ENABLE_WEBKIT)
-#add_subdirectory(WebKitTestRunner)
-#endif ()
+if (ENABLE_WEBKIT)
+add_subdirectory(WebKitTestRunner)
+endif ()


Modified: trunk/Tools/Scripts/build-webkit (250120 => 250121)

--- trunk/Tools/Scripts/build-webkit	2019-09-20 04:47:51 UTC (rev 250120)
+++ trunk/Tools/Scripts/build-webkit	2019-09-20 04:55:55 UTC (rev 250121)
@@ -1,6 +1,6 @@
 #!/usr/bin/env perl
 
-# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 Apple Inc. All rights reserved.
+# Copyright (C) 2005-2019 Apple Inc. All rights 

[webkit-changes] [250119] trunk/Source/WebKit

2019-09-19 Thread bfulgham
Title: [250119] trunk/Source/WebKit








Revision 250119
Author bfulg...@apple.com
Date 2019-09-19 20:51:38 -0700 (Thu, 19 Sep 2019)


Log Message
[FTW, WinCairo] Support running tests in Release mode
https://bugs.webkit.org/show_bug.cgi?id=202021

Reviewed by Don Olmstead.

In Bug 201597, we added new features to better lock down JSC features in the
potentially untrusted WebContent process.

Unfortunately, this change included XPC Dictionary items used at startup to
lock down JSC features before entering the main execution of the process. These
changes were not done for the WinCairo or FTW ports.

We need to pass the state of the JIT and whether to enable certain JSC features
at process launch. Since the XPC mechanisms we use on macOS and iOS do not exist
on Windows, I am implementing them as command-line flags.

-configure-jsc-for-testing: Sets the JSC in testing mode.
-disable-jit: Disables the JIT.

See r249808 for the equivalent changes on macOS and iOS.

* PlatformFTW.cmake: Add some missing header files needed when building tests.
* Shared/win/AuxiliaryProcessMainWin.cpp:
(WebKit::AuxiliaryProcessMainBase::parseCommandLine):
* UIProcess/Launcher/win/ProcessLauncherWin.cpp:
(WebKit::ProcessLauncher::launchProcess):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/PlatformFTW.cmake
trunk/Source/WebKit/Shared/win/AuxiliaryProcessMainWin.cpp
trunk/Source/WebKit/UIProcess/Launcher/win/ProcessLauncherWin.cpp




Diff

Modified: trunk/Source/WebKit/ChangeLog (250118 => 250119)

--- trunk/Source/WebKit/ChangeLog	2019-09-20 03:36:15 UTC (rev 250118)
+++ trunk/Source/WebKit/ChangeLog	2019-09-20 03:51:38 UTC (rev 250119)
@@ -1,3 +1,32 @@
+2019-09-19  Brent Fulgham  
+
+[FTW, WinCairo] Support running tests in Release mode
+https://bugs.webkit.org/show_bug.cgi?id=202021
+
+Reviewed by Don Olmstead.
+
+In Bug 201597, we added new features to better lock down JSC features in the
+potentially untrusted WebContent process.
+
+Unfortunately, this change included XPC Dictionary items used at startup to
+lock down JSC features before entering the main execution of the process. These
+changes were not done for the WinCairo or FTW ports.
+
+We need to pass the state of the JIT and whether to enable certain JSC features
+at process launch. Since the XPC mechanisms we use on macOS and iOS do not exist
+on Windows, I am implementing them as command-line flags.
+
+-configure-jsc-for-testing: Sets the JSC in testing mode.
+-disable-jit: Disables the JIT.
+
+See r249808 for the equivalent changes on macOS and iOS.
+
+* PlatformFTW.cmake: Add some missing header files needed when building tests.
+* Shared/win/AuxiliaryProcessMainWin.cpp:
+(WebKit::AuxiliaryProcessMainBase::parseCommandLine):
+* UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+(WebKit::ProcessLauncher::launchProcess):
+
 2019-09-19  Chris Dumez  
 
 Add better logging for when the view visibility state changes


Modified: trunk/Source/WebKit/PlatformFTW.cmake (250118 => 250119)

--- trunk/Source/WebKit/PlatformFTW.cmake	2019-09-20 03:36:15 UTC (rev 250118)
+++ trunk/Source/WebKit/PlatformFTW.cmake	2019-09-20 03:51:38 UTC (rev 250119)
@@ -262,6 +262,7 @@
 UIProcess/API/C/WKGeolocationManager.h
 UIProcess/API/C/WKGeolocationPermissionRequest.h
 UIProcess/API/C/WKGeolocationPosition.h
+UIProcess/API/C/WKHTTPCookieStoreRef.h
 UIProcess/API/C/WKHitTestResult.h
 UIProcess/API/C/WKIconDatabase.h
 UIProcess/API/C/WKInspector.h
@@ -293,8 +294,8 @@
 UIProcess/API/C/WKPageNavigationClient.h
 UIProcess/API/C/WKPagePolicyClient.h
 UIProcess/API/C/WKPagePrivate.h
+UIProcess/API/C/WKPageRenderingProgressEvents.h
 UIProcess/API/C/WKPageStateClient.h
-UIProcess/API/C/WKPageRenderingProgressEvents.h
 UIProcess/API/C/WKPageUIClient.h
 UIProcess/API/C/WKPluginLoadPolicy.h
 UIProcess/API/C/WKPreferencesRef.h
@@ -312,6 +313,7 @@
 UIProcess/API/C/WKUserMediaPermissionRequest.h
 UIProcess/API/C/WKUserScriptRef.h
 UIProcess/API/C/WKViewportAttributes.h
+UIProcess/API/C/WKWebsiteDataStoreConfigurationRef.h
 UIProcess/API/C/WKWebsiteDataStoreRef.h
 UIProcess/API/C/WKWebsitePolicies.h
 UIProcess/API/C/WKWindowFeaturesRef.h


Modified: trunk/Source/WebKit/Shared/win/AuxiliaryProcessMainWin.cpp (250118 => 250119)

--- trunk/Source/WebKit/Shared/win/AuxiliaryProcessMainWin.cpp	2019-09-20 03:36:15 UTC (rev 250118)
+++ trunk/Source/WebKit/Shared/win/AuxiliaryProcessMainWin.cpp	2019-09-20 03:51:38 UTC (rev 250119)
@@ -26,6 +26,7 @@
 #include "config.h"
 #include "AuxiliaryProcessMain.h"
 
+#include <_javascript_Core/ExecutableAllocator.h>
 #include 
 #include 
 
@@ -40,7 +41,10 @@
 } else if (!strcmp(argv[i], "-processIdentifier") && i + 1 < argc) {
 String str(argv[++i]);
 

[webkit-changes] [250118] trunk/Source/WebInspectorUI

2019-09-19 Thread pecoraro
Title: [250118] trunk/Source/WebInspectorUI








Revision 250118
Author pecor...@apple.com
Date 2019-09-19 20:36:15 -0700 (Thu, 19 Sep 2019)


Log Message
Web Inspector: searching in overrides doesn't work
https://bugs.webkit.org/show_bug.cgi?id=202020

Reviewed by Devin Rousso.

* UserInterface/Views/SourceCodeTextEditor.js:
(WI.SourceCodeTextEditor.prototype.customPerformSearch):
Do not go to agents for a local resource. Search locally in the TextEditor.

Modified Paths

trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/UserInterface/Views/SourceCodeTextEditor.js




Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (250117 => 250118)

--- trunk/Source/WebInspectorUI/ChangeLog	2019-09-20 03:18:45 UTC (rev 250117)
+++ trunk/Source/WebInspectorUI/ChangeLog	2019-09-20 03:36:15 UTC (rev 250118)
@@ -1,3 +1,14 @@
+2019-09-19  Joseph Pecoraro  
+
+Web Inspector: searching in overrides doesn't work
+https://bugs.webkit.org/show_bug.cgi?id=202020
+
+Reviewed by Devin Rousso.
+
+* UserInterface/Views/SourceCodeTextEditor.js:
+(WI.SourceCodeTextEditor.prototype.customPerformSearch):
+Do not go to agents for a local resource. Search locally in the TextEditor.
+
 2019-09-19  Devin Rousso  
 
 Web Inspector: Canvas: show WebGPU shader pipelines


Modified: trunk/Source/WebInspectorUI/UserInterface/Views/SourceCodeTextEditor.js (250117 => 250118)

--- trunk/Source/WebInspectorUI/UserInterface/Views/SourceCodeTextEditor.js	2019-09-20 03:18:45 UTC (rev 250117)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/SourceCodeTextEditor.js	2019-09-20 03:36:15 UTC (rev 250118)
@@ -250,6 +250,8 @@
 
 if (this._sourceCode instanceof WI.SourceMapResource)
 return false;
+if (this._sourceCode instanceof WI.LocalResource)
+return false;
 
 let caseSensitive = WI.SearchUtilities.defaultSettings.caseSensitive.value;
 let isRegex = WI.SearchUtilities.defaultSettings.regularExpression.value;






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [250117] trunk/Tools

2019-09-19 Thread Hironori . Fujii
Title: [250117] trunk/Tools








Revision 250117
Author hironori.fu...@sony.com
Date 2019-09-19 20:18:45 -0700 (Thu, 19 Sep 2019)


Log Message
[Win][MiniBrowser] Use _com_ptr_t methods instead of calling QueryInterface explictly
https://bugs.webkit.org/show_bug.cgi?id=201976

Reviewed by Don Olmstead.

This change consists of three refactorings:
1. Replaced explicit QueryInterface with _com_ptr_t methods
2. Replaced typedef with _COM_SMARTPTR_TYPEDEF macro
3. Replaced WebCore's COMPtr with _com_ptr_t because it is not a public WebKit API

* MiniBrowser/win/MiniBrowserWebHost.cpp:
(MiniBrowserWebHost::didFirstLayoutInFrame): Deleted.
* MiniBrowser/win/MiniBrowserWebHost.h:
(MiniBrowserWebHost::didFirstLayoutInFrame):
* MiniBrowser/win/PrintWebUIDelegate.cpp:
(getHandleFromWebView):
(PrintWebUIDelegate::webViewPrintingMarginRect):
(PrintWebUIDelegate::runModal):
(PrintWebUIDelegate::createModalDialog):
* MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
(WebKitLegacyBrowserWindow::init):
(WebKitLegacyBrowserWindow::setToDefaultPreferences):
(WebKitLegacyBrowserWindow::showLastVisitedSites):
(WebKitLegacyBrowserWindow::reload):
(WebKitLegacyBrowserWindow::resetZoom):
(WebKitLegacyBrowserWindow::zoomIn):
(WebKitLegacyBrowserWindow::zoomOut):
(WebKitLegacyBrowserWindow::showLayerTree):
(WebKitLegacyBrowserWindow::print):
* MiniBrowser/win/WebKitLegacyBrowserWindow.h:
(WebKitLegacyBrowserWindow::privatePreferences):
* MiniBrowser/win/WinMain.cpp:
(wWinMain):
* MiniBrowser/win/stdafx.h:

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/MiniBrowser/win/MiniBrowserWebHost.cpp
trunk/Tools/MiniBrowser/win/MiniBrowserWebHost.h
trunk/Tools/MiniBrowser/win/PrintWebUIDelegate.cpp
trunk/Tools/MiniBrowser/win/WebKitLegacyBrowserWindow.cpp
trunk/Tools/MiniBrowser/win/WebKitLegacyBrowserWindow.h
trunk/Tools/MiniBrowser/win/WinMain.cpp
trunk/Tools/MiniBrowser/win/stdafx.h




Diff

Modified: trunk/Tools/ChangeLog (250116 => 250117)

--- trunk/Tools/ChangeLog	2019-09-20 02:31:45 UTC (rev 250116)
+++ trunk/Tools/ChangeLog	2019-09-20 03:18:45 UTC (rev 250117)
@@ -1,3 +1,40 @@
+2019-09-19  Fujii Hironori  
+
+[Win][MiniBrowser] Use _com_ptr_t methods instead of calling QueryInterface explictly
+https://bugs.webkit.org/show_bug.cgi?id=201976
+
+Reviewed by Don Olmstead.
+
+This change consists of three refactorings:
+1. Replaced explicit QueryInterface with _com_ptr_t methods
+2. Replaced typedef with _COM_SMARTPTR_TYPEDEF macro
+3. Replaced WebCore's COMPtr with _com_ptr_t because it is not a public WebKit API
+
+* MiniBrowser/win/MiniBrowserWebHost.cpp:
+(MiniBrowserWebHost::didFirstLayoutInFrame): Deleted.
+* MiniBrowser/win/MiniBrowserWebHost.h:
+(MiniBrowserWebHost::didFirstLayoutInFrame):
+* MiniBrowser/win/PrintWebUIDelegate.cpp:
+(getHandleFromWebView):
+(PrintWebUIDelegate::webViewPrintingMarginRect):
+(PrintWebUIDelegate::runModal):
+(PrintWebUIDelegate::createModalDialog):
+* MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
+(WebKitLegacyBrowserWindow::init):
+(WebKitLegacyBrowserWindow::setToDefaultPreferences):
+(WebKitLegacyBrowserWindow::showLastVisitedSites):
+(WebKitLegacyBrowserWindow::reload):
+(WebKitLegacyBrowserWindow::resetZoom):
+(WebKitLegacyBrowserWindow::zoomIn):
+(WebKitLegacyBrowserWindow::zoomOut):
+(WebKitLegacyBrowserWindow::showLayerTree):
+(WebKitLegacyBrowserWindow::print):
+* MiniBrowser/win/WebKitLegacyBrowserWindow.h:
+(WebKitLegacyBrowserWindow::privatePreferences):
+* MiniBrowser/win/WinMain.cpp:
+(wWinMain):
+* MiniBrowser/win/stdafx.h:
+
 2019-09-19  Joanmarie Diggs  
 
 [GTK] Dependency hunspell-en-gb cannot be found on Fedora 30


Modified: trunk/Tools/MiniBrowser/win/MiniBrowserWebHost.cpp (250116 => 250117)

--- trunk/Tools/MiniBrowser/win/MiniBrowserWebHost.cpp	2019-09-20 02:31:45 UTC (rev 250116)
+++ trunk/Tools/MiniBrowser/win/MiniBrowserWebHost.cpp	2019-09-20 03:18:45 UTC (rev 250117)
@@ -32,8 +32,6 @@
 #include "WebKitLegacyBrowserWindow.h"
 #include 
 
-typedef _com_ptr_t<_com_IIID> IWebDataSourcePtr;
-
 HRESULT MiniBrowserWebHost::didCommitLoadForFrame(_In_opt_ IWebView* webView, _In_opt_ IWebFrame* frame)
 {
 return didChangeLocationWithinPageForFrame(webView, frame);
@@ -149,18 +147,6 @@
 return S_OK;
 }
 
-HRESULT MiniBrowserWebHost::didFirstLayoutInFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame* frame)
-{
-if (!frame)
-return E_POINTER;
-
-IWebFrame2Ptr frame2;
-if (FAILED(frame->QueryInterface((
-return S_OK;
-
-return S_OK;
-}
-
 HRESULT MiniBrowserWebHost::onNotify(_In_opt_ IWebNotification* notification)
 {
 _bstr_t name;


Modified: trunk/Tools/MiniBrowser/win/MiniBrowserWebHost.h (250116 => 250117)

--- trunk/Tools/MiniBrowser/win/MiniBrowserWebHost.h	2019-09-20 02:31:45 

[webkit-changes] [250116] trunk

2019-09-19 Thread ysuzuki
Title: [250116] trunk








Revision 250116
Author ysuz...@apple.com
Date 2019-09-19 19:31:45 -0700 (Thu, 19 Sep 2019)


Log Message
[JSC] DFG op_call_varargs should not assume that one-previous-local of freeReg is usable
https://bugs.webkit.org/show_bug.cgi?id=202014

Reviewed by Saam Barati.

JSTests:

* stress/call-varargs-inlining-should-not-clobber-previous-to-free-register.js: Added.
(__v0):

Source/_javascript_Core:

Let's look into the bytecode generated by the test.

[   0] enter
[   1] get_scope  loc4
[   3] movloc5, loc4
[   6] check_traps
[   7] movloc6, callee
[  10] create_direct_arguments loc7
[  12] to_thisthis
[  15] movloc8, loc7
[  18] movloc9, loc6
[  21] movloc12, Undefined(const0)
[  24] get_by_id  loc11, loc6, 0
[  29] jneq_ptr   loc11, ApplyFunction, 18(->47)
[  34] movloc11, loc6
[  37] call_varargs   loc11, loc11, this, loc8, loc13, 0
[  45] jmp17(->62)
[  47] movloc16, loc6
[  50] movloc15, this
[  53] movloc14, loc8
[  56] call   loc11, loc11, 3, 22
...

call_varargs uses loc13 as firstFreeReg (first usable bottom register in the current stack-frame to spread variadic arguments after this).
This is correct. And call_varargs uses |this| as this argument for the call_varargs. This |this| argument is not in a region starting from loc13.
And it is not in the previous place to loc13 (|this| is not loc12).

On the other hand, DFG::ByteCodeParser's inlining path is always assuming that the previous to firstFreeReg is usable and part of arguments.
But this is wrong. loc12 in the above bytecode is used for `[  56] call   loc11, loc11, 3, 22`'s argument later, and this call assumes
that loc12 is not clobbered by call_varargs. But DFG and FTL clobbers it.

The test is recursively calling the same function, and we inline the same function one-level. And stack-overflow error happens when inlined
CallForwardVarargs (from op_call_varargs) is called. FTL recovers the frames, and at this point, outer function's loc12 is recovered to garbage since
LoadVarargs clobbers it. And we eventually use it and crash.

60: LoadVarargs(Check:Untyped:Kill:@30, MustGen, start = loc13, count = loc15, machineStart = loc7, machineCount = loc9, offset = 0, mandatoryMinimum = 0, limit = 2, R:World, W:Stack(-16),Stack(-14),Stack(-13),Heap, Exits, ClobbersExit, bc#37, ExitValid)

This LoadVarargs clobbers loc12, loc13, and loc15 while loc12 is used.

In all the tiers, op_call_varargs first allocates enough region to hold varargs including |this|. And we store |this| value to a correct place.
DFG should not assume that the previous register to firstFreeReg is used for |this|.

This patch fixes DFG::ByteCodeParser's stack region calculation for op_call_varargs inlining. And we rename maxNumArguments to maxArgumentCountIncludingThis to
represent that `maxArgumentCountIncludingThis` includes |this| count.

* bytecode/CallLinkInfo.cpp:
(JSC::CallLinkInfo::setMaxArgumentCountIncludingThis):
(JSC::CallLinkInfo::setMaxNumArguments): Deleted.
* bytecode/CallLinkInfo.h:
(JSC::CallLinkInfo::addressOfMaxArgumentCountIncludingThis):
(JSC::CallLinkInfo::maxArgumentCountIncludingThis):
(JSC::CallLinkInfo::addressOfMaxNumArguments): Deleted.
(JSC::CallLinkInfo::maxNumArguments): Deleted.
* bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::computeFor):
(JSC::CallLinkStatus::dump const):
* bytecode/CallLinkStatus.h:
(JSC::CallLinkStatus::maxArgumentCountIncludingThis const):
(JSC::CallLinkStatus::maxNumArguments const): Deleted.
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleVarargsInlining):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileDirectCallOrConstruct):
* jit/JITCall.cpp:
(JSC::JIT::compileSetupFrame):
* jit/JITCall32_64.cpp:
(JSC::JIT::compileSetupFrame):
* jit/JITOperations.cpp:

Modified Paths

trunk/JSTests/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/bytecode/CallLinkInfo.cpp
trunk/Source/_javascript_Core/bytecode/CallLinkInfo.h
trunk/Source/_javascript_Core/bytecode/CallLinkStatus.cpp
trunk/Source/_javascript_Core/bytecode/CallLinkStatus.h
trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp
trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp
trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp
trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp
trunk/Source/_javascript_Core/jit/JITCall.cpp
trunk/Source/_javascript_Core/jit/JITCall32_64.cpp
trunk/Source/_javascript_Core/jit/JITOperations.cpp


Added Paths


[webkit-changes] [250113] trunk/Tools

2019-09-19 Thread jbedard
Title: [250113] trunk/Tools








Revision 250113
Author jbed...@apple.com
Date 2019-09-19 17:46:11 -0700 (Thu, 19 Sep 2019)


Log Message
results.webkit.org: Collapse results with the same version name
https://bugs.webkit.org/show_bug.cgi?id=201779

Rubber-stamped by Aakash Jain.

* resultsdbpy/resultsdbpy/view/static/js/configuration.js:
(Configuration.prototype.const.ending.this.version_name.substring):
(Configuration.prototype.toKey): Prefer version_name over version number in key.
(Configuration.prototype.compare): version_name comparison should always override version comparison.
(Configuration.prototype.compareSDKs): Make SDK regex global.
(Configuration.prototype.toParams): Remove E tag on version_name.
(Configuration): Append E tag on the version_name based on the SDK.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(TimelineFromEndpoint.prototype.toString): Print version number with SDK.

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/resultsdbpy/resultsdbpy/view/static/js/configuration.js
trunk/Tools/resultsdbpy/resultsdbpy/view/static/js/timeline.js




Diff

Modified: trunk/Tools/ChangeLog (250112 => 250113)

--- trunk/Tools/ChangeLog	2019-09-20 00:29:56 UTC (rev 250112)
+++ trunk/Tools/ChangeLog	2019-09-20 00:46:11 UTC (rev 250113)
@@ -1,3 +1,20 @@
+2019-09-19  Jonathan Bedard  
+
+results.webkit.org: Collapse results with the same version name
+https://bugs.webkit.org/show_bug.cgi?id=201779
+
+Rubber-stamped by Aakash Jain.
+
+* resultsdbpy/resultsdbpy/view/static/js/configuration.js:
+(Configuration.prototype.const.ending.this.version_name.substring):
+(Configuration.prototype.toKey): Prefer version_name over version number in key.
+(Configuration.prototype.compare): version_name comparison should always override version comparison.
+(Configuration.prototype.compareSDKs): Make SDK regex global.
+(Configuration.prototype.toParams): Remove E tag on version_name.
+(Configuration): Append E tag on the version_name based on the SDK.
+* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
+(TimelineFromEndpoint.prototype.toString): Print version number with SDK.
+
 2019-09-19  Ryan Haddad  
 
 REGRESSION: [iOS 13?] TestWebKitAPI.SharedBufferTest.tryCreateArrayBufferLargeSegments is failing


Modified: trunk/Tools/resultsdbpy/resultsdbpy/view/static/js/configuration.js (250112 => 250113)

--- trunk/Tools/resultsdbpy/resultsdbpy/view/static/js/configuration.js	2019-09-20 00:29:56 UTC (rev 250112)
+++ trunk/Tools/resultsdbpy/resultsdbpy/view/static/js/configuration.js	2019-09-20 00:46:11 UTC (rev 250113)
@@ -29,6 +29,7 @@
 const OPTIONAL_MEMBERS = ['flavor', 'style', 'model', 'version_name'];
 const FILTERING_MEMBERS = ['sdk'];
 const VERSION_OFFSET_CONSTANT = 1000;
+const SDK_REGEX = /(\d+)([A-Z])(\d+)(.*)/;
 
 // This class is very similar to the Python Configuration class
 class Configuration {
@@ -105,15 +106,28 @@
 this.flavor = json.flavor ? json.flavor : null;
 this.model = json.model ? json.model : null;
 this.architecture = json.architecture ? json.architecture : null;
+
+// Mid-year releases really need to be treated with an entirely different version_name. The only way to reliably
+// identify such a release is with the SDK (version numbers have historically ranged between .2 and .4)
+// While appending E to all realese with an SDK after a mid-year release isn't entirely correct, it's close enough
+// that the user can quickly dicern the differences by inspecting the specific SDK differences
+if (this.sdk && this.version_name && !(json instanceof Configuration)) {
+const match = this.sdk.match(SDK_REGEX);
+const ending = this.version_name.substring(this.version_name.length - 2)
+if (match && ending !== ' E' && match[2].localeCompare('E') >= 0)
+this.version_name = `${this.version_name} E`;
+else if (!match)
+console.error(`'${this.sdk}' does not match the SDK regular _expression_`);
+}
 }
 toKey() {
 let result = ''
 if (this.platform != null)
 result += ' ' + this.platform
-if (this.version != null)
+if (this.version_name != null)
+result += ' ' + this.version_name;
+else if (this.version != null)
 result += ' ' + Configuration.integerToVersion(this.version);
-else if (this.version_name != null)
-result += ' ' + this.version_name;
 if (this.sdk != null)
 result += ' (' + this.sdk + ')';
 if (this.is_simulator != null && this.is_simulator)
@@ -163,20 +177,28 @@
 if (configuration === null)
 return 1;
 
-const lst = ['platform', 'is_simulator', 'version', 'version_name', 'flavor', 'style', 'architecture', 'model'];
+const lst = [['platform'], ['is_simulator'], 

[webkit-changes] [250112] trunk/Source/JavaScriptCore

2019-09-19 Thread mark . lam
Title: [250112] trunk/Source/_javascript_Core








Revision 250112
Author mark@apple.com
Date 2019-09-19 17:29:56 -0700 (Thu, 19 Sep 2019)


Log Message
Rename VMInspector::m_list to m_vmList.
https://bugs.webkit.org/show_bug.cgi?id=202015

Reviewed by Yusuke Suzuki.

m_vmList is more descriptive, and this rename helps grep-ability by disambiguating
it from other m_lists in the code base.

* tools/VMInspector.cpp:
(JSC::VMInspector::add):
(JSC::VMInspector::remove):
* tools/VMInspector.h:
(JSC::VMInspector::iterate):

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/tools/VMInspector.cpp
trunk/Source/_javascript_Core/tools/VMInspector.h




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (250111 => 250112)

--- trunk/Source/_javascript_Core/ChangeLog	2019-09-20 00:11:57 UTC (rev 250111)
+++ trunk/Source/_javascript_Core/ChangeLog	2019-09-20 00:29:56 UTC (rev 250112)
@@ -1,5 +1,21 @@
 2019-09-19  Mark Lam  
 
+Rename VMInspector::m_list to m_vmList.
+https://bugs.webkit.org/show_bug.cgi?id=202015
+
+Reviewed by Yusuke Suzuki.
+
+m_vmList is more descriptive, and this rename helps grep-ability by disambiguating
+it from other m_lists in the code base.
+
+* tools/VMInspector.cpp:
+(JSC::VMInspector::add):
+(JSC::VMInspector::remove):
+* tools/VMInspector.h:
+(JSC::VMInspector::iterate):
+
+2019-09-19  Mark Lam  
+
 Reduce the number of required tag bits for the JSValue.
 https://bugs.webkit.org/show_bug.cgi?id=201990
 


Modified: trunk/Source/_javascript_Core/tools/VMInspector.cpp (250111 => 250112)

--- trunk/Source/_javascript_Core/tools/VMInspector.cpp	2019-09-20 00:11:57 UTC (rev 250111)
+++ trunk/Source/_javascript_Core/tools/VMInspector.cpp	2019-09-20 00:29:56 UTC (rev 250112)
@@ -56,13 +56,13 @@
 void VMInspector::add(VM* vm)
 {
 auto locker = holdLock(m_lock);
-m_list.append(vm);
+m_vmList.append(vm);
 }
 
 void VMInspector::remove(VM* vm)
 {
 auto locker = holdLock(m_lock);
-m_list.remove(vm);
+m_vmList.remove(vm);
 }
 
 auto VMInspector::lock(Seconds timeout) -> Expected


Modified: trunk/Source/_javascript_Core/tools/VMInspector.h (250111 => 250112)

--- trunk/Source/_javascript_Core/tools/VMInspector.h	2019-09-20 00:11:57 UTC (rev 250111)
+++ trunk/Source/_javascript_Core/tools/VMInspector.h	2019-09-20 00:29:56 UTC (rev 250112)
@@ -83,7 +83,7 @@
 private:
 template  void iterate(const Functor& functor)
 {
-for (VM* vm = m_list.head(); vm; vm = vm->next()) {
+for (VM* vm = m_vmList.head(); vm; vm = vm->next()) {
 FunctorStatus status = functor(*vm);
 if (status == FunctorStatus::Done)
 return;
@@ -91,7 +91,7 @@
 }
 
 Lock m_lock;
-DoublyLinkedList m_list;
+DoublyLinkedList m_vmList;
 };
 
 } // namespace JSC






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [250111] trunk/Source/WebKit

2019-09-19 Thread cdumez
Title: [250111] trunk/Source/WebKit








Revision 250111
Author cdu...@apple.com
Date 2019-09-19 17:11:57 -0700 (Thu, 19 Sep 2019)


Log Message
Add better logging for when the view visibility state changes
https://bugs.webkit.org/show_bug.cgi?id=202008

Reviewed by Geoffrey Garen.

* UIProcess/ApplicationStateTracker.mm:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::updateActivityState):
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::applicationDidEnterBackground):
(WebKit::WebPageProxy::applicationWillEnterForeground):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/ApplicationStateTracker.mm
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (250110 => 250111)

--- trunk/Source/WebKit/ChangeLog	2019-09-19 23:55:36 UTC (rev 250110)
+++ trunk/Source/WebKit/ChangeLog	2019-09-20 00:11:57 UTC (rev 250111)
@@ -1,5 +1,19 @@
 2019-09-19  Chris Dumez  
 
+Add better logging for when the view visibility state changes
+https://bugs.webkit.org/show_bug.cgi?id=202008
+
+Reviewed by Geoffrey Garen.
+
+* UIProcess/ApplicationStateTracker.mm:
+* UIProcess/WebPageProxy.cpp:
+(WebKit::WebPageProxy::updateActivityState):
+* UIProcess/ios/WebPageProxyIOS.mm:
+(WebKit::WebPageProxy::applicationDidEnterBackground):
+(WebKit::WebPageProxy::applicationWillEnterForeground):
+
+2019-09-19  Chris Dumez  
+
 Regression(r248832): Unable to quicklook HTML files in Mail
 https://bugs.webkit.org/show_bug.cgi?id=202012
 


Modified: trunk/Source/WebKit/UIProcess/ApplicationStateTracker.mm (250110 => 250111)

--- trunk/Source/WebKit/UIProcess/ApplicationStateTracker.mm	2019-09-19 23:55:36 UTC (rev 250110)
+++ trunk/Source/WebKit/UIProcess/ApplicationStateTracker.mm	2019-09-20 00:11:57 UTC (rev 250111)
@@ -105,11 +105,14 @@
 switch (applicationType(window)) {
 case ApplicationType::Application: {
 m_isInBackground = application.applicationState == UIApplicationStateBackground;
+RELEASE_LOG(ProcessSuspension, "%p - ApplicationStateTracker::ApplicationStateTracker(): m_isInBackground: %d", this, m_isInBackground);
 
 #if HAVE(UISCENE)
 m_didEnterBackgroundObserver = [notificationCenter addObserverForName:UISceneDidEnterBackgroundNotification object:window.windowScene queue:nil usingBlock:[this](NSNotification *) {
+RELEASE_LOG(ProcessSuspension, "%p - ApplicationStateTracker: UISceneDidEnterBackground", this);
 #else
 m_didEnterBackgroundObserver = [notificationCenter addObserverForName:UIApplicationDidEnterBackgroundNotification object:application queue:nil usingBlock:[this](NSNotification *) {
+RELEASE_LOG(ProcessSuspension, "%p - ApplicationStateTracker: UIApplicationDidEnterBackground", this);
 #endif
 applicationDidEnterBackground();
 }];
@@ -116,8 +119,10 @@
 
 #if HAVE(UISCENE)
 m_willEnterForegroundObserver = [notificationCenter addObserverForName:UISceneWillEnterForegroundNotification object:window.windowScene queue:nil usingBlock:[this](NSNotification *) {
+RELEASE_LOG(ProcessSuspension, "%p - ApplicationStateTracker: UISceneWillEnterForeground", this);
 #else
 m_willEnterForegroundObserver = [notificationCenter addObserverForName:UIApplicationWillEnterForegroundNotification object:application queue:nil usingBlock:[this](NSNotification *) {
+RELEASE_LOG(ProcessSuspension, "%p - ApplicationStateTracker: UIApplicationWillEnterForeground", this);
 #endif
 applicationWillEnterForeground();
 }];


Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (250110 => 250111)

--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2019-09-19 23:55:36 UTC (rev 250110)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2019-09-20 00:11:57 UTC (rev 250111)
@@ -1726,13 +1726,19 @@
 
 void WebPageProxy::updateActivityState(OptionSet flagsToUpdate)
 {
+bool wasVisible = isViewVisible();
 m_activityState.remove(flagsToUpdate);
 if (flagsToUpdate & ActivityState::IsFocused && pageClient().isViewFocused())
 m_activityState.add(ActivityState::IsFocused);
 if (flagsToUpdate & ActivityState::WindowIsActive && pageClient().isViewWindowActive())
 m_activityState.add(ActivityState::WindowIsActive);
-if (flagsToUpdate & ActivityState::IsVisible && pageClient().isViewVisible())
-m_activityState.add(ActivityState::IsVisible);
+if (flagsToUpdate & ActivityState::IsVisible) {
+bool isNowVisible = pageClient().isViewVisible();
+if (isNowVisible)
+m_activityState.add(ActivityState::IsVisible);
+if (wasVisible != isNowVisible)
+RELEASE_LOG_IF_ALLOWED(ViewState, "updateActivityState: view visibility state changed %d -> %d", wasVisible, isNowVisible);
+}
 if (flagsToUpdate & 

[webkit-changes] [250110] trunk/Source/WebKit

2019-09-19 Thread cdumez
Title: [250110] trunk/Source/WebKit








Revision 250110
Author cdu...@apple.com
Date 2019-09-19 16:55:36 -0700 (Thu, 19 Sep 2019)


Log Message
Regression(r248832): Unable to quicklook HTML files in Mail
https://bugs.webkit.org/show_bug.cgi?id=202012


Reviewed by Geoff Garen and Brent Fulgham.

r248832 inadvertently reverted the fix for Mail that landed in r247400 by not using
the same logic to initialize the sandbox extension if the process had already
finished launching or not. In particular, the new code path that happens on process
launch unconditionally used '/' as resource directory for the sandbox extension if
the client did not provide one. The logic in maybeInitializeSandboxExtensionHandle()
would use the file URL's base URL as resource directory when creating a sandbox
extension for '/' would fail (which it often does).

To address the issue, have the logic that runs on process launch call
maybeInitializeSandboxExtensionHandle() so avoid duplicating code and make sure
both cases now have the Mail fix.

* UIProcess/AuxiliaryProcessProxy.cpp:
(WebKit::AuxiliaryProcessProxy::didFinishLaunching):
* UIProcess/AuxiliaryProcessProxy.h:
(WebKit::AuxiliaryProcessProxy::isLaunching const):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
(WebKit::WebPageProxy::loadRequestWithNavigationShared):
(WebKit::WebPageProxy::loadFile):
* UIProcess/WebPageProxy.h:
* WebProcess/WebPage/WebPage.messages.in:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp
trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
trunk/Source/WebKit/UIProcess/WebPageProxy.h
trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp
trunk/Source/WebKit/WebProcess/WebPage/WebPage.h
trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in




Diff

Modified: trunk/Source/WebKit/ChangeLog (250109 => 250110)

--- trunk/Source/WebKit/ChangeLog	2019-09-19 23:34:06 UTC (rev 250109)
+++ trunk/Source/WebKit/ChangeLog	2019-09-19 23:55:36 UTC (rev 250110)
@@ -1,3 +1,34 @@
+2019-09-19  Chris Dumez  
+
+Regression(r248832): Unable to quicklook HTML files in Mail
+https://bugs.webkit.org/show_bug.cgi?id=202012
+
+
+Reviewed by Geoff Garen and Brent Fulgham.
+
+r248832 inadvertently reverted the fix for Mail that landed in r247400 by not using
+the same logic to initialize the sandbox extension if the process had already
+finished launching or not. In particular, the new code path that happens on process
+launch unconditionally used '/' as resource directory for the sandbox extension if
+the client did not provide one. The logic in maybeInitializeSandboxExtensionHandle()
+would use the file URL's base URL as resource directory when creating a sandbox
+extension for '/' would fail (which it often does).
+
+To address the issue, have the logic that runs on process launch call
+maybeInitializeSandboxExtensionHandle() so avoid duplicating code and make sure
+both cases now have the Mail fix.
+
+* UIProcess/AuxiliaryProcessProxy.cpp:
+(WebKit::AuxiliaryProcessProxy::didFinishLaunching):
+* UIProcess/AuxiliaryProcessProxy.h:
+(WebKit::AuxiliaryProcessProxy::isLaunching const):
+* UIProcess/WebPageProxy.cpp:
+(WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
+(WebKit::WebPageProxy::loadRequestWithNavigationShared):
+(WebKit::WebPageProxy::loadFile):
+* UIProcess/WebPageProxy.h:
+* WebProcess/WebPage/WebPage.messages.in:
+
 2019-09-19  Tim Horton  
 
 macCatalyst apps crash under TextCheckingControllerProxy::replaceRelativeToSelection when spell checking


Modified: trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp (250109 => 250110)

--- trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp	2019-09-19 23:34:06 UTC (rev 250109)
+++ trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp	2019-09-19 23:55:36 UTC (rev 250110)
@@ -30,6 +30,8 @@
 #include "LoadParameters.h"
 #include "Logging.h"
 #include "WebPageMessages.h"
+#include "WebPageProxy.h"
+#include "WebProcessProxy.h"
 #include 
 
 namespace WebKit {
@@ -217,12 +219,16 @@
 auto bufferSize = encoder->bufferSize();
 std::unique_ptr decoder = makeUnique(buffer, bufferSize, nullptr, Vector { });
 LoadParameters loadParameters;
-String sandboxExtensionPath;
-if (decoder->decode(loadParameters) && decoder->decode(sandboxExtensionPath)) {
-SandboxExtension::createHandleForReadByPid(sandboxExtensionPath, processIdentifier(), loadParameters.sandboxExtensionHandle);
-send(Messages::WebPage::LoadRequest(loadParameters), decoder->destinationID());
-continue;
-}
+URL resourceDirectoryURL;
+WebPageProxyIdentifier 

[webkit-changes] [250109] tags/Safari-608.2.11.1.8/

2019-09-19 Thread alancoon
Title: [250109] tags/Safari-608.2.11.1.8/








Revision 250109
Author alanc...@apple.com
Date 2019-09-19 16:34:06 -0700 (Thu, 19 Sep 2019)


Log Message
Tag Safari-608.2.11.1.8.

Added Paths

tags/Safari-608.2.11.1.8/




Diff




___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [250108] trunk/Source/WebKit

2019-09-19 Thread timothy_horton
Title: [250108] trunk/Source/WebKit








Revision 250108
Author timothy_hor...@apple.com
Date 2019-09-19 16:15:52 -0700 (Thu, 19 Sep 2019)


Log Message
macCatalyst apps crash under TextCheckingControllerProxy::replaceRelativeToSelection when spell checking
https://bugs.webkit.org/show_bug.cgi?id=202010


Reviewed by Beth Dakin.

* WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.mm:
(WebKit::TextCheckingControllerProxy::replaceRelativeToSelection):
relativeReplacementRange is in the coordinate space of the document's text,
not the replacement string. We need to adjust into replacement string
coordinates before slicing the replacement, or we'll throw an exception
trying to read past the end of the string, in the case where the
replacement string is shorter than the replaced string (by more than 2 characters).

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (250107 => 250108)

--- trunk/Source/WebKit/ChangeLog	2019-09-19 22:23:50 UTC (rev 250107)
+++ trunk/Source/WebKit/ChangeLog	2019-09-19 23:15:52 UTC (rev 250108)
@@ -1,3 +1,19 @@
+2019-09-19  Tim Horton  
+
+macCatalyst apps crash under TextCheckingControllerProxy::replaceRelativeToSelection when spell checking
+https://bugs.webkit.org/show_bug.cgi?id=202010
+
+
+Reviewed by Beth Dakin.
+
+* WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.mm:
+(WebKit::TextCheckingControllerProxy::replaceRelativeToSelection):
+relativeReplacementRange is in the coordinate space of the document's text,
+not the replacement string. We need to adjust into replacement string
+coordinates before slicing the replacement, or we'll throw an exception
+trying to read past the end of the string, in the case where the
+replacement string is shorter than the replaced string (by more than 2 characters).
+
 2019-09-19  Yury Semikhatsky  
 
 WebStorageNamespaceProvider / StorageNamespaceImpl no longer need SessionIDs


Modified: trunk/Source/WebKit/WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.mm (250107 => 250108)

--- trunk/Source/WebKit/WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.mm	2019-09-19 22:23:50 UTC (rev 250107)
+++ trunk/Source/WebKit/WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.mm	2019-09-19 23:15:52 UTC (rev 250108)
@@ -113,7 +113,7 @@
 auto replacementRange = rangeAndOffsetOfReplacement->range;
 if (replacementRange) {
 bool restoreSelection = frameSelection.selection().isRange();
-frame.editor().replaceRangeForSpellChecking(*replacementRange, [[annotatedString.string string] substringWithRange:NSMakeRange(relativeReplacementLocation, relativeReplacementLength)]);
+frame.editor().replaceRangeForSpellChecking(*replacementRange, [[annotatedString.string string] substringWithRange:NSMakeRange(relativeReplacementLocation, relativeReplacementLength + [annotatedString.string length] - length)]);
 
 size_t selectionLocationToRestore = locationInRoot - selectionOffset;
 if (restoreSelection && selectionLocationToRestore > locationInRoot + relativeReplacementLocation + relativeReplacementLength) {






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [250107] trunk/Source/JavaScriptCore

2019-09-19 Thread mark . lam
Title: [250107] trunk/Source/_javascript_Core








Revision 250107
Author mark@apple.com
Date 2019-09-19 15:23:50 -0700 (Thu, 19 Sep 2019)


Log Message
Reduce the number of required tag bits for the JSValue.
https://bugs.webkit.org/show_bug.cgi?id=201990

Reviewed by Yusuke Suzuki.

We're reducing the number of tag bits to 15.  It should just work.

How did we arrive at 15 bits?

Currently, the minimum number of top bits used by doubles is 13-bits.  The
highest double bit encoding are:

"negative" pureNaN: starts with 0xfff8
negative infinity:  starts with 0xfff0
highest number: starts with 0xffe*
lowest number:  starts with 0x

Requirements:
1. We need tags for 2 range of numbers: pointers (all 0s at the top), and ints
   (all 1s at the top).

2. We want to be able to add an offset to double bits and ensure that they never
   end up in the ranges for pointers and ints.

3. The int tag must be higher than whatever value is produced in the top bits
   when boxing a double.  We have code that relies on this relationship being
   true and checks if a JSValue is an int by checking if the tag bits are above
   or equal to the int tag.

4. We don't want to burn more than 2 CPU registers for tag / mask registers.

Based on the bit encoding of doubles, the full number range of the top 13 bits
are used in valid double numbers.  This means the minimum tag bits must be greater
than 13.

Consider a 14-bit tag.  The DoubleEncodeOffset will be 1 << 50 i.e. starts with
0x0004.  With this encoding,
"negative" pureNaN: maps to 0xfff8 + 0x0004 => 0xfffc

i.e. the top 14 bits are all set.  This conflicts with the int number range.

Next, consider a 15-bit tag.  The DoubleEncodeOffset will be 1 << 49 i.e. starts
with 0x0002.  With this encoding:
"negative" pureNaN: maps to 0xfff8 + 0x0002 => 0xfffa
negative infinity:  maps to 0xfff0 + 0x0002 => 0xfff2

i.e. 0xfffe (top 5 bits set) is available to represent ints.  This is the encoding
that we'll adopt in this patch.

Alternate encodings schemes to consider in the future:
=
1. If we're willing and able to purifyNaN at all the places that can produce a
   "negative" pureNaN, e.g. after a division, then we can remove the "negative"
   pureNaN as a valid double bit encoding.  With this, we can now box doubles
   with just a 14-bit tag, and DoubleEncodeOffset will be 1 << 50 i.e. starts with
   0x0004.

   With this encoding, the top double, negative infinity, is encoded as follows:

negative infinity:  maps to 0xfff0 + 0x0004 => 0xfff4

   i.e. leaving 0xfffc as the tag for ints.

   We didn't adopt this scheme at this time because it adds complexity, and may
   have performance impact from the extra purifyNaN checks.

   Ref: https://bugs.webkit.org/show_bug.cgi?id=202002

2. If we're willing to use 3 tag registers or always materialize one of them, we
   can also adopt a 14-bit tag as follows:

   Pointer {  :::
/ 0002:::
   Double  { ...
\ FFFC:::
   Integer {  :::

   where ...
   NumberMask is 0xfffc: any bits set in the top 14 bits is a number.
   IntMask is 0x: value is int if value & IntMask == IntMask.
   NotCellMask is NumberMask | OtherTag.

   Since the highest double is "negative" pureNaN i.e. starts with 0xfff8, adding
   a DoubleEncodeOffset of 1<<50 (starts with 0x0004) produces 0xfffc which is
   still less than 0x.

   We didn't adopt this scheme at this time because it adds complexity and may
   have a performance impact from either burning another register, or materializing
   the 3rd mask.

   Ref: https://bugs.webkit.org/show_bug.cgi?id=202005

* runtime/JSCJSValue.h:

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/runtime/JSCJSValue.h




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (250106 => 250107)

--- trunk/Source/_javascript_Core/ChangeLog	2019-09-19 21:46:03 UTC (rev 250106)
+++ trunk/Source/_javascript_Core/ChangeLog	2019-09-19 22:23:50 UTC (rev 250107)
@@ -1,5 +1,101 @@
 2019-09-19  Mark Lam  
 
+Reduce the number of required tag bits for the JSValue.
+https://bugs.webkit.org/show_bug.cgi?id=201990
+
+Reviewed by Yusuke Suzuki.
+
+We're reducing the number of tag bits to 15.  It should just work.
+
+How did we arrive at 15 bits?
+
+Currently, the minimum number of top bits used by doubles is 13-bits.  The
+highest double bit encoding are:
+
+"negative" pureNaN: starts with 0xfff8
+negative infinity:  starts with 0xfff0
+highest number: starts with 0xffe*
+lowest number:  starts with 0x
+
+Requirements:
+1. We need tags for 2 range of numbers: pointers (all 0s at the top), and 

[webkit-changes] [250106] trunk/Source/WebKit

2019-09-19 Thread commit-queue
Title: [250106] trunk/Source/WebKit








Revision 250106
Author commit-qu...@webkit.org
Date 2019-09-19 14:46:03 -0700 (Thu, 19 Sep 2019)


Log Message
WebStorageNamespaceProvider / StorageNamespaceImpl no longer need SessionIDs
https://bugs.webkit.org/show_bug.cgi?id=201922


Patch by Yury Semikhatsky  on 2019-09-19
Reviewed by Chris Dumez.

Fix GTK Debug compilation after https://trac.webkit.org/changeset/250083:
../../Source/WebKit/WebProcess/WebStorage/WebStorageNamespaceProvider.cpp:75:55: error: no member named 'singleton' in namespace 'WebCore::Process'
ASSERT_UNUSED(sessionID, sessionID == WebProcess::singleton().sessionID());
  ^

* WebProcess/WebStorage/WebStorageNamespaceProvider.cpp:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/WebProcess/WebStorage/WebStorageNamespaceProvider.cpp




Diff

Modified: trunk/Source/WebKit/ChangeLog (250105 => 250106)

--- trunk/Source/WebKit/ChangeLog	2019-09-19 21:34:10 UTC (rev 250105)
+++ trunk/Source/WebKit/ChangeLog	2019-09-19 21:46:03 UTC (rev 250106)
@@ -1,3 +1,18 @@
+2019-09-19  Yury Semikhatsky  
+
+WebStorageNamespaceProvider / StorageNamespaceImpl no longer need SessionIDs
+https://bugs.webkit.org/show_bug.cgi?id=201922
+
+
+Reviewed by Chris Dumez.
+
+Fix GTK Debug compilation after https://trac.webkit.org/changeset/250083:
+../../Source/WebKit/WebProcess/WebStorage/WebStorageNamespaceProvider.cpp:75:55: error: no member named 'singleton' in namespace 'WebCore::Process'
+ASSERT_UNUSED(sessionID, sessionID == WebProcess::singleton().sessionID());
+  ^
+
+* WebProcess/WebStorage/WebStorageNamespaceProvider.cpp:
+
 2019-09-19  Chris Dumez  
 
 WorkerGlobalScope does not need a SessionID


Modified: trunk/Source/WebKit/WebProcess/WebStorage/WebStorageNamespaceProvider.cpp (250105 => 250106)

--- trunk/Source/WebKit/WebProcess/WebStorage/WebStorageNamespaceProvider.cpp	2019-09-19 21:34:10 UTC (rev 250105)
+++ trunk/Source/WebKit/WebProcess/WebStorage/WebStorageNamespaceProvider.cpp	2019-09-19 21:46:03 UTC (rev 250106)
@@ -29,6 +29,7 @@
 #include "StorageNamespaceImpl.h"
 #include "WebPage.h"
 #include "WebPageGroupProxy.h"
+#include "WebProcess.h"
 #include 
 #include 
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [250105] trunk/Tools

2019-09-19 Thread ryanhaddad
Title: [250105] trunk/Tools








Revision 250105
Author ryanhad...@apple.com
Date 2019-09-19 14:34:10 -0700 (Thu, 19 Sep 2019)


Log Message
REGRESSION: [iOS 13?] TestWebKitAPI.SharedBufferTest.tryCreateArrayBufferLargeSegments is failing
https://bugs.webkit.org/show_bug.cgi?id=201902

Unreviewed test gardening.

* TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp: Disable the test on iOS.

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp




Diff

Modified: trunk/Tools/ChangeLog (250104 => 250105)

--- trunk/Tools/ChangeLog	2019-09-19 21:19:21 UTC (rev 250104)
+++ trunk/Tools/ChangeLog	2019-09-19 21:34:10 UTC (rev 250105)
@@ -1,3 +1,12 @@
+2019-09-19  Ryan Haddad  
+
+REGRESSION: [iOS 13?] TestWebKitAPI.SharedBufferTest.tryCreateArrayBufferLargeSegments is failing
+https://bugs.webkit.org/show_bug.cgi?id=201902
+
+Unreviewed test gardening.
+
+* TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp: Disable the test on iOS.
+
 2019-09-19  Aakash Jain  
 
 [ews] Fix platform for JSC EWS


Modified: trunk/Tools/TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp (250104 => 250105)

--- trunk/Tools/TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp	2019-09-19 21:19:21 UTC (rev 250104)
+++ trunk/Tools/TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp	2019-09-19 21:34:10 UTC (rev 250105)
@@ -101,6 +101,7 @@
 EXPECT_EQ(0, memcmp(expectedConcatenation, arrayBuffer->data(), strlen(expectedConcatenation)));
 }
 
+#if !PLATFORM(IOS) // FIXME: webkit.org/b/201902 REGRESSION: [iOS 13?] TestWebKitAPI.SharedBufferTest.tryCreateArrayBufferLargeSegments is failing
 TEST_F(SharedBufferTest, tryCreateArrayBufferLargeSegments)
 {
 Vector vector0(0x4000, 'a');
@@ -126,6 +127,7 @@
 ++position;
 }
 }
+#endif // !PLATFORM(IOS)
 
 TEST_F(SharedBufferTest, copy)
 {






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [250104] trunk/Source

2019-09-19 Thread cdumez
Title: [250104] trunk/Source








Revision 250104
Author cdu...@apple.com
Date 2019-09-19 14:19:21 -0700 (Thu, 19 Sep 2019)


Log Message
WorkerGlobalScope does not need a SessionID
https://bugs.webkit.org/show_bug.cgi?id=201991

Reviewed by Alex Christensen.

WorkerGlobalScope does not need a SessionID, now that we have a single session
per WebProcess.

Source/WebCore:

* dom/Document.cpp:
(WebCore::Document::resume):
(WebCore::Document::privateBrowsingStateDidChange):
* dom/Document.h:
* dom/ScriptExecutionContext.h:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::matchRegistration):
(WebCore::DocumentLoader::commitData):
(WebCore::DocumentLoader::registerTemporaryServiceWorkerClient):
(WebCore::DocumentLoader::unregisterTemporaryServiceWorkerClient):
* testing/Internals.cpp:
(WebCore::Internals::serviceWorkerClientIdentifier const):
(WebCore::Internals::storeRegistrationsOnDisk):
(WebCore::Internals::hasServiceWorkerRegistration):
(WebCore::Internals::terminateServiceWorker):
(WebCore::Internals::hasServiceWorkerConnection):
* workers/DedicatedWorkerGlobalScope.cpp:
(WebCore::DedicatedWorkerGlobalScope::create):
(WebCore::DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope):
* workers/DedicatedWorkerGlobalScope.h:
* workers/DedicatedWorkerThread.cpp:
(WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
(WebCore::DedicatedWorkerThread::createWorkerGlobalScope):
* workers/DedicatedWorkerThread.h:
* workers/Worker.cpp:
(WebCore::Worker::notifyFinished):
* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::WorkerGlobalScope):
* workers/WorkerGlobalScope.h:
* workers/WorkerGlobalScopeProxy.h:
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
* workers/WorkerMessagingProxy.h:
* workers/WorkerThread.cpp:
(WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
(WebCore::WorkerThread::WorkerThread):
(WebCore::WorkerThread::workerThread):
* workers/WorkerThread.h:
* workers/service/ServiceWorker.cpp:
(WebCore::ServiceWorker::postMessage):
* workers/service/ServiceWorkerContainer.cpp:
(WebCore::mainThreadConnection):
(WebCore::ServiceWorkerContainer::addRegistration):
(WebCore::ServiceWorkerContainer::removeRegistration):
(WebCore::ServiceWorkerContainer::updateRegistration):
(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):
(WebCore::ServiceWorkerContainer::notifyRegistrationIsSettled):
(WebCore::ServiceWorkerContainer::jobFinishedLoadingScript):
(WebCore::ServiceWorkerContainer::notifyFailedFetchingScript):
(WebCore::ServiceWorkerContainer::ensureSWClientConnection):
* workers/service/ServiceWorkerGlobalScope.cpp:
(WebCore::ServiceWorkerGlobalScope::create):
(WebCore::ServiceWorkerGlobalScope::ServiceWorkerGlobalScope):
* workers/service/ServiceWorkerGlobalScope.h:
* workers/service/ServiceWorkerProvider.cpp:
(WebCore::ServiceWorkerProvider::mayHaveServiceWorkerRegisteredForOrigin):
(WebCore::ServiceWorkerProvider::registerServiceWorkerClients):
* workers/service/ServiceWorkerProvider.h:
* workers/service/WorkerSWClientConnection.cpp:
(WebCore::WorkerSWClientConnection::WorkerSWClientConnection):
(WebCore::WorkerSWClientConnection::matchRegistration):
(WebCore::WorkerSWClientConnection::getRegistrations):
(WebCore::WorkerSWClientConnection::whenRegistrationReady):
(WebCore::WorkerSWClientConnection::addServiceWorkerRegistrationInServer):
(WebCore::WorkerSWClientConnection::removeServiceWorkerRegistrationInServer):
(WebCore::WorkerSWClientConnection::didResolveRegistrationPromise):
(WebCore::WorkerSWClientConnection::postMessageToServiceWorker):
(WebCore::WorkerSWClientConnection::serverConnectionIdentifier const):
(WebCore::WorkerSWClientConnection::syncTerminateWorker):
(WebCore::WorkerSWClientConnection::registerServiceWorkerClient):
(WebCore::WorkerSWClientConnection::finishFetchingScriptInServer):
(WebCore::WorkerSWClientConnection::scheduleJob):
* workers/service/WorkerSWClientConnection.h:
* workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::ServiceWorkerThread):
(WebCore::ServiceWorkerThread::createWorkerGlobalScope):
* workers/service/context/ServiceWorkerThread.h:
* workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::ServiceWorkerThreadProxy):
* workers/service/context/ServiceWorkerThreadProxy.h:
* worklets/WorkletGlobalScope.h:
(WebCore::WorkletGlobalScope::sessionID const):
* xml/DOMParser.cpp:
(WebCore::DOMParser::parseFromString):
* xml/DOMParser.h:
* xml/DOMParser.idl:
* xml/XMLHttpRequest.cpp:

Source/WebKit:

* WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::installServiceWorker):
* WebProcess/Storage/WebServiceWorkerProvider.cpp:
(WebKit::WebServiceWorkerProvider::serviceWorkerConnection):
(WebKit::WebServiceWorkerProvider::existingServiceWorkerConnection):
(WebKit::WebServiceWorkerProvider::serviceWorkerConnectionForSession): Deleted.

[webkit-changes] [250103] trunk

2019-09-19 Thread commit-queue
Title: [250103] trunk








Revision 250103
Author commit-qu...@webkit.org
Date 2019-09-19 13:52:30 -0700 (Thu, 19 Sep 2019)


Log Message
Source/WebCore:
[SVG2]: Add auto behavior for rx and ry to the SVG  and elements
https://bugs.webkit.org/show_bug.cgi?id=199843

Patch by Said Abou-Hallawa  on 2019-09-19
Reviewed by Simon Fraser, Nikolas Zimmermann.

The specification is: https://www.w3.org/TR/SVG2/geometry.html#RxProperty.

Change the initial value of rx and ry to be "auto". Change the parser to
parse LengthOrAuto for these properties. Handle the case if one of them
is missing.

Tests: svg/custom/ellipse-radius-auto-dynamic.svg
   svg/custom/ellipse-radius-auto-initial.svg
   svg/custom/ellipse-radius-length-initial.svg
   svg/custom/rect-radius-auto-dynamic.svg
   svg/custom/rect-radius-auto-initial.svg
   svg/custom/rect-radius-length-initial.svg

* css/CSSProperties.json:
* css/parser/CSSPropertyParser.cpp:
(WebCore::consumeRxOrRy):
* rendering/style/RenderStyle.h:
(WebCore::RenderStyle::initialRadius):
* rendering/style/SVGRenderStyleDefs.cpp:
(WebCore::StyleLayoutData::StyleLayoutData):
* rendering/svg/RenderSVGEllipse.cpp:
(WebCore::RenderSVGEllipse::calculateRadiiAndCenter):

LayoutTests:
[SVG2]: Add auto behavior for rx and ry to the SVG  and  elements
https://bugs.webkit.org/show_bug.cgi?id=199843

Patch by Said Abou-Hallawa  on 2019-09-19
Reviewed by Simon Fraser, Nikolas Zimmermann.

Add tests which exercise the initial setting for rx and ry: length, 'auto'.
Add tests to dynamically change the values of these properties from length
to 'auto'.

Skip the tests with dynamic changes till webkit.org/b/201918 is fixed.

* TestExpectations:
* svg/css/parse-length-expected.txt:
* svg/css/parse-length.html:
* svg/custom/ellipse-radius-auto-dynamic-expected.svg: Added.
* svg/custom/ellipse-radius-auto-dynamic.svg: Added.
* svg/custom/ellipse-radius-auto-initial-expected.svg: Added.
* svg/custom/ellipse-radius-auto-initial.svg: Added.
* svg/custom/ellipse-radius-length-initial-expected.svg: Added.
* svg/custom/ellipse-radius-length-initial.svg: Added.
* svg/custom/rect-radius-auto-dynamic-expected.svg: Added.
* svg/custom/rect-radius-auto-dynamic.svg: Added.
* svg/custom/rect-radius-auto-initial-expected.svg: Added.
* svg/custom/rect-radius-auto-initial.svg: Added.
* svg/custom/rect-radius-length-initial-expected.svg: Added.
* svg/custom/rect-radius-length-initial.svg: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/TestExpectations
trunk/LayoutTests/svg/css/parse-length-expected.txt
trunk/LayoutTests/svg/css/parse-length.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/css/CSSProperties.json
trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp
trunk/Source/WebCore/rendering/style/RenderStyle.h
trunk/Source/WebCore/rendering/style/SVGRenderStyleDefs.cpp
trunk/Source/WebCore/rendering/svg/RenderSVGEllipse.cpp


Added Paths

trunk/LayoutTests/svg/custom/ellipse-radius-auto-dynamic-expected.svg
trunk/LayoutTests/svg/custom/ellipse-radius-auto-dynamic.svg
trunk/LayoutTests/svg/custom/ellipse-radius-auto-initial-expected.svg
trunk/LayoutTests/svg/custom/ellipse-radius-auto-initial.svg
trunk/LayoutTests/svg/custom/ellipse-radius-length-initial-expected.svg
trunk/LayoutTests/svg/custom/ellipse-radius-length-initial.svg
trunk/LayoutTests/svg/custom/rect-radius-auto-dynamic-expected.svg
trunk/LayoutTests/svg/custom/rect-radius-auto-dynamic.svg
trunk/LayoutTests/svg/custom/rect-radius-auto-initial-expected.svg
trunk/LayoutTests/svg/custom/rect-radius-auto-initial.svg
trunk/LayoutTests/svg/custom/rect-radius-length-initial-expected.svg
trunk/LayoutTests/svg/custom/rect-radius-length-initial.svg




Diff

Modified: trunk/LayoutTests/ChangeLog (250102 => 250103)

--- trunk/LayoutTests/ChangeLog	2019-09-19 20:07:44 UTC (rev 250102)
+++ trunk/LayoutTests/ChangeLog	2019-09-19 20:52:30 UTC (rev 250103)
@@ -1,3 +1,32 @@
+2019-09-19  Said Abou-Hallawa  
+
+[SVG2]: Add auto behavior for rx and ry to the SVG  and  elements
+https://bugs.webkit.org/show_bug.cgi?id=199843
+
+Reviewed by Simon Fraser, Nikolas Zimmermann.
+
+Add tests which exercise the initial setting for rx and ry: length, 'auto'.
+Add tests to dynamically change the values of these properties from length
+to 'auto'.
+
+Skip the tests with dynamic changes till webkit.org/b/201918 is fixed.
+
+* TestExpectations:
+* svg/css/parse-length-expected.txt:
+* svg/css/parse-length.html:
+* svg/custom/ellipse-radius-auto-dynamic-expected.svg: Added.
+* svg/custom/ellipse-radius-auto-dynamic.svg: Added.
+* svg/custom/ellipse-radius-auto-initial-expected.svg: Added.
+* svg/custom/ellipse-radius-auto-initial.svg: Added.
+* svg/custom/ellipse-radius-length-initial-expected.svg: Added.
+* svg/custom/ellipse-radius-length-initial.svg: Added.
+* 

[webkit-changes] [250102] trunk/Tools

2019-09-19 Thread aakash_jain
Title: [250102] trunk/Tools








Revision 250102
Author aakash_j...@apple.com
Date 2019-09-19 13:07:44 -0700 (Thu, 19 Sep 2019)


Log Message
[ews] Fix platform for JSC EWS
https://bugs.webkit.org/show_bug.cgi?id=201997

Reviewed by Jonathan Bedard.

* BuildSlaveSupport/ews-build/config.json:

Modified Paths

trunk/Tools/BuildSlaveSupport/ews-build/config.json
trunk/Tools/ChangeLog




Diff

Modified: trunk/Tools/BuildSlaveSupport/ews-build/config.json (250101 => 250102)

--- trunk/Tools/BuildSlaveSupport/ews-build/config.json	2019-09-19 19:36:35 UTC (rev 250101)
+++ trunk/Tools/BuildSlaveSupport/ews-build/config.json	2019-09-19 20:07:44 UTC (rev 250102)
@@ -150,11 +150,11 @@
 },
 {
   "name": "ews127",
-  "platform": "jsc-only"
+  "platform": "mac-highsierra"
 },
 {
   "name": "ews128",
-  "platform": "jsc-only"
+  "platform": "mac-highsierra"
 },
 {
   "name": "ews150",
@@ -422,7 +422,7 @@
   "shortname": "jsc",
   "icon": "buildAndTest",
   "factory": "JSCTestsFactory",
-  "platform": "jsc-only",
+  "platform": "mac-highsierra",
   "configuration": "release",
   "workernames": ["ews127", "ews128"]
 },


Modified: trunk/Tools/ChangeLog (250101 => 250102)

--- trunk/Tools/ChangeLog	2019-09-19 19:36:35 UTC (rev 250101)
+++ trunk/Tools/ChangeLog	2019-09-19 20:07:44 UTC (rev 250102)
@@ -1,3 +1,12 @@
+2019-09-19  Aakash Jain  
+
+[ews] Fix platform for JSC EWS
+https://bugs.webkit.org/show_bug.cgi?id=201997
+
+Reviewed by Jonathan Bedard.
+
+* BuildSlaveSupport/ews-build/config.json:
+
 2019-09-19  Brent Fulgham  
 
 Create InjectedBundle SPI to better support NSSecureCoding






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [250101] trunk/Websites/webkit.org

2019-09-19 Thread justin_fan
Title: [250101] trunk/Websites/webkit.org








Revision 250101
Author justin_...@apple.com
Date 2019-09-19 12:36:35 -0700 (Thu, 19 Sep 2019)


Log Message
[WebGPU] Update messaging to reflect STP 92 requirement for demos
https://bugs.webkit.org/show_bug.cgi?id=201931

Reviewed by Jon Lee.

Demos don't work anymore on versions of Safari older than STP 92,
so update WebGPU feature detection to reflect that.

* demos/webgpu/babylon/babylonWebGpu.max.js:
* demos/webgpu/babylon/oneHelmetWebGPU.html:
* demos/webgpu/babylon/oneSphereWebGPU.html:
* demos/webgpu/compute-blur.html:
* demos/webgpu/compute-boids-compile.html:
* demos/webgpu/compute-boids.html:
* demos/webgpu/hello-cube.html:
* demos/webgpu/hello-triangle.html:
* demos/webgpu/scripts/compute-blur.js:
(async.init):
* demos/webgpu/scripts/compute-boids-compile.js:
* demos/webgpu/scripts/hello-triangle.js:
(async.helloTriangle):
* demos/webgpu/textured-cube.html:

Modified Paths

trunk/Websites/webkit.org/ChangeLog
trunk/Websites/webkit.org/demos/webgpu/babylon/babylonWebGpu.max.js
trunk/Websites/webkit.org/demos/webgpu/babylon/oneHelmetWebGPU.html
trunk/Websites/webkit.org/demos/webgpu/babylon/oneSphereWebGPU.html
trunk/Websites/webkit.org/demos/webgpu/compute-blur.html
trunk/Websites/webkit.org/demos/webgpu/compute-boids-compile.html
trunk/Websites/webkit.org/demos/webgpu/compute-boids.html
trunk/Websites/webkit.org/demos/webgpu/hello-cube.html
trunk/Websites/webkit.org/demos/webgpu/hello-triangle.html
trunk/Websites/webkit.org/demos/webgpu/scripts/compute-blur.js
trunk/Websites/webkit.org/demos/webgpu/scripts/compute-boids-compile.js
trunk/Websites/webkit.org/demos/webgpu/scripts/hello-triangle.js
trunk/Websites/webkit.org/demos/webgpu/textured-cube.html




Diff

Modified: trunk/Websites/webkit.org/ChangeLog (250100 => 250101)

--- trunk/Websites/webkit.org/ChangeLog	2019-09-19 19:19:37 UTC (rev 250100)
+++ trunk/Websites/webkit.org/ChangeLog	2019-09-19 19:36:35 UTC (rev 250101)
@@ -1,3 +1,28 @@
+2019-09-19  Justin Fan  
+
+[WebGPU] Update messaging to reflect STP 92 requirement for demos
+https://bugs.webkit.org/show_bug.cgi?id=201931
+
+Reviewed by Jon Lee.
+
+Demos don't work anymore on versions of Safari older than STP 92,
+so update WebGPU feature detection to reflect that.
+
+* demos/webgpu/babylon/babylonWebGpu.max.js:
+* demos/webgpu/babylon/oneHelmetWebGPU.html:
+* demos/webgpu/babylon/oneSphereWebGPU.html:
+* demos/webgpu/compute-blur.html:
+* demos/webgpu/compute-boids-compile.html:
+* demos/webgpu/compute-boids.html:
+* demos/webgpu/hello-cube.html:
+* demos/webgpu/hello-triangle.html:
+* demos/webgpu/scripts/compute-blur.js:
+(async.init):
+* demos/webgpu/scripts/compute-boids-compile.js:
+* demos/webgpu/scripts/hello-triangle.js:
+(async.helloTriangle):
+* demos/webgpu/textured-cube.html:
+
 2019-09-18  Myles C. Maxfield  
 
 [WebGPU] Update demos to work on STP 92


Modified: trunk/Websites/webkit.org/demos/webgpu/babylon/babylonWebGpu.max.js (250100 => 250101)

--- trunk/Websites/webkit.org/demos/webgpu/babylon/babylonWebGpu.max.js	2019-09-19 19:19:37 UTC (rev 250100)
+++ trunk/Websites/webkit.org/demos/webgpu/babylon/babylonWebGpu.max.js	2019-09-19 19:36:35 UTC (rev 250101)
@@ -41963,7 +41963,7 @@
 _this._decodeEngine.getCaps().textureHalfFloat = false;
 _this._decodeEngine.getCaps().textureHalfFloatRender = false;
 _Misc_logger__WEBPACK_IMPORTED_MODULE_1__["Logger"].Log("Babylon.js v" + _Engines_engine__WEBPACK_IMPORTED_MODULE_4__["Engine"].Version + " - WebGPU engine");
-if (!navigator.gpu) {
+if (!navigator.gpu || GPUBufferUsage.COPY_SRC === undefined) {
 _Misc_logger__WEBPACK_IMPORTED_MODULE_1__["Logger"].Error("WebGPU is not supported by your browser.");
 return _this;
 }


Modified: trunk/Websites/webkit.org/demos/webgpu/babylon/oneHelmetWebGPU.html (250100 => 250101)

--- trunk/Websites/webkit.org/demos/webgpu/babylon/oneHelmetWebGPU.html	2019-09-19 19:19:37 UTC (rev 250100)
+++ trunk/Websites/webkit.org/demos/webgpu/babylon/oneHelmetWebGPU.html	2019-09-19 19:36:35 UTC (rev 250101)
@@ -175,8 +175,8 @@
 let Shaderc = {Compiler, CompileOptions, shader_kind: ShaderKind};
 
 (async function() {
-if (!navigator.gpu) {
-alert("WebGPU is not enabled.");
+if (!navigator.gpu || GPUBufferUsage.COPY_SRC === undefined) {
+alert("WebGPU is not enabled. Are you using Safari Technology Preview 92 or above?");
 return;
 }
 const canvas = document.getElementById("renderCanvas");


Modified: trunk/Websites/webkit.org/demos/webgpu/babylon/oneSphereWebGPU.html (250100 => 250101)

--- trunk/Websites/webkit.org/demos/webgpu/babylon/oneSphereWebGPU.html	2019-09-19 19:19:37 UTC (rev 250100)
+++ 

[webkit-changes] [250100] trunk

2019-09-19 Thread commit-queue
Title: [250100] trunk








Revision 250100
Author commit-qu...@webkit.org
Date 2019-09-19 12:19:37 -0700 (Thu, 19 Sep 2019)


Log Message
HTMLVideoElement with a broken poster image will take square dimension
https://bugs.webkit.org/show_bug.cgi?id=174122


Patch by Peng Liu  on 2019-09-19
Reviewed by Daniel Bates.

Source/WebCore:

For a video element, if only the width attribute is given and the height attribute is missing,
an invalid poster image will make its aspect ratio to be 1, which is the historical WebKit behavior
if we're painting alt text and/or a broken image. This fix prevents that behavior to impact video elements.

We add a virtual function shouldDisplayBrokenImageIcon() to RenderImage and it will return true
only when the image source is given but cannot be downloaded. RenderMedia overrides this virtual function
and always return false because it never shows the broken image icon. RenderVideo inherits
that behavior from RenderMedia.

Then, in RenderImage::computeIntrinsicRatioInformation(), we only set the aspect ratio to 1
when we need to show the broken image icon. It is the historical WebKit behavior that we want to keep
for image element, but we also want to avoid its impact (this bug) on video elements.

We also replace the imageResource().errorOccurred() with shouldDisplayBrokenImageIcon() in
TreeBuilder::createLayoutBox() for the same reason.

The logic to display the broken image icon in RenderImage::renderReplaced() is also cleaned up.

Test: media/video-poster-not-found.html

* layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::TreeBuilder::createLayoutBox):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::shouldDisplayBrokenImageIcon const):
(WebCore::RenderImage::paintReplaced):
(WebCore::RenderImage::computeIntrinsicRatioInformation const):
* rendering/RenderImage.h:
* rendering/RenderMedia.h:

LayoutTests:

When only the width (no height) attribute of a video element is given
and the the poster image is missing (cannot be downloaded),
the aspect ratio of the video element should not be 1, which is the default behavior
of WebKit to paint a broken image. Instead, it should be the aspect ratio of the video content.

* media/video-poster-not-found-expected.txt: Added.
* media/video-poster-not-found.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/layout/layouttree/LayoutTreeBuilder.cpp
trunk/Source/WebCore/rendering/RenderImage.cpp
trunk/Source/WebCore/rendering/RenderImage.h
trunk/Source/WebCore/rendering/RenderMedia.h


Added Paths

trunk/LayoutTests/media/video-poster-not-found-expected.txt
trunk/LayoutTests/media/video-poster-not-found.html




Diff

Modified: trunk/LayoutTests/ChangeLog (250099 => 250100)

--- trunk/LayoutTests/ChangeLog	2019-09-19 19:02:06 UTC (rev 250099)
+++ trunk/LayoutTests/ChangeLog	2019-09-19 19:19:37 UTC (rev 250100)
@@ -1,3 +1,19 @@
+2019-09-19  Peng Liu  
+
+HTMLVideoElement with a broken poster image will take square dimension
+https://bugs.webkit.org/show_bug.cgi?id=174122
+
+
+Reviewed by Daniel Bates.
+
+When only the width (no height) attribute of a video element is given
+and the the poster image is missing (cannot be downloaded),
+the aspect ratio of the video element should not be 1, which is the default behavior
+of WebKit to paint a broken image. Instead, it should be the aspect ratio of the video content.
+
+* media/video-poster-not-found-expected.txt: Added.
+* media/video-poster-not-found.html: Added.
+
 2019-09-19  Miguel Gomez  
 
 [WPE][GTK] Gardening after r250087


Added: trunk/LayoutTests/media/video-poster-not-found-expected.txt (0 => 250100)

--- trunk/LayoutTests/media/video-poster-not-found-expected.txt	(rev 0)
+++ trunk/LayoutTests/media/video-poster-not-found-expected.txt	2019-09-19 19:19:37 UTC (rev 250100)
@@ -0,0 +1,9 @@
+
+Test  element with only width attribute and the poster is missing (cannot be downloaded).
+
+RUN(video.src = "" "content/test"))
+EVENT(canplaythrough)
+EXPECTED (video.clientWidth == '320') OK
+EXPECTED (video.clientHeight == '240') OK
+END OF TEST
+


Added: trunk/LayoutTests/media/video-poster-not-found.html (0 => 250100)

--- trunk/LayoutTests/media/video-poster-not-found.html	(rev 0)
+++ trunk/LayoutTests/media/video-poster-not-found.html	2019-09-19 19:19:37 UTC (rev 250100)
@@ -0,0 +1,35 @@
+
+
+
+
+video-poster-not-found
+
+function go()
+{
+findMediaElement();
+run('video.src = "" "content/test")');
+waitForEventOnce('canplaythrough', canplaythrough);
+}
+
+function canplaythrough()
+{
+// When only the width attribute is given and the height attribute is missing,
+// for an image element, if it cannot download the image (a 

[webkit-changes] [250099] trunk/Source/JavaScriptCore

2019-09-19 Thread mark . lam
Title: [250099] trunk/Source/_javascript_Core








Revision 250099
Author mark@apple.com
Date 2019-09-19 12:02:06 -0700 (Thu, 19 Sep 2019)


Log Message
Refactoring: fix broken indentation in JSNonDestructibleProxy.h.
https://bugs.webkit.org/show_bug.cgi?id=201989

Reviewed by Saam Barati.

This patch only unindent the code to get it back to compliant formatting.
There is no actual code change.

* runtime/JSNonDestructibleProxy.h:
(JSC::JSNonDestructibleProxy::subspaceFor):
(JSC::JSNonDestructibleProxy::create):
(JSC::JSNonDestructibleProxy::createStructure):
(JSC::JSNonDestructibleProxy::JSNonDestructibleProxy):

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/runtime/JSNonDestructibleProxy.h




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (250098 => 250099)

--- trunk/Source/_javascript_Core/ChangeLog	2019-09-19 18:45:12 UTC (rev 250098)
+++ trunk/Source/_javascript_Core/ChangeLog	2019-09-19 19:02:06 UTC (rev 250099)
@@ -1,3 +1,19 @@
+2019-09-19  Mark Lam  
+
+Refactoring: fix broken indentation in JSNonDestructibleProxy.h.
+https://bugs.webkit.org/show_bug.cgi?id=201989
+
+Reviewed by Saam Barati.
+
+This patch only unindent the code to get it back to compliant formatting.
+There is no actual code change.
+
+* runtime/JSNonDestructibleProxy.h:
+(JSC::JSNonDestructibleProxy::subspaceFor):
+(JSC::JSNonDestructibleProxy::create):
+(JSC::JSNonDestructibleProxy::createStructure):
+(JSC::JSNonDestructibleProxy::JSNonDestructibleProxy):
+
 2019-09-19  Tadeu Zagallo  
 
 Syntax checker should report duplicate __proto__ properties


Modified: trunk/Source/_javascript_Core/runtime/JSNonDestructibleProxy.h (250098 => 250099)

--- trunk/Source/_javascript_Core/runtime/JSNonDestructibleProxy.h	2019-09-19 18:45:12 UTC (rev 250098)
+++ trunk/Source/_javascript_Core/runtime/JSNonDestructibleProxy.h	2019-09-19 19:02:06 UTC (rev 250099)
@@ -29,53 +29,53 @@
 
 namespace JSC {
 
-class JSNonDestructibleProxy : public JSProxy {
-public:
-using Base = JSProxy;
-static constexpr unsigned StructureFlags = Base::StructureFlags;
-static constexpr bool needsDestruction = false;
+class JSNonDestructibleProxy : public JSProxy {
+public:
+using Base = JSProxy;
+static constexpr unsigned StructureFlags = Base::StructureFlags;
+static constexpr bool needsDestruction = false;
 
-template
-static CompleteSubspace* subspaceFor(VM& vm)
-{
-// JSProxy is JSDestrucitbleObject, but we make this JSNonDestructibleProxy non-destructible by using non-destructible subspace.
-// The motivation behind this is (1) except for JSWindowProxy JSProxy does not need to be destructible, and (2) subspace of destructible
-// and non-destructible objects are separated and JSProxy is using one MarkedBlock only for JSProxy class in the JSC framework and wasting memory.
-// Basically, to make objects destructible, objects need to inherit JSDestructibleObject. It holds a classInfo at a specific offset
-// so that Heap can get methodTable::destroy even if structures held by objects are destroyed before objects' destructions. But this
-// requirement forces JSProxy to inherit JSDestructibleObject for JSWindowProxy even while the other JSProxy does not need to be
-// destructible. We create JSNonDestructibleProxy, which is a subclass of JSProxy, and make it non-destructible so that we still keep
-// JSWindowProxy destructible while making JSNonDestructibleProxy non-destructible.
-return JSNonFinalObject::subspaceFor(vm);
-}
+template
+static CompleteSubspace* subspaceFor(VM& vm)
+{
+// JSProxy is JSDestrucitbleObject, but we make this JSNonDestructibleProxy non-destructible by using non-destructible subspace.
+// The motivation behind this is (1) except for JSWindowProxy JSProxy does not need to be destructible, and (2) subspace of destructible
+// and non-destructible objects are separated and JSProxy is using one MarkedBlock only for JSProxy class in the JSC framework and wasting memory.
+// Basically, to make objects destructible, objects need to inherit JSDestructibleObject. It holds a classInfo at a specific offset
+// so that Heap can get methodTable::destroy even if structures held by objects are destroyed before objects' destructions. But this
+// requirement forces JSProxy to inherit JSDestructibleObject for JSWindowProxy even while the other JSProxy does not need to be
+// destructible. We create JSNonDestructibleProxy, which is a subclass of JSProxy, and make it non-destructible so that we still keep
+// JSWindowProxy destructible while making 

[webkit-changes] [250098] trunk

2019-09-19 Thread tzagallo
Title: [250098] trunk








Revision 250098
Author tzaga...@apple.com
Date 2019-09-19 11:45:12 -0700 (Thu, 19 Sep 2019)


Log Message
Syntax checker should report duplicate __proto__ properties
https://bugs.webkit.org/show_bug.cgi?id=201897


Reviewed by Mark Lam.

JSTests:

* stress/syntax-checker-duplicate-underscore-proto.js: Added.
(catch):

Source/_javascript_Core:

Currently we have two ways of parsing object literals:
- parseObjectLiteral: this is called in sloppy mode, and as an optimization for syntax checking,
  it doesn't allocate string literals while parsing properties. It does still allocate identifiers,
  but it won't store them in the Property object that it creates for each parsed property. This
  method backtracks and calls parseObjectStrictLiteral if it finds any getters or setters.
- parseObjectStrictLiteral: this is called in strict mode, or when the object contains getters/setters
  as stated above. This will always allocate string literals as well as identifiers and store them in
  the Property object, even during syntax checking.

>From looking at the history, it seems that there was a distinction between these two methods:
parseStrictObjectLiteral was introduced in r62848 and contained an extra check for duplicate
getters/setters or properties defined as both getters/setters and constants. That distinction
was removed and the only distinction that remained was whether we build strings and store the
strings and properties as part of the Property object created by SyntaxChecker::createProperty.
However, this optimization is no longer valid, since we need to throw a SyntaxError for duplicate
__proto__ properties in object literals even in sloppy mode, which means that we do need to build
the strings and identifiers and store them as part of the Property objects.

* parser/Parser.cpp:
(JSC::Parser::parseObjectLiteral):
(JSC::Parser::parsePrimaryExpression):
(JSC::Parser::parseStrictObjectLiteral): Deleted.
* parser/Parser.h:

Modified Paths

trunk/JSTests/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/parser/Parser.cpp
trunk/Source/_javascript_Core/parser/Parser.h


Added Paths

trunk/JSTests/stress/syntax-checker-duplicate-underscore-proto.js




Diff

Modified: trunk/JSTests/ChangeLog (250097 => 250098)

--- trunk/JSTests/ChangeLog	2019-09-19 18:28:19 UTC (rev 250097)
+++ trunk/JSTests/ChangeLog	2019-09-19 18:45:12 UTC (rev 250098)
@@ -1,3 +1,14 @@
+2019-09-19  Tadeu Zagallo  
+
+Syntax checker should report duplicate __proto__ properties
+https://bugs.webkit.org/show_bug.cgi?id=201897
+
+
+Reviewed by Mark Lam.
+
+* stress/syntax-checker-duplicate-underscore-proto.js: Added.
+(catch):
+
 2019-09-18  Saam Barati  
 
 TOCTOU bug in havingABadTime related assertion in DFGSpeculativeJIT


Added: trunk/JSTests/stress/syntax-checker-duplicate-underscore-proto.js (0 => 250098)

--- trunk/JSTests/stress/syntax-checker-duplicate-underscore-proto.js	(rev 0)
+++ trunk/JSTests/stress/syntax-checker-duplicate-underscore-proto.js	2019-09-19 18:45:12 UTC (rev 250098)
@@ -0,0 +1,8 @@
+try {
+eval("(function() { ({ x: 1, y: 1, z: 1, __proto__: 1, __proto__: 1 }) })");
+eval("(function() { ({ x: 1, y: 1, z: 1, '__proto__': 1, '__proto__': 1 }) })");
+throw new Error('Should have thrown a SyntaxError');
+} catch (error) {
+if (!(error instanceof SyntaxError) && error.message !== 'Attempted to redefine __proto__ property.')
+throw new Error(`Unexpected error: ${error.message}`);
+}


Modified: trunk/Source/_javascript_Core/ChangeLog (250097 => 250098)

--- trunk/Source/_javascript_Core/ChangeLog	2019-09-19 18:28:19 UTC (rev 250097)
+++ trunk/Source/_javascript_Core/ChangeLog	2019-09-19 18:45:12 UTC (rev 250098)
@@ -1,3 +1,35 @@
+2019-09-19  Tadeu Zagallo  
+
+Syntax checker should report duplicate __proto__ properties
+https://bugs.webkit.org/show_bug.cgi?id=201897
+
+
+Reviewed by Mark Lam.
+
+Currently we have two ways of parsing object literals:
+- parseObjectLiteral: this is called in sloppy mode, and as an optimization for syntax checking,
+  it doesn't allocate string literals while parsing properties. It does still allocate identifiers,
+  but it won't store them in the Property object that it creates for each parsed property. This
+  method backtracks and calls parseObjectStrictLiteral if it finds any getters or setters.
+- parseObjectStrictLiteral: this is called in strict mode, or when the object contains getters/setters
+  as stated above. This will always allocate string literals as well as identifiers and store them in
+  the Property object, even during syntax checking.
+
+From looking at the history, it seems that there was a distinction between these two methods:
+parseStrictObjectLiteral was introduced in r62848 and contained an extra 

[webkit-changes] [250097] trunk/Source/JavaScriptCore

2019-09-19 Thread mark . lam
Title: [250097] trunk/Source/_javascript_Core








Revision 250097
Author mark@apple.com
Date 2019-09-19 11:28:19 -0700 (Thu, 19 Sep 2019)


Log Message
Remove a now unnecessary hack to work around static const needing external linkage.
https://bugs.webkit.org/show_bug.cgi?id=201988

Reviewed by Saam Barati.

MacroAssembler::dataTempRegister is now a constexpr, thereby ensuring that it's
inlinable.

* b3/B3Common.cpp:
(JSC::B3::pinnedExtendedOffsetAddrRegister):

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/b3/B3Common.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (250096 => 250097)

--- trunk/Source/_javascript_Core/ChangeLog	2019-09-19 18:04:21 UTC (rev 250096)
+++ trunk/Source/_javascript_Core/ChangeLog	2019-09-19 18:28:19 UTC (rev 250097)
@@ -1,5 +1,18 @@
 2019-09-19  Mark Lam  
 
+Remove a now unnecessary hack to work around static const needing external linkage.
+https://bugs.webkit.org/show_bug.cgi?id=201988
+
+Reviewed by Saam Barati.
+
+MacroAssembler::dataTempRegister is now a constexpr, thereby ensuring that it's
+inlinable.
+
+* b3/B3Common.cpp:
+(JSC::B3::pinnedExtendedOffsetAddrRegister):
+
+2019-09-19  Mark Lam  
+
 Replace JSValue #defines with static constexpr values.
 https://bugs.webkit.org/show_bug.cgi?id=201966
 


Modified: trunk/Source/_javascript_Core/b3/B3Common.cpp (250096 => 250097)

--- trunk/Source/_javascript_Core/b3/B3Common.cpp	2019-09-19 18:04:21 UTC (rev 250096)
+++ trunk/Source/_javascript_Core/b3/B3Common.cpp	2019-09-19 18:28:19 UTC (rev 250097)
@@ -69,7 +69,7 @@
 Optional pinnedExtendedOffsetAddrRegister()
 {
 #if CPU(ARM64)
-return static_cast(+MacroAssembler::dataTempRegister);
+return MacroAssembler::dataTempRegister;
 #elif CPU(X86_64)
 return WTF::nullopt;
 #else






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [250096] branches/safari-608.2.11.1-branch/Source/WebKit

2019-09-19 Thread alancoon
Title: [250096] branches/safari-608.2.11.1-branch/Source/WebKit








Revision 250096
Author alanc...@apple.com
Date 2019-09-19 11:04:21 -0700 (Thu, 19 Sep 2019)


Log Message
Cherry-pick r250069. rdar://problem/55524978

Eagerly create and add the m_layerHostingView to WKWebView.
https://bugs.webkit.org/show_bug.cgi?id=201942

Reviewed by Tim Horton.

Some apps will add subviews to WKWebView, and by the time we add our m_layerHostingView view we might be
adding it behind a view that should have been added behind our layer hosting view subview. This affected
the Spark email app, due to changes in order of loading delegate calls and when compositing is enabled.
Instead of delayed creation of m_layerHostingView, always create it and add it to to the WKWebView.
This ensures proper ordering of subviews when clients add a view behind all existing subviews.

* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::WebViewImpl): Create and add m_layerHostingView here.
(WebKit::WebViewImpl::setAcceleratedCompositingRootLayer): Remove creation and removal of m_layerHostingView.
Just set the sublayers of m_layerHostingView's layer here.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@250069 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-608.2.11.1-branch/Source/WebKit/ChangeLog
branches/safari-608.2.11.1-branch/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm




Diff

Modified: branches/safari-608.2.11.1-branch/Source/WebKit/ChangeLog (250095 => 250096)

--- branches/safari-608.2.11.1-branch/Source/WebKit/ChangeLog	2019-09-19 18:01:55 UTC (rev 250095)
+++ branches/safari-608.2.11.1-branch/Source/WebKit/ChangeLog	2019-09-19 18:04:21 UTC (rev 250096)
@@ -1,3 +1,44 @@
+2019-09-19  Kocsen Chung  
+
+Cherry-pick r250069. rdar://problem/55524978
+
+Eagerly create and add the m_layerHostingView to WKWebView.
+https://bugs.webkit.org/show_bug.cgi?id=201942
+
+Reviewed by Tim Horton.
+
+Some apps will add subviews to WKWebView, and by the time we add our m_layerHostingView view we might be
+adding it behind a view that should have been added behind our layer hosting view subview. This affected
+the Spark email app, due to changes in order of loading delegate calls and when compositing is enabled.
+Instead of delayed creation of m_layerHostingView, always create it and add it to to the WKWebView.
+This ensures proper ordering of subviews when clients add a view behind all existing subviews.
+
+* UIProcess/Cocoa/WebViewImpl.mm:
+(WebKit::WebViewImpl::WebViewImpl): Create and add m_layerHostingView here.
+(WebKit::WebViewImpl::setAcceleratedCompositingRootLayer): Remove creation and removal of m_layerHostingView.
+Just set the sublayers of m_layerHostingView's layer here.
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@250069 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2019-09-18  Timothy Hatcher  
+
+Eagerly create and add the m_layerHostingView to WKWebView.
+https://bugs.webkit.org/show_bug.cgi?id=201942
+
+Reviewed by Tim Horton.
+
+Some apps will add subviews to WKWebView, and by the time we add our m_layerHostingView view we might be
+adding it behind a view that should have been added behind our layer hosting view subview. This affected
+the Spark email app, due to changes in order of loading delegate calls and when compositing is enabled.
+Instead of delayed creation of m_layerHostingView, always create it and add it to to the WKWebView.
+This ensures proper ordering of subviews when clients add a view behind all existing subviews.
+
+* UIProcess/Cocoa/WebViewImpl.mm:
+(WebKit::WebViewImpl::WebViewImpl): Create and add m_layerHostingView here.
+(WebKit::WebViewImpl::setAcceleratedCompositingRootLayer): Remove creation and removal of m_layerHostingView.
+Just set the sublayers of m_layerHostingView's layer here.
+
 2019-09-11  Alan Coon  
 
 Apply patch. rdar://problem/55240886


Modified: branches/safari-608.2.11.1-branch/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm (250095 => 250096)

--- branches/safari-608.2.11.1-branch/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm	2019-09-19 18:01:55 UTC (rev 250095)
+++ branches/safari-608.2.11.1-branch/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm	2019-09-19 18:04:21 UTC (rev 250096)
@@ -1351,6 +1351,22 @@
 
 [view addTrackingArea:m_primaryTrackingArea.get()];
 
+// Create an NSView that will host our layer tree.
+m_layerHostingView = adoptNS([[WKFlippedView alloc] initWithFrame:[m_view bounds]]);
+[m_layerHostingView setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable];
+
+[view addSubview:m_layerHostingView.get() positioned:NSWindowBelow relativeTo:nil];
+
+// Create a root layer that will back the NSView.
+RetainPtr 

[webkit-changes] [250095] branches/safari-608.2.11.1-branch/Source

2019-09-19 Thread alancoon
Title: [250095] branches/safari-608.2.11.1-branch/Source








Revision 250095
Author alanc...@apple.com
Date 2019-09-19 11:01:55 -0700 (Thu, 19 Sep 2019)


Log Message
Versioning.

Modified Paths

branches/safari-608.2.11.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig
branches/safari-608.2.11.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig
branches/safari-608.2.11.1-branch/Source/WebCore/Configurations/Version.xcconfig
branches/safari-608.2.11.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig
branches/safari-608.2.11.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig
branches/safari-608.2.11.1-branch/Source/WebKit/Configurations/Version.xcconfig
branches/safari-608.2.11.1-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig




Diff

Modified: branches/safari-608.2.11.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig (250094 => 250095)

--- branches/safari-608.2.11.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2019-09-19 16:14:47 UTC (rev 250094)
+++ branches/safari-608.2.11.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2019-09-19 18:01:55 UTC (rev 250095)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 2;
 TINY_VERSION = 11;
 MICRO_VERSION = 1;
-NANO_VERSION = 7;
+NANO_VERSION = 8;
 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.


Modified: branches/safari-608.2.11.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (250094 => 250095)

--- branches/safari-608.2.11.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2019-09-19 16:14:47 UTC (rev 250094)
+++ branches/safari-608.2.11.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2019-09-19 18:01:55 UTC (rev 250095)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 2;
 TINY_VERSION = 11;
 MICRO_VERSION = 1;
-NANO_VERSION = 7;
+NANO_VERSION = 8;
 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.


Modified: branches/safari-608.2.11.1-branch/Source/WebCore/Configurations/Version.xcconfig (250094 => 250095)

--- branches/safari-608.2.11.1-branch/Source/WebCore/Configurations/Version.xcconfig	2019-09-19 16:14:47 UTC (rev 250094)
+++ branches/safari-608.2.11.1-branch/Source/WebCore/Configurations/Version.xcconfig	2019-09-19 18:01:55 UTC (rev 250095)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 2;
 TINY_VERSION = 11;
 MICRO_VERSION = 1;
-NANO_VERSION = 7;
+NANO_VERSION = 8;
 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.


Modified: branches/safari-608.2.11.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (250094 => 250095)

--- branches/safari-608.2.11.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2019-09-19 16:14:47 UTC (rev 250094)
+++ branches/safari-608.2.11.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2019-09-19 18:01:55 UTC (rev 250095)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 2;
 TINY_VERSION = 11;
 MICRO_VERSION = 1;
-NANO_VERSION = 7;
+NANO_VERSION = 8;
 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.


Modified: branches/safari-608.2.11.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (250094 => 250095)

--- branches/safari-608.2.11.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2019-09-19 16:14:47 UTC (rev 250094)
+++ branches/safari-608.2.11.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2019-09-19 18:01:55 UTC (rev 250095)
@@ -2,7 +2,7 @@
 MINOR_VERSION = 2;
 TINY_VERSION = 11;
 MICRO_VERSION = 1;
-NANO_VERSION = 7;
+NANO_VERSION = 8;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The system version prefix is based on the current system version.


Modified: branches/safari-608.2.11.1-branch/Source/WebKit/Configurations/Version.xcconfig (250094 => 250095)

--- branches/safari-608.2.11.1-branch/Source/WebKit/Configurations/Version.xcconfig	2019-09-19 16:14:47 UTC (rev 250094)
+++ branches/safari-608.2.11.1-branch/Source/WebKit/Configurations/Version.xcconfig	2019-09-19 18:01:55 UTC (rev 250095)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 2;
 TINY_VERSION = 11;
 MICRO_VERSION = 1;
-NANO_VERSION = 7;
+NANO_VERSION = 8;
 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.


Modified: 

[webkit-changes] [250093] trunk

2019-09-19 Thread bfulgham
Title: [250093] trunk








Revision 250093
Author bfulg...@apple.com
Date 2019-09-19 09:11:31 -0700 (Thu, 19 Sep 2019)


Log Message
Create InjectedBundle SPI to better support NSSecureCoding
https://bugs.webkit.org/show_bug.cgi?id=201810


The encoding/decoding routines used by WebKit’s InjectedBundles are based on NSCoding.
While we have changed WebKit internals to use NSSecureCoding, there are a number of
injected bundles that need to serialize custom classes between the InjectedBundle and
the relevant WebKit UIProcess.

We need to lock down this communications channel by enforcing NSSecureCoding.

This patch creates new SPI to allow the UIProcess to specify classes that it will accept
in messages from the WebContet Process (and Injected Bundle).

It adds the following property to the WKProcessPoolConfiguration:

@property (nonatomic, copy) NSSet *customClassesForParameterCoder;

If no custom classes are specified, the standard serialization primitives are supported:
NSArray, NSData, NSDate, NSDictionary, NSNull, NSNumber, NSSet, NSString,
NSTimeZone, NSURL, and NSUUID.

Reviewed by Brady Eidson.

Source/WebKit:

* UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy): Copy any custom classes.
* UIProcess/API/APIProcessPoolConfiguration.h:
* UIProcess/API/C/WKContextConfigurationRef.cpp:
(WKContextConfigurationCopyCustomClassesForParameterCoder): Added.
(WKContextConfigurationSetCustomClassesForParameterCoder): Added.
* UIProcess/API/C/WKContextConfigurationRef.h:
* UIProcess/API/Cocoa/WKProcessGroup.h:
* UIProcess/API/Cocoa/WKProcessGroup.mm:
(toStringVector): Added.
(-[WKProcessGroup initWithInjectedBundleURL:andCustomClassesForParameterCoder:]):
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setInputDelegate:]): Restrict serialization to allowed classes.
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration customClassesForParameterCoder]): Added.
(-[_WKProcessPoolConfiguration setCustomClassesForParameterCoder:]): Added.
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitialize): Register any custom classes
provided in the configuraton.
(WebKit::WebProcessPool::initializeClassesForParameterCoding): Added.
(WebKit::WebProcessPool::allowedClassesForParameterCoding const): Added.
* UIProcess/WebProcessPool.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::elementDidFocus): Restrict serialization to allowed
classes only.

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegate.mm: Added.
(-[BundleFormDelegateRemoteObject didGetFocus]):
(-[FormInputDelegate _webView:decidePolicyForFocusedElement:]):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegatePlugIn.mm: Added.
(-[BundleFormDelegatePlugIn webProcessPlugIn:didCreateBrowserContextController:]):
(-[BundleFormDelegatePlugIn _webProcessPlugInBrowserContextController:willBeginInputSessionForElement:inFrame:userIsInteracting:]):
(-[BundleFormDelegatePlugIn _webProcessPlugInBrowserContextController:didFocusTextField:inFrame:]):
* TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegateProtocol.h: Copied from Tools/TestWebKitAPI/WKWebViewConfigurationExtras.h.
* TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm:
(TEST):
* TestWebKitAPI/WKWebViewConfigurationExtras.h:
* TestWebKitAPI/WKWebViewConfigurationExtras.mm:
(+[WKWebViewConfiguration _test_configurationWithTestPlugInClassName:configureJSCForTesting:]):
(+[WKWebViewConfiguration _test_configurationWithTestPlugInClassName:configureJSCForTesting:andCustomParameterClasses:]):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp
trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h
trunk/Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.cpp
trunk/Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.h
trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessGroup.h
trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessGroup.mm
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h
trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm
trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm
trunk/Source/WebKit/UIProcess/WebProcessPool.h
trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm
trunk/Tools/TestWebKitAPI/WKWebViewConfigurationExtras.h
trunk/Tools/TestWebKitAPI/WKWebViewConfigurationExtras.mm


Added Paths

trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegate.mm
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegatePlugIn.mm
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegateProtocol.h




Diff

Modified: 

[webkit-changes] [250092] trunk/Source/WebCore

2019-09-19 Thread antti
Title: [250092] trunk/Source/WebCore








Revision 250092
Author an...@apple.com
Date 2019-09-19 08:52:43 -0700 (Thu, 19 Sep 2019)


Log Message
Turn static DocumentRuleSets::s_isInvalidatingStyleWithRuleSets assertion bit into a member
https://bugs.webkit.org/show_bug.cgi?id=201985


Reviewed by Zalan Bujtas.

This assert bit was catching cases that are not dangerous. Turn it into a member to narrow the scope.

* css/DocumentRuleSets.cpp:
(WebCore::DocumentRuleSets::~DocumentRuleSets):
(WebCore::DocumentRuleSets::collectFeatures const):
(): Deleted.
* css/DocumentRuleSets.h:
(WebCore::DocumentRuleSets::isInvalidatingStyleWithRuleSets):
* style/AttributeChangeInvalidation.cpp:
(WebCore::Style::AttributeChangeInvalidation::invalidateStyleWithRuleSets):
* style/ClassChangeInvalidation.cpp:
(WebCore::Style::ClassChangeInvalidation::invalidateStyleWithRuleSets):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/css/DocumentRuleSets.cpp
trunk/Source/WebCore/css/DocumentRuleSets.h
trunk/Source/WebCore/style/AttributeChangeInvalidation.cpp
trunk/Source/WebCore/style/ClassChangeInvalidation.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (250091 => 250092)

--- trunk/Source/WebCore/ChangeLog	2019-09-19 15:35:30 UTC (rev 250091)
+++ trunk/Source/WebCore/ChangeLog	2019-09-19 15:52:43 UTC (rev 250092)
@@ -1,3 +1,24 @@
+2019-09-19  Antti Koivisto  
+
+Turn static DocumentRuleSets::s_isInvalidatingStyleWithRuleSets assertion bit into a member
+https://bugs.webkit.org/show_bug.cgi?id=201985
+
+
+Reviewed by Zalan Bujtas.
+
+This assert bit was catching cases that are not dangerous. Turn it into a member to narrow the scope.
+
+* css/DocumentRuleSets.cpp:
+(WebCore::DocumentRuleSets::~DocumentRuleSets):
+(WebCore::DocumentRuleSets::collectFeatures const):
+(): Deleted.
+* css/DocumentRuleSets.h:
+(WebCore::DocumentRuleSets::isInvalidatingStyleWithRuleSets):
+* style/AttributeChangeInvalidation.cpp:
+(WebCore::Style::AttributeChangeInvalidation::invalidateStyleWithRuleSets):
+* style/ClassChangeInvalidation.cpp:
+(WebCore::Style::ClassChangeInvalidation::invalidateStyleWithRuleSets):
+
 2019-09-19  Zalan Bujtas  
 
 [LFC] Remove redundant Layout::Box::ElementTypes


Modified: trunk/Source/WebCore/css/DocumentRuleSets.cpp (250091 => 250092)

--- trunk/Source/WebCore/css/DocumentRuleSets.cpp	2019-09-19 15:35:30 UTC (rev 250091)
+++ trunk/Source/WebCore/css/DocumentRuleSets.cpp	2019-09-19 15:52:43 UTC (rev 250092)
@@ -37,9 +37,6 @@
 
 namespace WebCore {
 
-// For catching 
-bool DocumentRuleSets::s_isInvalidatingStyleWithRuleSets { false };
-
 DocumentRuleSets::DocumentRuleSets(StyleResolver& styleResolver)
 : m_styleResolver(styleResolver)
 {
@@ -49,7 +46,7 @@
 
 DocumentRuleSets::~DocumentRuleSets()
 {
-RELEASE_ASSERT(!s_isInvalidatingStyleWithRuleSets);
+RELEASE_ASSERT(!m_isInvalidatingStyleWithRuleSets);
 }
 
 RuleSet* DocumentRuleSets::userAgentMediaQueryStyle() const
@@ -154,7 +151,7 @@
 
 void DocumentRuleSets::collectFeatures() const
 {
-RELEASE_ASSERT(!s_isInvalidatingStyleWithRuleSets);
+RELEASE_ASSERT(!m_isInvalidatingStyleWithRuleSets);
 
 m_features.clear();
 // Collect all ids and rules using sibling selectors (:first-child and similar)


Modified: trunk/Source/WebCore/css/DocumentRuleSets.h (250091 => 250092)

--- trunk/Source/WebCore/css/DocumentRuleSets.h	2019-09-19 15:35:30 UTC (rev 250091)
+++ trunk/Source/WebCore/css/DocumentRuleSets.h	2019-09-19 15:52:43 UTC (rev 250092)
@@ -76,7 +76,7 @@
 
 RuleFeatureSet& mutableFeatures();
 
-static bool s_isInvalidatingStyleWithRuleSets;
+bool& isInvalidatingStyleWithRuleSets() { return m_isInvalidatingStyleWithRuleSets; }
 
 private:
 void collectFeatures() const;
@@ -102,6 +102,9 @@
 bool m_usesSharedUserStyle { false };
 bool m_isForShadowScope { false };
 bool m_isAuthorStyleDefined { false };
+
+// For catching 
+bool m_isInvalidatingStyleWithRuleSets { false };
 };
 
 inline const RuleFeatureSet& DocumentRuleSets::features() const


Modified: trunk/Source/WebCore/style/AttributeChangeInvalidation.cpp (250091 => 250092)

--- trunk/Source/WebCore/style/AttributeChangeInvalidation.cpp	2019-09-19 15:35:30 UTC (rev 250091)
+++ trunk/Source/WebCore/style/AttributeChangeInvalidation.cpp	2019-09-19 15:52:43 UTC (rev 250092)
@@ -89,7 +89,7 @@
 
 void AttributeChangeInvalidation::invalidateStyleWithRuleSets()
 {
-SetForScope isInvalidating(DocumentRuleSets::s_isInvalidatingStyleWithRuleSets, true);
+SetForScope isInvalidating(m_element.styleResolver().ruleSets().isInvalidatingStyleWithRuleSets(), true);
 
 for (auto* invalidationRuleSet : m_invalidationRuleSets) {
 Invalidator invalidator(*invalidationRuleSet->ruleSet);


Modified: trunk/Source/WebCore/style/ClassChangeInvalidation.cpp (250091 => 250092)

--- 

[webkit-changes] [250091] trunk/Source/WebCore

2019-09-19 Thread zalan
Title: [250091] trunk/Source/WebCore








Revision 250091
Author za...@apple.com
Date 2019-09-19 08:35:30 -0700 (Thu, 19 Sep 2019)


Log Message
[LFC] Remove redundant Layout::Box::ElementTypes
https://bugs.webkit.org/show_bug.cgi?id=201963

Reviewed by Antti Koivisto.

These types can be solved through RenderStyle.

* layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::isPaddingApplicable const):
* layout/layouttree/LayoutBox.h:
(WebCore::Layout::Box::isTableHeader const):
(WebCore::Layout::Box::isTableBody const):
(WebCore::Layout::Box::isTableFooter const):
(WebCore::Layout::Box::isTableRow const):
(WebCore::Layout::Box::isTableColumnGroup const):
(WebCore::Layout::Box::isTableColumn const):
(WebCore::Layout::Box::isTableCell const):
* layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::TreeBuilder::createLayoutBox):
* page/FrameViewLayoutContext.cpp:
(WebCore::layoutUsingFormattingContext):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/layout/layouttree/LayoutBox.cpp
trunk/Source/WebCore/layout/layouttree/LayoutBox.h
trunk/Source/WebCore/layout/layouttree/LayoutTreeBuilder.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (250090 => 250091)

--- trunk/Source/WebCore/ChangeLog	2019-09-19 15:19:30 UTC (rev 250090)
+++ trunk/Source/WebCore/ChangeLog	2019-09-19 15:35:30 UTC (rev 250091)
@@ -1,5 +1,29 @@
 2019-09-19  Zalan Bujtas  
 
+[LFC] Remove redundant Layout::Box::ElementTypes
+https://bugs.webkit.org/show_bug.cgi?id=201963
+
+Reviewed by Antti Koivisto.
+
+These types can be solved through RenderStyle.
+
+* layout/layouttree/LayoutBox.cpp:
+(WebCore::Layout::Box::isPaddingApplicable const):
+* layout/layouttree/LayoutBox.h:
+(WebCore::Layout::Box::isTableHeader const):
+(WebCore::Layout::Box::isTableBody const):
+(WebCore::Layout::Box::isTableFooter const):
+(WebCore::Layout::Box::isTableRow const):
+(WebCore::Layout::Box::isTableColumnGroup const):
+(WebCore::Layout::Box::isTableColumn const):
+(WebCore::Layout::Box::isTableCell const):
+* layout/layouttree/LayoutTreeBuilder.cpp:
+(WebCore::Layout::TreeBuilder::createLayoutBox):
+* page/FrameViewLayoutContext.cpp:
+(WebCore::layoutUsingFormattingContext):
+
+2019-09-19  Zalan Bujtas  
+
 [LFC][IFC] InlineFormattingContext::InlineLayout should not need to call LayoutState::establishedFormattingState
 https://bugs.webkit.org/show_bug.cgi?id=201972
 


Modified: trunk/Source/WebCore/layout/layouttree/LayoutBox.cpp (250090 => 250091)

--- trunk/Source/WebCore/layout/layouttree/LayoutBox.cpp	2019-09-19 15:19:30 UTC (rev 250090)
+++ trunk/Source/WebCore/layout/layouttree/LayoutBox.cpp	2019-09-19 15:35:30 UTC (rev 250091)
@@ -373,13 +373,12 @@
 if (isAnonymous())
 return false;
 
-auto elementType = m_elementAttributes.value().elementType;
-return elementType != ElementType::TableHeaderGroup
-&& elementType != ElementType::TableBodyGroup
-&& elementType != ElementType::TableFooterGroup
-&& elementType != ElementType::TableRow
-&& elementType != ElementType::TableColumnGroup
-&& elementType != ElementType::TableColumn;
+return !isTableHeader()
+&& !isTableBody()
+&& !isTableFooter()
+&& !isTableRow()
+&& !isTableColumnGroup()
+&& !isTableColumn();
 }
 
 void Box::setTextContent(String textContent)


Modified: trunk/Source/WebCore/layout/layouttree/LayoutBox.h (250090 => 250091)

--- trunk/Source/WebCore/layout/layouttree/LayoutBox.h	2019-09-19 15:19:30 UTC (rev 250090)
+++ trunk/Source/WebCore/layout/layouttree/LayoutBox.h	2019-09-19 15:35:30 UTC (rev 250091)
@@ -47,12 +47,6 @@
 Body,
 TableWrapperBox, // The table generates a principal block container box called the table wrapper box that contains the table box and any caption boxes.
 TableBox, // The table box is a block-level box that contains the table's internal table boxes.
-TableColumn,
-TableRow,
-TableColumnGroup,
-TableHeaderGroup,
-TableBodyGroup,
-TableFooterGroup,
 Image,
 IFrame,
 HardLineBreak,
@@ -116,11 +110,13 @@
 bool isTableWrapperBox() const { return m_elementAttributes && m_elementAttributes.value().elementType == ElementType::TableWrapperBox; }
 bool isTableBox() const { return m_elementAttributes && m_elementAttributes.value().elementType == ElementType::TableBox; }
 bool isTableCaption() const { return style().display() == DisplayType::TableCaption; }
-bool isTableHeader() const { return m_elementAttributes && m_elementAttributes.value().elementType == ElementType::TableHeaderGroup; }
-bool isTableBody() const { return m_elementAttributes && m_elementAttributes.value().elementType == ElementType::TableBodyGroup; }
-bool isTableFooter() const { return 

[webkit-changes] [250089] trunk/Source/WebCore

2019-09-19 Thread zalan
Title: [250089] trunk/Source/WebCore








Revision 250089
Author za...@apple.com
Date 2019-09-19 07:58:43 -0700 (Thu, 19 Sep 2019)


Log Message
[LFC][IFC] InlineFormattingContext::InlineLayout should not need to call LayoutState::establishedFormattingState
https://bugs.webkit.org/show_bug.cgi?id=201972


Reviewed by Antti Koivisto.

InlineLayout has access to InlineFormattingContext, so it should just query it instead of calling LayoutState::establishedFormattingState.

* layout/inlineformatting/InlineFormattingContext.h:
(WebCore::Layout::InlineFormattingContext::InlineLayout::formattingContext const):
(WebCore::Layout::InlineFormattingContext::InlineLayout::formattingState):
* layout/inlineformatting/InlineFormattingContextLineLayout.cpp:
(WebCore::Layout::InlineFormattingContext::InlineLayout::InlineLayout):
(WebCore::Layout::InlineFormattingContext::InlineLayout::layout):
(WebCore::Layout::InlineFormattingContext::InlineLayout::createDisplayRuns):
(WebCore::Layout::InlineFormattingContext::InlineLayout::layout const): Deleted.
(WebCore::Layout::InlineFormattingContext::InlineLayout::createDisplayRuns const): Deleted.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContext.h
trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContextLineLayout.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (250088 => 250089)

--- trunk/Source/WebCore/ChangeLog	2019-09-19 13:25:46 UTC (rev 250088)
+++ trunk/Source/WebCore/ChangeLog	2019-09-19 14:58:43 UTC (rev 250089)
@@ -1,5 +1,25 @@
 2019-09-19  Zalan Bujtas  
 
+[LFC][IFC] InlineFormattingContext::InlineLayout should not need to call LayoutState::establishedFormattingState
+https://bugs.webkit.org/show_bug.cgi?id=201972
+
+
+Reviewed by Antti Koivisto.
+
+InlineLayout has access to InlineFormattingContext, so it should just query it instead of calling LayoutState::establishedFormattingState.
+
+* layout/inlineformatting/InlineFormattingContext.h:
+(WebCore::Layout::InlineFormattingContext::InlineLayout::formattingContext const):
+(WebCore::Layout::InlineFormattingContext::InlineLayout::formattingState):
+* layout/inlineformatting/InlineFormattingContextLineLayout.cpp:
+(WebCore::Layout::InlineFormattingContext::InlineLayout::InlineLayout):
+(WebCore::Layout::InlineFormattingContext::InlineLayout::layout):
+(WebCore::Layout::InlineFormattingContext::InlineLayout::createDisplayRuns):
+(WebCore::Layout::InlineFormattingContext::InlineLayout::layout const): Deleted.
+(WebCore::Layout::InlineFormattingContext::InlineLayout::createDisplayRuns const): Deleted.
+
+2019-09-19  Zalan Bujtas  
+
 [LFC] FloatingContext should take the root container.
 https://bugs.webkit.org/show_bug.cgi?id=201968
 


Modified: trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContext.h (250088 => 250089)

--- trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContext.h	2019-09-19 13:25:46 UTC (rev 250088)
+++ trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContext.h	2019-09-19 14:58:43 UTC (rev 250089)
@@ -53,20 +53,21 @@
 
 class InlineLayout {
 public:
-InlineLayout(const InlineFormattingContext&);
-void layout(const InlineItems&, LayoutUnit widthConstraint) const;
+InlineLayout(InlineFormattingContext&);
+void layout(const InlineItems&, LayoutUnit widthConstraint);
 LayoutUnit computedIntrinsicWidth(const InlineItems&, LayoutUnit widthConstraint) const;
 
 private:
 LayoutState& layoutState() const { return m_inlineFormattingContext.layoutState(); }
-const InlineFormattingContext& formattingContext() const { return m_inlineFormattingContext; }
+InlineFormattingContext& formattingContext() const { return m_inlineFormattingContext; }
 const Container& formattingRoot() const { return m_inlineFormattingContext.root(); }
+InlineFormattingState& formattingState() { return m_inlineFormattingContext.formattingState(); }
 LineContent placeInlineItems(const LineInput&) const;
-void createDisplayRuns(const Line::Content&, const Vector>& floats, LayoutUnit widthConstraint) const;
+void createDisplayRuns(const Line::Content&, const Vector>& floats, LayoutUnit widthConstraint);
 void alignRuns(TextAlignMode, InlineRuns&, unsigned firstRunIndex, LayoutUnit availableWidth) const;
 
 private:
-const InlineFormattingContext& m_inlineFormattingContext;
+InlineFormattingContext& m_inlineFormattingContext;
 };
 
 class Quirks : public FormattingContext::Quirks {
@@ -112,6 +113,7 @@
 InlineFormattingState& formattingState() { return downcast(FormattingContext::formattingState()); }
 // FIXME: Come up with a structure that requires no friending.
 friend class Line;
+friend class InlineLayout;
 };
 
 

[webkit-changes] [250088] trunk/Source/WebCore

2019-09-19 Thread zalan
Title: [250088] trunk/Source/WebCore








Revision 250088
Author za...@apple.com
Date 2019-09-19 06:25:46 -0700 (Thu, 19 Sep 2019)


Log Message
[LFC] FloatingContext should take the root container.
https://bugs.webkit.org/show_bug.cgi?id=201968


Reviewed by Antti Koivisto.

Now FormattingContext::root() does not need to be public anymore.

* layout/FormattingContext.h:
(WebCore::Layout::FormattingContext::root const):
* layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
* layout/floats/FloatingContext.cpp:
(WebCore::Layout::FloatingContext::FloatingContext):
(WebCore::Layout::FloatingContext::mapPointFromFormattingContextRootToFloatingStateRoot const):
* layout/floats/FloatingContext.h:
(WebCore::Layout::FloatingContext::root const):
* layout/inlineformatting/InlineFormattingContextLineLayout.cpp:
(WebCore::Layout::InlineFormattingContext::InlineLayout::layout const):
(WebCore::Layout::InlineFormattingContext::InlineLayout::createDisplayRuns const):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/layout/FormattingContext.h
trunk/Source/WebCore/layout/blockformatting/BlockFormattingContext.cpp
trunk/Source/WebCore/layout/floats/FloatingContext.cpp
trunk/Source/WebCore/layout/floats/FloatingContext.h
trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContextLineLayout.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (250087 => 250088)

--- trunk/Source/WebCore/ChangeLog	2019-09-19 05:58:27 UTC (rev 250087)
+++ trunk/Source/WebCore/ChangeLog	2019-09-19 13:25:46 UTC (rev 250088)
@@ -1,3 +1,26 @@
+2019-09-19  Zalan Bujtas  
+
+[LFC] FloatingContext should take the root container.
+https://bugs.webkit.org/show_bug.cgi?id=201968
+
+
+Reviewed by Antti Koivisto.
+
+Now FormattingContext::root() does not need to be public anymore.
+
+* layout/FormattingContext.h:
+(WebCore::Layout::FormattingContext::root const):
+* layout/blockformatting/BlockFormattingContext.cpp:
+(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
+* layout/floats/FloatingContext.cpp:
+(WebCore::Layout::FloatingContext::FloatingContext):
+(WebCore::Layout::FloatingContext::mapPointFromFormattingContextRootToFloatingStateRoot const):
+* layout/floats/FloatingContext.h:
+(WebCore::Layout::FloatingContext::root const):
+* layout/inlineformatting/InlineFormattingContextLineLayout.cpp:
+(WebCore::Layout::InlineFormattingContext::InlineLayout::layout const):
+(WebCore::Layout::InlineFormattingContext::InlineLayout::createDisplayRuns const):
+
 2019-09-18  Brent Fulgham  
 
 [FTW] Correct ImageBufferData and clear operations


Modified: trunk/Source/WebCore/layout/FormattingContext.h (250087 => 250088)

--- trunk/Source/WebCore/layout/FormattingContext.h	2019-09-19 05:58:27 UTC (rev 250087)
+++ trunk/Source/WebCore/layout/FormattingContext.h	2019-09-19 13:25:46 UTC (rev 250088)
@@ -76,11 +76,10 @@
 };
 const Display::Box& geometryForBox(const Box&, Optional = WTF::nullopt) const;
 
-const Container& root() const { return *m_root; }
-
 protected:
 using LayoutQueue = Vector;
 
+const Container& root() const { return *m_root; }
 LayoutState& layoutState() const;
 const FormattingState& formattingState() const { return m_formattingState; }
 FormattingState& formattingState() { return m_formattingState; }


Modified: trunk/Source/WebCore/layout/blockformatting/BlockFormattingContext.cpp (250087 => 250088)

--- trunk/Source/WebCore/layout/blockformatting/BlockFormattingContext.cpp	2019-09-19 05:58:27 UTC (rev 250087)
+++ trunk/Source/WebCore/layout/blockformatting/BlockFormattingContext.cpp	2019-09-19 13:25:46 UTC (rev 250088)
@@ -60,7 +60,7 @@
 
 auto& formattingRoot = root();
 LayoutQueue layoutQueue;
-auto floatingContext = FloatingContext { *this, formattingState().floatingState() };
+auto floatingContext = FloatingContext { formattingRoot, *this, formattingState().floatingState() };
 // This is a post-order tree traversal layout.
 // The root container layout is done in the formatting context it lives in, not that one it creates, so let's start with the first child.
 if (auto* firstChild = formattingRoot.firstInFlowOrFloatingChild())


Modified: trunk/Source/WebCore/layout/floats/FloatingContext.cpp (250087 => 250088)

--- trunk/Source/WebCore/layout/floats/FloatingContext.cpp	2019-09-19 05:58:27 UTC (rev 250087)
+++ trunk/Source/WebCore/layout/floats/FloatingContext.cpp	2019-09-19 13:25:46 UTC (rev 250088)
@@ -156,8 +156,9 @@
 HorizontalEdges containingBlockContentBox;
 };
 
-FloatingContext::FloatingContext(const FormattingContext& formattingContext, FloatingState& floatingState)
-: m_formattingContext(formattingContext)
+FloatingContext::FloatingContext(const Container& floatingContextRoot, const FormattingContext&