[webkit-changes] [238343] trunk/Source/WebKit
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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/
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
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
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
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
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/
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
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
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
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
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
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
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
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
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. + + + + +