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

2018-11-16 Thread cdumez
Title: [238343] trunk/Source/WebKit








Revision 238343
Author cdu...@apple.com
Date 2018-11-16 22:46:55 -0800 (Fri, 16 Nov 2018)


Log Message
Regression(ProcessPrewarming) Assertion hit in NetworkProcessProxy destructor
https://bugs.webkit.org/show_bug.cgi?id=191800

Reviewed by Ryosuke Niwa.

Make sure the NetworkProcessProxy destructor calls its remaining m_pendingConnectionReplies
completion handlers to avoid hitting an assertion in the CompletionHandler destructor.

Prewarmed WebProcess do not keep the ProcessPool alive and thus not the NetworkProcessProxy
either. As a result, it is possible for NetworkProcessProxy to have pending connection
requests from those prewarmed processes when it is destroyed. Similar story for the
suspended page processes when they are destroyed.

* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::~NetworkProcessProxy):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp




Diff

Modified: trunk/Source/WebKit/ChangeLog (238342 => 238343)

--- trunk/Source/WebKit/ChangeLog	2018-11-17 06:03:19 UTC (rev 238342)
+++ trunk/Source/WebKit/ChangeLog	2018-11-17 06:46:55 UTC (rev 238343)
@@ -1,3 +1,21 @@
+2018-11-16  Chris Dumez  
+
+Regression(ProcessPrewarming) Assertion hit in NetworkProcessProxy destructor
+https://bugs.webkit.org/show_bug.cgi?id=191800
+
+Reviewed by Ryosuke Niwa.
+
+Make sure the NetworkProcessProxy destructor calls its remaining m_pendingConnectionReplies
+completion handlers to avoid hitting an assertion in the CompletionHandler destructor.
+
+Prewarmed WebProcess do not keep the ProcessPool alive and thus not the NetworkProcessProxy
+either. As a result, it is possible for NetworkProcessProxy to have pending connection
+requests from those prewarmed processes when it is destroyed. Similar story for the
+suspended page processes when they are destroyed.
+
+* UIProcess/Network/NetworkProcessProxy.cpp:
+(WebKit::NetworkProcessProxy::~NetworkProcessProxy):
+
 2018-11-16  Alex Christensen  
 
 Tweak _showSafeBrowsingWarningWithTitle SPI


Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp (238342 => 238343)

--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp	2018-11-17 06:03:19 UTC (rev 238342)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp	2018-11-17 06:46:55 UTC (rev 238343)
@@ -89,6 +89,9 @@
 for (auto* proxy : m_webUserContentControllerProxies)
 proxy->removeNetworkProcess(*this);
 #endif
+
+for (auto& reply : m_pendingConnectionReplies)
+reply.second({ });
 }
 
 void NetworkProcessProxy::getLaunchOptions(ProcessLauncher::LaunchOptions& launchOptions)






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


[webkit-changes] [238342] trunk

2018-11-16 Thread achristensen
Title: [238342] trunk








Revision 238342
Author achristen...@apple.com
Date 2018-11-16 22:03:19 -0800 (Fri, 16 Nov 2018)


Log Message
Tweak _showSafeBrowsingWarningWithTitle SPI
https://bugs.webkit.org/show_bug.cgi?id=191799

Reviewed by Wenson Hsieh.

Source/WebCore:

It turns out I needed to expose both sentinel values used in safe browsing for my application of this SPI in Mac Safari.
Allowing the caller to make its own sentinel values is insufficient because the malware confirmation needs to be over the warning.
The completion handler parameter should just be a bool indicating whether the user has chosen to continue after all warnings.

Covered by updated API tests.

* en.lproj/Localizable.strings:
* platform/LocalizedStrings.cpp:
(WebCore::formControlCancelButtonTitle):
Make "Cancel"'s description a little more generic.

Source/WebKit:

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _showSafeBrowsingWarningWithTitle:warning:details:completionHandler:]):
(+[WKWebView _visitUnsafeWebsiteSentinel]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/Cocoa/WKSafeBrowsingWarning.mm:
(-[WKSafeBrowsingWarning clickedOnLink:]):
I need to localize "Continue" and "Cancel" so they aren't always in English.

Tools:

* TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
(TEST):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/en.lproj/Localizable.strings
trunk/Source/WebCore/platform/LocalizedStrings.cpp
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h
trunk/Source/WebKit/UIProcess/Cocoa/WKSafeBrowsingWarning.mm
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (238341 => 238342)

--- trunk/Source/WebCore/ChangeLog	2018-11-17 04:23:49 UTC (rev 238341)
+++ trunk/Source/WebCore/ChangeLog	2018-11-17 06:03:19 UTC (rev 238342)
@@ -1,3 +1,21 @@
+2018-11-16  Alex Christensen  
+
+Tweak _showSafeBrowsingWarningWithTitle SPI
+https://bugs.webkit.org/show_bug.cgi?id=191799
+
+Reviewed by Wenson Hsieh.
+
+It turns out I needed to expose both sentinel values used in safe browsing for my application of this SPI in Mac Safari.
+Allowing the caller to make its own sentinel values is insufficient because the malware confirmation needs to be over the warning.
+The completion handler parameter should just be a bool indicating whether the user has chosen to continue after all warnings.
+
+Covered by updated API tests.
+
+* en.lproj/Localizable.strings:
+* platform/LocalizedStrings.cpp:
+(WebCore::formControlCancelButtonTitle):
+Make "Cancel"'s description a little more generic.
+
 2018-11-16  Simon Fraser  
 
 Optimize composited iframe layer hookup


Modified: trunk/Source/WebCore/en.lproj/Localizable.strings (238341 => 238342)

--- trunk/Source/WebCore/en.lproj/Localizable.strings	2018-11-17 04:23:49 UTC (rev 238341)
+++ trunk/Source/WebCore/en.lproj/Localizable.strings	2018-11-17 06:03:19 UTC (rev 238342)
@@ -127,7 +127,7 @@
 /* Option in segmented control for inserting a bulleted list in text editing */
 "Bulleted list" = "Bulleted list";
 
-/* Title of the Cancel button for zoomed form controls. */
+/* Cancel */
 "Cancel" = "Cancel";
 
 /* Title for Cancel button label in button bar */
@@ -181,6 +181,9 @@
 /* WebKitErrorCannotShowMIMEType description */
 "Content with specified MIME type can’t be shown" = "Content with specified MIME type can’t be shown";
 
+/* Continue */
+"Continue" = "Continue";
+
 /* Media Controls context menu item */
 "Controls" = "Controls";
 


Modified: trunk/Source/WebCore/platform/LocalizedStrings.cpp (238341 => 238342)

--- trunk/Source/WebCore/platform/LocalizedStrings.cpp	2018-11-17 04:23:49 UTC (rev 238341)
+++ trunk/Source/WebCore/platform/LocalizedStrings.cpp	2018-11-17 06:03:19 UTC (rev 238342)
@@ -1043,7 +1043,7 @@
 
 String formControlCancelButtonTitle()
 {
-return WEB_UI_STRING("Cancel", "Title of the Cancel button for zoomed form controls.");
+return WEB_UI_STRING("Cancel", "Cancel");
 }
 
 String formControlHideButtonTitle()


Modified: trunk/Source/WebKit/ChangeLog (238341 => 238342)

--- trunk/Source/WebKit/ChangeLog	2018-11-17 04:23:49 UTC (rev 238341)
+++ trunk/Source/WebKit/ChangeLog	2018-11-17 06:03:19 UTC (rev 238342)
@@ -1,3 +1,18 @@
+2018-11-16  Alex Christensen  
+
+Tweak _showSafeBrowsingWarningWithTitle SPI
+https://bugs.webkit.org/show_bug.cgi?id=191799
+
+Reviewed by Wenson Hsieh.
+
+* UIProcess/API/Cocoa/WKWebView.mm:
+(-[WKWebView _showSafeBrowsingWarningWithTitle:warning:details:completionHandler:]):
+(+[WKWebView _visitUnsafeWebsiteSentinel]):
+* UIProcess/API/Cocoa/WKWebViewPrivate.h:
+* UIProcess/Cocoa/WKSafeBrowsingWarning.mm:
+(-[WKSafeBrowsingWarning clickedOnLink:]):
+I need to 

[webkit-changes] [238340] trunk/Tools

2018-11-16 Thread rniwa
Title: [238340] trunk/Tools








Revision 238340
Author rn...@webkit.org
Date 2018-11-16 20:23:30 -0800 (Fri, 16 Nov 2018)


Log Message
REGRESSION (r238294): TestWebKitAPI.WKNavigation.ProcessCrashDuringCallback failing on iOS
https://bugs.webkit.org/show_bug.cgi?id=191783

Reviewed by Chris Dumez.

Allow either WKErrorWebContentProcessTerminated or WKErrorWebViewInvalidated since the test
is closing WebView, thereby invalidating the view, which is racing with the process termination.

* TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
(TEST):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm




Diff

Modified: trunk/Tools/ChangeLog (238339 => 238340)

--- trunk/Tools/ChangeLog	2018-11-17 04:01:31 UTC (rev 238339)
+++ trunk/Tools/ChangeLog	2018-11-17 04:23:30 UTC (rev 238340)
@@ -1,3 +1,16 @@
+2018-11-16  Ryosuke Niwa  
+
+REGRESSION (r238294): TestWebKitAPI.WKNavigation.ProcessCrashDuringCallback failing on iOS
+https://bugs.webkit.org/show_bug.cgi?id=191783
+
+Reviewed by Chris Dumez.
+
+Allow either WKErrorWebContentProcessTerminated or WKErrorWebViewInvalidated since the test
+is closing WebView, thereby invalidating the view, which is racing with the process termination.
+
+* TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
+(TEST):
+
 2018-11-16  Chris Dumez  
 
 ProcessSwap.DisableForInspector API test is failing


Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm (238339 => 238340)

--- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm	2018-11-17 04:01:31 UTC (rev 238339)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm	2018-11-17 04:23:30 UTC (rev 238340)
@@ -230,7 +230,7 @@
 __block WKWebView *view = webView.get();
 [webView _getContentsAsStringWithCompletionHandler:^(NSString *contents, NSError *error) {
 if (!!error)
-EXPECT_EQ(WKErrorWebContentProcessTerminated, error.code);
+EXPECT_TRUE(error.code == WKErrorWebContentProcessTerminated || error.code == WKErrorWebViewInvalidated);
 ++callbackCount;
 if (callbackCount == 6)
 calledAllCallbacks = true;
@@ -237,7 +237,7 @@
 }];
 [webView _getContentsAsStringWithCompletionHandler:^(NSString *contents, NSError *error) {
 if (!!error)
-EXPECT_EQ(WKErrorWebContentProcessTerminated, error.code);
+EXPECT_TRUE(error.code == WKErrorWebContentProcessTerminated || error.code == WKErrorWebViewInvalidated);
 ++callbackCount;
 if (callbackCount == 6)
 calledAllCallbacks = true;
@@ -244,7 +244,7 @@
 }];
 [webView _getContentsAsStringWithCompletionHandler:^(NSString *contents, NSError *error) {
 if (!!error)
-EXPECT_EQ(WKErrorWebContentProcessTerminated, error.code);
+EXPECT_TRUE(error.code == WKErrorWebContentProcessTerminated || error.code == WKErrorWebViewInvalidated);
 [view _close]; // Calling _close will also invalidate all callbacks.
 ++callbackCount;
 if (callbackCount == 6)
@@ -252,7 +252,7 @@
 }];
 [webView _getContentsAsStringWithCompletionHandler:^(NSString *contents, NSError *error) {
 if (!!error)
-EXPECT_EQ(WKErrorWebContentProcessTerminated, error.code);
+EXPECT_TRUE(error.code == WKErrorWebContentProcessTerminated || error.code == WKErrorWebViewInvalidated);
 ++callbackCount;
 if (callbackCount == 6)
 calledAllCallbacks = true;
@@ -259,7 +259,7 @@
 }];
 [webView _getContentsAsStringWithCompletionHandler:^(NSString *contents, NSError *error) {
 if (!!error)
-EXPECT_EQ(WKErrorWebContentProcessTerminated, error.code);
+EXPECT_TRUE(error.code == WKErrorWebContentProcessTerminated || error.code == WKErrorWebViewInvalidated);
 ++callbackCount;
 if (callbackCount == 6)
 calledAllCallbacks = true;
@@ -266,7 +266,7 @@
 }];
 [webView _getContentsAsStringWithCompletionHandler:^(NSString *contents, NSError *error) {
 if (!!error)
-EXPECT_EQ(WKErrorWebContentProcessTerminated, error.code);
+EXPECT_TRUE(error.code == WKErrorWebContentProcessTerminated || error.code == WKErrorWebViewInvalidated);
 ++callbackCount;
 if (callbackCount == 6)
 calledAllCallbacks = true;






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


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

2018-11-16 Thread cdumez
Title: [238341] trunk/Source/WebKit








Revision 238341
Author cdu...@apple.com
Date 2018-11-16 20:23:49 -0800 (Fri, 16 Nov 2018)


Log Message
WKWebViewMacEditingTests.DoNotCrashWhenInterpretingKeyEventWhileDeallocatingView API test is crashing in debug
https://bugs.webkit.org/show_bug.cgi?id=191797

Reviewed by Ryosuke Niwa.

We were hitting the assertion because the error handler was first getting called. It would
deallocate the send right, cancel/null out the XPC connection and call
didFinishLaunchingProcess(0, IPC::Connection::Identifier()).

Then the xpc_connection_send_message_with_reply() block would get called later and
would try to deallocate the send right again, and call
didFinishLaunchingProcess(0, IPC::Connection::Identifier()) again because the xpc
connection is null.

Handle this case by having the xpc_connection_send_message_with_reply() block check
that we're still launching (i.e. didFinishLaunchingProcess() has not been called
yet).

* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::ProcessLauncher::launchProcess):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/Launcher/mac/ProcessLauncherMac.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (238340 => 238341)

--- trunk/Source/WebKit/ChangeLog	2018-11-17 04:23:30 UTC (rev 238340)
+++ trunk/Source/WebKit/ChangeLog	2018-11-17 04:23:49 UTC (rev 238341)
@@ -1,3 +1,26 @@
+2018-11-16  Chris Dumez  
+
+WKWebViewMacEditingTests.DoNotCrashWhenInterpretingKeyEventWhileDeallocatingView API test is crashing in debug
+https://bugs.webkit.org/show_bug.cgi?id=191797
+
+Reviewed by Ryosuke Niwa.
+
+We were hitting the assertion because the error handler was first getting called. It would
+deallocate the send right, cancel/null out the XPC connection and call
+didFinishLaunchingProcess(0, IPC::Connection::Identifier()).
+
+Then the xpc_connection_send_message_with_reply() block would get called later and
+would try to deallocate the send right again, and call
+didFinishLaunchingProcess(0, IPC::Connection::Identifier()) again because the xpc
+connection is null.
+
+Handle this case by having the xpc_connection_send_message_with_reply() block check
+that we're still launching (i.e. didFinishLaunchingProcess() has not been called
+yet).
+
+* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+(WebKit::ProcessLauncher::launchProcess):
+
 2018-11-16  Joseph Pecoraro  
 
 Unreviewed follow-up to r238330.


Modified: trunk/Source/WebKit/UIProcess/Launcher/mac/ProcessLauncherMac.mm (238340 => 238341)

--- trunk/Source/WebKit/UIProcess/Launcher/mac/ProcessLauncherMac.mm	2018-11-17 04:23:30 UTC (rev 238340)
+++ trunk/Source/WebKit/UIProcess/Launcher/mac/ProcessLauncherMac.mm	2018-11-17 04:23:49 UTC (rev 238341)
@@ -241,7 +241,9 @@
 ref();
 xpc_connection_send_message_with_reply(m_xpcConnection.get(), bootstrapMessage.get(), dispatch_get_main_queue(), ^(xpc_object_t reply) {
 // Errors are handled in the event handler.
-if (xpc_get_type(reply) != XPC_TYPE_ERROR) {
+// It is possible for this block to be called after the error event handler, in which case we're no longer
+// launching and we already took care of cleaning things up.
+if (isLaunching() && xpc_get_type(reply) != XPC_TYPE_ERROR) {
 ASSERT(xpc_get_type(reply) == XPC_TYPE_DICTIONARY);
 ASSERT(!strcmp(xpc_dictionary_get_string(reply, "message-name"), "process-finished-launching"));
 






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


[webkit-changes] [238339] trunk/Tools

2018-11-16 Thread cdumez
Title: [238339] trunk/Tools








Revision 238339
Author cdu...@apple.com
Date 2018-11-16 20:01:31 -0800 (Fri, 16 Nov 2018)


Log Message
ProcessSwap.DisableForInspector API test is failing
https://bugs.webkit.org/show_bug.cgi?id=191798

Reviewed by Joseph Pecoraro.

We support process swapping when Web Inspector is shown now so update the
API test accordingly.

* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm




Diff

Modified: trunk/Tools/ChangeLog (238338 => 238339)

--- trunk/Tools/ChangeLog	2018-11-17 03:06:38 UTC (rev 238338)
+++ trunk/Tools/ChangeLog	2018-11-17 04:01:31 UTC (rev 238339)
@@ -1,3 +1,15 @@
+2018-11-16  Chris Dumez  
+
+ProcessSwap.DisableForInspector API test is failing
+https://bugs.webkit.org/show_bug.cgi?id=191798
+
+Reviewed by Joseph Pecoraro.
+
+We support process swapping when Web Inspector is shown now so update the
+API test accordingly.
+
+* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
+
 2018-11-16  Ryan Haddad  
 
 Update buildbot dashboard after Windows 7/10 updates


Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm (238338 => 238339)

--- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm	2018-11-17 03:06:38 UTC (rev 238338)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm	2018-11-17 04:01:31 UTC (rev 238339)
@@ -27,7 +27,6 @@
 
 #import "PlatformUtilities.h"
 #import "Test.h"
-#import 
 #import 
 #import 
 #import 
@@ -41,6 +40,7 @@
 #import 
 #import 
 #import 
+#import 
 #import 
 #import 
 #import 
@@ -2026,7 +2026,7 @@
 EXPECT_WK_STREQ(@"pson://www.apple.com/main.html - load", receivedMessages.get()[6]);
 }
 
-TEST(ProcessSwap, DisableForInspector)
+TEST(ProcessSwap, WebInspector)
 {
 auto processPoolConfiguration = adoptNS([[_WKProcessPoolConfiguration alloc] init]);
 processPoolConfiguration.get().processSwapsOnNavigation = YES;
@@ -2051,8 +2051,7 @@
 
 auto pid1 = [webView _webProcessIdentifier];
 
-// FIXME: use ObjC equivalent for WKInspectorRef when available.
-WKInspectorShow(WKPageGetInspector([webView _pageRefForTransitionToWKWebView]));
+[[webView _inspector] show];
 
 request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"pson://www.apple.com/main2.html"]];
 [webView loadRequest:request];
@@ -2062,7 +2061,7 @@
 
 auto pid2 = [webView _webProcessIdentifier];
 
-WKInspectorClose(WKPageGetInspector([webView _pageRefForTransitionToWKWebView]));
+[[webView _inspector] close];
 
 request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"pson://www.webkit.org/main2.html"]];
 [webView loadRequest:request];
@@ -2072,8 +2071,8 @@
 
 auto pid3 = [webView _webProcessIdentifier];
 
-EXPECT_EQ(pid1, pid2);
-EXPECT_FALSE(pid2 == pid3);
+EXPECT_NE(pid1, pid2); // We should have swapped.
+EXPECT_NE(pid2, pid3); // We should have swapped again.
 EXPECT_EQ(numberOfDecidePolicyCalls, 3);
 }
 






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


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

2018-11-16 Thread joepeck
Title: [238338] trunk/Source/WebKit








Revision 238338
Author joep...@webkit.org
Date 2018-11-16 19:06:38 -0800 (Fri, 16 Nov 2018)


Log Message
Unreviewed follow-up to r238330.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::close):
Don't clear the pointer after invalidating since the pointer is
used later one. We don't mind it being used after invalidation
it will do the right thing, we'd rather have the WebInspectorProxy
lifetime match the WebPageProxy.

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp




Diff

Modified: trunk/Source/WebKit/ChangeLog (238337 => 238338)

--- trunk/Source/WebKit/ChangeLog	2018-11-17 03:06:23 UTC (rev 238337)
+++ trunk/Source/WebKit/ChangeLog	2018-11-17 03:06:38 UTC (rev 238338)
@@ -1,3 +1,14 @@
+2018-11-16  Joseph Pecoraro  
+
+Unreviewed follow-up to r238330.
+
+* UIProcess/WebPageProxy.cpp:
+(WebKit::WebPageProxy::close):
+Don't clear the pointer after invalidating since the pointer is
+used later one. We don't mind it being used after invalidation
+it will do the right thing, we'd rather have the WebInspectorProxy
+lifetime match the WebPageProxy.
+
 2018-11-16  Chris Dumez  
 
 ProcessSwap.NavigationWithLockedHistoryWithoutPSON API test is a flaky crash in debug


Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (238337 => 238338)

--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2018-11-17 03:06:23 UTC (rev 238337)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2018-11-17 03:06:38 UTC (rev 238338)
@@ -941,7 +941,6 @@
 #endif
 
 m_inspector->invalidate();
-m_inspector = nullptr;
 
 m_backForwardList->pageClosed();
 m_inspectorController->pageClosed();






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


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

2018-11-16 Thread simon . fraser
Title: [238337] trunk/Source/WebCore








Revision 238337
Author simon.fra...@apple.com
Date 2018-11-16 19:06:23 -0800 (Fri, 16 Nov 2018)


Log Message
Optimize composited iframe layer hookup
https://bugs.webkit.org/show_bug.cgi?id=191778

Reviewed by Zalan Bujtas.

The change made in r238229 can be more targeted; we only need to hook up iframe content
layers when the layer is already composited (otherwise the updateBacking() above would have triggered
the work), and when it's a RenderWidget layer.

Tested by existing tests.

* rendering/RenderLayer.cpp:
(WebCore::outputPaintOrderTreeRecursive):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::layerStyleChanged):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderLayer.cpp
trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (238336 => 238337)

--- trunk/Source/WebCore/ChangeLog	2018-11-17 02:46:49 UTC (rev 238336)
+++ trunk/Source/WebCore/ChangeLog	2018-11-17 03:06:23 UTC (rev 238337)
@@ -1,3 +1,21 @@
+2018-11-16  Simon Fraser  
+
+Optimize composited iframe layer hookup
+https://bugs.webkit.org/show_bug.cgi?id=191778
+
+Reviewed by Zalan Bujtas.
+
+The change made in r238229 can be more targeted; we only need to hook up iframe content
+layers when the layer is already composited (otherwise the updateBacking() above would have triggered
+the work), and when it's a RenderWidget layer.
+
+Tested by existing tests.
+
+* rendering/RenderLayer.cpp:
+(WebCore::outputPaintOrderTreeRecursive):
+* rendering/RenderLayerCompositor.cpp:
+(WebCore::RenderLayerCompositor::layerStyleChanged):
+
 2018-11-16  Ross Kirsling  
 
 Provide default implementation of Widget


Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (238336 => 238337)

--- trunk/Source/WebCore/rendering/RenderLayer.cpp	2018-11-17 02:46:49 UTC (rev 238336)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp	2018-11-17 03:06:23 UTC (rev 238337)
@@ -6701,7 +6701,7 @@
 
 auto layerRect = layer.rect();
 
-stream <<  << " " << layerRect;
+stream <<  << " " << layerRect << " " << layer.name();
 stream.nextLine();
 
 const_cast(layer).updateLayerListsIfNeeded();


Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (238336 => 238337)

--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp	2018-11-17 02:46:49 UTC (rev 238336)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp	2018-11-17 03:06:23 UTC (rev 238337)
@@ -1387,9 +1387,8 @@
 }
 }
 
-// FIXME: this is necessary to get iframe layers hooked up in response to scheduleInvalidateStyleAndLayerComposition(),
-// but we should avoid triggering config updates on every recompositeLayer.
-if (diff == StyleDifference::RecompositeLayer)
+// This is necessary to get iframe layers hooked up in response to scheduleInvalidateStyleAndLayerComposition().
+if (diff == StyleDifference::RecompositeLayer && layer.isComposited() && is(layer.renderer()))
 layer.setNeedsCompositingConfigurationUpdate();
 
 if (diff >= StyleDifference::RecompositeLayer && oldStyle) {






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


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

2018-11-16 Thread ross . kirsling
Title: [238336] trunk/Source/WebCore








Revision 238336
Author ross.kirsl...@sony.com
Date 2018-11-16 18:46:49 -0800 (Fri, 16 Nov 2018)


Log Message
Provide default implementation of Widget
https://bugs.webkit.org/show_bug.cgi?id=191784

Reviewed by Michael Catanzaro.

* SourcesWPE.txt:
* platform/Widget.cpp:
(WebCore::Widget::Widget):
(WebCore::Widget::frameRect const):
(WebCore::Widget::~Widget):
(WebCore::Widget::setFrameRect):
(WebCore::Widget::paint):
(WebCore::Widget::setFocus):
(WebCore::Widget::setCursor):
(WebCore::Widget::show):
(WebCore::Widget::hide):
(WebCore::Widget::setIsSelected):
* platform/gtk/WidgetGtk.cpp:
(WebCore::Widget::Widget): Deleted.
(WebCore::Widget::frameRect const): Deleted.
* platform/win/WidgetWin.cpp:
(WebCore::Widget::Widget): Deleted.
(WebCore::Widget::frameRect const): Deleted.
* platform/wpe/WidgetWPE.cpp: Removed.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/SourcesWPE.txt
trunk/Source/WebCore/platform/Widget.cpp
trunk/Source/WebCore/platform/gtk/WidgetGtk.cpp
trunk/Source/WebCore/platform/win/WidgetWin.cpp


Removed Paths

trunk/Source/WebCore/platform/wpe/WidgetWPE.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (238335 => 238336)

--- trunk/Source/WebCore/ChangeLog	2018-11-17 02:26:06 UTC (rev 238335)
+++ trunk/Source/WebCore/ChangeLog	2018-11-17 02:46:49 UTC (rev 238336)
@@ -1,3 +1,30 @@
+2018-11-16  Ross Kirsling  
+
+Provide default implementation of Widget
+https://bugs.webkit.org/show_bug.cgi?id=191784
+
+Reviewed by Michael Catanzaro.
+
+* SourcesWPE.txt:
+* platform/Widget.cpp:
+(WebCore::Widget::Widget):
+(WebCore::Widget::frameRect const):
+(WebCore::Widget::~Widget):
+(WebCore::Widget::setFrameRect):
+(WebCore::Widget::paint):
+(WebCore::Widget::setFocus):
+(WebCore::Widget::setCursor):
+(WebCore::Widget::show):
+(WebCore::Widget::hide):
+(WebCore::Widget::setIsSelected):
+* platform/gtk/WidgetGtk.cpp:
+(WebCore::Widget::Widget): Deleted.
+(WebCore::Widget::frameRect const): Deleted.
+* platform/win/WidgetWin.cpp:
+(WebCore::Widget::Widget): Deleted.
+(WebCore::Widget::frameRect const): Deleted.
+* platform/wpe/WidgetWPE.cpp: Removed.
+
 2018-11-16  Chris Dumez  
 
 [macOS] Label "prewarmed" WebContent processes in Activity Monitor


Modified: trunk/Source/WebCore/SourcesWPE.txt (238335 => 238336)

--- trunk/Source/WebCore/SourcesWPE.txt	2018-11-17 02:26:06 UTC (rev 238335)
+++ trunk/Source/WebCore/SourcesWPE.txt	2018-11-17 02:46:49 UTC (rev 238336)
@@ -76,6 +76,5 @@
 platform/wpe/RenderThemeWPE.cpp
 platform/wpe/ScrollbarThemeWPE.cpp
 platform/wpe/ThemeWPE.cpp
-platform/wpe/WidgetWPE.cpp
 
 platform/xdg/MIMETypeRegistryXdg.cpp


Modified: trunk/Source/WebCore/platform/Widget.cpp (238335 => 238336)

--- trunk/Source/WebCore/platform/Widget.cpp	2018-11-17 02:26:06 UTC (rev 238335)
+++ trunk/Source/WebCore/platform/Widget.cpp	2018-11-17 02:46:49 UTC (rev 238336)
@@ -28,6 +28,7 @@
 
 #include "FrameView.h"
 #include "IntRect.h"
+#include "NotImplemented.h"
 #include 
 
 namespace WebCore {
@@ -149,6 +150,17 @@
 }
 
 #if !PLATFORM(COCOA)
+
+Widget::Widget(PlatformWidget widget)
+{
+init(widget);
+}
+
+IntRect Widget::frameRect() const
+{
+return m_frame;
+}
+
 IntRect Widget::convertFromRootToContainingWindow(const Widget*, const IntRect& rect)
 {
 return rect;
@@ -168,8 +180,9 @@
 {
 return point;
 }
-#endif
 
+#endif // !PLATFORM(COCOA)
+
 IntRect Widget::convertToContainingView(const IntRect& localRect) const
 {
 if (const ScrollView* parentScrollView = parent()) {
@@ -212,4 +225,50 @@
 return parentPoint;
 }
 
+#if !PLATFORM(COCOA) && !PLATFORM(GTK) && !PLATFORM(WIN)
+
+Widget::~Widget()
+{
+ASSERT(!parent());
+notImplemented();
+}
+
+void Widget::setFrameRect(const IntRect& rect)
+{
+m_frame = rect;
+notImplemented();
+}
+
+void Widget::paint(GraphicsContext&, const IntRect&, SecurityOriginPaintPolicy)
+{
+notImplemented();
+}
+
+void Widget::setFocus(bool)
+{
+notImplemented();
+}
+
+void Widget::setCursor(const Cursor&)
+{
+notImplemented();
+}
+
+void Widget::show()
+{
+notImplemented();
+}
+
+void Widget::hide()
+{
+notImplemented();
+}
+
+void Widget::setIsSelected(bool)
+{
+notImplemented();
+}
+
+#endif // !PLATFORM(COCOA) && !PLATFORM(GTK) && !PLATFORM(WIN)
+
 } // namespace WebCore


Modified: trunk/Source/WebCore/platform/gtk/WidgetGtk.cpp (238335 => 238336)

--- trunk/Source/WebCore/platform/gtk/WidgetGtk.cpp	2018-11-17 02:26:06 UTC (rev 238335)
+++ trunk/Source/WebCore/platform/gtk/WidgetGtk.cpp	2018-11-17 02:46:49 UTC (rev 238336)
@@ -40,11 +40,6 @@
 
 namespace WebCore {
 
-Widget::Widget(PlatformWidget widget)
-{
-init(widget);
-}
-
 Widget::~Widget()
 {
 ASSERT(!parent());
@@ -99,11 +94,6 @@
 g_object_set(platformWidget(), 

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

2018-11-16 Thread cdumez
Title: [238335] trunk/Source/WebKit








Revision 238335
Author cdu...@apple.com
Date 2018-11-16 18:26:06 -0800 (Fri, 16 Nov 2018)


Log Message
ProcessSwap.NavigationWithLockedHistoryWithoutPSON API test is a flaky crash in debug
https://bugs.webkit.org/show_bug.cgi?id=191795

Reviewed by Alex Christensen.

If the WebProcessPool is getting destroyed while there is a prewarmed WebContent process
that is awaiting its connnection to the network process, then we'll hit the
process->hasOneRef() assertion in the WebProcessPool destructor. This is because
NetworkProcessProxy::m_pendingConnectionReplies keeps a RefPtr to the WebProcessProxy
that is awaiting the connection. The NetworkProcessProxy does not really need to keep
the WebProcessProxy alive in this case so this patch switches to using a WeakPtr instead.

* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::getNetworkProcessConnection):
(WebKit::NetworkProcessProxy::networkProcessCrashed):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/WebProcessProxy.h:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp
trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h
trunk/Source/WebKit/UIProcess/WebProcessProxy.h




Diff

Modified: trunk/Source/WebKit/ChangeLog (238334 => 238335)

--- trunk/Source/WebKit/ChangeLog	2018-11-17 02:14:44 UTC (rev 238334)
+++ trunk/Source/WebKit/ChangeLog	2018-11-17 02:26:06 UTC (rev 238335)
@@ -1,5 +1,25 @@
 2018-11-16  Chris Dumez  
 
+ProcessSwap.NavigationWithLockedHistoryWithoutPSON API test is a flaky crash in debug
+https://bugs.webkit.org/show_bug.cgi?id=191795
+
+Reviewed by Alex Christensen.
+
+If the WebProcessPool is getting destroyed while there is a prewarmed WebContent process
+that is awaiting its connnection to the network process, then we'll hit the
+process->hasOneRef() assertion in the WebProcessPool destructor. This is because
+NetworkProcessProxy::m_pendingConnectionReplies keeps a RefPtr to the WebProcessProxy
+that is awaiting the connection. The NetworkProcessProxy does not really need to keep
+the WebProcessProxy alive in this case so this patch switches to using a WeakPtr instead.
+
+* UIProcess/Network/NetworkProcessProxy.cpp:
+(WebKit::NetworkProcessProxy::getNetworkProcessConnection):
+(WebKit::NetworkProcessProxy::networkProcessCrashed):
+* UIProcess/Network/NetworkProcessProxy.h:
+* UIProcess/WebProcessProxy.h:
+
+2018-11-16  Chris Dumez  
+
 [macOS] Label "prewarmed" WebContent processes in Activity Monitor
 https://bugs.webkit.org/show_bug.cgi?id=191765
 


Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp (238334 => 238335)

--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp	2018-11-17 02:14:44 UTC (rev 238334)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp	2018-11-17 02:26:06 UTC (rev 238335)
@@ -118,7 +118,7 @@
 
 void NetworkProcessProxy::getNetworkProcessConnection(WebProcessProxy& webProcessProxy, Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply&& reply)
 {
-m_pendingConnectionReplies.append(std::make_pair(, WTFMove(reply)));
+m_pendingConnectionReplies.append(std::make_pair(makeWeakPtr(webProcessProxy), WTFMove(reply)));
 
 if (state() == State::Launching) {
 m_numPendingConnectionRequests++;
@@ -205,8 +205,12 @@
 
 Vector, Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>> pendingReplies;
 pendingReplies.reserveInitialCapacity(m_pendingConnectionReplies.size());
-for (auto& reply : m_pendingConnectionReplies)
-pendingReplies.append(WTFMove(reply));
+for (auto& reply : m_pendingConnectionReplies) {
+if (reply.first)
+pendingReplies.append(std::make_pair(makeRefPtr(reply.first.get()), WTFMove(reply.second)));
+else
+reply.second({ });
+}
 
 // Tell the network process manager to forget about this network process proxy. This will cause us to be deleted.
 m_processPool.networkProcessCrashed(*this, WTFMove(pendingReplies));


Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h (238334 => 238335)

--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h	2018-11-17 02:14:44 UTC (rev 238334)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h	2018-11-17 02:26:06 UTC (rev 238335)
@@ -175,7 +175,7 @@
 WebProcessPool& m_processPool;
 
 unsigned m_numPendingConnectionRequests;
-Deque, Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>> m_pendingConnectionReplies;
+Deque, Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>> m_pendingConnectionReplies;
 
 HashMap> m_pendingFetchWebsiteDataCallbacks;
 HashMap> m_pendingDeleteWebsiteDataCallbacks;


Modified: 

[webkit-changes] [238333] trunk

2018-11-16 Thread drousso
Title: [238333] trunk








Revision 238333
Author drou...@apple.com
Date 2018-11-16 18:10:43 -0800 (Fri, 16 Nov 2018)


Log Message
Web Inspector: Audit: minor style improvements
https://bugs.webkit.org/show_bug.cgi?id=191727

Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

* UserInterface/Controllers/AuditManager.js:
(WI.AuditManager):
(WI.AuditManager.prototype._handleFrameMainResourceDidChange): Added.
Clear test results when the main frame navigates, but don't clear the saved results.

* UserInterface/Models/AuditTestCase.js:
(WI.AuditTestCase.prototype.async run):
* UserInterface/Models/AuditTestCaseResult.js:
(WI.AuditTestCaseResult):
(WI.AuditTestCaseResult.async fromPayload):
(WI.AuditTestCaseResult.prototype.get resolvedDOMNodes): Added.
(WI.AuditTestCaseResult.prototype.toJSON):
Capture the full CSS path for any returned DOM nodes when the test finishes running, so that
if the node moves around the path isn't modified as well.

* UserInterface/Views/AuditTestCaseContentView.js:
(WI.AuditTestCaseContentView.prototype.layout):
Always show the URL for the test when viewing a saved result.

* UserInterface/Views/AuditTestContentView.css:
(.content-view-container > .content-view.audit-test > header p):
(.content-view.audit-test > header):
* UserInterface/Views/AuditTestCaseContentView.css:
(.content-view.audit-test-case > header): Added.
(.content-view.audit-test-case > header h1 > img):
(.content-view.audit-test-case > header > .metadata > .source): Added.
(.content-view.audit-test-case > header > .metadata > .duration):
(.content-view.audit-test-case > section table > tr > td:first-child):
* UserInterface/Views/AuditTestGroupContentView.css:
(.content-view.audit-test-group > header):
Horizontally align items in the header for visual consistency.

LayoutTests:

* inspector/audit/resources/audit-utilities.js:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/inspector/audit/resources/audit-utilities.js
trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/UserInterface/Controllers/AuditManager.js
trunk/Source/WebInspectorUI/UserInterface/Models/AuditTestCase.js
trunk/Source/WebInspectorUI/UserInterface/Models/AuditTestCaseResult.js
trunk/Source/WebInspectorUI/UserInterface/Views/AuditTestCaseContentView.css
trunk/Source/WebInspectorUI/UserInterface/Views/AuditTestCaseContentView.js
trunk/Source/WebInspectorUI/UserInterface/Views/AuditTestContentView.css
trunk/Source/WebInspectorUI/UserInterface/Views/AuditTestGroupContentView.css




Diff

Modified: trunk/LayoutTests/ChangeLog (238332 => 238333)

--- trunk/LayoutTests/ChangeLog	2018-11-17 01:34:04 UTC (rev 238332)
+++ trunk/LayoutTests/ChangeLog	2018-11-17 02:10:43 UTC (rev 238333)
@@ -1,3 +1,12 @@
+2018-11-16  Devin Rousso  
+
+Web Inspector: Audit: minor style improvements
+https://bugs.webkit.org/show_bug.cgi?id=191727
+
+Reviewed by Joseph Pecoraro.
+
+* inspector/audit/resources/audit-utilities.js:
+
 2018-11-16  Joseph Pecoraro  
 
 Web Inspector: Keep Web Inspector window alive across process swaps (PSON) (Local Inspector)


Modified: trunk/LayoutTests/inspector/audit/resources/audit-utilities.js (238332 => 238333)

--- trunk/LayoutTests/inspector/audit/resources/audit-utilities.js	2018-11-17 01:34:04 UTC (rev 238332)
+++ trunk/LayoutTests/inspector/audit/resources/audit-utilities.js	2018-11-17 02:10:43 UTC (rev 238333)
@@ -13,7 +13,7 @@
 if (!array.length)
 return;
 
-InspectorTest.assert(array.every((item) => typeof item === "string"), name + "should only contain strings.");
+InspectorTest.assert(array.every((item) => typeof item === "string"), name + " should only contain strings.");
 InspectorTest.log("  " + name + ":");
 for (let item of array)
 InspectorTest.log("   - " + item);
@@ -45,8 +45,14 @@
 
 let data = ""
 if (data.domNodes) {
-InspectorTest.assert(data.domNodes.every((domNode) => domNode instanceof WI.DOMNode), "domNodes should only contain WI.DOMNode.");
-logArray("domNodes", data.domNodes.map((domNode) => domNode.displayName));
+if (result.resolvedDOMNodes) {
+InspectorTest.assert(result.resolvedDOMNodes.every((domNode) => domNode instanceof WI.DOMNode), "domNodes should only contain WI.DOMNode.");
+logArray("domNodes", result.resolvedDOMNodes.map((domNode) => domNode.displayName));
+
+for (let i = 0; i < result.resolvedDOMNodes.length; ++i)
+InspectorTest.assert(WI.cssPath(result.resolvedDOMNodes[i], {full: true}) === data.domNodes[i], "The resolved DOM node should match the saved CSS path.");
+} else
+logArray("domNodes", data.domNodes);
 }
 if (data.domAttributes)
  

[webkit-changes] [238332] trunk/Source

2018-11-16 Thread cdumez
Title: [238332] trunk/Source








Revision 238332
Author cdu...@apple.com
Date 2018-11-16 17:34:04 -0800 (Fri, 16 Nov 2018)


Log Message
[macOS] Label "prewarmed" WebContent processes in Activity Monitor
https://bugs.webkit.org/show_bug.cgi?id=191765


Reviewed by Geoffrey Garen.

Source/WebCore:

* en.lproj/Localizable.strings:

Source/WebKit:

Label "prewarmed" WebContent processes in Activity Monitor to facilitate debugging.

* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
(WebKit::XPCServiceInitializerDelegate::getExtraInitializationData):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getLaunchOptions):
(WebKit::WebProcessProxy::markIsNoLongerInPrewarmedPool):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::markIsNoLongerPrewarmed):
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::initializeProcessName):
(WebKit::WebProcess::updateProcessName):
(WebKit::WebProcess::platformInitializeProcess):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/en.lproj/Localizable.strings
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm
trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp
trunk/Source/WebKit/WebProcess/WebProcess.cpp
trunk/Source/WebKit/WebProcess/WebProcess.h
trunk/Source/WebKit/WebProcess/WebProcess.messages.in
trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (238331 => 238332)

--- trunk/Source/WebCore/ChangeLog	2018-11-17 01:28:44 UTC (rev 238331)
+++ trunk/Source/WebCore/ChangeLog	2018-11-17 01:34:04 UTC (rev 238332)
@@ -1,3 +1,13 @@
+2018-11-16  Chris Dumez  
+
+[macOS] Label "prewarmed" WebContent processes in Activity Monitor
+https://bugs.webkit.org/show_bug.cgi?id=191765
+
+
+Reviewed by Geoffrey Garen.
+
+* en.lproj/Localizable.strings:
+
 2018-11-16  Jeremy Jones  
 
 Enable external playback for video in element fullscreen.


Modified: trunk/Source/WebCore/en.lproj/Localizable.strings (238331 => 238332)

--- trunk/Source/WebCore/en.lproj/Localizable.strings	2018-11-17 01:28:44 UTC (rev 238331)
+++ trunk/Source/WebCore/en.lproj/Localizable.strings	2018-11-17 01:34:04 UTC (rev 238332)
@@ -46,6 +46,9 @@
 /* Visible name of the web process. The argument is the application name. */
 "%@ Web Content" = "%@ Web Content";
 
+/* Visible name of the web process. The argument is the application name. */
+"%@ Web Content (Prewarmed)" = "%@ Web Content (Prewarmed)";
+
 /* Visible name of Web Inspector's web process. The argument is the application name. */
 "%@ Web Inspector" = "%@ Web Inspector";
 
@@ -181,6 +184,12 @@
 /* Media Controls context menu item */
 "Controls" = "Controls";
 
+/* Convert to ordered list action name */
+"Convert to Ordered List (Undo action name)" = "Convert to Ordered List";
+
+/* Convert to unordered list action name */
+"Convert to Unordered List (Undo action name)" = "Convert to Unordered List";
+
 /* Copy context menu item */
 "Copy" = "Copy";
 


Modified: trunk/Source/WebKit/ChangeLog (238331 => 238332)

--- trunk/Source/WebKit/ChangeLog	2018-11-17 01:28:44 UTC (rev 238331)
+++ trunk/Source/WebKit/ChangeLog	2018-11-17 01:34:04 UTC (rev 238332)
@@ -1,3 +1,27 @@
+2018-11-16  Chris Dumez  
+
+[macOS] Label "prewarmed" WebContent processes in Activity Monitor
+https://bugs.webkit.org/show_bug.cgi?id=191765
+
+
+Reviewed by Geoffrey Garen.
+
+Label "prewarmed" WebContent processes in Activity Monitor to facilitate debugging.
+
+* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
+(WebKit::XPCServiceInitializerDelegate::getExtraInitializationData):
+* UIProcess/WebProcessProxy.cpp:
+(WebKit::WebProcessProxy::getLaunchOptions):
+(WebKit::WebProcessProxy::markIsNoLongerInPrewarmedPool):
+* WebProcess/WebProcess.cpp:
+(WebKit::WebProcess::markIsNoLongerPrewarmed):
+* WebProcess/WebProcess.h:
+* WebProcess/WebProcess.messages.in:
+* WebProcess/cocoa/WebProcessCocoa.mm:
+(WebKit::WebProcess::initializeProcessName):
+(WebKit::WebProcess::updateProcessName):
+(WebKit::WebProcess::platformInitializeProcess):
+
 2018-11-16  Joseph Pecoraro  
 
 Web Inspector: Keep Web Inspector window alive across process swaps (PSON) (Local Inspector)


Modified: trunk/Source/WebKit/Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm (238331 => 238332)

--- trunk/Source/WebKit/Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm	2018-11-17 01:28:44 UTC (rev 238331)
+++ trunk/Source/WebKit/Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm	2018-11-17 01:34:04 UTC (rev 238332)
@@ -121,6 +121,10 @@
 extraInitializationData.add("service-worker-process"_s, serviceWorkerProcess);
 #endif
 
+   

[webkit-changes] [238330] trunk

2018-11-16 Thread joepeck
Title: [238330] trunk








Revision 238330
Author joep...@webkit.org
Date 2018-11-16 17:28:41 -0800 (Fri, 16 Nov 2018)


Log Message
Web Inspector: Keep Web Inspector window alive across process swaps (PSON) (Local Inspector)
https://bugs.webkit.org/show_bug.cgi?id=191740


Reviewed by Timothy Hatcher.

Source/_javascript_Core:

* inspector/InspectorFrontendChannel.h:
Expose EnumTraits for ConnectionType for WebKit IPC messages.

Source/WebInspectorUI:

* UserInterface/Protocol/Connection.js:
(InspectorBackend.Connection.prototype._dispatchResponse):
Hide the TargetAgent does not exist message. This is necessary so that WebKitLegacy
tests don't include this line in output each test.

* UserInterface/Test.html:
* UserInterface/Test/Test.js:
(WI.loaded):
(WI.resetMainExecutionContext):
(WI.performOneTimeFrontendInitializationsUsingTarget):
Behave more like Main.js and initialize a MultiplexingBackendTarget when the
TargetAgent is available.

* UserInterface/Protocol/InspectorBackend.js:
(InspectorBackendClass.prototype.runAfterPendingDispatches):
Use the main target, a.k.a. the page connection. The backend target's
messages don't have any responses, so this was effectively not waiting
at all.

Source/WebKit:

When a web page asks to open a local Web Inspector, that inspector
will now connect in the UIProcess (WebPageProxy / WebPageInspectorController)
instead of the WebContentProcess (WebKit::WebInspector / InspectorController).

Previously a WebInspectorProxy was re-created every time the WebPageProxy's
WebPage / WebProcess was changed, effectively closing the Web Inspector
frontend when the WebPage was swapped or crashed.

This change keeps the WebInspectorProxy alive as long as the WebPageProxy
is alive. During process swaps, or process crashes, the WebInspectorProxy
is reset when the page is reset and updated when the page's WebProcess
changes. Since WebInspectorProxy owns the Web Inspector view / window
the Web Inspector window can be kept alive across (and attached state)
across WebPage / WebProcess changes.

Previously the WebContentProcess's WebKit::WebInspector was the Local
FrontendChannel for the WebCore::InspectorController. This can't
outlive the single WebContentProcess.

This change makes the UIProcesses' WebInspectorProxy the Local FrontendChannel
for the WebKit::WebPageInspectorController. Given the WebInspectorProxy
now stays alive alongside the WebPageProxy this will live across process changes.
This means that the WebInspectorUI process must send its backend messages to
the WebInspectorProxy -> WebPageInspectorController now instead of the
old path WebInspector -> WebCore::InspectorController.

A direct IPC connection is still maintained between the WebContentProcess's
WebKit::WebInspector and the InspectorProcess's WebInspectorUI. Previously
this connection was established by WebKit::WebInspector vending an
IPC::Attachment to the WebInspectorUI process. This patch inverts that
relationship, because the WebInspectorUI process now lives across multiple
WebContentProcess changes. The WebInspectorUI now vends the IPC::Attachment
to the WebContentProcess each time the process changes. This way they can both
still communicate through normal Messages::WebInspector/WebInspectorUI
messages and everything behaves as previously expected.

* Scripts/webkit/messages.py:
Header for Inspector::FrontendChannel::ConnectionType.

* WebProcess/WebCoreSupport/WebInspectorClient.cpp:
(WebKit::WebInspectorClient::openLocalFrontend):
* WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::openLocalInspectorFrontend):
(WebKit::WebInspector::setFrontendConnection):
(WebKit::WebInspector::closeFrontendConnection):
(WebKit::WebInspector::close):
(WebKit::WebInspector::openFrontendConnection): Deleted.
(WebKit::WebInspector::sendMessageToBackend): Deleted.
(WebKit::WebInspector::sendMessageToFrontend): Deleted.
On the WebProcess side we ask the UIProcess to open a local frontend and now
receive instead of vend an IPC connection to the WebInspectorUI process.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::finishAttachingToWebProcess):
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::resetState):
Keep the WebInspectorProxy alive alongside the WebPageProxy.
Update it as processes / states change.

* UIProcess/WebInspectorProxy.h:
* UIProcess/WebInspectorProxy.messages.in:
* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::openLocalInspectorFrontend):
(WebKit::WebInspectorProxy::createInspectorPage): Deleted.
(WebKit::WebInspectorProxy::sendMessageToFrontend):
(WebKit::WebInspectorProxy::closeFrontendPageAndWindow):
Open and close a local frontend by being the FrontendChannel on the UIProcess side.

(WebKit::WebInspectorProxy::sendMessageToBackend):
Dispatch WebInspectorUI backend messages to the UIProcess's InspectorController
now that the InspectorController is here instead of in the WebProcess.

(WebKit::WebInspectorProxy::setFrontendConnection):
Transfer the WebProcess <-> 

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

2018-11-16 Thread joepeck
Title: [238331] trunk/Source/WebInspectorUI








Revision 238331
Author joep...@webkit.org
Date 2018-11-16 17:28:44 -0800 (Fri, 16 Nov 2018)


Log Message
Web Inspector: Include default filtering of InspectorBackend.dumpInspectorProtocolMessages with multi target backend
https://bugs.webkit.org/show_bug.cgi?id=191785

Reviewed by Matt Baker.

* UserInterface/Debug/Bootstrap.js:
(dumpMessagesCurrentState):
(applyDumpMessagesState):
(WI.runBootstrapOperations):
Include tri-state for the logs button.

* UserInterface/Protocol/InspectorBackend.js:
(InspectorBackendClass.prototype.set filterMultiplexingBackendInspectorProtocolMessages):
(InspectorBackendClass.prototype.get filterMultiplexingBackendInspectorProtocolMessages):
(InspectorBackendClass.prototype._startOrStopAutomaticTracing):
Add new filtering state (the Setting already got added in the past).

* UserInterface/Protocol/LoggingProtocolTracer.js:
(WI.LoggingProtocolTracer):
(WI.LoggingProtocolTracer.prototype.set filterMultiplexingBackend):
(WI.LoggingProtocolTracer.prototype.get filterMultiplexingBackend):
(WI.LoggingProtocolTracer.prototype._processEntry):
Perform new filtering.

Modified Paths

trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/UserInterface/Debug/Bootstrap.js
trunk/Source/WebInspectorUI/UserInterface/Protocol/InspectorBackend.js
trunk/Source/WebInspectorUI/UserInterface/Protocol/LoggingProtocolTracer.js




Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (238330 => 238331)

--- trunk/Source/WebInspectorUI/ChangeLog	2018-11-17 01:28:41 UTC (rev 238330)
+++ trunk/Source/WebInspectorUI/ChangeLog	2018-11-17 01:28:44 UTC (rev 238331)
@@ -1,5 +1,31 @@
 2018-11-16  Joseph Pecoraro  
 
+Web Inspector: Include default filtering of InspectorBackend.dumpInspectorProtocolMessages with multi target backend
+https://bugs.webkit.org/show_bug.cgi?id=191785
+
+Reviewed by Matt Baker.
+
+* UserInterface/Debug/Bootstrap.js:
+(dumpMessagesCurrentState):
+(applyDumpMessagesState):
+(WI.runBootstrapOperations):
+Include tri-state for the logs button.
+
+* UserInterface/Protocol/InspectorBackend.js:
+(InspectorBackendClass.prototype.set filterMultiplexingBackendInspectorProtocolMessages):
+(InspectorBackendClass.prototype.get filterMultiplexingBackendInspectorProtocolMessages):
+(InspectorBackendClass.prototype._startOrStopAutomaticTracing):
+Add new filtering state (the Setting already got added in the past).
+
+* UserInterface/Protocol/LoggingProtocolTracer.js:
+(WI.LoggingProtocolTracer):
+(WI.LoggingProtocolTracer.prototype.set filterMultiplexingBackend):
+(WI.LoggingProtocolTracer.prototype.get filterMultiplexingBackend):
+(WI.LoggingProtocolTracer.prototype._processEntry):
+Perform new filtering.
+
+2018-11-16  Joseph Pecoraro  
+
 Web Inspector: Keep Web Inspector window alive across process swaps (PSON) (Local Inspector)
 https://bugs.webkit.org/show_bug.cgi?id=191740
 


Modified: trunk/Source/WebInspectorUI/UserInterface/Debug/Bootstrap.js (238330 => 238331)

--- trunk/Source/WebInspectorUI/UserInterface/Debug/Bootstrap.js	2018-11-17 01:28:41 UTC (rev 238330)
+++ trunk/Source/WebInspectorUI/UserInterface/Debug/Bootstrap.js	2018-11-17 01:28:44 UTC (rev 238331)
@@ -39,30 +39,80 @@
 window.location.reload();
 });
 
-const dumpMessagesToolTip = WI.unlocalizedString("Enable dump inspector messages to console");
+// Toggle Inspector Messages Filtering.
+let ignoreChangesToState = false;
+const DumpMessagesState = {Off: "off", Filtering: "filtering", Everything: "everything"};
+const dumpMessagesToolTip = WI.unlocalizedString("Enable dump inspector messages to console.\nShift-click to dump all inspector messages with no filtering.");
 const dumpMessagesActivatedToolTip = WI.unlocalizedString("Disable dump inspector messages to console");
 let dumpMessagesToolbarItem = new WI.ActivateButtonToolbarItem("dump-messages", dumpMessagesToolTip, dumpMessagesActivatedToolTip, "Images/Console.svg");
-dumpMessagesToolbarItem.activated = InspectorBackend.dumpInspectorProtocolMessages;
+
+function dumpMessagesCurrentState() {
+if (!InspectorBackend.dumpInspectorProtocolMessages)
+return DumpMessagesState.Off;
+if (InspectorBackend.filterMultiplexingBackendInspectorProtocolMessages)
+return DumpMessagesState.Filtering;
+return DumpMessagesState.Everything;
+}
+
+function applyDumpMessagesState(state) {
+ignoreChangesToState = true;
+switch (state) {
+case DumpMessagesState.Off:
+InspectorBackend.dumpInspectorProtocolMessages = false;
+InspectorBackend.filterMultiplexingBackendInspectorProtocolMessages = false;
+dumpMessagesToolbarItem.activated = false;
+

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

2018-11-16 Thread rniwa
Title: [238329] trunk/Websites/perf.webkit.org








Revision 238329
Author rn...@webkit.org
Date 2018-11-16 17:14:26 -0800 (Fri, 16 Nov 2018)


Log Message
Manifest file can contain a test metric which references a non-existent test
https://bugs.webkit.org/show_bug.cgi?id=191796

Reviewed by Dewei Zhu.

The bug was caused by a race condition between the manifest file fetching the list of tests and test metrics
and new tests and test metrics being added. Because we would fetch tests before test metrics, it was possible
for new test metrics which references a test not included in the fetched tests to be present in the test metrics.

Fixed the bug by changing the order of the queries so that test metrics are fetched before tests. This guarantees
that any test referenced by a test metric always exists and thefore included in the manifest file.

Unfortunately no new tests beucase this involes a race condition.

* public/include/manifest-generator.php:

Modified Paths

trunk/Websites/perf.webkit.org/ChangeLog
trunk/Websites/perf.webkit.org/public/include/manifest-generator.php




Diff

Modified: trunk/Websites/perf.webkit.org/ChangeLog (238328 => 238329)

--- trunk/Websites/perf.webkit.org/ChangeLog	2018-11-17 01:10:48 UTC (rev 238328)
+++ trunk/Websites/perf.webkit.org/ChangeLog	2018-11-17 01:14:26 UTC (rev 238329)
@@ -1,3 +1,21 @@
+2018-11-16  Ryosuke Niwa  
+
+Manifest file can contain a test metric which references a non-existent test
+https://bugs.webkit.org/show_bug.cgi?id=191796
+
+Reviewed by Dewei Zhu.
+
+The bug was caused by a race condition between the manifest file fetching the list of tests and test metrics
+and new tests and test metrics being added. Because we would fetch tests before test metrics, it was possible
+for new test metrics which references a test not included in the fetched tests to be present in the test metrics.
+
+Fixed the bug by changing the order of the queries so that test metrics are fetched before tests. This guarantees
+that any test referenced by a test metric always exists and thefore included in the manifest file.
+
+Unfortunately no new tests beucase this involes a race condition.
+
+* public/include/manifest-generator.php:
+
 2018-11-13  Dewei Zhu  
 
 Add cache for CommitLog objects to avoid refetching same commit.


Modified: trunk/Websites/perf.webkit.org/public/include/manifest-generator.php (238328 => 238329)

--- trunk/Websites/perf.webkit.org/public/include/manifest-generator.php	2018-11-17 01:10:48 UTC (rev 238328)
+++ trunk/Websites/perf.webkit.org/public/include/manifest-generator.php	2018-11-17 01:14:26 UTC (rev 238329)
@@ -26,8 +26,10 @@
 foreach ($repositories_with_commit as &$row)
 $row = $row['commit_repository'];
 
+// Query test metrics before tests so that every test a test metric references is guaranteed to exist
+// even if there were new test metrics added by the time we fetched tests.
+$metrics = (object)$this->metrics();
 $tests = (object)$this->tests();
-$metrics = (object)$this->metrics();
 $platforms = (object)$this->platforms($platform_table, false);
 $dashboard = (object)$this->platforms($platform_table, true);
 $repositories = (object)$this->repositories($repositories_table, $repositories_with_commit);






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


[webkit-changes] [238328] trunk/Tools

2018-11-16 Thread ryanhaddad
Title: [238328] trunk/Tools








Revision 238328
Author ryanhad...@apple.com
Date 2018-11-16 17:10:48 -0800 (Fri, 16 Nov 2018)


Log Message
Update buildbot dashboard after Windows 7/10 updates
https://bugs.webkit.org/show_bug.cgi?id=191219

Reviewed by Alexey Proskuryakov.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
(BubbleQueueServer):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
(table.queue-grid tr.platform td.logo::before):
(table.queue-grid tr.platform.windows-10 td.logo::before):
(table.queue-grid tr.platform.wincairo-windows-10 td.logo::before):
(table.queue-grid tr.platform.windows-7 td.logo::before):
(table.queue-grid tr.platform.wincairo-windows-10 img.logo):

Modified Paths

trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js
trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js
trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js
trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css
trunk/Tools/ChangeLog




Diff

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js (238327 => 238328)

--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js	2018-11-17 00:49:50 UTC (rev 238327)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js	2018-11-17 01:10:48 UTC (rev 238328)
@@ -39,7 +39,7 @@
 "bindings-ews": {platform: Dashboard.Platform.macOSHighSierra, shortName: "bindings", title: "Bindings\xa0EWS"},
 "webkitpy-ews": {platform: Dashboard.Platform.macOSHighSierra, shortName: "webkitpy", title: "Webkitpy\xa0EWS"},
 "win-ews": {platform: Dashboard.Platform.Windows7, shortName: "win", title: "WebKit1\xa0Release\xa0Build\xa0EWS"},
-"wincairo-ews": {platform: Dashboard.Platform.Windows10, shortName: "wincairo", title: "WebKit1\xa0Release\xa0Build\xa0EWS"}
+"wincairo-ews": {platform: Dashboard.Platform.WinCairo, shortName: "wincairo", title: "WebKit1\xa0Release\xa0Build\xa0EWS"}
 };
 
 BaseObject.call(this);


Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js (238327 => 238328)

--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js	2018-11-17 00:49:50 UTC (rev 238327)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js	2018-11-17 01:10:48 UTC (rev 238328)
@@ -30,8 +30,9 @@
 macOSSierra: { name: "macos-sierra", readableName: "macOS Sierra", order: 8 },
 iOS12Simulator: { name: "ios-simulator-12", readableName: "iOS 12 Simulator", order: 20 },
 iOS12Device: { name: "ios-12", readableName: "iOS 12", order: 25 },
-Windows10: { name: "windows-10", readableName: "Windows 10", order: 50 },
-Windows7: { name: "windows-7", readableName: "Windows 7", order: 60 },
+Windows10: { name: "windows-10", readableName: "Windows 10", order: 30 },
+Windows7: { name: "windows-7", readableName: "Windows 7", order: 35 },
+WinCairo: { name: "wincairo-windows-10", readableName: "WinCairo", order: 50 },
 LinuxWPE: { name : "linux-wpe", readableName: "Linux WPE", order: 90 },
 LinuxGTK: { name : "linux-gtk", readableName: "Linux GTK", order: 91 }
 },


Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js (238327 => 238328)

--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js	2018-11-17 00:49:50 UTC (rev 238327)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js	2018-11-17 01:10:48 UTC (rev 238328)
@@ -63,14 +63,16 @@
 "Apple iOS 12 Simulator Release WK2 (Tests)": {platform: Dashboard.Platform.iOS12Simulator, debug: false, tester: true, testCategory: Buildbot.TestCategory.WebKit2},
 "Apple iOS 12 Simulator Debug (Build)": {platform: Dashboard.Platform.iOS12Simulator, debug: true, builder: true, architecture: Buildbot.BuildArchitecture.SixtyFourBit},
 "Apple iOS 12 Simulator Debug WK2 (Tests)": {platform: Dashboard.Platform.iOS12Simulator, debug: true, tester: true, testCategory: Buildbot.TestCategory.WebKit2},
-"Apple Win Debug (Build)": {platform: Dashboard.Platform.Windows7, debug: true, builder: true, architecture: Buildbot.BuildArchitecture.ThirtyTwoBit},
-"Apple Win Release (Build)": {platform: 

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

2018-11-16 Thread commit-queue
Title: [238327] trunk/Source/WebCore








Revision 238327
Author commit-qu...@webkit.org
Date 2018-11-16 16:49:50 -0800 (Fri, 16 Nov 2018)


Log Message
Enable external playback for video in element fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=190359
rdar://problem/42560085

Patch by Jeremy Jones  on 2018-11-16
Reviewed by Jer Noble.

No new tests because we don't have a good way to test external playback.

Any video that might be auto-pipped from element fullscreen should also enable external playback for video out.
PiP and external playback are mutually exclusive. Instead of preventing PiP when external playback is active,
allow PiP, but disable external playback while PiP is active.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setVideoFullscreenStandby):
* html/HTMLMediaElement.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::setVideoFullscreenStandby):
(WebCore::MediaPlayer::videoFullscreenStandby const):
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerVideoFullscreenStandby const):
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::setVideoFullscreenStandby):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenStandby):
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateDisableExternalPlayback):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/HTMLMediaElement.cpp
trunk/Source/WebCore/html/HTMLMediaElement.h
trunk/Source/WebCore/html/MediaElementSession.cpp
trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp
trunk/Source/WebCore/platform/graphics/MediaPlayer.h
trunk/Source/WebCore/platform/graphics/MediaPlayerPrivate.h
trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h
trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (238326 => 238327)

--- trunk/Source/WebCore/ChangeLog	2018-11-17 00:42:44 UTC (rev 238326)
+++ trunk/Source/WebCore/ChangeLog	2018-11-17 00:49:50 UTC (rev 238327)
@@ -1,3 +1,31 @@
+2018-11-16  Jeremy Jones  
+
+Enable external playback for video in element fullscreen.
+https://bugs.webkit.org/show_bug.cgi?id=190359
+rdar://problem/42560085
+
+Reviewed by Jer Noble.
+
+No new tests because we don't have a good way to test external playback.
+
+Any video that might be auto-pipped from element fullscreen should also enable external playback for video out.
+PiP and external playback are mutually exclusive. Instead of preventing PiP when external playback is active,
+allow PiP, but disable external playback while PiP is active.
+
+* html/HTMLMediaElement.cpp:
+(WebCore::HTMLMediaElement::setVideoFullscreenStandby):
+* html/HTMLMediaElement.h:
+* platform/graphics/MediaPlayer.cpp:
+(WebCore::MediaPlayer::setVideoFullscreenStandby):
+(WebCore::MediaPlayer::videoFullscreenStandby const):
+* platform/graphics/MediaPlayer.h:
+(WebCore::MediaPlayerClient::mediaPlayerVideoFullscreenStandby const):
+* platform/graphics/MediaPlayerPrivate.h:
+(WebCore::MediaPlayerPrivateInterface::setVideoFullscreenStandby):
+* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenStandby):
+(WebCore::MediaPlayerPrivateAVFoundationObjC::updateDisableExternalPlayback):
+
 2018-11-16  Jer Noble  
 
 Regression(r233865): Causes synchronous IPC in the middle of layout


Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (238326 => 238327)

--- trunk/Source/WebCore/html/HTMLMediaElement.cpp	2018-11-17 00:42:44 UTC (rev 238326)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp	2018-11-17 00:49:50 UTC (rev 238327)
@@ -6080,6 +6080,11 @@
 return;
 
 m_videoFullscreenStandby = value;
+
+#if PLATFORM(IOS_FAMILY) || (PLATFORM(MAC) && ENABLE(VIDEO_PRESENTATION_MODE))
+if (m_player)
+m_player->videoFullscreenStandbyChanged();
+#endif
 
 if (m_videoFullscreenStandby || m_videoFullscreenMode != VideoFullscreenModeNone)
 document().page()->chrome().client().enterVideoFullscreenForVideoElement(downcast(*this), m_videoFullscreenMode, m_videoFullscreenStandby);


Modified: trunk/Source/WebCore/html/HTMLMediaElement.h (238326 => 238327)

--- trunk/Source/WebCore/html/HTMLMediaElement.h	2018-11-17 00:42:44 UTC (rev 238326)
+++ trunk/Source/WebCore/html/HTMLMediaElement.h	2018-11-17 00:49:50 UTC (rev 238327)
@@ -737,6 +737,7 @@
 
 double mediaPlayerRequestedPlaybackRate() const final;
 VideoFullscreenMode mediaPlayerFullscreenMode() const final { return fullscreenMode(); }
+bool mediaPlayerIsVideoFullscreenStandby() const final { return m_videoFullscreenStandby; }
 bool 

[webkit-changes] [238326] trunk

2018-11-16 Thread fpizlo
Title: [238326] trunk








Revision 238326
Author fpi...@apple.com
Date 2018-11-16 16:42:44 -0800 (Fri, 16 Nov 2018)


Log Message
All users of ArrayBuffer should agree on the same max size
https://bugs.webkit.org/show_bug.cgi?id=191771

Reviewed by Mark Lam.

JSTests:

* stress/big-wasm-memory-grow-no-max.js: Added.
(foo):
(catch):
* stress/big-wasm-memory-grow.js: Added.
(foo):
(catch):
* stress/big-wasm-memory.js: Added.
(foo):
(catch):

Source/_javascript_Core:

Array buffers cannot be larger than 0x7fff, because otherwise loading typedArray.length in the DFG/FTL would produce
a uint32 or would require a signedness check, neither of which sounds reasonable. It's better to just bound their max size
instead.

* runtime/ArrayBuffer.cpp:
(JSC::ArrayBufferContents::ArrayBufferContents):
(JSC::ArrayBufferContents::tryAllocate):
(JSC::ArrayBufferContents::transferTo):
(JSC::ArrayBufferContents::copyTo):
(JSC::ArrayBufferContents::shareWith):
* runtime/ArrayBuffer.h:
* wasm/WasmMemory.cpp:
(JSC::Wasm::Memory::tryCreate):
(JSC::Wasm::Memory::grow):
* wasm/WasmPageCount.h:

Modified Paths

trunk/JSTests/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/runtime/ArrayBuffer.cpp
trunk/Source/_javascript_Core/runtime/ArrayBuffer.h
trunk/Source/_javascript_Core/wasm/WasmMemory.cpp
trunk/Source/_javascript_Core/wasm/js/WebAssemblyMemoryConstructor.cpp


Added Paths

trunk/JSTests/stress/big-wasm-memory-grow-no-max.js
trunk/JSTests/stress/big-wasm-memory-grow.js
trunk/JSTests/stress/big-wasm-memory.js




Diff

Modified: trunk/JSTests/ChangeLog (238325 => 238326)

--- trunk/JSTests/ChangeLog	2018-11-17 00:31:29 UTC (rev 238325)
+++ trunk/JSTests/ChangeLog	2018-11-17 00:42:44 UTC (rev 238326)
@@ -1,5 +1,22 @@
 2018-11-16  Filip Pizlo  
 
+All users of ArrayBuffer should agree on the same max size
+https://bugs.webkit.org/show_bug.cgi?id=191771
+
+Reviewed by Mark Lam.
+
+* stress/big-wasm-memory-grow-no-max.js: Added.
+(foo):
+(catch):
+* stress/big-wasm-memory-grow.js: Added.
+(foo):
+(catch):
+* stress/big-wasm-memory.js: Added.
+(foo):
+(catch):
+
+2018-11-16  Filip Pizlo  
+
 Unreviewed, make some more tests not crash my computer by only running on instance of it. These tests do not need to
 run for each JSC config since they're regression tests for runtime bugs.
 


Added: trunk/JSTests/stress/big-wasm-memory-grow-no-max.js (0 => 238326)

--- trunk/JSTests/stress/big-wasm-memory-grow-no-max.js	(rev 0)
+++ trunk/JSTests/stress/big-wasm-memory-grow-no-max.js	2018-11-17 00:42:44 UTC (rev 238326)
@@ -0,0 +1,33 @@
+let bigArray = new Array(0x700);
+bigArray[0] = 1.1;
+bigArray[1] = 1.2;
+
+function foo(array) {
+var index = array.length;
+if (index >= bigArray.length || (index - 0x1ffdc01) < 0)
+return;
+return bigArray[index - 0x1ffdc01];
+}
+
+noInline(foo);
+
+var okArray = new Uint8Array(0x1ffdc02);
+
+for (var i = 0; i < 1; ++i)
+foo(okArray);
+
+var ok = false;
+try {
+var memory = new WebAssembly.Memory({ initial: 0x1000 });
+memory.grow(0x7000);
+var result = foo(new Uint8Array(memory.buffer));
+if (result !== void 0)
+throw "Error: bad result at end: " + result;
+ok = true;
+} catch (e) {
+if (e.toString() != "RangeError: WebAssembly.Memory.grow expects the grown size to be a valid page count")
+throw e;
+}
+
+if (ok)
+throw "Error: did not throw error";


Added: trunk/JSTests/stress/big-wasm-memory-grow.js (0 => 238326)

--- trunk/JSTests/stress/big-wasm-memory-grow.js	(rev 0)
+++ trunk/JSTests/stress/big-wasm-memory-grow.js	2018-11-17 00:42:44 UTC (rev 238326)
@@ -0,0 +1,33 @@
+let bigArray = new Array(0x700);
+bigArray[0] = 1.1;
+bigArray[1] = 1.2;
+
+function foo(array) {
+var index = array.length;
+if (index >= bigArray.length || (index - 0x1ffdc01) < 0)
+return;
+return bigArray[index - 0x1ffdc01];
+}
+
+noInline(foo);
+
+var okArray = new Uint8Array(0x1ffdc02);
+
+for (var i = 0; i < 1; ++i)
+foo(okArray);
+
+var ok = false;
+try {
+var memory = new WebAssembly.Memory({ initial: 0x1000, maximum: 0x8000 });
+memory.grow(0x7000);
+var result = foo(new Uint8Array(memory.buffer));
+if (result !== void 0)
+throw "Error: bad result at end: " + result;
+ok = true;
+} catch (e) {
+if (e.toString() != "RangeError: WebAssembly.Memory.grow expects the grown size to be a valid page count")
+throw e;
+}
+
+if (ok)
+throw "Error: did not throw error";


Added: trunk/JSTests/stress/big-wasm-memory.js (0 => 238326)

--- trunk/JSTests/stress/big-wasm-memory.js	(rev 0)
+++ trunk/JSTests/stress/big-wasm-memory.js	2018-11-17 00:42:44 UTC (rev 238326)
@@ -0,0 +1,31 @@
+let bigArray = new Array(0x700);
+bigArray[0] = 1.1;
+bigArray[1] = 1.2;
+
+function 

[webkit-changes] [238325] tags/Safari-606.4.1.2.1/

2018-11-16 Thread kocsen_chung
Title: [238325] tags/Safari-606.4.1.2.1/








Revision 238325
Author kocsen_ch...@apple.com
Date 2018-11-16 16:31:29 -0800 (Fri, 16 Nov 2018)


Log Message
Tag Safari-606.4.1.2.1.~

Added Paths

tags/Safari-606.4.1.2.1/




Diff




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


[webkit-changes] [238324] trunk/JSTests

2018-11-16 Thread fpizlo
Title: [238324] trunk/JSTests








Revision 238324
Author fpi...@apple.com
Date 2018-11-16 16:22:39 -0800 (Fri, 16 Nov 2018)


Log Message
Unreviewed, make some more tests not crash my computer by only running on instance of it. These tests do not need to
run for each JSC config since they're regression tests for runtime bugs.

* stress/json-stringified-overflow-2.js:
* stress/json-stringified-overflow.js:

Modified Paths

trunk/JSTests/ChangeLog
trunk/JSTests/stress/json-stringified-overflow-2.js
trunk/JSTests/stress/json-stringified-overflow.js




Diff

Modified: trunk/JSTests/ChangeLog (238323 => 238324)

--- trunk/JSTests/ChangeLog	2018-11-17 00:17:32 UTC (rev 238323)
+++ trunk/JSTests/ChangeLog	2018-11-17 00:22:39 UTC (rev 238324)
@@ -1,5 +1,13 @@
 2018-11-16  Filip Pizlo  
 
+Unreviewed, make some more tests not crash my computer by only running on instance of it. These tests do not need to
+run for each JSC config since they're regression tests for runtime bugs.
+
+* stress/json-stringified-overflow-2.js:
+* stress/json-stringified-overflow.js:
+
+2018-11-16  Filip Pizlo  
+
 Unreviewed, make some tests not crash my computer by only running on instance of it. These tests do not need to run for each JSC
 config since they're regression tests for runtime bugs.
 


Modified: trunk/JSTests/stress/json-stringified-overflow-2.js (238323 => 238324)

--- trunk/JSTests/stress/json-stringified-overflow-2.js	2018-11-17 00:17:32 UTC (rev 238323)
+++ trunk/JSTests/stress/json-stringified-overflow-2.js	2018-11-17 00:22:39 UTC (rev 238324)
@@ -1,4 +1,4 @@
-//@ skip if $memoryLimited
+//@ if $memoryLimited then skip else runDefault end
 
 try {
 const s = "a".padStart(0x8000 - 1);


Modified: trunk/JSTests/stress/json-stringified-overflow.js (238323 => 238324)

--- trunk/JSTests/stress/json-stringified-overflow.js	2018-11-17 00:17:32 UTC (rev 238323)
+++ trunk/JSTests/stress/json-stringified-overflow.js	2018-11-17 00:22:39 UTC (rev 238324)
@@ -1,4 +1,4 @@
-//@ skip if $memoryLimited
+//@ if $memoryLimited then skip else runDefault end
 
 try {
 const s = "123".padStart(1073741823);






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


[webkit-changes] [238323] trunk/Tools

2018-11-16 Thread cdumez
Title: [238323] trunk/Tools








Revision 238323
Author cdu...@apple.com
Date 2018-11-16 16:17:32 -0800 (Fri, 16 Nov 2018)


Log Message
Regression(PSON) WebKit.GeolocationTransitionToHighAccuracy API test is timing out
https://bugs.webkit.org/show_bug.cgi?id=191789

Reviewed by Alex Christensen.

Relate the 2 test pages so they use the same process since WKContextSetMaximumNumberOfProcesses()
SPI no longer works with PSON / Process prewarming.

* TestWebKitAPI/Tests/WebKit/Geolocation.cpp:
(TestWebKitAPI::TEST):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebKit/Geolocation.cpp




Diff

Modified: trunk/Tools/ChangeLog (238322 => 238323)

--- trunk/Tools/ChangeLog	2018-11-17 00:15:55 UTC (rev 238322)
+++ trunk/Tools/ChangeLog	2018-11-17 00:17:32 UTC (rev 238323)
@@ -1,3 +1,16 @@
+2018-11-16  Chris Dumez  
+
+Regression(PSON) WebKit.GeolocationTransitionToHighAccuracy API test is timing out
+https://bugs.webkit.org/show_bug.cgi?id=191789
+
+Reviewed by Alex Christensen.
+
+Relate the 2 test pages so they use the same process since WKContextSetMaximumNumberOfProcesses()
+SPI no longer works with PSON / Process prewarming.
+
+* TestWebKitAPI/Tests/WebKit/Geolocation.cpp:
+(TestWebKitAPI::TEST):
+
 2018-11-16  Jonathan Bedard  
 
 webkitpy: Retry app installation on watchOS simulators


Modified: trunk/Tools/TestWebKitAPI/Tests/WebKit/Geolocation.cpp (238322 => 238323)

--- trunk/Tools/TestWebKitAPI/Tests/WebKit/Geolocation.cpp	2018-11-17 00:15:55 UTC (rev 238322)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKit/Geolocation.cpp	2018-11-17 00:17:32 UTC (rev 238323)
@@ -257,7 +257,6 @@
 TEST(WebKit, GeolocationTransitionToHighAccuracy)
 {
 WKRetainPtr context(AdoptWK, WKContextCreate());
-WKContextSetMaximumNumberOfProcesses(context.get(), 1);
 
 GeolocationTransitionToHighAccuracyStateTracker stateTracker;
 setupGeolocationProvider(context.get(), );
@@ -268,7 +267,7 @@
 WKPageLoadURL(lowAccuracyWebView.page(), lowAccuracyURL.get());
 Util::run();
 
-PlatformWebView highAccuracyWebView(context.get());
+PlatformWebView highAccuracyWebView(lowAccuracyWebView.page());
 setupView(highAccuracyWebView);
 WKRetainPtr highAccuracyURL(AdoptWK, Util::createURLForResource("geolocationWatchPositionWithHighAccuracy", "html"));
 WKPageLoadURL(highAccuracyWebView.page(), highAccuracyURL.get());






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


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

2018-11-16 Thread ross . kirsling
Title: [238321] trunk/Source/WebCore








Revision 238321
Author ross.kirsl...@sony.com
Date 2018-11-16 16:15:16 -0800 (Fri, 16 Nov 2018)


Log Message
Provide default implementation of Cursor
https://bugs.webkit.org/show_bug.cgi?id=191772

Reviewed by Michael Catanzaro.

* SourcesWPE.txt:
* platform/Cursor.cpp:
(WebCore::Cursor::ensurePlatformCursor const):
* platform/wpe/CursorWPE.cpp: Removed.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/SourcesWPE.txt
trunk/Source/WebCore/platform/Cursor.cpp


Removed Paths

trunk/Source/WebCore/platform/wpe/CursorWPE.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (238320 => 238321)

--- trunk/Source/WebCore/ChangeLog	2018-11-17 00:03:31 UTC (rev 238320)
+++ trunk/Source/WebCore/ChangeLog	2018-11-17 00:15:16 UTC (rev 238321)
@@ -1,3 +1,15 @@
+2018-11-16  Ross Kirsling  
+
+Provide default implementation of Cursor
+https://bugs.webkit.org/show_bug.cgi?id=191772
+
+Reviewed by Michael Catanzaro.
+
+* SourcesWPE.txt:
+* platform/Cursor.cpp:
+(WebCore::Cursor::ensurePlatformCursor const):
+* platform/wpe/CursorWPE.cpp: Removed.
+
 2018-11-16  Don Olmstead  
 
 EditorWPE should be EditorLibWPE


Modified: trunk/Source/WebCore/SourcesWPE.txt (238320 => 238321)

--- trunk/Source/WebCore/SourcesWPE.txt	2018-11-17 00:03:31 UTC (rev 238320)
+++ trunk/Source/WebCore/SourcesWPE.txt	2018-11-17 00:15:16 UTC (rev 238321)
@@ -71,7 +71,6 @@
 
 platform/unix/LoggingUnix.cpp
 
-platform/wpe/CursorWPE.cpp
 platform/wpe/LocalizedStringsWPE.cpp
 platform/wpe/PlatformScreenWPE.cpp
 platform/wpe/RenderThemeWPE.cpp


Modified: trunk/Source/WebCore/platform/Cursor.cpp (238320 => 238321)

--- trunk/Source/WebCore/platform/Cursor.cpp	2018-11-17 00:03:31 UTC (rev 238320)
+++ trunk/Source/WebCore/platform/Cursor.cpp	2018-11-17 00:15:16 UTC (rev 238321)
@@ -30,6 +30,7 @@
 
 #include "Image.h"
 #include "IntRect.h"
+#include "NotImplemented.h"
 #include 
 #include 
 
@@ -447,8 +448,14 @@
 static NeverDestroyed c(Cursor::Grabbing);
 return c;
 }
-
 
+#if !PLATFORM(COCOA) && !PLATFORM(GTK) && !PLATFORM(WIN)
+void Cursor::ensurePlatformCursor() const
+{
+notImplemented();
+}
+#endif
+
 } // namespace WebCore
 
 #endif // !PLATFORM(IOS_FAMILY)


Deleted: trunk/Source/WebCore/platform/wpe/CursorWPE.cpp (238320 => 238321)

--- trunk/Source/WebCore/platform/wpe/CursorWPE.cpp	2018-11-17 00:03:31 UTC (rev 238320)
+++ trunk/Source/WebCore/platform/wpe/CursorWPE.cpp	2018-11-17 00:15:16 UTC (rev 238321)
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2014 Igalia S.L.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *notice, this list of conditions and the following disclaimer in the
- *documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "Cursor.h"
-
-namespace WebCore {
-
-void Cursor::ensurePlatformCursor() const
-{
-}
-
-} // namespace WebCore






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


[webkit-changes] [238322] trunk/Source

2018-11-16 Thread jer . noble
Title: [238322] trunk/Source








Revision 238322
Author jer.no...@apple.com
Date 2018-11-16 16:15:55 -0800 (Fri, 16 Nov 2018)


Log Message
Regression(r233865): Causes synchronous IPC in the middle of layout
https://bugs.webkit.org/show_bug.cgi?id=188307


Reviewed by Eric Carlson.

Revert the changes added in r233865. Rather than make a syncronous call to the UIProcess to
query whether the view has been backgrounded while (e.g.) JS has been spinning, perform the
steps of the requestFullscreen() method on the next run loop, allowing messages from the
UIProcess about page visibilty to be delivered first.

* dom/Document.cpp:
(WebCore::Document::requestFullScreenForElement):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::enterFullscreen):
* html/HTMLMediaElement.h:
* page/ChromeClient.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Document.cpp
trunk/Source/WebCore/html/HTMLMediaElement.cpp
trunk/Source/WebCore/html/HTMLMediaElement.h
trunk/Source/WebCore/page/ChromeClient.h
trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in
trunk/Source/WebKit/UIProcess/mac/ViewSnapshotStore.h
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (238321 => 238322)

--- trunk/Source/WebCore/ChangeLog	2018-11-17 00:15:16 UTC (rev 238321)
+++ trunk/Source/WebCore/ChangeLog	2018-11-17 00:15:55 UTC (rev 238322)
@@ -1,3 +1,23 @@
+2018-11-16  Jer Noble  
+
+Regression(r233865): Causes synchronous IPC in the middle of layout
+https://bugs.webkit.org/show_bug.cgi?id=188307
+
+
+Reviewed by Eric Carlson.
+
+Revert the changes added in r233865. Rather than make a syncronous call to the UIProcess to
+query whether the view has been backgrounded while (e.g.) JS has been spinning, perform the
+steps of the requestFullscreen() method on the next run loop, allowing messages from the
+UIProcess about page visibilty to be delivered first.
+
+* dom/Document.cpp:
+(WebCore::Document::requestFullScreenForElement):
+* html/HTMLMediaElement.cpp:
+(WebCore::HTMLMediaElement::enterFullscreen):
+* html/HTMLMediaElement.h:
+* page/ChromeClient.h:
+
 2018-11-16  Ross Kirsling  
 
 Provide default implementation of Cursor


Modified: trunk/Source/WebCore/dom/Document.cpp (238321 => 238322)

--- trunk/Source/WebCore/dom/Document.cpp	2018-11-17 00:15:16 UTC (rev 238321)
+++ trunk/Source/WebCore/dom/Document.cpp	2018-11-17 00:15:55 UTC (rev 238322)
@@ -6211,31 +6211,81 @@
 
 void Document::requestFullScreenForElement(Element* element, FullScreenCheckType checkType)
 {
-do {
-if (!element)
-element = documentElement();
- 
-// 1. If any of the following conditions are true, terminate these steps and queue a task to fire
-// an event named fullscreenerror with its bubbles attribute set to true on the context object's 
-// node document:
+if (!element)
+element = documentElement();
 
+auto failedPreflights = [this](auto element) mutable {
+m_fullScreenErrorEventTargetQueue.append(WTFMove(element));
+m_fullScreenTaskQueue.enqueueTask([this] {
+dispatchFullScreenChangeEvents();
+});
+};
+
+// 1. If any of the following conditions are true, terminate these steps and queue a task to fire
+// an event named fullscreenerror with its bubbles attribute set to true on the context object's
+// node document:
+
+// This algorithm is not allowed to show a pop-up:
+//   An algorithm is allowed to show a pop-up if, in the task in which the algorithm is running, either:
+//   - an activation behavior is currently being processed whose click event was trusted, or
+//   - the event listener for a trusted click event is being handled.
+if (!UserGestureIndicator::processingUserGesture()) {
+failedPreflights(WTFMove(element));
+return;
+}
+
+// We do not allow pressing the Escape key as a user gesture to enter fullscreen since this is the key
+// to exit fullscreen.
+if (UserGestureIndicator::currentUserGesture()->gestureType() == UserGestureType::EscapeKey) {
+addConsoleMessage(MessageSource::Security, MessageLevel::Error, "The Escape key may not be used as a user gesture to enter fullscreen"_s);
+failedPreflights(WTFMove(element));
+return;
+}
+
+// There is a previously-established user preference, security risk, or platform limitation.
+if (!page() || !page()->settings().fullScreenEnabled()) {
+failedPreflights(WTFMove(element));
+return;
+}
+
+bool hasKeyboardAccess = true;
+if (!page()->chrome().client().supportsFullScreenForElement(*element, hasKeyboardAccess)) {
+// The new full screen API does not accept a "flags" parameter, so fall back to 

[webkit-changes] [238320] tags/Safari-606.4.1/

2018-11-16 Thread kocsen_chung
Title: [238320] tags/Safari-606.4.1/








Revision 238320
Author kocsen_ch...@apple.com
Date 2018-11-16 16:03:31 -0800 (Fri, 16 Nov 2018)


Log Message
Tag Safari-606.4.1.

Added Paths

tags/Safari-606.4.1/




Diff




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


[webkit-changes] [238319] trunk/Tools

2018-11-16 Thread jbedard
Title: [238319] trunk/Tools








Revision 238319
Author jbed...@apple.com
Date 2018-11-16 16:02:14 -0800 (Fri, 16 Nov 2018)


Log Message
webkitpy: Retry app installation on watchOS simulators
https://bugs.webkit.org/show_bug.cgi?id=191769


Reviewed by Aakash Jain.

* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDevice.install_app): Retry app installations.

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitpy/xcode/simulated_device.py




Diff

Modified: trunk/Tools/ChangeLog (238318 => 238319)

--- trunk/Tools/ChangeLog	2018-11-16 23:52:20 UTC (rev 238318)
+++ trunk/Tools/ChangeLog	2018-11-17 00:02:14 UTC (rev 238319)
@@ -1,3 +1,14 @@
+2018-11-16  Jonathan Bedard  
+
+webkitpy: Retry app installation on watchOS simulators
+https://bugs.webkit.org/show_bug.cgi?id=191769
+
+
+Reviewed by Aakash Jain.
+
+* Scripts/webkitpy/xcode/simulated_device.py:
+(SimulatedDevice.install_app): Retry app installations.
+
 2018-11-16  Zalan Bujtas  
 
 Add DidFirstMeaningfulPaint milestone.


Modified: trunk/Tools/Scripts/webkitpy/xcode/simulated_device.py (238318 => 238319)

--- trunk/Tools/Scripts/webkitpy/xcode/simulated_device.py	2018-11-16 23:52:20 UTC (rev 238318)
+++ trunk/Tools/Scripts/webkitpy/xcode/simulated_device.py	2018-11-17 00:02:14 UTC (rev 238319)
@@ -454,6 +454,7 @@
 BOOTED = 3
 SHUTTING_DOWN = 4
 
+NUM_INSTALL_RETRIES = 3
 NAME_FOR_STATE = [
 'CREATING',
 'SHUTDOWN',
@@ -544,8 +545,19 @@
 SimulatedDeviceManager.INITIALIZED_DEVICES.remove(device)
 
 def install_app(self, app_path, env=None):
-return not self.executive.run_command(['xcrun', 'simctl', 'install', self.udid, app_path], return_exit_code=True)
+# Even after carousel is running, it takes a few seconds for watchOS to allow installs.
+for i in xrange(self.NUM_INSTALL_RETRIES):
+exit_code = self.executive.run_command(['xcrun', 'simctl', 'install', self.udid, app_path], return_exit_code=True)
+if exit_code == 0:
+return True
 
+# Return code 204 indicates that the device is booting, a retry may be successful.
+if exit_code == 204:
+time.sleep(5)
+continue
+return False
+return False
+
 # FIXME: Increase timeout for 
 def launch_app(self, bundle_id, args, env=None, timeout=300):
 environment_to_use = {}






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


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

2018-11-16 Thread mcatanzaro
Title: [238318] trunk/Source/WebKit








Revision 238318
Author mcatanz...@igalia.com
Date 2018-11-16 15:52:20 -0800 (Fri, 16 Nov 2018)


Log Message
[GTK][WPE] Add "WebKitDeviceInfoPermissionRequest.h" into webkit2.h
https://bugs.webkit.org/show_bug.cgi?id=191744


Unreviewed, install the file.

* PlatformGTK.cmake:
* PlatformWPE.cmake:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/PlatformGTK.cmake
trunk/Source/WebKit/PlatformWPE.cmake




Diff

Modified: trunk/Source/WebKit/ChangeLog (238317 => 238318)

--- trunk/Source/WebKit/ChangeLog	2018-11-16 23:27:06 UTC (rev 238317)
+++ trunk/Source/WebKit/ChangeLog	2018-11-16 23:52:20 UTC (rev 238318)
@@ -1,3 +1,14 @@
+2018-11-16  Michael Catanzaro  
+
+[GTK][WPE] Add "WebKitDeviceInfoPermissionRequest.h" into webkit2.h
+https://bugs.webkit.org/show_bug.cgi?id=191744
+
+
+Unreviewed, install the file.
+
+* PlatformGTK.cmake:
+* PlatformWPE.cmake:
+
 2018-11-16  Zalan Bujtas  
 
 Add DidFirstMeaningfulPaint milestone.


Modified: trunk/Source/WebKit/PlatformGTK.cmake (238317 => 238318)

--- trunk/Source/WebKit/PlatformGTK.cmake	2018-11-16 23:27:06 UTC (rev 238317)
+++ trunk/Source/WebKit/PlatformGTK.cmake	2018-11-16 23:52:20 UTC (rev 238318)
@@ -71,6 +71,7 @@
 ${WEBKIT_DIR}/UIProcess/API/gtk/WebKitContextMenuItem.h
 ${WEBKIT_DIR}/UIProcess/API/gtk/WebKitCookieManager.h
 ${WEBKIT_DIR}/UIProcess/API/gtk/WebKitDefines.h
+${WEBKIT_DIR}/UIProcess/API/gtk/WebKitDeviceInfoPermissionRequest.h
 ${WEBKIT_DIR}/UIProcess/API/gtk/WebKitDownload.h
 ${WEBKIT_DIR}/UIProcess/API/gtk/WebKitEditingCommands.h
 ${WEBKIT_DIR}/UIProcess/API/gtk/WebKitEditorState.h


Modified: trunk/Source/WebKit/PlatformWPE.cmake (238317 => 238318)

--- trunk/Source/WebKit/PlatformWPE.cmake	2018-11-16 23:27:06 UTC (rev 238317)
+++ trunk/Source/WebKit/PlatformWPE.cmake	2018-11-16 23:52:20 UTC (rev 238318)
@@ -105,6 +105,7 @@
 ${WEBKIT_DIR}/UIProcess/API/wpe/WebKitContextMenuItem.h
 ${WEBKIT_DIR}/UIProcess/API/wpe/WebKitCookieManager.h
 ${WEBKIT_DIR}/UIProcess/API/wpe/WebKitDefines.h
+${WEBKIT_DIR}/UIProcess/API/wpe/WebKitDeviceInfoPermissionRequest.h
 ${WEBKIT_DIR}/UIProcess/API/wpe/WebKitDownload.h
 ${WEBKIT_DIR}/UIProcess/API/wpe/WebKitEditingCommands.h
 ${WEBKIT_DIR}/UIProcess/API/wpe/WebKitEditorState.h






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


[webkit-changes] [238315] releases/WebKitGTK/webkit-2.22/Source/JavaScriptCore

2018-11-16 Thread mcatanzaro
Title: [238315] releases/WebKitGTK/webkit-2.22/Source/_javascript_Core








Revision 238315
Author mcatanz...@igalia.com
Date 2018-11-16 15:22:18 -0800 (Fri, 16 Nov 2018)


Log Message
Merge r235198 - Eliminate dead code operationThrowDivideError() and operationThrowOutOfBoundsAccessError()
https://bugs.webkit.org/show_bug.cgi?id=188859

Rubber-stamped by Saam Barati.

Deleted these two functions.

* jit/JITOperations.cpp:
* jit/JITOperations.h:

Modified Paths

releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/ChangeLog
releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/jit/JITOperations.cpp
releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/jit/JITOperations.h




Diff

Modified: releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/ChangeLog (238314 => 238315)

--- releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/ChangeLog	2018-11-16 23:22:15 UTC (rev 238314)
+++ releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/ChangeLog	2018-11-16 23:22:18 UTC (rev 238315)
@@ -1,3 +1,15 @@
+2018-08-22  Michael Saboff  
+
+https://bugs.webkit.org/show_bug.cgi?id=188859
+Eliminate dead code operationThrowDivideError() and operationThrowOutOfBoundsAccessError()
+
+Rubber-stamped by Saam Barati.
+
+Deleted these two functions.
+
+* jit/JITOperations.cpp:
+* jit/JITOperations.h:
+
 2018-11-04  Adrian Perez de Castro  
 
 [GTK] Cannot make debug builds of JSC using release 2.22.3


Modified: releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/jit/JITOperations.cpp (238314 => 238315)

--- releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/jit/JITOperations.cpp	2018-11-16 23:22:15 UTC (rev 238314)
+++ releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/jit/JITOperations.cpp	2018-11-16 23:22:18 UTC (rev 238315)
@@ -114,34 +114,6 @@
 throwStackOverflowError(callerFrame, scope);
 }
 
-#if ENABLE(WEBASSEMBLY)
-void JIT_OPERATION operationThrowDivideError(ExecState* exec)
-{
-VM* vm = >vm();
-auto scope = DECLARE_THROW_SCOPE(*vm);
-
-EntryFrame* entryFrame = vm->topEntryFrame;
-CallFrame* callerFrame = exec->callerFrame(entryFrame);
-
-NativeCallFrameTracerWithRestore tracer(vm, entryFrame, callerFrame);
-ErrorHandlingScope errorScope(*vm);
-throwException(callerFrame, scope, createError(callerFrame, "Division by zero or division overflow."_s));
-}
-
-void JIT_OPERATION operationThrowOutOfBoundsAccessError(ExecState* exec)
-{
-VM* vm = >vm();
-auto scope = DECLARE_THROW_SCOPE(*vm);
-
-EntryFrame* entryFrame = vm->topEntryFrame;
-CallFrame* callerFrame = exec->callerFrame(entryFrame);
-
-NativeCallFrameTracerWithRestore tracer(vm, entryFrame, callerFrame);
-ErrorHandlingScope errorScope(*vm);
-throwException(callerFrame, scope, createError(callerFrame, "Out-of-bounds access."_s));
-}
-#endif
-
 int32_t JIT_OPERATION operationCallArityCheck(ExecState* exec)
 {
 VM* vm = >vm();


Modified: releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/jit/JITOperations.h (238314 => 238315)

--- releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/jit/JITOperations.h	2018-11-16 23:22:15 UTC (rev 238314)
+++ releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/jit/JITOperations.h	2018-11-16 23:22:18 UTC (rev 238315)
@@ -353,10 +353,6 @@
 void JIT_OPERATION operationVMHandleException(ExecState*) WTF_INTERNAL;
 
 void JIT_OPERATION operationThrowStackOverflowError(ExecState*, CodeBlock*) WTF_INTERNAL;
-#if ENABLE(WEBASSEMBLY)
-void JIT_OPERATION operationThrowDivideError(ExecState*) WTF_INTERNAL;
-void JIT_OPERATION operationThrowOutOfBoundsAccessError(ExecState*) WTF_INTERNAL;
-#endif
 int32_t JIT_OPERATION operationCallArityCheck(ExecState*) WTF_INTERNAL;
 int32_t JIT_OPERATION operationConstructArityCheck(ExecState*) WTF_INTERNAL;
 EncodedJSValue JIT_OPERATION operationTryGetById(ExecState*, StructureStubInfo*, EncodedJSValue, UniquedStringImpl*) WTF_INTERNAL;






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


[webkit-changes] [238316] releases/WebKitGTK/webkit-2.22

2018-11-16 Thread mcatanzaro
Title: [238316] releases/WebKitGTK/webkit-2.22








Revision 238316
Author mcatanz...@igalia.com
Date 2018-11-16 15:22:29 -0800 (Fri, 16 Nov 2018)


Log Message
Merge r235419 - Fix exception throwing code so that topCallFrame and topEntryFrame stay true to their names.
https://bugs.webkit.org/show_bug.cgi?id=188577


Reviewed by Saam Barati.

JSTests:

* stress/regress-188577.js: Added.

Source/_javascript_Core:

1. Introduced CallFrame::convertToStackOverflowFrame() which converts the current
   (top) CallFrame (which may not have a valid callee) into a StackOverflowFrame.

   The StackOverflowFrame is a sentinel frame that the low level code (exception
   throwing code, stack visitor, and stack unwinding code) will know to skip
   over.  The StackOverflowFrame will also have a valid JSCallee so that client
   code can compute the globalObject or VM from this frame.

   As a result, client code that throws StackOverflowErrors no longer need to
   compute the caller frame to throw from: it just converts the top frame into
   a StackOverflowFrame and everything should *Just Work*.

2. NativeCallFrameTracerWithRestore is now obsolete.

   Instead, client code should always call convertToStackOverflowFrame() on the
   frame before instantiating a NativeCallFrameTracer with it.

   This means that topCallFrame will always point to the top CallFrame (which
   may be a StackOverflowFrame), and topEntryFrame will always point to the top
   EntryFrame.  We'll never temporarily point them to the previous EntryFrame
   (which we used to do with NativeCallFrameTracerWithRestore).

3. genericUnwind() and Interpreter::unwind() will now always unwind from the top
   CallFrame, and will know how to handle a StackOverflowFrame if they see one.

   This obsoletes the UnwindStart flag.

* CMakeLists.txt:
* _javascript_Core.xcodeproj/project.pbxproj:
* Sources.txt:
* debugger/Debugger.cpp:
(JSC::Debugger::pauseIfNeeded):
* interpreter/CallFrame.cpp:
(JSC::CallFrame::callerFrame const):
(JSC::CallFrame::unsafeCallerFrame const):
(JSC::CallFrame::convertToStackOverflowFrame):
(JSC::CallFrame::callerFrame): Deleted.
(JSC::CallFrame::unsafeCallerFrame): Deleted.
* interpreter/CallFrame.h:
(JSC::ExecState::iterate):
* interpreter/CallFrameInlines.h: Added.
(JSC::CallFrame::isStackOverflowFrame const):
(JSC::CallFrame::isWasmFrame const):
* interpreter/EntryFrame.h: Added.
(JSC::EntryFrame::vmEntryRecordOffset):
(JSC::EntryFrame::calleeSaveRegistersBufferOffset):
* interpreter/FrameTracers.h:
(JSC::NativeCallFrameTracerWithRestore::NativeCallFrameTracerWithRestore): Deleted.
(JSC::NativeCallFrameTracerWithRestore::~NativeCallFrameTracerWithRestore): Deleted.
* interpreter/Interpreter.cpp:
(JSC::Interpreter::unwind):
* interpreter/Interpreter.h:
* interpreter/StackVisitor.cpp:
(JSC::StackVisitor::StackVisitor):
* interpreter/StackVisitor.h:
(JSC::StackVisitor::visit):
(JSC::StackVisitor::topEntryFrameIsEmpty const):
* interpreter/VMEntryRecord.h:
(JSC::VMEntryRecord::callee const):
(JSC::EntryFrame::vmEntryRecordOffset): Deleted.
(JSC::EntryFrame::calleeSaveRegistersBufferOffset): Deleted.
* jit/AssemblyHelpers.h:
* jit/JITExceptions.cpp:
(JSC::genericUnwind):
* jit/JITExceptions.h:
* jit/JITOperations.cpp:
* llint/LLIntOffsetsExtractor.cpp:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/CallData.cpp:
* runtime/CommonSlowPaths.cpp:
(JSC::throwArityCheckStackOverflowError):
(JSC::SLOW_PATH_DECL):
* runtime/CommonSlowPathsExceptions.cpp: Removed.
* runtime/CommonSlowPathsExceptions.h: Removed.
* runtime/Completion.cpp:
(JSC::evaluateWithScopeExtension):
* runtime/JSGeneratorFunction.h:
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::stackOverflowFrameCallee const):
* runtime/VM.cpp:
(JSC::VM::throwException):
* runtime/VM.h:
* runtime/VMInlines.h:
(JSC::VM::topJSCallFrame const):

LayoutTests:

* http/tests/misc/large-js-program-expected.txt:

Modified Paths

releases/WebKitGTK/webkit-2.22/JSTests/ChangeLog
releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog
releases/WebKitGTK/webkit-2.22/LayoutTests/http/tests/misc/large-js-program-expected.txt
releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/CMakeLists.txt
releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/ChangeLog
releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj
releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/Sources.txt
releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/debugger/Debugger.cpp
releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/interpreter/CallFrame.cpp
releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/interpreter/CallFrame.h
releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/interpreter/FrameTracers.h

[webkit-changes] [238312] releases/WebKitGTK/webkit-2.22

2018-11-16 Thread mcatanzaro
Title: [238312] releases/WebKitGTK/webkit-2.22








Revision 238312
Author mcatanz...@igalia.com
Date 2018-11-16 15:22:06 -0800 (Fri, 16 Nov 2018)


Log Message
Merge r238119 - Do not collapse the soon-to-be-parent anon block when we shuffle around the marker item renderer.
https://bugs.webkit.org/show_bug.cgi?id=191554


Reviewed by Antti Koivisto.

Source/WebCore:

While moving the marker item renderer to its correct subtree, we accidentally remove the soon-to-be parent anonymous block.
Moving a renderer is a 2 step process:
1. Detach the renderer from its current parent
2. Attach it to its new parent.
During step #1, we check if there is a chance to collapse anonymous blocks. In this case the soon-to-be-parent is a sibling anonymous block which, after detaching the marker sibling
is not needed anymore (except we use it as the new parent).

Test: fast/inline/marker-list-item-move-should-not-crash.html

* rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::detach):
* rendering/updating/RenderTreeBuilder.h:
* rendering/updating/RenderTreeBuilderBlock.cpp:
(WebCore::RenderTreeBuilder::Block::detach):
* rendering/updating/RenderTreeBuilderBlock.h:
* rendering/updating/RenderTreeBuilderList.cpp:
(WebCore::RenderTreeBuilder::List::updateItemMarker):

LayoutTests:

* fast/inline/marker-list-item-move-should-not-crash-expected.txt: Added.
* fast/inline/marker-list-item-move-should-not-crash.html: Added.

Modified Paths

releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog
releases/WebKitGTK/webkit-2.22/Source/WebCore/ChangeLog
releases/WebKitGTK/webkit-2.22/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp
releases/WebKitGTK/webkit-2.22/Source/WebCore/rendering/updating/RenderTreeBuilder.h
releases/WebKitGTK/webkit-2.22/Source/WebCore/rendering/updating/RenderTreeBuilderBlock.cpp
releases/WebKitGTK/webkit-2.22/Source/WebCore/rendering/updating/RenderTreeBuilderBlock.h
releases/WebKitGTK/webkit-2.22/Source/WebCore/rendering/updating/RenderTreeBuilderList.cpp


Added Paths

releases/WebKitGTK/webkit-2.22/LayoutTests/fast/inline/marker-list-item-move-should-not-crash-expected.txt
releases/WebKitGTK/webkit-2.22/LayoutTests/fast/inline/marker-list-item-move-should-not-crash.html




Diff

Modified: releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog (238311 => 238312)

--- releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog	2018-11-16 23:19:46 UTC (rev 238311)
+++ releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog	2018-11-16 23:22:06 UTC (rev 238312)
@@ -1,3 +1,14 @@
+2018-11-12  Zalan Bujtas  
+
+Do not collapse the soon-to-be-parent anon block when we shuffle around the marker item renderer.
+https://bugs.webkit.org/show_bug.cgi?id=191554
+
+
+Reviewed by Antti Koivisto.
+
+* fast/inline/marker-list-item-move-should-not-crash-expected.txt: Added.
+* fast/inline/marker-list-item-move-should-not-crash.html: Added.
+
 2018-11-05  Eric Carlson  
 
 [MediaStream] An audio track should be muted when capture is interrupted by the OS.


Added: releases/WebKitGTK/webkit-2.22/LayoutTests/fast/inline/marker-list-item-move-should-not-crash-expected.txt (0 => 238312)

--- releases/WebKitGTK/webkit-2.22/LayoutTests/fast/inline/marker-list-item-move-should-not-crash-expected.txt	(rev 0)
+++ releases/WebKitGTK/webkit-2.22/LayoutTests/fast/inline/marker-list-item-move-should-not-crash-expected.txt	2018-11-16 23:22:06 UTC (rev 238312)
@@ -0,0 +1 @@
+Pass if no crash.


Added: releases/WebKitGTK/webkit-2.22/LayoutTests/fast/inline/marker-list-item-move-should-not-crash.html (0 => 238312)

--- releases/WebKitGTK/webkit-2.22/LayoutTests/fast/inline/marker-list-item-move-should-not-crash.html	(rev 0)
+++ releases/WebKitGTK/webkit-2.22/LayoutTests/fast/inline/marker-list-item-move-should-not-crash.html	2018-11-16 23:22:06 UTC (rev 238312)
@@ -0,0 +1,13 @@
+
+:matches(::marker) {
+   all: inherit;
+}
+
+
+Pass if no crash.
+
+if (window.testRunner)
+testRunner.dumpAsText();
+document.body.offsetHeight;
+document.linkColor = "foobar";
+


Modified: releases/WebKitGTK/webkit-2.22/Source/WebCore/ChangeLog (238311 => 238312)

--- releases/WebKitGTK/webkit-2.22/Source/WebCore/ChangeLog	2018-11-16 23:19:46 UTC (rev 238311)
+++ releases/WebKitGTK/webkit-2.22/Source/WebCore/ChangeLog	2018-11-16 23:22:06 UTC (rev 238312)
@@ -1,3 +1,29 @@
+2018-11-12  Zalan Bujtas  
+
+Do not collapse the soon-to-be-parent anon block when we shuffle around the marker item renderer.
+https://bugs.webkit.org/show_bug.cgi?id=191554
+
+
+Reviewed by Antti Koivisto.
+
+While moving the marker item renderer to its correct subtree, we accidentally remove the soon-to-be parent anonymous block.
+Moving a renderer is a 2 step process:
+1. Detach the renderer from its current parent
+2. Attach it to its new parent.
+During step #1, we check if there is a chance to 

[webkit-changes] [238313] releases/WebKitGTK/webkit-2.22

2018-11-16 Thread mcatanzaro
Title: [238313] releases/WebKitGTK/webkit-2.22








Revision 238313
Author mcatanz...@igalia.com
Date 2018-11-16 15:22:11 -0800 (Fri, 16 Nov 2018)


Log Message
Merge r238222 - Remove fonts from CSSFontFaceSet safely
https://bugs.webkit.org/show_bug.cgi?id=191676

Reviewed by Zalan Bujtas.

Source/WebCore:

Test: fast/text/font-face-set-remove-safely.html

* css/CSSFontFaceSet.cpp:
(WebCore::CSSFontFaceSet::remove):

LayoutTests:

* fast/text/font-face-set-remove-safely-expected.txt: Added.
* fast/text/font-face-set-remove-safely.html: Added.

Modified Paths

releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog
releases/WebKitGTK/webkit-2.22/Source/WebCore/ChangeLog
releases/WebKitGTK/webkit-2.22/Source/WebCore/css/CSSFontFaceSet.cpp


Added Paths

releases/WebKitGTK/webkit-2.22/LayoutTests/fast/text/font-face-set-remove-safely-expected.txt
releases/WebKitGTK/webkit-2.22/LayoutTests/fast/text/font-face-set-remove-safely.html




Diff

Modified: releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog (238312 => 238313)

--- releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog	2018-11-16 23:22:06 UTC (rev 238312)
+++ releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog	2018-11-16 23:22:11 UTC (rev 238313)
@@ -1,3 +1,13 @@
+2018-11-15  Antti Koivisto  
+
+Remove fonts from CSSFontFaceSet safely
+https://bugs.webkit.org/show_bug.cgi?id=191676
+
+Reviewed by Zalan Bujtas.
+
+* fast/text/font-face-set-remove-safely-expected.txt: Added.
+* fast/text/font-face-set-remove-safely.html: Added.
+
 2018-11-12  Zalan Bujtas  
 
 Do not collapse the soon-to-be-parent anon block when we shuffle around the marker item renderer.


Added: releases/WebKitGTK/webkit-2.22/LayoutTests/fast/text/font-face-set-remove-safely-expected.txt (0 => 238313)

--- releases/WebKitGTK/webkit-2.22/LayoutTests/fast/text/font-face-set-remove-safely-expected.txt	(rev 0)
+++ releases/WebKitGTK/webkit-2.22/LayoutTests/fast/text/font-face-set-remove-safely-expected.txt	2018-11-16 23:22:11 UTC (rev 238313)
@@ -0,0 +1,3 @@
+CONSOLE MESSAGE: line 6: Retrieving fonts...
+CONSOLE MESSAGE: line 8: Clearing...
+CONSOLE MESSAGE: line 10: Done.


Added: releases/WebKitGTK/webkit-2.22/LayoutTests/fast/text/font-face-set-remove-safely.html (0 => 238313)

--- releases/WebKitGTK/webkit-2.22/LayoutTests/fast/text/font-face-set-remove-safely.html	(rev 0)
+++ releases/WebKitGTK/webkit-2.22/LayoutTests/fast/text/font-face-set-remove-safely.html	2018-11-16 23:22:11 UTC (rev 238313)
@@ -0,0 +1,20 @@
+
+if (window.testRunner)
+testRunner.dumpAsText();
+
+function test() {
+   console.log("Retrieving fonts...");
+   var fonts = document.fonts;
+   console.log("Clearing...");
+   fonts.clear();
+   console.log("Done.");
+}
+
+
+
+
+
+
+
+
+


Modified: releases/WebKitGTK/webkit-2.22/Source/WebCore/ChangeLog (238312 => 238313)

--- releases/WebKitGTK/webkit-2.22/Source/WebCore/ChangeLog	2018-11-16 23:22:06 UTC (rev 238312)
+++ releases/WebKitGTK/webkit-2.22/Source/WebCore/ChangeLog	2018-11-16 23:22:11 UTC (rev 238313)
@@ -1,3 +1,15 @@
+2018-11-15  Antti Koivisto  
+
+Remove fonts from CSSFontFaceSet safely
+https://bugs.webkit.org/show_bug.cgi?id=191676
+
+Reviewed by Zalan Bujtas.
+
+Test: fast/text/font-face-set-remove-safely.html
+
+* css/CSSFontFaceSet.cpp:
+(WebCore::CSSFontFaceSet::remove):
+
 2018-11-12  Zalan Bujtas  
 
 Do not collapse the soon-to-be-parent anon block when we shuffle around the marker item renderer.


Modified: releases/WebKitGTK/webkit-2.22/Source/WebCore/css/CSSFontFaceSet.cpp (238312 => 238313)

--- releases/WebKitGTK/webkit-2.22/Source/WebCore/css/CSSFontFaceSet.cpp	2018-11-16 23:22:06 UTC (rev 238312)
+++ releases/WebKitGTK/webkit-2.22/Source/WebCore/css/CSSFontFaceSet.cpp	2018-11-16 23:22:11 UTC (rev 238313)
@@ -230,6 +230,8 @@
 
 void CSSFontFaceSet::remove(const CSSFontFace& face)
 {
+auto protect = makeRef(face);
+
 m_cache.clear();
 
 for (auto* client : m_clients)






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


[webkit-changes] [238314] releases/WebKitGTK/webkit-2.22/Source/WebCore

2018-11-16 Thread mcatanzaro
Title: [238314] releases/WebKitGTK/webkit-2.22/Source/WebCore








Revision 238314
Author mcatanz...@igalia.com
Date 2018-11-16 15:22:15 -0800 (Fri, 16 Nov 2018)


Log Message
Merge r238291 - An early return from updateSchedulingInfo can leave some variables uninitialized.
https://bugs.webkit.org/show_bug.cgi?id=191755


Reviewed by Brent Fulgham.

* Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::process):
* Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::updateSchedulingInfo):
* Modules/webaudio/OscillatorNode.cpp:
(WebCore::OscillatorNode::process):

Modified Paths

releases/WebKitGTK/webkit-2.22/Source/WebCore/ChangeLog
releases/WebKitGTK/webkit-2.22/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.cpp
releases/WebKitGTK/webkit-2.22/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.cpp
releases/WebKitGTK/webkit-2.22/Source/WebCore/Modules/webaudio/OscillatorNode.cpp




Diff

Modified: releases/WebKitGTK/webkit-2.22/Source/WebCore/ChangeLog (238313 => 238314)

--- releases/WebKitGTK/webkit-2.22/Source/WebCore/ChangeLog	2018-11-16 23:22:11 UTC (rev 238313)
+++ releases/WebKitGTK/webkit-2.22/Source/WebCore/ChangeLog	2018-11-16 23:22:15 UTC (rev 238314)
@@ -1,3 +1,18 @@
+2018-11-16  Jer Noble  
+
+An early return from updateSchedulingInfo can leave some variables uninitialized.
+https://bugs.webkit.org/show_bug.cgi?id=191755
+
+
+Reviewed by Brent Fulgham.
+
+* Modules/webaudio/AudioBufferSourceNode.cpp:
+(WebCore::AudioBufferSourceNode::process):
+* Modules/webaudio/AudioScheduledSourceNode.cpp:
+(WebCore::AudioScheduledSourceNode::updateSchedulingInfo):
+* Modules/webaudio/OscillatorNode.cpp:
+(WebCore::OscillatorNode::process):
+
 2018-11-15  Antti Koivisto  
 
 Remove fonts from CSSFontFaceSet safely


Modified: releases/WebKitGTK/webkit-2.22/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.cpp (238313 => 238314)

--- releases/WebKitGTK/webkit-2.22/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.cpp	2018-11-16 23:22:11 UTC (rev 238313)
+++ releases/WebKitGTK/webkit-2.22/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.cpp	2018-11-16 23:22:15 UTC (rev 238314)
@@ -111,8 +111,8 @@
 return;
 }
 
-size_t quantumFrameOffset;
-size_t bufferFramesToProcess;
+size_t quantumFrameOffset = 0;
+size_t bufferFramesToProcess = 0;
 updateSchedulingInfo(framesToProcess, outputBus, quantumFrameOffset, bufferFramesToProcess);
 
 if (!bufferFramesToProcess) {


Modified: releases/WebKitGTK/webkit-2.22/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.cpp (238313 => 238314)

--- releases/WebKitGTK/webkit-2.22/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.cpp	2018-11-16 23:22:11 UTC (rev 238313)
+++ releases/WebKitGTK/webkit-2.22/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.cpp	2018-11-16 23:22:15 UTC (rev 238314)
@@ -53,6 +53,9 @@
 
 void AudioScheduledSourceNode::updateSchedulingInfo(size_t quantumFrameSize, AudioBus& outputBus, size_t& quantumFrameOffset, size_t& nonSilentFramesToProcess)
 {
+nonSilentFramesToProcess = 0;
+quantumFrameOffset = 0;
+
 ASSERT(quantumFrameSize == AudioNode::ProcessingSizeInFrames);
 if (quantumFrameSize != AudioNode::ProcessingSizeInFrames)
 return;
@@ -75,7 +78,6 @@
 if (m_playbackState == UNSCHEDULED_STATE || m_playbackState == FINISHED_STATE || startFrame >= quantumEndFrame) {
 // Output silence.
 outputBus.zero();
-nonSilentFramesToProcess = 0;
 return;
 }
 


Modified: releases/WebKitGTK/webkit-2.22/Source/WebCore/Modules/webaudio/OscillatorNode.cpp (238313 => 238314)

--- releases/WebKitGTK/webkit-2.22/Source/WebCore/Modules/webaudio/OscillatorNode.cpp	2018-11-16 23:22:11 UTC (rev 238313)
+++ releases/WebKitGTK/webkit-2.22/Source/WebCore/Modules/webaudio/OscillatorNode.cpp	2018-11-16 23:22:15 UTC (rev 238314)
@@ -205,8 +205,8 @@
 return;
 }
 
-size_t quantumFrameOffset;
-size_t nonSilentFramesToProcess;
+size_t quantumFrameOffset = 0;
+size_t nonSilentFramesToProcess = 0;
 updateSchedulingInfo(framesToProcess, outputBus, quantumFrameOffset, nonSilentFramesToProcess);
 
 if (!nonSilentFramesToProcess) {
@@ -231,7 +231,7 @@
 float frequency = 0;
 float* higherWaveData = nullptr;
 float* lowerWaveData = nullptr;
-float tableInterpolationFactor;
+float tableInterpolationFactor = 0;
 
 if (!hasSampleAccurateValues) {
 frequency = m_frequency->smoothedValue();






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


[webkit-changes] [238311] releases/WebKitGTK/webkit-2.22

2018-11-16 Thread mcatanzaro
Title: [238311] releases/WebKitGTK/webkit-2.22








Revision 238311
Author mcatanz...@igalia.com
Date 2018-11-16 15:19:46 -0800 (Fri, 16 Nov 2018)


Log Message
Merge r237837 - [MediaStream] An audio track should be muted when capture is interrupted by the OS.
Source/WebCore:

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

Patch by Eric Carlson  on 2018-11-05
Reviewed by Jon Lee.

Test: fast/mediastream/media-stream-track-interrupted.html

* platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::setInterruptedForTesting):
* platform/mediastream/RealtimeMediaSource.h:
* platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioCaptureSource::beginInterruption):
(WebCore::CoreAudioCaptureSource::endInterruption):
* testing/Internals.cpp:
(WebCore::Internals::setMediaStreamSourceInterrupted):
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

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

Patch by Eric Carlson  on 2018-11-05
Reviewed by Jon Lee.

* fast/mediastream/media-stream-track-interrupted-expected.txt: Added.
* fast/mediastream/media-stream-track-interrupted.html: Added.

Modified Paths

releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog
releases/WebKitGTK/webkit-2.22/Source/WebCore/ChangeLog
releases/WebKitGTK/webkit-2.22/Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp
releases/WebKitGTK/webkit-2.22/Source/WebCore/platform/mediastream/RealtimeMediaSource.h
releases/WebKitGTK/webkit-2.22/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp
releases/WebKitGTK/webkit-2.22/Source/WebCore/testing/Internals.cpp
releases/WebKitGTK/webkit-2.22/Source/WebCore/testing/Internals.h
releases/WebKitGTK/webkit-2.22/Source/WebCore/testing/Internals.idl


Added Paths

releases/WebKitGTK/webkit-2.22/LayoutTests/fast/mediastream/media-stream-track-interrupted-expected.txt
releases/WebKitGTK/webkit-2.22/LayoutTests/fast/mediastream/media-stream-track-interrupted.html




Diff

Modified: releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog (238310 => 238311)

--- releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog	2018-11-16 23:17:10 UTC (rev 238310)
+++ releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog	2018-11-16 23:19:46 UTC (rev 238311)
@@ -1,3 +1,14 @@
+2018-11-05  Eric Carlson  
+
+[MediaStream] An audio track should be muted when capture is interrupted by the OS.
+https://bugs.webkit.org/show_bug.cgi?id=191283
+ 
+
+Reviewed by Jon Lee.
+
+* fast/mediastream/media-stream-track-interrupted-expected.txt: Added.
+* fast/mediastream/media-stream-track-interrupted.html: Added.
+
 2018-10-26  Alicia Boya García  
 
 [MSE][WTF][Media] Invalid MediaTime should be falsy


Added: releases/WebKitGTK/webkit-2.22/LayoutTests/fast/mediastream/media-stream-track-interrupted-expected.txt (0 => 238311)

--- releases/WebKitGTK/webkit-2.22/LayoutTests/fast/mediastream/media-stream-track-interrupted-expected.txt	(rev 0)
+++ releases/WebKitGTK/webkit-2.22/LayoutTests/fast/mediastream/media-stream-track-interrupted-expected.txt	2018-11-16 23:19:46 UTC (rev 238311)
@@ -0,0 +1,6 @@
+
+
+PASS Create stream 
+PASS Interrupt video track 
+PASS Interrupt audio track 
+


Added: releases/WebKitGTK/webkit-2.22/LayoutTests/fast/mediastream/media-stream-track-interrupted.html (0 => 238311)

--- releases/WebKitGTK/webkit-2.22/LayoutTests/fast/mediastream/media-stream-track-interrupted.html	(rev 0)
+++ releases/WebKitGTK/webkit-2.22/LayoutTests/fast/mediastream/media-stream-track-interrupted.html	2018-11-16 23:19:46 UTC (rev 238311)
@@ -0,0 +1,84 @@
+
+
+
+
+Capture source interruption.
+
+
+
+
+