Timeline
Sep 13, 2019:
- 11:23 PM Changeset in webkit [249870] by
-
- 6 edits4 adds in trunk
WPT importer should check META global tag in .any.js files to generate the valid .html stub files
https://bugs.webkit.org/show_bug.cgi?id=201718
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/infrastructure/server/context.any.serviceworker-expected.txt: Added.
- web-platform-tests/infrastructure/server/context.any.serviceworker.html: Added.
- web-platform-tests/infrastructure/server/secure-context.https.any.serviceworker-expected.txt: Added.
- web-platform-tests/infrastructure/server/secure-context.https.any.serviceworker.html: Added.
Tools:
Read meta tag information to select the environments where the any.js template tests will be run.
Added support to run service worker tests from any.js template tests.
Covered by unit test.
Since we import only a single repository nowadays, use a test config file with just one repository
to simplify the new test.
- Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.init):
(TestImporter.readEnvironmentsForTemplateTest):
(TestImporter.write_html_files_for_templated_js_tests):
- Scripts/webkitpy/w3c/test_importer_unittest.py:
(TestImporterTest.test_import_dir_with_no_tests_and_no_hg):
(TestImporterTest.test_import_dir_with_no_tests):
(TestImporterTest.test_import_dir_with_empty_init_py):
(TestImporterTest.test_harnesslinks_conversion):
(TestImporterTest.test_submodules_generation):
(test_checkout_directory):
(test_clean_directory_option):
(test_git_ignore_generation):
(test_initpy_generation):
(test_remove_obsolete_content):
(test_manual_slow_test):
(test_webkit_test_runner_options):
(test_webkit_test_runner_import_reftests_with_absolute_paths_download):
(test_webkit_test_runner_import_reftests_with_absolute_paths_from_source_dir):
(test_template_test):
LayoutTests:
- platform/mac-wk1/TestExpectations:
Skipping service worker tests.
- 10:14 PM Changeset in webkit [249869] by
-
- 2 edits in trunk/Source/WebKit
[MacOS/iOS] imported/w3c/web-platform-tests/service-workers/cache-storage/serviceworker/cache-abort.https.html is sometimes crashing in Debug
https://bugs.webkit.org/show_bug.cgi?id=201686
Reviewed by Alexey Proskuryakov.
A load might be cancelled shortly after being started in network process.
In that case, NetworkDataTaskCocoa might be destroyed, thus removed from the ID to task map
but some handlers might still be called until the NSURLSessionTask is finished cancelling.
This happens for authentication challenges.
In case where the NSURLSessionTask is cancelling, return early instead of processing the challenge.
Covered by LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/window/cache-abort.https.html and LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/serviceworker/cache-abort.https.html no longer crashing in debug.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
- 7:22 PM Changeset in webkit [249868] by
-
- 2 edits in trunk/Source/JavaScriptCore
jsc -d stopped working.
https://bugs.webkit.org/show_bug.cgi?id=201787
Reviewed by Joseph Pecoraro.
The reason is because, in this case, the jsc shell is trying to set an option
after the VM has been instantiated. The fix is simply to move all options
initialization before the VM is instantiated.
- jsc.cpp:
(runWithOptions):
(jscmain):
- 7:16 PM Changeset in webkit [249867] by
-
- 11 edits13 adds in trunk
Web Inspector: HTML Formatter - XML mode
https://bugs.webkit.org/show_bug.cgi?id=201758
Reviewed by Devin Rousso.
Source/WebInspectorUI:
- Tools/HTMLFormatter/index.html:
- Tools/SourceMaps/index.html:
Update Tools to more easily test XML.
- UserInterface/Proxies/FormatterWorkerProxy.js:
(WI.FormatterWorkerProxy.prototype.formatXML):
- UserInterface/Views/TextEditor.js:
(WI.TextEditor.prototype.hasFormatter):
(WI.TextEditor.prototype._startWorkerPrettyPrint):
Allow formatting XML content.
- UserInterface/Workers/Formatter/FormatterWorker.js:
(FormatterWorker.prototype.formatHTML):
(FormatterWorker.prototype.formatXML):
Expose "formatXML".
- UserInterface/Workers/Formatter/HTMLFormatter.js:
(HTMLFormatter.let.dom):
(HTMLFormatter):
(HTMLFormatter.prototype._shouldHaveNoChildren):
(HTMLFormatter.prototype._before):
(HTMLFormatter.prototype._after):
- UserInterface/Workers/Formatter/HTMLParser.js:
(HTMLParser.prototype.parseDocument):
- UserInterface/Workers/Formatter/HTMLTreeBuilderFormatter.js:
(HTMLTreeBuilderFormatter.prototype._isEmptyNode):
Give the HTMLFormatter and related classes an XML mode that
has less of the smarts of XML.
LayoutTests:
- inspector/formatting/formatting-xml-expected.txt: Added.
- inspector/formatting/formatting-xml.html: Added.
- inspector/formatting/resources/formatting-utilities.js:
(TestPage.registerInitializer.async.runFormattingTest):
- inspector/formatting/resources/xml-tests/atom-expected.xml: Added.
- inspector/formatting/resources/xml-tests/atom.xml: Added.
- inspector/formatting/resources/xml-tests/basic-expected.xml: Added.
- inspector/formatting/resources/xml-tests/basic.xml: Added.
- inspector/formatting/resources/xml-tests/rss-expected.xml: Added.
- inspector/formatting/resources/xml-tests/rss.xml: Added.
- inspector/formatting/resources/xml-tests/valid-html-invalid-xml-expected.xml: Added.
- inspector/formatting/resources/xml-tests/valid-html-invalid-xml.xml: Added.
- inspector/formatting/resources/xml-tests/xslt-expected.xml: Added.
- inspector/formatting/resources/xml-tests/xslt.xml: Added.
- 6:57 PM Changeset in webkit [249866] by
-
- 5 edits6 adds in trunk
Web Inspector: HTML Formatting: Handle infinite loop for incomplete script data
https://bugs.webkit.org/show_bug.cgi?id=201769
Reviewed by Devin Rousso.
Source/WebInspectorUI:
- UserInterface/Workers/Formatter/HTMLParser.js:
(HTMLParser):
Handle EOF in the script data's loop.
Better handle EOF at the end of text data.
LayoutTests:
- inspector/formatting/formatting-html-expected.txt:
- inspector/formatting/formatting-html.html:
- inspector/formatting/resources/html-tests/eof-7-expected.html: Added.
- inspector/formatting/resources/html-tests/eof-7.html: Added.
- inspector/formatting/resources/html-tests/eof-8-expected.html: Added.
- inspector/formatting/resources/html-tests/eof-8.html: Added.
- inspector/formatting/resources/html-tests/eof-9-expected.html: Added.
- inspector/formatting/resources/html-tests/eof-9.html: Added.
- 6:52 PM Changeset in webkit [249865] by
-
- 2 edits in trunk/Source/JavaScriptCore
watchOS requires PageSize alignment of 16K for JSC::Config.
https://bugs.webkit.org/show_bug.cgi?id=201786
<rdar://problem/55357890>
Reviewed by Yusuke Suzuki.
- runtime/JSCConfig.h:
- 6:12 PM Changeset in webkit [249864] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, follow-up fix after r249842
https://bugs.webkit.org/show_bug.cgi?id=201750
Michael reviewed this offline. When performing nearCall, we need to invalidate cache registers.
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::nearCall):
(JSC::MacroAssemblerARM64::threadSafePatchableNearCall):
- 5:50 PM Changeset in webkit [249863] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Improve auto completion typing performance by avoiding global forced layouts
https://bugs.webkit.org/show_bug.cgi?id=201735
Reviewed by Devin Rousso.
- UserInterface/Views/Main.css:
(#layout-measurement-container):
- UserInterface/Base/Main.js:
(WI.measureElement):
Provide a helper for measuring an element in a hidden container
that helps avoid more global layout.
- UserInterface/Views/CompletionSuggestionsView.js:
(WI.CompletionSuggestionsView.prototype.show):
Use measure element to avoid a global forced layout.
- 5:35 PM Changeset in webkit [249862] by
-
- 2 edits in trunk/Tools
Provide a prototype for AR QuickLook to trigger processing in the originating page
https://bugs.webkit.org/show_bug.cgi?id=201371
<rdar://54904781>
Disable the test for the moment.
- TestWebKitAPI/Tests/WebKitCocoa/SystemPreview.mm:
(TestWebKitAPI::TEST):
- 5:24 PM Changeset in webkit [249861] by
-
- 4 edits in trunk
Date.prototype.toJSON does not execute steps 1-2
https://bugs.webkit.org/show_bug.cgi?id=105282
Patch by Alexey Shvayka <Alexey Shvayka> on 2019-09-13
Reviewed by Ross Kirsling.
JSTests:
- test262/expectations.yaml: Mark 2 test cases as passing.
Source/JavaScriptCore:
According to https://tc39.es/ecma262/#sec-built-in-function-objects, built-in methods must be
strict mode functions. Before this change,this
value in Date.prototype.toJSON was resolved
using sloppy mode semantics, resulting intoISOString
being called on global object ifthis
value equalsnull
orundefined
.
- runtime/DatePrototype.cpp:
(JSC::dateProtoFuncToJSON): Resolve thisValue using strict semantics and simplify std::isfinite check.
- 5:12 PM Changeset in webkit [249860] by
-
- 2 edits in trunk/LayoutTests
Layout Test webgl/2.0.0/conformance/glsl/misc/shaders-with-invariance.html is failing on iOS.
https://bugs.webkit.org/show_bug.cgi?id=201784
Unreviewed Test Gardening.
- platform/ios/TestExpectations: Marked Test as Failing.
- 5:00 PM Changeset in webkit [249859] by
-
- 2 edits in trunk/Source/WTF
iOS 13: Some SPI targets 13.1
https://bugs.webkit.org/show_bug.cgi?id=201777
Reviewed by Alexey Proskuryakov.
- wtf/Platform.h:
- 4:45 PM Changeset in webkit [249858] by
-
- 2 edits in trunk/Source/JavaScriptCore
performJITMemcpy() should do its !Gigacage assertion on exit.
https://bugs.webkit.org/show_bug.cgi?id=201780
<rdar://problem/55354867>
Reviewed by Robin Morisset.
Re-doing previous fix.
- jit/ExecutableAllocator.h:
(JSC::performJITMemcpy):
(JSC::GigacageAssertScope::GigacageAssertScope): Deleted.
(JSC::GigacageAssertScope::~GigacageAssertScope): Deleted.
- 4:18 PM Changeset in webkit [249857] by
-
- 2 edits in trunk/Source/JavaScriptCore
performJITMemcpy() should do its !Gigacage assertion on exit.
https://bugs.webkit.org/show_bug.cgi?id=201780
<rdar://problem/55354867>
Reviewed by Robin Morisset.
- jit/ExecutableAllocator.h:
(JSC::GigacageAssertScope::GigacageAssertScope):
(JSC::GigacageAssertScope::~GigacageAssertScope):
(JSC::performJITMemcpy):
- 3:06 PM Changeset in webkit [249856] by
-
- 2 edits in trunk/Source/bmalloc
We should never fail to allocate VA for the Gigacage.
https://bugs.webkit.org/show_bug.cgi?id=201774
<rdar://problem/55352042>
Reviewed by Yusuke Suzuki.
Unfortunately, this is still not true for OS(LINUX). So, I'll leave the
GIGACAGE_ALLOCATION_CAN_FAIL code in place but disable it for everything else.
- bmalloc/Gigacage.h:
- 2:43 PM Changeset in webkit [249855] by
-
- 29 edits2 adds in trunk
Provide a prototype for AR QuickLook to trigger processing in the originating page
https://bugs.webkit.org/show_bug.cgi?id=201371
<rdar://54904781>
Reviewed by Simon Fraser.
Source/WebCore:
- dom/Document.cpp:
(WebCore::Document::dispatchSystemPreviewActionEvent): Create and dispatch a MessageEvent.
- dom/Document.h:
- html/HTMLAnchorElement.cpp: Send along the page and frame identifiers for this
object to ensure that any reply goes to the correct place.
(WebCore::HTMLAnchorElement::handleClick):
- loader/FrameLoadRequest.h: Use the new SystemPreviewInfo type.
(WebCore::FrameLoadRequest::isSystemPreview const):
(WebCore::FrameLoadRequest::systemPreviewInfo const):
(WebCore::FrameLoadRequest::systemPreviewRect const): Deleted.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURL):
- loader/FrameLoaderTypes.h: Provide encoders for the type.
(WebCore::SystemPreviewInfo::encode const):
(WebCore::SystemPreviewInfo::decode):
- platform/network/ResourceRequestBase.cpp: Use the new type.
(WebCore::ResourceRequestBase::isSystemPreview const):
(WebCore::ResourceRequestBase::systemPreviewInfo const):
(WebCore::ResourceRequestBase::setSystemPreviewInfo):
(WebCore::ResourceRequestBase::setSystemPreview): Deleted.
(WebCore::ResourceRequestBase::systemPreviewRect const): Deleted.
(WebCore::ResourceRequestBase::setSystemPreviewRect): Deleted.
- platform/network/ResourceRequestBase.h:
- testing/Internals.cpp: Expose the frame and page identifiers to testing.
(WebCore::Internals::frameIdentifier const):
(WebCore::Internals::pageIdentifier const):
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit:
Provide a way for a Web page to know if an action in the AR scene
was performed, if and only if the system AR library calls a delegate with
particular parameters. Post a message to the originating frame so
the page can detect the action.
- Scripts/webkit/messages.py: Include the right header for SystemPreviewInfo.
- Shared/WebCoreArgumentCoders.cpp: Use SystemPreviewInfo.
(IPC::ArgumentCoder<ResourceRequest>::encode):
(IPC::ArgumentCoder<ResourceRequest>::decode):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _triggerSystemPreviewActionOnFrame:page:]): New helper/test function
to trigger the system preview action.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/Cocoa/DownloadClient.mm: Use new type.
(WebKit::DownloadClient::didStart):
- UIProcess/Cocoa/SystemPreviewControllerCocoa.mm: Implement the delegate so that
we can detect an action. When it happens, tell the WebPageProxy to send a message.
- UIProcess/Downloads/DownloadProxy.h: Use SystemPreviewInfo type.
(WebKit::DownloadProxy::systemPreviewDownloadInfo const):
(WebKit::DownloadProxy::systemPreviewDownloadRect const): Deleted.
- UIProcess/SystemPreviewController.h:
(WebKit::SystemPreviewController::previewInfo const):
- UIProcess/WebPageProxy.cpp: Send it over to the Web Process.
(WebKit::WebPageProxy::systemPreviewActionTriggered const):
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/WebPage.cpp: Check the destination still exists, and then talk
to the Document.
(WebKit::WebPage::systemPreviewActionTriggered):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
- TestWebKitAPI/Tools/TestWebKitAPI/Tests/WebKitCocoa/SystemPreview.mm:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/system-preview-trigger.html: Added.
- 1:59 PM Changeset in webkit [249854] by
-
- 2 edits in trunk/Source/WebCore
Crash under WebCore::firstPositionInNode()
https://bugs.webkit.org/show_bug.cgi?id=201764
<rdar://problem/54823754>
Reviewed by Wenson Hsieh and Geoff Garen.
Make sure to keep a Ref<> to the textNode when we call insertNodeAtTabSpanPosition()
or insertNodeAt().
Test: editing/firstPositionInNode-crash.html
- editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::positionInsideTextNode):
- 1:36 PM Changeset in webkit [249853] by
-
- 24 edits in trunk
Partition processes running service workers by session ID
https://bugs.webkit.org/show_bug.cgi?id=201643
Reviewed by Chris Dumez.
Source/WebCore:
Move the creation of service worker context connection management to SWServer.
This allows to partition service worker context connections by registrable domain and sessionID.
WebKit2 is still responsible to create the IPC creation through a Function given to SWServer at construction
time.
SWServer now keeps a map of registrable domain -> context connection to use for running workers.
It also keeps a map of being-created connections.
In case a context connection is removed from the SWServer, the SWServer will notify all related worker instances
that they are not running. The SWServer will also recreate a context connection if needed.
This allows removing the global server context connection map.
Make SWServerToContextConnection no longer refcounted to simplify the lifetime management.
Covered by API test.
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::SWServer):
(WebCore::SWServer::tryInstallContextData):
(WebCore::SWServer::contextConnectionCreated):
(WebCore::SWServer::unregisterServiceWorkerClient):
(WebCore::SWServer::needsContextConnectionForRegistrableDomain const):
(WebCore::SWServer::addContextConnection):
(WebCore::SWServer::removeContextConnection):
(WebCore::SWServer::createContextConnection):
- workers/service/server/SWServer.h:
(WebCore::SWServer::contextConnectionForRegistrableDomain):
- workers/service/server/SWServerToContextConnection.cpp:
(WebCore::SWServerToContextConnection::SWServerToContextConnection):
(WebCore::SWServerToContextConnection::~SWServerToContextConnection):
- workers/service/server/SWServerToContextConnection.h:
- workers/service/server/SWServerWorker.cpp:
(WebCore::SWServerWorker::contextConnection):
Source/WebKit:
Remove the management of server context connections from NetworkProcess.
The WebProcessPool service worker process map is now keyed by both registrable domain and sessionID.
Update WebProcessPool to only expose the number of service worker processes instead of the full map.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didClose):
(WebKit::NetworkConnectionToWebProcess::establishSWContextConnection):
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::swServerForSession):
- NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::swServerForSessionIfExists):
- NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::startFetch):
(WebKit::WebSWServerConnection::postMessageToServiceWorker):
(WebKit::WebSWServerConnection::scheduleJobInServer):
(WebKit::WebSWServerConnection::updateThrottleState):
(WebKit::WebSWServerConnection::contextConnectionCreated):
- NetworkProcess/ServiceWorker/WebSWServerConnection.h:
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
(WebKit::WebSWServerToContextConnection::WebSWServerToContextConnection):
(WebKit::WebSWServerToContextConnection::~WebSWServerToContextConnection):
(WebKit::WebSWServerToContextConnection::connectionIsNoLongerNeeded):
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h:
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _webPageContentProcessCount]):
(-[WKProcessPool _serviceWorkerProcessCount]):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::establishWorkerContextConnectionToNetworkProcess):
(WebKit::WebProcessPool::disconnectProcess):
- UIProcess/WebProcessPool.h:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::WebSWContextManagerConnection):
(WebKit::m_userAgent):
- WebProcess/Storage/WebSWContextManagerConnection.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::establishWorkerContextConnectionToNetworkProcess):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
- 12:48 PM Changeset in webkit [249852] by
-
- 1 edit in trunk/LayoutTests/ChangeLog
Unreviewed, fix ChangeLog entry for r249730
- 12:46 PM Changeset in webkit [249851] by
-
- 2 edits in trunk/Tools
Re-add myself to the list of committers
Unreviewed.
- Scripts/webkitpy/common/config/contributors.json:
- 12:17 PM Changeset in webkit [249850] by
-
- 3 edits in trunk/LayoutTests/imported/w3c
Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/getregistrations.https.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=201661
<rdar://problem/55240851>
Reviewed by Alex Christensen.
The last test's cleanup step was very complex (involving waiting for a promise to get resolved) and WebKit's
completion handler in testharnessreport.js was often getting called before the promise resolution, leaving
the test frame in the output when we call notifyDone(). This seems like a potential bug in testharness.js.
To address the issue for now, do the unregistration in the test's body and only remove the test frame in
the cleanup step.
- web-platform-tests/service-workers/service-worker/getregistrations.https-expected.txt:
- web-platform-tests/service-workers/service-worker/getregistrations.https.html:
- 12:15 PM Changeset in webkit [249849] by
-
- 19 edits in trunk/Source/WebCore
[LFC] Do not create FormattingContext unless the root has child boxes.
https://bugs.webkit.org/show_bug.cgi?id=201766
<rdar://problem/55344449>
Reviewed by Antti Koivisto.
Just because a box establishes a formatting context, it does not necessarily mean we need to create a formatting context object for it.
The established formatting context is responsible for laying out the descendant content. The formatting context root itself is
laid out in the formatting context it lives in. So if there's no descendent content, we don't need to construct the context objects.
<body><div style="float: left;"></div></body> <- this div establishes a block formatting context (float) but it does not have any content so laying
it out simply means sizing and positioning it in the initial block formatting context.
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::FormattingContext):
(WebCore::Layout::FormattingContext::layoutOutOfFlowContent):
(WebCore::Layout::FormattingContext::mapTopToFormattingContextRoot const):
(WebCore::Layout::FormattingContext::mapLeftToFormattingContextRoot const):
(WebCore::Layout::FormattingContext::mapRightToFormattingContextRoot const):
(WebCore::Layout::FormattingContext::validateGeometryConstraintsAfterLayout const):
- layout/FormattingContext.h:
(WebCore::Layout::FormattingContext::root const):
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::contentHeightForFormattingContextRoot const):
(WebCore::Layout::FormattingContext::Geometry::shrinkToFitWidth):
- layout/LayoutState.cpp:
(WebCore::Layout::LayoutState::layoutFormattingContextSubtree):
(WebCore::Layout::LayoutState::establishedFormattingState const):
(WebCore::Layout::LayoutState::createFormattingStateForFormattingRootIfNeeded):
(WebCore::Layout::LayoutState::createFormattingContext):
- layout/LayoutState.h:
(WebCore::Layout::LayoutState::hasFormattingState const):
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::BlockFormattingContext):
(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
(WebCore::Layout::BlockFormattingContext::usedAvailableWidthForFloatAvoider const):
(WebCore::Layout::BlockFormattingContext::layoutFormattingContextRoot):
(WebCore::Layout::BlockFormattingContext::computedIntrinsicWidthConstraints):
- layout/blockformatting/BlockFormattingContext.h:
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::intrinsicWidthConstraints):
- layout/blockformatting/BlockMarginCollapse.cpp:
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginsCollapseThrough const):
- layout/floats/FloatingContext.h:
(WebCore::Layout::FloatingContext::root const):
- layout/floats/FloatingState.cpp:
(WebCore::Layout::FloatingState::FloatingState):
(WebCore::Layout::FloatingState::bottom const):
(WebCore::Layout::FloatingState::top const):
- layout/floats/FloatingState.h:
(WebCore::Layout::FloatingState::create):
(WebCore::Layout::FloatingState::root const):
(WebCore::Layout::FloatingState::leftBottom const):
(WebCore::Layout::FloatingState::rightBottom const):
(WebCore::Layout::FloatingState::bottom const):
(WebCore::Layout::FloatingState::FloatItem::isDescendantOfFormattingRoot const):
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::InlineFormattingContext):
(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthConstraints):
(WebCore::Layout::InlineFormattingContext::computeIntrinsicWidthForFormattingRoot):
(WebCore::Layout::InlineFormattingContext::layoutFormattingContextRoot):
(WebCore::Layout::InlineFormattingContext::collectInlineContent const):
- layout/inlineformatting/InlineFormattingContext.h:
(WebCore::Layout::InlineFormattingContext::InlineLayout::formattingRoot const):
- layout/inlineformatting/InlineFormattingContextQuirks.cpp:
(WebCore::Layout::InlineFormattingContext::Quirks::lineDescentNeedsCollapsing const):
- layout/inlineformatting/InlineLine.cpp:
(WebCore::Layout::Line::close):
(WebCore::Layout::Line::adjustBaselineAndLineHeight):
- layout/tableformatting/TableFormattingContext.cpp:
(WebCore::Layout::TableFormattingContext::TableFormattingContext):
(WebCore::Layout::TableFormattingContext::layoutTableCellBox):
(WebCore::Layout::TableFormattingContext::setComputedGeometryForSections):
(WebCore::Layout::TableFormattingContext::ensureTableGrid):
(WebCore::Layout::TableFormattingContext::computePreferredWidthForColumns):
- layout/tableformatting/TableFormattingContext.h:
- 12:08 PM Changeset in webkit [249848] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Tighter autocomplete bubbles
https://bugs.webkit.org/show_bug.cgi?id=201742
Reviewed by Timothy Hatcher.
- UserInterface/Views/CompletionSuggestionsView.js:
(WI.CompletionSuggestionsView.prototype.show):
Eliminate the trailing space. Use bounding client rect to get
fractional widths and raise the value so we are at an even number.
- 12:02 PM Changeset in webkit [249847] by
-
- 2 edits in trunk/Source/WebInspectorUI
REGRESSION: Web Inspector: Layout Timeline View does not show popover for initiator data
https://bugs.webkit.org/show_bug.cgi?id=201732
<rdar://problem/55312339>
Reviewed by Devin Rousso.
- UserInterface/Views/LayoutTimelineDataGrid.js:
(WI.LayoutTimelineDataGrid.prototype.callFramePopoverAnchorElement):
(WI.LayoutTimelineDataGrid.prototype.shouldShowCallFramePopover):
The column name was incorrect.
- 11:58 AM Changeset in webkit [249846] by
-
- 2 edits in trunk/Source/WebInspectorUI
Uncaught Exception: null is not an object (evaluating 'Object.keys(propertyNames)') (at JavaScriptRuntimeCompletionProvider.js:244:57)
https://bugs.webkit.org/show_bug.cgi?id=201729
Reviewed by Devin Rousso.
- UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
(WI.JavaScriptRuntimeCompletionProvider):
(WI.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded):
Don't clear the completion object group until all ongoing requests have completed.
Percision for the lifetime of the object group objects is not important, but we
surely don't want to delete an object too soon.
- 11:46 AM Changeset in webkit [249845] by
-
- 3 edits2 adds in trunk
IntersectionObserverEntry#intersectionRatio can be larger than 1
https://bugs.webkit.org/show_bug.cgi?id=200776
Reviewed by Simon Fraser.
Source/WebCore:
When computing the intersection between a target and an intersection observer's
root, RenderBox::computeVisibleRectInContainer is used to map the target rect
up the containing block chain, clipping along the way. When a RenderBox has
a transform, this method expands the given rect to the enclosing rect in device
pixels. This is fine for the use case of computing an invalidation rect, but for
the intersection observer use case it means that it is possible for the computed
intersection rect to be slightly larger than the original target rect, resulting
in an intersection ratio greater than 1.
Fix this by performing a final intersection between the intersection rect as
computed above and the target rect.
Test: intersection-observer/intersection-clipped-to-target.html
- dom/Document.cpp:
(WebCore::computeIntersectionState):
LayoutTests:
- intersection-observer/intersection-clipped-to-target-expected.txt: Added.
- intersection-observer/intersection-clipped-to-target.html: Added.
- 11:46 AM Changeset in webkit [249844] by
-
- 2 edits in trunk/LayoutTests
Layout Test http/tests/appcache/remove-cache.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=199124
Unreviewed Test Gardening..
- platform/mac/TestExpectations: Marked Test as Flaky.
- 11:21 AM Changeset in webkit [249843] by
-
- 8 edits5 adds in trunk
SMIL animations of SVG <view> element have no effect
https://bugs.webkit.org/show_bug.cgi?id=94469
Patch by Nikolas Zimmermann <zimmermann@kde.org> on 2019-09-13
Reviewed by Said Abou-Hallawa.
Source/WebCore:
SMIL animations of the attributes associated with SVGViewElement work fine, but without any
visual effect. When loading an SVG document with a given fragment identifier
(e.g. test.svg#customView) where 'customView' references to an embedded SVGViewElement, the
viewBox/preserveAspectRatio settings should be taken from the SVGViewElement. Currently
there is no link between the SVGViewElement and the SVGSVGElement. The settings from the
SVGViewElement are only pasrsed onco in SVGSVGElement::scrollToFragment(). Dynamic updates
of the 'viewBox' and 'preserveAspectRatio' attributes of the SVGViewElement thus have no
visual effect, since the SVGSVGElement does not re-evaluates its viewBox.
Store a RefPtr to the currently used SVGViewElement in SVGSVGElement, and a WeakPtr back
to the SVGSVGElement that currently references the SVGViewElement. This allows us to
propagate SVGViewElement attribute changes to SVGSVGElement and re-evaluate the viewBox
stored in SVGSVGElement and trigger visual updates.
Tests: svg/custom/animation-on-view-element.html
svg/custom/multiple-view-elements.html
- svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::scrollToFragment):
- svg/SVGSVGElement.h:
- svg/SVGViewElement.cpp:
(WebCore::SVGViewElement::svgAttributeChanged): Add missing implementation, tracked by
webkit.org/b/196554. Correctly handle SVGFitToViewBox property changes. Update the viewBox
stored in the SVGSVGElement, that references the SVGViewElement. Afterwards invalidate the
renderer associated with the SVGSVGElement, which properly triggers visual updates.
- svg/SVGViewElement.h:
LayoutTests:
Add new layout tests to verify that dynamic modifications of the <view> element cause
visual updates. Previously SVGSVGElement was never notified about changes of the
SVGViewElement and thus did not update the stored viewBox.
- svg/custom/animation-on-view-element-expected.html: Added.
- svg/custom/animation-on-view-element.html: Added. This is a new reftest
demonstrating that animations of SVG <view> elements now behave as expected.
- svg/custom/multiple-view-elements-expected.html: Added.
- svg/custom/multiple-view-elements.html: Added.
- svg/dom/SVGViewSpec-multiple-views-expected.txt:
- svg/dom/SVGViewSpec-multiple-views.html: Extend to cover dynamic modifications.
- 11:01 AM Changeset in webkit [249842] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Micro-optimize YarrJIT's surrogate pair handling
https://bugs.webkit.org/show_bug.cgi?id=201750
Reviewed by Michael Saboff.
Optimize sequence of machine code used to get code-point with unicode flag.
- yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::tryReadUnicodeCharImpl):
- 10:54 AM Changeset in webkit [249841] by
-
- 4 edits in trunk/Source/JavaScriptCore
We should assert $vm is enabled on entry and exit in its functions.
https://bugs.webkit.org/show_bug.cgi?id=201762
<rdar://problem/55338742>
Rubber-stamped by Michael Saboff.
- Also do the same for FunctionOverrides.
- Added the DollarVMAssertScope and FunctionOverridesAssertScope to achieve this.
- Also added assertions to lambda functions in $vm.
- tools/FunctionOverrides.cpp:
(JSC::FunctionOverridesAssertScope::FunctionOverridesAssertScope):
(JSC::FunctionOverridesAssertScope::~FunctionOverridesAssertScope):
(JSC::FunctionOverrides::overrides):
(JSC::FunctionOverrides::FunctionOverrides):
(JSC::FunctionOverrides::reinstallOverrides):
(JSC::initializeOverrideInfo):
(JSC::FunctionOverrides::initializeOverrideFor):
(JSC::parseClause):
(JSC::FunctionOverrides::parseOverridesInFile):
- tools/JSDollarVM.cpp:
(JSC::JSDollarVMCallFrame::JSDollarVMCallFrame):
(JSC::JSDollarVMCallFrame::createStructure):
(JSC::JSDollarVMCallFrame::create):
(JSC::JSDollarVMCallFrame::finishCreation):
(JSC::JSDollarVMCallFrame::addProperty):
(JSC::Element::Element):
(JSC::Element::create):
(JSC::Element::visitChildren):
(JSC::Element::createStructure):
(JSC::Root::Root):
(JSC::Root::setElement):
(JSC::Root::create):
(JSC::Root::createStructure):
(JSC::Root::visitChildren):
(JSC::SimpleObject::SimpleObject):
(JSC::SimpleObject::create):
(JSC::SimpleObject::visitChildren):
(JSC::SimpleObject::createStructure):
(JSC::ImpureGetter::ImpureGetter):
(JSC::ImpureGetter::createStructure):
(JSC::ImpureGetter::create):
(JSC::ImpureGetter::finishCreation):
(JSC::ImpureGetter::getOwnPropertySlot):
(JSC::ImpureGetter::visitChildren):
(JSC::CustomGetter::CustomGetter):
(JSC::CustomGetter::createStructure):
(JSC::CustomGetter::create):
(JSC::CustomGetter::getOwnPropertySlot):
(JSC::CustomGetter::customGetter):
(JSC::CustomGetter::customGetterAcessor):
(JSC::RuntimeArray::create):
(JSC::RuntimeArray::destroy):
(JSC::RuntimeArray::getOwnPropertySlot):
(JSC::RuntimeArray::getOwnPropertySlotByIndex):
(JSC::RuntimeArray::createPrototype):
(JSC::RuntimeArray::createStructure):
(JSC::RuntimeArray::finishCreation):
(JSC::RuntimeArray::RuntimeArray):
(JSC::RuntimeArray::lengthGetter):
(JSC::DOMJITNode::DOMJITNode):
(JSC::DOMJITNode::createStructure):
(JSC::DOMJITNode::checkSubClassSnippet):
(JSC::DOMJITNode::create):
(JSC::DOMJITGetter::DOMJITGetter):
(JSC::DOMJITGetter::createStructure):
(JSC::DOMJITGetter::create):
(JSC::DOMJITGetter::DOMJITAttribute::slowCall):
(JSC::DOMJITGetter::DOMJITAttribute::callDOMGetter):
(JSC::DOMJITGetter::customGetter):
(JSC::DOMJITGetter::finishCreation):
(JSC::DOMJITGetterComplex::DOMJITGetterComplex):
(JSC::DOMJITGetterComplex::createStructure):
(JSC::DOMJITGetterComplex::create):
(JSC::DOMJITGetterComplex::DOMJITAttribute::slowCall):
(JSC::DOMJITGetterComplex::DOMJITAttribute::callDOMGetter):
(JSC::DOMJITGetterComplex::functionEnableException):
(JSC::DOMJITGetterComplex::customGetter):
(JSC::DOMJITGetterComplex::finishCreation):
(JSC::DOMJITFunctionObject::DOMJITFunctionObject):
(JSC::DOMJITFunctionObject::createStructure):
(JSC::DOMJITFunctionObject::create):
(JSC::DOMJITFunctionObject::functionWithTypeCheck):
(JSC::DOMJITFunctionObject::functionWithoutTypeCheck):
(JSC::DOMJITFunctionObject::checkSubClassSnippet):
(JSC::DOMJITFunctionObject::finishCreation):
(JSC::DOMJITCheckSubClassObject::DOMJITCheckSubClassObject):
(JSC::DOMJITCheckSubClassObject::createStructure):
(JSC::DOMJITCheckSubClassObject::create):
(JSC::DOMJITCheckSubClassObject::functionWithTypeCheck):
(JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck):
(JSC::DOMJITCheckSubClassObject::finishCreation):
(JSC::DOMJITGetterBaseJSObject::DOMJITGetterBaseJSObject):
(JSC::DOMJITGetterBaseJSObject::createStructure):
(JSC::DOMJITGetterBaseJSObject::create):
(JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::slowCall):
(JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::callDOMGetter):
(JSC::DOMJITGetterBaseJSObject::customGetter):
(JSC::DOMJITGetterBaseJSObject::finishCreation):
(JSC::JSTestCustomGetterSetter::JSTestCustomGetterSetter):
(JSC::JSTestCustomGetterSetter::create):
(JSC::JSTestCustomGetterSetter::createStructure):
(JSC::customSetAccessor):
(JSC::customSetValue):
(JSC::JSTestCustomGetterSetter::finishCreation):
(JSC::Element::handleOwner):
(JSC::Element::finishCreation):
(JSC::WasmStreamingParser::WasmStreamingParser):
(JSC::WasmStreamingParser::create):
(JSC::WasmStreamingParser::createStructure):
(JSC::WasmStreamingParser::finishCreation):
(JSC::functionWasmStreamingParserAddBytes):
(JSC::functionWasmStreamingParserFinalize):
(JSC::functionCrash):
(JSC::functionBreakpoint):
(JSC::functionDFGTrue):
(JSC::functionFTLTrue):
(JSC::functionCpuMfence):
(JSC::functionCpuRdtsc):
(JSC::functionCpuCpuid):
(JSC::functionCpuPause):
(JSC::functionCpuClflush):
(JSC::CallerFrameJITTypeFunctor::CallerFrameJITTypeFunctor):
(JSC::getExecutableForFunction):
(JSC::functionLLintTrue):
(JSC::functionJITTrue):
(JSC::functionNoInline):
(JSC::functionGC):
(JSC::functionEdenGC):
(JSC::functionDumpSubspaceHashes):
(JSC::functionCallFrame):
(JSC::functionCodeBlockForFrame):
(JSC::codeBlockFromArg):
(JSC::functionCodeBlockFor):
(JSC::functionDumpSourceFor):
(JSC::functionDumpBytecodeFor):
(JSC::doPrint):
(JSC::functionDataLog):
(JSC::functionPrint):
(JSC::functionDumpCallFrame):
(JSC::functionDumpStack):
(JSC::functionDumpRegisters):
(JSC::functionDumpCell):
(JSC::functionIndexingMode):
(JSC::functionInlineCapacity):
(JSC::functionValue):
(JSC::functionGetPID):
(JSC::functionHaveABadTime):
(JSC::functionIsHavingABadTime):
(JSC::functionCreateGlobalObject):
(JSC::functionCreateProxy):
(JSC::functionCreateRuntimeArray):
(JSC::functionCreateNullRopeString):
(JSC::functionCreateImpureGetter):
(JSC::functionCreateCustomGetterObject):
(JSC::functionCreateDOMJITNodeObject):
(JSC::functionCreateDOMJITGetterObject):
(JSC::functionCreateDOMJITGetterComplexObject):
(JSC::functionCreateDOMJITFunctionObject):
(JSC::functionCreateDOMJITCheckSubClassObject):
(JSC::functionCreateDOMJITGetterBaseJSObject):
(JSC::functionCreateWasmStreamingParser):
(JSC::functionSetImpureGetterDelegate):
(JSC::functionCreateBuiltin):
(JSC::functionGetPrivateProperty):
(JSC::functionCreateRoot):
(JSC::functionCreateElement):
(JSC::functionGetElement):
(JSC::functionCreateSimpleObject):
(JSC::functionGetHiddenValue):
(JSC::functionSetHiddenValue):
(JSC::functionShadowChickenFunctionsOnStack):
(JSC::functionSetGlobalConstRedeclarationShouldNotThrow):
(JSC::functionFindTypeForExpression):
(JSC::functionReturnTypeFor):
(JSC::functionFlattenDictionaryObject):
(JSC::functionDumpBasicBlockExecutionRanges):
(JSC::functionHasBasicBlockExecuted):
(JSC::functionBasicBlockExecutionCount):
(JSC::functionEnableExceptionFuzz):
(JSC::changeDebuggerModeWhenIdle):
(JSC::functionEnableDebuggerModeWhenIdle):
(JSC::functionDisableDebuggerModeWhenIdle):
(JSC::functionDeleteAllCodeWhenIdle):
(JSC::functionGlobalObjectCount):
(JSC::functionGlobalObjectForObject):
(JSC::functionGetGetterSetter):
(JSC::functionLoadGetterFromGetterSetter):
(JSC::functionCreateCustomTestGetterSetter):
(JSC::functionDeltaBetweenButterflies):
(JSC::functionTotalGCTime):
(JSC::functionParseCount):
(JSC::functionIsWasmSupported):
(JSC::JSDollarVM::finishCreation):
(JSC::JSDollarVM::addFunction):
(JSC::JSDollarVM::addConstructibleFunction):
- tools/JSDollarVM.h:
(JSC::DollarVMAssertScope::DollarVMAssertScope):
(JSC::DollarVMAssertScope::~DollarVMAssertScope):
- 10:30 AM Changeset in webkit [249840] by
-
- 1 edit in trunk/LayoutTests/platform/ios/TestExpectations
Unreviewd test gardening after r249817.
- platform/ios/TestExpectations: Remove failure expectation that was overriding the skip in platform/wk2/TestExpectations.
- 10:14 AM Changeset in webkit [249839] by
-
- 8 edits in trunk/Source/WebCore
[FTW] ImageBuffer/ImageBufferData is highly inefficient
https://bugs.webkit.org/show_bug.cgi?id=201594
Reviewed by Said Abou-Hallawa.
My initial implementation of ImageBuffer and ImageBufferData for Direct2D involves too
much moving of data from GPU to CPU and back. We only need to make a renderable version
of the ImageBuffer when ImageBuffer::sinkIntoNativeImage or ImageBuffer::copyNativeImage
are called.
Currently, each ImageBuffer putData operation uploads the data to the GPU, and each
ImageBuffer getData pulls the data from the GPU.
This patch does the following:
- It makes the assumption that the ID2D1Bitmap it holds is under its control (i.e., external draw operations do not manipulate the bitmap without marking it dirty).
- It holds a CPU copy of the data from the ID2D1Bitmap originally used to create it. It uses this data for all manipulations, and uploads to the bitmap only when an ID2D1Bitmap is requested for drawing, and before a drawing operation is performed on the associated ImageBuffer context.
- It does not read back from the ID2D1Bitmap unless it is told that it is dirty.
- It does not call 'ID2D1RenderTarget::SetTags' if ASSERTS are disabled because they are costly, and don't help in release builds.
- platform/graphics/win/Direct2DOperations.cpp:
(WebCore::Direct2D::fillRect): Use new 'setTags' method.
(WebCore::Direct2D::fillRoundedRect): Ditto.
(WebCore::Direct2D::fillRectWithRoundedHole): Ditto.
(WebCore::Direct2D::fillRectWithGradient): Ditto.
(WebCore::Direct2D::fillPath): Ditto.
(WebCore::Direct2D::strokeRect): Ditto.
(WebCore::Direct2D::strokePath): Ditto.
(WebCore::Direct2D::drawPath): Ditto.
(WebCore::Direct2D::drawWithShadow): Notify observers before and after we drew.
(WebCore::Direct2D::drawWithoutShadow): Ditto.
(WebCore::Direct2D::clearRect): Use new 'setTags' method.
(WebCore::Direct2D::drawGlyphs): Ditto.
(WebCore::Direct2D::drawNativeImage): Ditto.
(WebCore::Direct2D::drawRect): Ditto.
(WebCore::Direct2D::drawLine): Ditto.
(WebCore::Direct2D::fillEllipse): Ditto.
(WebCore::Direct2D::drawEllipse): Ditto.
(WebCore::Direct2D::flush): Notify observer after we drew.
- platform/graphics/win/GradientDirect2D.cpp:
(WebCore::Gradient::fill): Don't call SetTags in non-ASSERT builds.
- platform/graphics/win/ImageBufferDataDirect2D.cpp:
(WebCore::ImageBufferData::ensureBackingStore const): Added.
(WebCore::ImageBufferData::getData const): Only read from the GPU if the in-memory
store is empty or out-of-sync.
(WebCore::ImageBufferData::putData): Mark the bitmap as out-of-sync, but don't
upload the data yet.
(WebCore::ImageBufferData::loadDataToBitmapIfNeeded): Helper function to upload data to the GPU.
(WebCore::ImageBufferData::compatibleBitmap): Only upload data if the relevant
bitmap is out of date.
- platform/graphics/win/ImageBufferDataDirect2D.h:
- platform/graphics/win/ImageBufferDirect2D.cpp:
(WebCore::ImageBuffer::ImageBuffer): Update constructor to register the ImageBufferData
lambdas as observer for draw operations.
- platform/graphics/win/PlatformContextDirect2D.cpp:
(WebCore::PlatformContextDirect2D::PlatformContextDirect2D): Update constructor to accept
lambdas to run before and after draw operations.
(WebCore::PlatformContextDirect2D::setTags): Added.
(WebCore::PlatformContextDirect2D::notifyPreDrawObserver): Added.
(WebCore::PlatformContextDirect2D::notifyPostDrawObserver): Added.
- platform/graphics/win/PlatformContextDirect2D.h:
(WebCore::PlatformContextDirect2D::PlatformContextDirect2D):
- 9:53 AM Changeset in webkit [249838] by
-
- 12 edits2 deletes in trunk
Unreviewed, rolling out r249709.
Layout test added in this patch has been consistently failing
since it landed.
Reverted changeset:
"Option + arrow moves caret past whitespace on iOS"
https://bugs.webkit.org/show_bug.cgi?id=201575
https://trac.webkit.org/changeset/249709
- 9:40 AM Changeset in webkit [249837] by
-
- 10 edits in trunk/Source/WebCore
[LFC] Rename FormattingContext::layout to layoutInFlowContent()
https://bugs.webkit.org/show_bug.cgi?id=201763
<rdar://problem/55340435>
Reviewed by Antti Koivisto.
FormattingContext::layout() only takes care of the inflow content. Out-out-flow boxes are laid out through FormattingContext::layoutOutOfFlowContent.
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::layoutOutOfFlowContent):
- layout/FormattingContext.h:
- layout/LayoutState.cpp:
(WebCore::Layout::LayoutState::layoutFormattingContextSubtree):
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
(WebCore::Layout::BlockFormattingContext::layoutFormattingContextRoot):
(WebCore::Layout::BlockFormattingContext::layout): Deleted.
- layout/blockformatting/BlockFormattingContext.h:
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
(WebCore::Layout::InlineFormattingContext::layoutFormattingContextRoot):
(WebCore::Layout::InlineFormattingContext::layout): Deleted.
- layout/inlineformatting/InlineFormattingContext.h:
- layout/tableformatting/TableFormattingContext.cpp:
(WebCore::Layout::TableFormattingContext::layoutInFlowContent):
(WebCore::Layout::TableFormattingContext::layoutTableCellBox):
(WebCore::Layout::TableFormattingContext::layout): Deleted.
- layout/tableformatting/TableFormattingContext.h:
- 9:13 AM Changeset in webkit [249836] by
-
- 2 edits in trunk/Tools
[iOS] TestWebKitAPI.WebKit.TLSVersionWebSocket is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=201745
Patch by Alex Christensen <achristensen@webkit.org> on 2019-09-13
Reviewed by Chris Dumez.
- TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(TestWebKitAPI::TEST):
The exact message isn't important. The fact that the TLS handshake failed is, which is checked by the TCPServer.
- 9:03 AM Changeset in webkit [249835] by
-
- 3 edits in trunk/Source/WebKit
AuxiliaryProcessProxy::sendWithAsyncReply should queue up messages if sent while the process is starting like it does messages without replies
https://bugs.webkit.org/show_bug.cgi?id=201746
Reviewed by Youenn Fablet.
- UIProcess/AuxiliaryProcessProxy.cpp:
(WebKit::AuxiliaryProcessProxy::sendMessage):
(WebKit::AuxiliaryProcessProxy::didFinishLaunching):
- UIProcess/AuxiliaryProcessProxy.h:
(WebKit::AuxiliaryProcessProxy::sendWithAsyncReply):
- 8:42 AM Changeset in webkit [249834] by
-
- 19 edits in trunk/Source/WebCore
[LFC] FormattingContext::displayBoxForLayoutBox should be split into 2 functions
https://bugs.webkit.org/show_bug.cgi?id=201754
<rdar://problem/55328753>
Reviewed by Antti Koivisto.
- FormattingContext::geometryForBox() returns a const Display::Box. Use this function to access
already computed geometry such as the containing block's content box width.
This function can escape the current formatting context in certain cases and read geometry from parent/ancestor formatting contexts.
- FormattingState::displayBox() returns a non-const version of the Display::Box. Use this function to
create/get the display box of a particular layout box to set computed values. This call should never escape the
current formatting context (as no one should mutate ancestor boxes).
Normally while laying out a particular box, we need to collect some geometry information from other boxes in the tree like previous sibling, containing block.
<div style="width: 100px"><div></div></div> <- the inner div's used width is based on the outer div's width.
However we should never mutate the geometry information on those other boxes (outer div). This patch helps avoiding accidental mutation on ancestors by
returning a const version of the Display::Box.
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry):
(WebCore::Layout::FormattingContext::computeBorderAndPadding):
(WebCore::Layout::mapHorizontalPositionToAncestor):
(WebCore::Layout::FormattingContext::mapTopToFormattingContextRoot const):
(WebCore::Layout::FormattingContext::mapLeftToFormattingContextRoot const):
(WebCore::Layout::FormattingContext::mapRightToFormattingContextRoot const):
(WebCore::Layout::FormattingContext::geometryForBox const):
(WebCore::Layout::FormattingContext::validateGeometryConstraintsAfterLayout const):
(WebCore::Layout::FormattingContext::displayBoxForLayoutBox const): Deleted.
- layout/FormattingContext.h:
(WebCore::Layout::FormattingContext::hasDisplayBox const): Deleted.
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::computedHeightValue const):
(WebCore::Layout::FormattingContext::Geometry::contentHeightForFormattingContextRoot const):
(WebCore::Layout::FormattingContext::Geometry::staticVerticalPositionForOutOfFlowPositioned const):
(WebCore::Layout::FormattingContext::Geometry::staticHorizontalPositionForOutOfFlowPositioned const):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry const):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry const):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry const):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin const):
(WebCore::Layout::FormattingContext::Geometry::inFlowPositionedPositionOffset const):
- layout/FormattingContextQuirks.cpp:
(WebCore::Layout::FormattingContext::Quirks::heightValueOfNearestContainingBlockWithFixedHeight):
- layout/FormattingState.cpp:
(WebCore::Layout::FormattingState::displayBox const):
- layout/FormattingState.h:
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::usedAvailableWidthForFloatAvoider const):
(WebCore::Layout::BlockFormattingContext::placeInFlowPositionedChildren):
(WebCore::Layout::BlockFormattingContext::computeStaticVerticalPosition):
(WebCore::Layout::BlockFormattingContext::computeStaticHorizontalPosition):
(WebCore::Layout::BlockFormattingContext::computeEstimatedVerticalPosition):
(WebCore::Layout::BlockFormattingContext::computeEstimatedVerticalPositionForFloatClear):
(WebCore::Layout::BlockFormattingContext::computeFloatingPosition):
(WebCore::Layout::BlockFormattingContext::computePositionToAvoidFloats):
(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::verticalPositionWithMargin const):
- layout/blockformatting/BlockFormattingContext.h:
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin const):
(WebCore::Layout::BlockFormattingContext::Geometry::staticVerticalPosition const):
(WebCore::Layout::BlockFormattingContext::Geometry::staticHorizontalPosition const):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowHeightAndMargin):
- layout/blockformatting/BlockFormattingContextQuirks.cpp:
(WebCore::Layout::BlockFormattingContext::Quirks::stretchedInFlowHeight):
- layout/blockformatting/BlockMarginCollapse.cpp:
(WebCore::Layout::BlockFormattingContext::MarginCollapse::hasClearance const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginBeforeCollapsesWithParentMarginBefore const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginBeforeCollapsesWithPreviousSiblingMarginAfter const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginBeforeCollapsesWithFirstInFlowChildMarginBefore const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginAfterCollapsesWithSiblingMarginBeforeWithClearance const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginAfterCollapsesWithLastInFlowChildMarginAfter const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::updateMarginAfterForPreviousSibling const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::positiveNegativeValues):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::estimatedMarginBefore):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::updatePositiveNegativeMarginValues):
(WebCore::Layout::hasClearance): Deleted.
- layout/floats/FloatingContext.cpp:
(WebCore::Layout::FloatingContext::positionForFloat const):
(WebCore::Layout::FloatingContext::verticalPositionWithClearance const):
(WebCore::Layout::FloatingContext::absoluteDisplayBoxCoordinates const):
(WebCore::Layout::FloatingContext::mapToFloatingStateRoot const):
(WebCore::Layout::FloatingContext::mapTopToFloatingStateRoot const):
(WebCore::Layout::FloatingContext::mapPointFromFormattingContextRootToFloatingStateRoot const):
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::layout):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthConstraints):
(WebCore::Layout::InlineFormattingContext::initializeMarginBorderAndPaddingForGenericInlineBox):
(WebCore::Layout::InlineFormattingContext::computeMarginBorderAndPaddingForInlineContainer):
(WebCore::Layout::InlineFormattingContext::computeIntrinsicWidthForFormattingRoot):
(WebCore::Layout::InlineFormattingContext::computeHorizontalMargin):
(WebCore::Layout::InlineFormattingContext::computeWidthAndMargin):
(WebCore::Layout::InlineFormattingContext::computeHeightAndMargin):
(WebCore::Layout::InlineFormattingContext::layoutFormattingContextRoot):
- layout/inlineformatting/InlineFormattingContextGeometry.cpp:
(WebCore::Layout::InlineFormattingContext::Geometry::inlineBlockHeightAndMargin const):
- layout/inlineformatting/InlineFormattingContextLineLayout.cpp:
(WebCore::Layout::inlineItemWidth):
(WebCore::Layout::LineLayout::placeInlineItem):
(WebCore::Layout::InlineFormattingContext::InlineLayout::layout const):
(WebCore::Layout::InlineFormattingContext::InlineLayout::computedIntrinsicWidth const):
(WebCore::Layout::InlineFormattingContext::InlineLayout::createDisplayRuns const):
- layout/inlineformatting/InlineFormattingContextQuirks.cpp:
(WebCore::Layout::InlineFormattingContext::Quirks::lineDescentNeedsCollapsing const):
- layout/inlineformatting/InlineLine.cpp:
(WebCore::Layout::isInlineContainerConsideredEmpty):
(WebCore::Layout::Line::isVisuallyEmpty const):
(WebCore::Layout::Line::close):
(WebCore::Layout::Line::appendNonReplacedInlineBox):
(WebCore::Layout::Line::inlineItemContentHeight const):
- layout/tableformatting/TableFormattingContext.cpp:
(WebCore::Layout::TableFormattingContext::layout):
(WebCore::Layout::TableFormattingContext::layoutTableCellBox):
(WebCore::Layout::TableFormattingContext::positionTableCells):
(WebCore::Layout::TableFormattingContext::setComputedGeometryForRows):
(WebCore::Layout::TableFormattingContext::setComputedGeometryForSections):
(WebCore::Layout::TableFormattingContext::computedTableWidth):
- 7:42 AM Changeset in webkit [249833] by
-
- 6 edits in trunk/LayoutTests
Stop using testRunner.setPrivateBrowsingEnabled_DEPRECATED() in http/tests/security/appcache-in-private-browsing.html
https://bugs.webkit.org/show_bug.cgi?id=201704
Reviewed by Youenn Fablet.
Stop using testRunner.setPrivateBrowsingEnabled_DEPRECATED() in http/tests/security/appcache-in-private-browsing.html
and use the new useEphemeralSession WKTR / DRT flag instead.
- http/tests/security/appcache-in-private-browsing-expected.txt:
- http/tests/security/appcache-in-private-browsing.html:
- http/tests/security/resources/frame-for-appcache-in-private-browsing.html:
- platform/mac-wk2/TestExpectations:
- 5:32 AM Changeset in webkit [249832] by
-
- 36 edits in trunk/Source
Use WebProcess processIdentifier to identify Service Worker connections
https://bugs.webkit.org/show_bug.cgi?id=201459
Reviewed by Chris Dumez.
Source/WebCore:
No observable change of behavior.
- workers/service/ServiceWorkerClient.cpp:
(WebCore::ServiceWorkerClient::postMessage):
Pass sessionID to ease NetworkProcess selection of the client process connection.
- workers/service/ServiceWorkerTypes.h:
Mark server connection identifier be process identifier based.
- workers/service/context/SWContextManager.h:
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::Connection::Connection):
- workers/service/server/SWServer.h:
Let connection identifier be set in constructor instead of generated.
Source/WebCore/PAL:
- pal/SessionID.h:
(PAL::SessionID::SessionID):
Source/WebKit:
Make WebSWServerConnection be stored in NetworkConnectionToWebProcess.
They are now keyed by session IDs hence why WebSWClientConnection is using the session ID as message connection ID.
Creation no longer requires a sync IPC since the connection is uniquely identified by its session ID and its process ID.
These IDs are stable over network process crash.
Within NetworkProcess, a server connection is managed by a SWServer which is session ID specific.
In that case, the process identifier uniquely identifies the connection.
Move WebSWServerToContextConnection be owned by NetworkConnectionToWebProcess.
Instead of creating it when webprocess is connecting to network process, use a dedicated IPC message.
This is similar to WebSWServerConnection once WebProcess asks to create it.
This will allow existing WebProcess, in cache or running pages, to run service workers as well.
A context connection map is kept in Network Process to reuse context connections since these connections are not sessionID specific.
Migrate from a single boolean to a HashSet to track whether some connections are in the process of being created.
Previously if two requests to create connections were done shortly one after the other on different registrable
domains, the second request would not be processed.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
(WebKit::NetworkConnectionToWebProcess::didClose):
(WebKit::NetworkConnectionToWebProcess::establishSWServerConnection):
(WebKit::NetworkConnectionToWebProcess::establishSWContextConnection):
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didReceiveMessage):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
(WebKit::NetworkProcess::forEachSWServer):
(WebKit::NetworkProcess::needsServerToContextConnectionForRegistrableDomain const):
(WebKit::NetworkProcess::createServerToContextConnection):
(WebKit::NetworkProcess::postMessageToServiceWorkerClient):
(WebKit::NetworkProcess::registerSWServerConnection):
(WebKit::NetworkProcess::unregisterSWServerConnection):
(WebKit::NetworkProcess::registerSWContextConnection):
(WebKit::NetworkProcess::unregisterSWContextConnection):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::WebSWServerConnection):
(WebKit::WebSWServerConnection::postMessageToServiceWorkerClient):
- NetworkProcess/ServiceWorker/WebSWServerConnection.h:
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
(WebKit::WebSWServerToContextConnection::WebSWServerToContextConnection):
(WebKit::WebSWServerToContextConnection::~WebSWServerToContextConnection):
(WebKit::WebSWServerToContextConnection::postMessageToServiceWorkerClient):
(WebKit::WebSWServerToContextConnection::connectionMayNoLongerBeNeeded):
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h:
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.messages.in:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::openNetworkProcessConnection):
(WebKit::NetworkProcessProxy::establishWorkerContextConnectionToNetworkProcess):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::establishWorkerContextConnectionToNetworkProcess):
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::establishServiceWorkerContext):
- UIProcess/WebProcessProxy.h:
- WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveMessage):
(WebKit::NetworkProcessConnection::didClose):
(WebKit::NetworkProcessConnection::serviceWorkerConnectionForSession):
- WebProcess/Network/NetworkProcessConnection.h:
- WebProcess/Storage/WebSWClientConnection.cpp:
(WebKit::WebSWClientConnection::WebSWClientConnection):
(WebKit::WebSWClientConnection::~WebSWClientConnection):
(WebKit::WebSWClientConnection::messageSenderConnection const):
(WebKit::WebSWClientConnection::scheduleJobInServer):
(WebKit::WebSWClientConnection::finishFetchingScriptInServer):
(WebKit::WebSWClientConnection::addServiceWorkerRegistrationInServer):
(WebKit::WebSWClientConnection::removeServiceWorkerRegistrationInServer):
(WebKit::WebSWClientConnection::postMessageToServiceWorker):
(WebKit::WebSWClientConnection::registerServiceWorkerClient):
(WebKit::WebSWClientConnection::unregisterServiceWorkerClient):
(WebKit::WebSWClientConnection::didResolveRegistrationPromise):
(WebKit::WebSWClientConnection::matchRegistration):
(WebKit::WebSWClientConnection::runOrDelayTaskForImport):
(WebKit::WebSWClientConnection::whenRegistrationReady):
(WebKit::WebSWClientConnection::getRegistrations):
(WebKit::WebSWClientConnection::startFetch):
(WebKit::WebSWClientConnection::cancelFetch):
(WebKit::WebSWClientConnection::continueDidReceiveFetchResponse):
(WebKit::WebSWClientConnection::connectionToServerLost):
(WebKit::WebSWClientConnection::clear):
(WebKit::WebSWClientConnection::syncTerminateWorker):
(WebKit::WebSWClientConnection::updateThrottleState):
(WebKit::WebSWClientConnection::storeRegistrationsOnDiskForTesting):
- WebProcess/Storage/WebSWClientConnection.h:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::WebSWContextManagerConnection):
(WebKit::m_userAgent):
(WebKit::WebSWContextManagerConnection::postMessageToServiceWorkerClient):
- WebProcess/Storage/WebSWContextManagerConnection.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::establishWorkerContextConnectionToNetworkProcess):
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- 3:05 AM Changeset in webkit [249831] by
-
- 33 edits3 copies2 moves71 adds1 delete in trunk
Web Inspector: Formatter: Pretty Print HTML resources (including inline <script>/<style>)
https://bugs.webkit.org/show_bug.cgi?id=201535
<rdar://problem/29119232>
Reviewed by Devin Rousso.
Source/JavaScriptCore:
- debugger/Debugger.cpp:
(JSC::Debugger::resolveBreakpoint):
When resolving a breakpoint inside of an inline <script> we need to adjust
based on the starting position of the <script> in the HTML resource.
Source/WebInspectorUI:
Introduce HTMLFormatter, HTMLParser, and HTMLTreeBuilderFormatter.
- HTMLParser tokenizes HTML content and passes it to a tree builder.
- HTMLTreeBuilderFormatter uses those tokens to create a formatted dom tree of fake nodes.
- HTMLFormatter then builds formatted content and a FormatterSourceMap from that DOM tree.
The output of HTMLFormatter is intended to just modify whitespace. So it won't be a
100% compatible DOM, but will be useful for debugging and reading inline <style>
and <script>, which is a more common debugging scenario. It also maintains original
author attribute quotations or lack therefore, because again it tries to only
change whitespace. A separate tree builder could be used for tidying content.
This introduces a few tools for working with formatting:
- Tools/HTMLFormatter - debug the parser, tree builder, and output format
- Tools/SourceMaps - debug formatted content and source mappings
This also:
- renames "EsprimaFormatter" to "JSFormatter"
- eliminates an extra trailing newline in CSSFormatter output
- Tools/HTMLFormatter/HTMLTreeBuilderDebug.js: Added.
- Tools/HTMLFormatter/index.html: Added.
- Tools/HTMLFormatter/styles.css: Added.
Tool for debugging the HTML formatter components.
- Tools/SourceMaps/.gitignore: Added.
- Tools/SourceMaps/index.html: Added.
- Tools/SourceMaps/setup.sh: Added.
- Tools/SourceMaps/styles.css: Added.
Tool for debugging Formatter generated Source Maps.
- Tools/JSFormatter/JSFormatterDebug.js: Renamed from Source/WebInspectorUI/Tools/Formatting/EsprimaFormatterDebug.js.
- Tools/JSFormatter/codemirror-additions.css: Renamed from Source/WebInspectorUI/Tools/Formatting/codemirror-additions.css.
- Tools/JSFormatter/index.html: Renamed from Source/WebInspectorUI/Tools/Formatting/index.html.
Renamed this tool. EsprimaFormatter => JSFormatter.
- UserInterface/Controllers/FormatterSourceMap.js:
(WI.FormatterSourceMap.prototype.originalPositionToFormattedPosition):
(WI.FormatterSourceMap.prototype.formattedPositionToOriginalPosition):
New APIs used by tools and tests for translating "position" offsets and not line/columns.
- UserInterface/Workers/Formatter/JSFormatter.js: Renamed from Source/WebInspectorUI/UserInterface/Workers/Formatter/EsprimaFormatter.js.
(JSFormatter):
- UserInterface/Workers/Formatter/CSSFormatter.js:
(CSSFormatter):
Allow using a supplied builder, which is useful when formatting
inline content from HTMLFormatter (<style> / <script>).
- UserInterface/Workers/Formatter/FormatterContentBuilder.js:
(FormatterContentBuilder.prototype.get indentString):
(FormatterContentBuilder.prototype.get originalContent):
(FormatterContentBuilder.prototype.get indentLevel):
(FormatterContentBuilder.prototype.get originalOffset):
(FormatterContentBuilder.prototype.set originalOffset):
(FormatterContentBuilder.prototype.appendNonToken):
(FormatterContentBuilder.prototype.appendToken):
(FormatterContentBuilder.prototype.appendTokenWithPossibleNewlines):
(FormatterContentBuilder.prototype.appendMapping):
(FormatterContentBuilder.prototype.indentToLevel):
(FormatterContentBuilder.prototype.finish):
Provide API for getting / setting the original offset and indent level.
This is useful when the HTMLFormatter runs the CSSFormatter/JSFormatter
in a nested context (<style> / <script>). Add a few more APIs for
conveniences when appending tokens or important positions.
- UserInterface/Workers/Formatter/HTMLParser.js: Added.
(HTMLParser.prototype.parseDocument):
(HTMLParser.prototype._isEOF):
(HTMLParser.prototype._peek):
(HTMLParser.prototype._peekCharacterRegex):
(HTMLParser.prototype._peekString):
(HTMLParser.prototype._peekCaseInsensitiveString):
(HTMLParser.prototype._consumeWhitespace):
(HTMLParser.prototype._consumeUntilString):
(HTMLParser.prototype._consumeUntilRegex):
(HTMLParser.prototype._consumeDoubleQuotedString):
(HTMLParser):
Tokenize HTML content into nodes.
- UserInterface/Workers/Formatter/HTMLTreeBuilderFormatter.js: Added.
(HTMLTreeBuilderFormatter.prototype.get dom):
(HTMLTreeBuilderFormatter.prototype.begin):
(HTMLTreeBuilderFormatter.prototype.pushParserNode):
(HTMLTreeBuilderFormatter.prototype.end):
(HTMLTreeBuilderFormatter.prototype._pushParserNodeTopLevel):
(HTMLTreeBuilderFormatter.prototype._pushParserNodeStack):
(HTMLTreeBuilderFormatter.prototype._isEmptyNode):
(HTMLTreeBuilderFormatter.prototype._buildDOMNodeFromOpenTag):
(HTMLTreeBuilderFormatter.prototype._buildErrorNodeFromCloseTag):
(HTMLTreeBuilderFormatter.prototype._buildSimpleNodeFromParserNode):
(HTMLTreeBuilderFormatter):
Build a simple DOM tree from parser nodes.
- UserInterface/Workers/Formatter/HTMLFormatter.js: Added.
(HTMLFormatter.let.dom):
(HTMLFormatter):
(HTMLFormatter.prototype.get success):
(HTMLFormatter.prototype.get formattedText):
(HTMLFormatter.prototype.get sourceMapData):
(HTMLFormatter.prototype._walk):
(HTMLFormatter.prototype._walkChildren):
(HTMLFormatter.prototype._isNodeSelfClosing):
(HTMLFormatter.prototype._shouldHaveInlineContent):
(HTMLFormatter.prototype._hasMultipleNewLines):
(HTMLFormatter.prototype._buildAttributeString):
(HTMLFormatter.prototype._before):
(HTMLFormatter.prototype._after):
(HTMLFormatter.prototype._formatWithNestedFormatter):
(HTMLFormatter.prototype._formatScript):
(HTMLFormatter.prototype._formatStyle):
Output pretty printed text from a HTMLTreeBuilderFormatter dom tree.
- UserInterface/Proxies/FormatterWorkerProxy.js:
(WI.FormatterWorkerProxy.prototype.formatHTML):
- UserInterface/Workers/Formatter/FormatterWorker.js:
(FormatterWorker.prototype.formatJavaScript):
(FormatterWorker.prototype.formatCSS):
(FormatterWorker.prototype.formatHTML):
- UserInterface/Views/TextEditor.js:
(WI.TextEditor.prototype.hasFormatter):
(WI.TextEditor.prototype._canUseFormatterWorker):
(WI.TextEditor.prototype._startWorkerPrettyPrint):
Allow pretty printing HTML resources.
- UserInterface/Main.html:
- UserInterface/Test.html:
New resources.
LayoutTests:
Mark slow test.
- inspector/formatting/formatting-css.html:
- inspector/formatting/formatting-html-expected.txt: Added.
- inspector/formatting/formatting-html.html: Added.
- inspector/formatting/formatting-javascript-expected.txt:
- inspector/formatting/formatting-javascript.html:
- inspector/formatting/formatting-json-expected.txt:
- inspector/formatting/formatting-json.html:
- inspector/formatting/resources/formatting-utilities.js: Renamed from LayoutTests/inspector/formatting/resources/utilities.js.
Update formatting tests to use new path to utilities.
- inspector/formatting/resources/css-tests/basic-expected.css:
- inspector/formatting/resources/css-tests/gradient-expected.css:
- inspector/formatting/resources/css-tests/keyframes-expected.css:
- inspector/formatting/resources/css-tests/media-query-expected.css:
- inspector/formatting/resources/css-tests/selectors-expected.css:
- inspector/formatting/resources/css-tests/wrapping-expected.css:
- inspector/codemirror/resources/prettyprinting/css-tests/basic-expected.css:
- inspector/codemirror/resources/prettyprinting/css-tests/calc-expected.css:
- inspector/codemirror/resources/prettyprinting/css-tests/gradient-expected.css:
- inspector/codemirror/resources/prettyprinting/css-tests/keyframes-expected.css:
- inspector/codemirror/resources/prettyprinting/css-tests/media-query-expected.css:
- inspector/codemirror/resources/prettyprinting/css-tests/selectors-expected.css:
- inspector/codemirror/resources/prettyprinting/css-tests/wrapping-expected.css:
Eliminate an extra trailing newline in CSS formatted results.
- inspector/formatting/resources/html-tests/attributes-expected.html: Added.
- inspector/formatting/resources/html-tests/attributes.html: Added.
- inspector/formatting/resources/html-tests/auto-close-expected.html: Added.
- inspector/formatting/resources/html-tests/auto-close.html: Added.
- inspector/formatting/resources/html-tests/basic-1-expected.html: Added.
- inspector/formatting/resources/html-tests/basic-1.html: Added.
- inspector/formatting/resources/html-tests/basic-2-expected.html: Added.
- inspector/formatting/resources/html-tests/basic-2.html: Added.
- inspector/formatting/resources/html-tests/comments-expected.html: Added.
- inspector/formatting/resources/html-tests/comments.html: Added.
- inspector/formatting/resources/html-tests/eof-1-expected.html: Added.
- inspector/formatting/resources/html-tests/eof-1.html: Added.
- inspector/formatting/resources/html-tests/eof-2-expected.html: Added.
- inspector/formatting/resources/html-tests/eof-2.html: Added.
- inspector/formatting/resources/html-tests/eof-3-expected.html: Added.
- inspector/formatting/resources/html-tests/eof-3.html: Added.
- inspector/formatting/resources/html-tests/eof-4-expected.html: Added.
- inspector/formatting/resources/html-tests/eof-4.html: Added.
- inspector/formatting/resources/html-tests/eof-5-expected.html: Added.
- inspector/formatting/resources/html-tests/eof-5.html: Added.
- inspector/formatting/resources/html-tests/eof-6-expected.html: Added.
- inspector/formatting/resources/html-tests/eof-6.html: Added.
- inspector/formatting/resources/html-tests/inline-script-expected.html: Added.
- inspector/formatting/resources/html-tests/inline-script.html: Added.
- inspector/formatting/resources/html-tests/inline-style-expected.html: Added.
- inspector/formatting/resources/html-tests/inline-style.html: Added.
- inspector/formatting/resources/html-tests/list-expected.html: Added.
- inspector/formatting/resources/html-tests/list.html: Added.
- inspector/formatting/resources/html-tests/not-well-formed-1-expected.html: Added.
- inspector/formatting/resources/html-tests/not-well-formed-1.html: Added.
- inspector/formatting/resources/html-tests/not-well-formed-2-expected.html: Added.
- inspector/formatting/resources/html-tests/not-well-formed-2.html: Added.
- inspector/formatting/resources/html-tests/not-well-formed-3-expected.html: Added.
- inspector/formatting/resources/html-tests/not-well-formed-3.html: Added.
- inspector/formatting/resources/html-tests/self-closing-expected.html: Added.
- inspector/formatting/resources/html-tests/self-closing.html: Added.
HTMLFormatter tests.
- inspector/formatting/resources/html-source-map-tests/1.html: Added.
- inspector/formatting/resources/html-source-map-tests/2.html: Added.
- inspector/formatting/resources/css-source-map-tests/1.css: Added.
- inspector/formatting/resources/javascript-source-map-tests/1.js: Added.
- inspector/formatting/source-map-css-1-expected.txt: Added.
- inspector/formatting/source-map-css-1.html: Added.
- inspector/formatting/source-map-html-1-expected.txt: Added.
- inspector/formatting/source-map-html-1.html: Added.
- inspector/formatting/source-map-html-2-expected.txt: Added.
- inspector/formatting/source-map-html-2.html: Added.
- inspector/formatting/source-map-javascript-1-expected.txt: Added.
- inspector/formatting/source-map-javascript-1.html: Added.
- inspector/formatting/resources/source-map-utilities.js: Added.
(TestPage.registerInitializer.logLocationWithContext):
(TestPage.registerInitializer.async.runSourceMapTest):
(TestPage.registerInitializer.):
(TestPage.registerInitializer.async.loadFormattedContentAndSourceMap):
(TestPage.registerInitializer.async.loadSourceMapTestResource):
(TestPage.registerInitializer.window.addSourceMapTest):
(TestPage.registerInitializer):
New formatter source map tests to ensure we can go back and forth reasonably
between formatted content and original content.
- inspector/debugger/breakpoints/resolved-dump-all-inline-script-pause-locations-expected.txt: Added.
- inspector/debugger/breakpoints/resolved-dump-all-inline-script-pause-locations.html: Added.
- inspector/debugger/breakpoints/resources/dump-inline-scripts.html: Added.
- inspector/debugger/breakpoints/resources/dump.js:
(TestPage.registerInitializer.window.addDumpAllPauseLocationsTestCase):
(TestPage.registerInitializer.addDumpAllPauseLocationsTestCaseForScript):
(TestPage.registerInitializer):
- inspector/debugger/resources/log-pause-location.js:
(TestPage.registerInitializer.window.findScript):
(TestPage.registerInitializer.window.findResource):
Test for resolving breakpoints at column locations in <script> which was
not previously possible and would not have worked previously.
- 2:20 AM Changeset in webkit [249830] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] X86Registers.h callee-save register definition is wrong
https://bugs.webkit.org/show_bug.cgi?id=201756
Reviewed by Mark Lam.
I think nobody is using X86 JIT backend, but it is simply wrong.
edi and esi should be callee-save.
- assembler/X86Registers.h:
- 1:20 AM Changeset in webkit [249829] by
-
- 2 edits in trunk/Source/WebKitLegacy/win
[WinCairo][WK1] Accelerated Compositing can't be disabled by using WebPreferences::setAcceleratedCompositingEnabled
https://bugs.webkit.org/show_bug.cgi?id=201749
Reviewed by Don Olmstead.
WebPreferences::acceleratedCompositingEnabled always returned TRUE
for !USE(CA). It should reflect the pref value set by
setAcceleratedCompositingEnabled.
- WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings): Set kCFBooleanTrue to WebKitAcceleratedCompositingEnabledPreferenceKey even for !USE(CG).
(WebPreferences::acceleratedCompositingEnabled): Return the pref value for !USE(CA).
- 1:15 AM Changeset in webkit [249828] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: [Overrides] Command-Z doesn't undo changes after page reload
https://bugs.webkit.org/show_bug.cgi?id=201698
<rdar://problem/55276645>
Reviewed by Devin Rousso.
- UserInterface/Views/ContentViewContainer.js:
(WI.ContentViewContainer.prototype.closeAllContentViews):
Provide a filter to opt out of closing some content views.
- UserInterface/Views/SourcesNavigationSidebarPanel.js:
(WI.SourcesNavigationSidebarPanel.prototype._closeContentViewsFilter):
(WI.SourcesNavigationSidebarPanel.prototype._updateMainFrameTreeElement):
Avoid closing ContentViews for local resource overrides. This keeps the
SourceCodeTextEditor around and thus its undo/redo stack.
- 1:11 AM Changeset in webkit [249827] by
-
- 2 edits1 add in trunk/Tools
[JHBuild] Fix building gst-plugins-good against glibc 2.30
https://bugs.webkit.org/show_bug.cgi?id=201715
Reviewed by Xabier Rodriguez-Calvar.
- gstreamer/patches/gst-plugins-good-glibc-2.30-compat.patch: Added.
- 12:57 AM Changeset in webkit [249826] by
-
- 4 edits in trunk/Source/WebCore
Factor out duplicated functions from HTTPParsers.cpp and HTTPHeaderField.cpp
https://bugs.webkit.org/show_bug.cgi?id=201721
Reviewed by Don Olmstead.
No new tests needed.
- loader/HTTPHeaderField.cpp: Remove "static" from prototypes of functions needed in HTTPParsers.cpp.
(WebCore::RFC7230::isDelimiter):
(WebCore::RFC7230::isQuotedPairSecondOctet):
(WebCore::RFC7230::isCommentText):
- loader/HTTPHeaderField.h: Add prototypes of functions needed in HTTPParsers.cpp.
- platform/network/HTTPParsers.cpp: Use functionality from WebCore::RFC7230 where possible.
(WebCore::skipWhile): Moved to allow implementing skipWhiteSpace() in terms of skipWhile().
(WebCore::skipWhiteSpace): Implement using skipWhile() and the RFC7230::isWhitespace() predicate.
(WebCore::isValidAcceptHeaderValue): Replace usage of isDelimiterCharacter() with RFC7230::isDelimiter().
(WebCore::isValidHTTPToken): Replace usage of isHTTPTokenCharacter() with RFC7230::isTokenCharacter().
(WebCore::skipQuotedPair): Partially reimplement in terms of RFC7230::isQuotedPairSecondOctet().
(WebCore::skipComment): Replace usage of isCommentTextCharacter() with RFC7230::isCommentText().
(WebCore::skipHTTPToken): Replace usage of isHTTPTokenCharacter() with RFC7230::isTokenCharacter().
Sep 12, 2019:
- 11:15 PM Changeset in webkit [249825] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed debug build fix for GLib-based ports.
- platform/glib/UserAgentGLib.cpp: Add the HTTPParsers.h header
inclusion to bring in the isValidUserAgentHeaderValue() declaration as
required for an assertion check.
- 9:09 PM WPE edited by
- (diff)
- 7:03 PM Changeset in webkit [249824] by
-
- 2 edits in trunk/Source/WebKitLegacy/win
[Win][WK1] Invert Colors inverts a part of the viewport in high DPI
https://bugs.webkit.org/show_bug.cgi?id=201719
Reviewed by Don Olmstead.
- WebView.cpp:
(WebView::paintWithDirect2D):
(WebView::paintIntoBackingStore):
Call gc.restore() after inverting the dirty rect.
- 5:59 PM Changeset in webkit [249823] by
-
- 1414 edits346 adds37 deletes in trunk/Source/ThirdParty/ANGLE
Update ANGLE
https://bugs.webkit.org/show_bug.cgi?id=201156
Patch by James Darpinian <James Darpinian> on 2019-09-12
Reviewed by Alex Christensen.
Update to 2019-9-9, revision 79ad0411911b2fc84834c3705f55707be9e4b498
I merged a bunch of changes to upstream ANGLE, to minimize the changes
necessary when updating ANGLE in WebKit.
- ANGLE.plist: Update commit hashes
- ANGLE.txt: Removed in favor of LICENSE
- ANGLE.xcodeproj/project.pbxproj: Updated with upstream changes Also, copy src/commit.h to id/commit.h during build
- CMakeLists.txt: Updated with upstream changes Also, copy src/commit.h to id/commit.h during build
- Compiler.cmake: Updated with upstream changes
- GLESv2.cmake: Updated with upstream changes
- adjust-angle-include-paths-rule: Support "" as well as <> for includes
- adjust-angle-include-paths.sh: Support "" as well as <> for includes
- changes.diff: Pared down to just legal disclaimer and warning flag changes
- update-angle.sh: Update ANGLE.plist
- Many other files modified/added/removed upstream
- 5:39 PM Changeset in webkit [249822] by
-
- 61 edits1 delete in trunk/Source/WebCore
SVGLengthValue should use two enums for 'type' and 'mode' instead of one unsigned for 'units'
https://bugs.webkit.org/show_bug.cgi?id=201663
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-09-12
Reviewed by Simon Fraser, Nikolas Zimmermann.
SVGLengthValue had one unsigned to store SVGLengthMode and SVGLengthType.
It used to allocate the least significant 4 bits of this unsigned to the
SVGLengthMode while it leaves the rest for SVGLengthType.
This will not be needed if SVGLengthMode and SVGLengthType are made of
size uint_8.
Also in this patch:
-- SVGLengthNegativeValuesMode is made enum class.
-- SVGLengthValue::blend() is moved to SVGLengthValue.cpp so we do not
need to include SVGLengthContext.h in SVGLengthValue.h.
-- SVGLengthType and SVGLengthMode are moved to SVGLengthValue.h. Instead
of having SVGLengthValue.h includes SVGLengthConttext.h, the opposite
will happen.
-- SVGAnimatedPropertyDescription.h is deleted. It should have been deleted
with the SVG tear off objects removal.
-- SVGPropertyTraits<SVGAngleValue> and SVGPropertyTraits<SVGLengthValue>
are deleted. They should have been deleted with SVGAnimatedType removal.
-- SVGLengthValue::lengthModeForAnimatedLengthAttribute() is deleted. It
was only called from SVGPropertyTraits<SVGLengthValue>.
- WebCore.xcodeproj/project.pbxproj:
- css/StyleResolver.h:
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc):
- rendering/style/SVGRenderStyle.h:
(WebCore::SVGRenderStyle::initialBaselineShiftValue):
(WebCore::SVGRenderStyle::initialKerning):
- rendering/svg/RenderSVGEllipse.cpp:
(WebCore::RenderSVGEllipse::calculateRadiiAndCenter):
- rendering/svg/RenderSVGRect.cpp:
(WebCore::RenderSVGRect::updateShapeFromElement):
- rendering/svg/SVGPathData.cpp:
(WebCore::pathFromCircleElement):
(WebCore::pathFromEllipseElement):
(WebCore::pathFromRectElement):
- rendering/svg/SVGTextLayoutEngineBaseline.cpp:
(WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift const):
- rendering/svg/SVGTextLayoutEngineSpacing.cpp:
(WebCore::SVGTextLayoutEngineSpacing::calculateCSSKerningAndSpacing):
- svg/LinearGradientAttributes.h:
(WebCore::LinearGradientAttributes::LinearGradientAttributes):
- svg/RadialGradientAttributes.h:
(WebCore::RadialGradientAttributes::RadialGradientAttributes):
- svg/SVGAngleValue.h:
(WebCore::SVGPropertyTraits<SVGAngleValue>::initialValue): Deleted.
(WebCore::SVGPropertyTraits<SVGAngleValue>::toString): Deleted.
- svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::parseAttribute):
- svg/SVGCircleElement.h:
- svg/SVGCursorElement.cpp:
(WebCore::SVGCursorElement::parseAttribute):
- svg/SVGCursorElement.h:
- svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::parseAttribute):
- svg/SVGEllipseElement.h:
- svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::parseAttribute):
- svg/SVGFilterElement.h:
- svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::parseAttribute):
- svg/SVGFilterPrimitiveStandardAttributes.h:
- svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::parseAttribute):
- svg/SVGForeignObjectElement.h:
- svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::parseAttribute):
- svg/SVGImageElement.h:
- svg/SVGLength.h:
(WebCore::SVGLength::unitType const):
(WebCore::SVGLength::setValueForBindings):
(WebCore::SVGLength::newValueSpecifiedUnits):
(WebCore::SVGLength::convertToSpecifiedUnits):
(WebCore::SVGLength::unitType): Deleted.
- svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::valueForLength):
(WebCore::SVGLengthContext::convertValueToUserUnits const):
(WebCore::SVGLengthContext::convertValueFromUserUnits const):
(WebCore::SVGLengthContext::convertValueFromUserUnitsToPercentage const):
(WebCore::SVGLengthContext::convertValueFromPercentageToUserUnits const):
- svg/SVGLengthContext.h:
(): Deleted.
- svg/SVGLengthList.h:
(WebCore::SVGLengthList::create):
- svg/SVGLengthValue.cpp:
(WebCore::lengthTypeToString):
(WebCore::parseLengthType):
(WebCore::primitiveTypeToLengthType):
(WebCore::lengthTypeToPrimitiveType):
(WebCore::SVGLengthValue::SVGLengthValue):
(WebCore::SVGLengthValue::construct):
(WebCore::SVGLengthValue::blend):
(WebCore::SVGLengthValue::fromCSSPrimitiveValue):
(WebCore::SVGLengthValue::toCSSPrimitiveValue):
(WebCore::SVGLengthValue::setValueAsString):
(WebCore::SVGLengthValue::valueAsString const):
(WebCore::SVGLengthValue::valueForBindings const):
(WebCore::SVGLengthValue::setValue):
(WebCore::SVGLengthValue::convertToSpecifiedUnits):
(WebCore::storeUnit): Deleted.
(WebCore::extractMode): Deleted.
(WebCore::extractType): Deleted.
(WebCore::SVGLengthValue::operator== const): Deleted.
(WebCore::SVGLengthValue::operator!= const): Deleted.
(WebCore::SVGLengthValue::unitType const): Deleted.
(WebCore::SVGLengthValue::unitMode const): Deleted.
(WebCore::SVGLengthValue::valueAsPercentage const): Deleted.
(WebCore::SVGLengthValue::newValueSpecifiedUnits): Deleted.
(WebCore::SVGLengthValue::lengthModeForAnimatedLengthAttribute): Deleted.
- svg/SVGLengthValue.h:
(WebCore::SVGLengthValue::lengthType const):
(WebCore::SVGLengthValue::lengthMode const):
(WebCore::SVGLengthValue::isZero const):
(WebCore::SVGLengthValue::isRelative const):
(WebCore::SVGLengthValue::valueAsPercentage const):
(WebCore::SVGLengthValue::valueInSpecifiedUnits const):
(WebCore::operator==):
(WebCore::operator!=):
(WebCore::SVGLengthValue::blend const): Deleted.
(WebCore::SVGPropertyTraits<SVGLengthValue>::initialValue): Deleted.
(WebCore::SVGPropertyTraits<SVGLengthValue>::parse): Deleted.
(WebCore::SVGPropertyTraits<SVGLengthValue>::toString): Deleted.
- svg/SVGLineElement.cpp:
(WebCore::SVGLineElement::parseAttribute):
- svg/SVGLineElement.h:
- svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::parseAttribute):
- svg/SVGLinearGradientElement.h:
- svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::parseAttribute):
- svg/SVGMarkerElement.h:
- svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::parseAttribute):
- svg/SVGMaskElement.h:
- svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::parseAttribute):
- svg/SVGPatternElement.h:
- svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::parseAttribute):
- svg/SVGRadialGradientElement.h:
- svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::parseAttribute):
- svg/SVGRectElement.h:
- svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::parseAttribute):
(WebCore::SVGSVGElement::hasIntrinsicWidth const):
(WebCore::SVGSVGElement::hasIntrinsicHeight const):
(WebCore::SVGSVGElement::intrinsicWidth const):
(WebCore::SVGSVGElement::intrinsicHeight const):
- svg/SVGSVGElement.h:
- svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::parseAttribute):
(WebCore::SVGTextContentElement::textLengthAnimated):
- svg/SVGTextContentElement.h:
- svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::parseAttribute):
- svg/SVGTextPathElement.h:
- svg/SVGTextPositioningElement.h:
- svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::parseAttribute):
- svg/SVGUseElement.h:
- svg/properties/SVGAnimatedPropertyAccessorImpl.h:
- svg/properties/SVGAnimatedPropertyDescription.h: Removed.
- svg/properties/SVGAnimationAdditiveListFunctionImpl.h:
(WebCore::SVGAnimationLengthListFunction::animate):
- svg/properties/SVGAnimationAdditiveValueFunctionImpl.h:
(WebCore::SVGAnimationLengthFunction::animate):
- svg/properties/SVGValuePropertyAnimatorImpl.h:
- svg/properties/SVGValuePropertyListAnimatorImpl.h:
- 5:01 PM Changeset in webkit [249821] by
-
- 4 edits in trunk
Node.replaceChild()'s pre-replacement validations are not done in the right order
https://bugs.webkit.org/show_bug.cgi?id=201741
Reviewed by Geoffrey Garen.
LayoutTests/imported/w3c:
Rebaseline WPT test now that more checks are passing.
- web-platform-tests/dom/nodes/Node-replaceChild-expected.txt:
Source/WebCore:
Node.replaceChild()'s pre-replacement validations are not done in the right order (spec order):
In particular, we do not do check 3 (If child’s parent is not parent, then throw a
"NotFoundError" DOMException.) at the right time, because we were making this check
*after* checkPreReplacementValidity(), instead of *during*.
No new tests, rebaselined existing test.
- dom/ContainerNode.cpp:
(WebCore::checkAcceptChild):
(WebCore::ContainerNode::ensurePreInsertionValidity):
(WebCore::checkPreReplacementValidity):
(WebCore::ContainerNode::replaceChild):
- 4:59 PM Changeset in webkit [249820] by
-
- 36 edits in trunk/Source
Unreviewed, rolling out r249801.
Caused two servier worker layout tests to become flaky.
Reverted changeset:
"Use WebProcess processIdentifier to identify Service Worker
connections"
https://bugs.webkit.org/show_bug.cgi?id=201459
https://trac.webkit.org/changeset/249801
- 3:55 PM Changeset in webkit [249819] by
-
- 1 edit3 adds in trunk/LayoutTests
Unreviewed test gardening, rebaseline inspector/model/remote-object.html for WK1 after r249808.
- platform/mac-wk1/inspector/model/remote-object-expected.txt: Added.
- 3:46 PM Changeset in webkit [249818] by
-
- 9 edits in trunk/Source/WebKit
Pass sessionID to WebProcess with other WebProcessDataStoreParameters
https://bugs.webkit.org/show_bug.cgi?id=201730
Reviewed by Alex Christensen.
Pass sessionID to WebProcess with other WebProcessDataStoreParameters and store
it on the WebProcess object. In follow-up patches, I will use this sessionID
more and leverage the fact that we have one sessionID per Webprocess to simplify
the WebKit2-layer code.
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- Shared/WebProcessDataStoreParameters.h:
(WebKit::WebProcessDataStoreParameters::encode const):
(WebKit::WebProcessDataStoreParameters::decode):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::tryTakePrewarmedProcess):
(WebKit::WebProcessPool::webProcessDataStoreParameters):
(WebKit::WebProcessPool::initializeNewWebProcess):
(WebKit::WebProcessPool::sendWebProcessDataStoreParameters): Deleted.
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::setWebsiteDataStore):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::setWebsiteDataStoreParameters):
- WebProcess/WebProcess.h:
(WebKit::WebProcess::sessionID const):
- 3:12 PM Changeset in webkit [249817] by
-
- 21 edits in trunk
[WKTR] Drop TestRunner.setPrivateBrowsingEnabled_DEPRECATED()
https://bugs.webkit.org/show_bug.cgi?id=201546
Reviewed by Alex Christensen.
Drop TestRunner.setPrivateBrowsingEnabled_DEPRECATED() from WebKitTestRunner as it does not do
the right thing for WebKit2 and tests have been rewritten to not use it.
Source/WebCore:
- page/PageGroup.cpp:
(WebCore::PageGroup::addPage):
(WebCore::PageGroup::setSessionIDForTesting): Deleted.
- page/PageGroup.h:
(): Deleted.
Source/WebKit:
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::ensureLegacyPrivateBrowsingSession): Deleted.
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetPrivateBrowsingEnabled): Deleted.
- WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setPrivateBrowsingEnabled): Deleted.
- WebProcess/InjectedBundle/InjectedBundle.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::ensureLegacyPrivateBrowsingSessionInNetworkProcess): Deleted.
- WebProcess/WebProcess.h:
- WebProcess/WebStorage/StorageNamespaceImpl.cpp:
(WebKit::StorageNamespaceImpl::setSessionIDForTesting):
Tools:
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setPrivateBrowsingEnabled_DEPRECATED): Deleted.
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- 2:47 PM Changeset in webkit [249816] by
-
- 3 edits in trunk/Source/WebCore
[WHLSL] Slim down WSLMatrix and inline constructors in native code
https://bugs.webkit.org/show_bug.cgi?id=201568
Reviewed by Robin Morisset.
Before, our WSL Matrix in MSL had templates to figure out how we're
constructing it. For example, with a list of elements, or a list of
columns. However, we can remove this template code since when we're
emitting Metal code, we know exactly how we're constructing the WSL
matrix. So the NativeFunctionWriter now inlines the proper stores
into the WSLMatrix elements.
This patch speeds up Metal compile times in boids by ~4ms (16%) with
a p-value of 0.0001.
Covered by existing tests.
- Modules/webgpu/WHLSL/Metal/WHLSLMetalCodeGenerator.cpp:
(WebCore::WHLSL::Metal::metalCodePrologue):
- Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.cpp:
(WebCore::WHLSL::Metal::inlineNativeFunction):
- 1:18 PM Changeset in webkit [249815] by
-
- 7 edits in trunk/Source
REGRESSION (iOS 13): Top fixed element on apple.com flickers in size while pinching in
https://bugs.webkit.org/show_bug.cgi?id=201668
rdar://problem/51934041
Reviewed by Frédéric Wang.
Source/WebCore:
When computing the new layout viewport rect in ScrollingTreeFrameScrollingNode, use
"StickToDocumentBounds" mode, not "StickToViewportBounds", because otherwise we'll compute
a layout viewport that has negative top/left offsets which causes fixed elements to jump outside
the viewport. The only code that should be moving things outside the viewport (a temporary effect
that happens when pinching) is the 'isBelowMinimumScale' path in WebPageProxy::computeCustomFixedPositionRect().
With this change ScrollingTreeFrameScrollingNode no longer needs m_behaviorForFixed; it can be removed later.
Not currently testable, since it involves pinching in past minimum zoom and transients state.
- page/scrolling/ScrollingTreeFrameScrollingNode.cpp:
(WebCore::ScrollingTreeFrameScrollingNode::layoutViewportForScrollPosition const):
Source/WebKit:
The UI process can have transient state that pushes scrolling-tree-managed layers into custom
locations while pinch-zooming. We have to apply this state both when the visible rects
in the UI process change (existing code in -[WKContentView didUpdateVisibleRect:...]) and when
we get new layers from the web process (added in RemoteLayerTreeDrawingAreaProxy::commitLayerTree()
in this patch).
Move some code into WebPageProxy to create functions that we can call from both places.
For manual testing, visit a page with fixed banners, pinch in slightly, then pinch out and,
while keeping your fingers down, move the contents around.
- UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentView.mm:
(-[WKContentView didUpdateVisibleRect:unobscuredRect:contentInsets:unobscuredRectInScrollViewCoordinates:obscuredInsets:unobscuredSafeAreaInsets:inputViewBounds:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:enclosedInScrollableAncestorView:]):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::unconstrainedLayoutViewportRect const):
(WebKit::WebPageProxy::adjustLayersForLayoutViewport):
- 1:10 PM Changeset in webkit [249814] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening, rebaseline inspector/model/remote-object.html after r249808.
- inspector/model/remote-object-expected.txt:
- 12:36 PM Changeset in webkit [249813] by
-
- 3 edits2 adds in trunk
[Cocoa] Text indicator for an image link on the front page of apple.com looks wrong
https://bugs.webkit.org/show_bug.cgi?id=201724
<rdar://problem/54622894>
Reviewed by Tim Horton.
Source/WebCore:
When computing the bounds of the range (<a>, 0) to (<a>, 1) for a text indicator snapshot where <a> is a link
with a single non-breaking whitespace character, we currently use the text rect of the single space. This leads
to a confusing text indicator, as the resulting snapshot is a tiny blank square in the top left corner of the
link. This problem manifests when starting a drag or showing the system context menu on iOS, or force clicking
or three-finger tapping to show a preview on macOS.
To address this scenario, tweak the heuristic in the case where the text indicator option
TextIndicatorOptionUseBoundingRectAndPaintAllContentForComplexRanges is specified, such that we consider a range
containing only text with whitespaces to be "complex"; additionally, instead of falling back to the range's
bounding rect (which in this case is still tiny), fall back to the common ancestor container's bounding rect,
which encompasses not only the text inside the range but also the element containing the range (in this case,
the anchor element).
Test: fast/text-indicator/text-indicator-empty-link.html
- page/TextIndicator.cpp:
(WebCore::containsOnlyWhiteSpaceText):
Add a helper to determine whether a Range is comprised only of rendered text that only contains whitespace
characters.
(WebCore::initializeIndicator):
See ChangeLog entry above for more detail.
LayoutTests:
Add a new layout test to exercise this scenario.
- fast/text-indicator/text-indicator-empty-link-expected.txt: Added.
- fast/text-indicator/text-indicator-empty-link.html: Added.
- 9:55 AM Changeset in webkit [249812] by
-
- 4 edits in trunk
PDF exporting on iOS should include URL rects.
<rdar://problem/54900133> and https://bugs.webkit.org/show_bug.cgi?id=201693
Reviewed by Tim Horton.
Source/WebCore:
Turns out that PDF exporting on iOS works fine.
Tracking back through history it was disabled at least pre-2014.
It was almost certainly disabled because it didn't work way back then,
but it works great now.
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setURLForRect): Remove the iOS platform exclusion.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/PDFSnapshot.mm:
(TestWebKitAPI::TEST): Enable on iOS.
- 9:39 AM Changeset in webkit [249811] by
-
- 64 edits4 moves26 adds5 deletes in trunk/LayoutTests
Re-sync dom web-platform-tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=201697
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Re-sync dom web-platform-tests from upstream ab331d317554a3ba61.
- web-platform-tests/dom/META.yml: Added.
- web-platform-tests/dom/OWNERS: Removed.
- web-platform-tests/dom/abort/w3c-import.log:
- web-platform-tests/dom/collections/HTMLCollection-as-proto-length-get-throws-expected.txt: Removed.
- web-platform-tests/dom/collections/HTMLCollection-as-proto-length-get-throws.html: Removed.
- web-platform-tests/dom/collections/HTMLCollection-as-prototype-expected.txt: Added.
- web-platform-tests/dom/collections/HTMLCollection-as-prototype.html: Added.
- web-platform-tests/dom/collections/HTMLCollection-delete-expected.txt: Added.
- web-platform-tests/dom/collections/HTMLCollection-delete.html: Added.
- web-platform-tests/dom/collections/w3c-import.log:
- web-platform-tests/dom/historical-expected.txt:
- web-platform-tests/dom/historical.html:
- web-platform-tests/dom/idlharness.any.html: Added.
- web-platform-tests/dom/idlharness.any.js: Added.
- web-platform-tests/dom/idlharness.any.worker-expected.txt: Added.
- web-platform-tests/dom/idlharness.any.worker.html: Added.
- web-platform-tests/dom/idlharness.window-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/interfaces-expected.txt.
- web-platform-tests/dom/idlharness.window.html: Added.
- web-platform-tests/dom/idlharness.window.js: Added.
- web-platform-tests/dom/interfaces.html: Removed.
- web-platform-tests/dom/lists/DOMTokenList-coverage-for-attributes-expected.txt:
- web-platform-tests/dom/lists/DOMTokenList-coverage-for-attributes.html:
- web-platform-tests/dom/lists/w3c-import.log:
- web-platform-tests/dom/nodes/Comment-Text-constructor.js:
- web-platform-tests/dom/nodes/DOMImplementation-createDocument-expected.txt:
- web-platform-tests/dom/nodes/Document-Element-getElementsByTagName.js:
(test_getElementsByTagName):
- web-platform-tests/dom/nodes/Document-Element-getElementsByTagNameNS.js:
(test_getElementsByTagNameNS):
- web-platform-tests/dom/nodes/Document-URL-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-URL.sub-expected.txt.
- web-platform-tests/dom/nodes/Document-URL.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-URL.sub.html.
- web-platform-tests/dom/nodes/Document-constructor-expected.txt:
- web-platform-tests/dom/nodes/Document-constructor-svg.svg: Removed.
- web-platform-tests/dom/nodes/Document-constructor.html:
- web-platform-tests/dom/nodes/Document-contentType/contentType/w3c-import.log:
- web-platform-tests/dom/nodes/Document-contentType/resources/w3c-import.log:
- web-platform-tests/dom/nodes/Document-contentType/support/w3c-import.log:
- web-platform-tests/dom/nodes/Document-createAttribute-expected.txt:
- web-platform-tests/dom/nodes/Document-createAttribute.html:
- web-platform-tests/dom/nodes/Document-createElement-expected.txt:
- web-platform-tests/dom/nodes/Document-createElement-namespace-tests/w3c-import.log:
- web-platform-tests/dom/nodes/Document-createElement-namespace.html:
- web-platform-tests/dom/nodes/Document-createElement.html:
- web-platform-tests/dom/nodes/Document-createElementNS-expected.txt:
- web-platform-tests/dom/nodes/Document-createElementNS.js:
- web-platform-tests/dom/nodes/Document-createEvent.https-expected.txt: Added.
- web-platform-tests/dom/nodes/Document-createEvent.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.html.
- web-platform-tests/dom/nodes/Document-getElementsByClassName-expected.txt: Added.
- web-platform-tests/dom/nodes/Document-getElementsByClassName.html: Added.
- web-platform-tests/dom/nodes/Document-getElementsByTagName-expected.txt:
- web-platform-tests/dom/nodes/Document-getElementsByTagNameNS-expected.txt:
- web-platform-tests/dom/nodes/Element-getElementsByClassName-expected.txt:
- web-platform-tests/dom/nodes/Element-getElementsByClassName.html:
- web-platform-tests/dom/nodes/Element-getElementsByTagName-expected.txt:
- web-platform-tests/dom/nodes/Element-getElementsByTagNameNS-expected.txt:
- web-platform-tests/dom/nodes/Element-matches-expected.txt:
- web-platform-tests/dom/nodes/Element-webkitMatchesSelector-expected.txt:
- web-platform-tests/dom/nodes/Node-childNodes-expected.txt:
- web-platform-tests/dom/nodes/Node-childNodes.html:
- web-platform-tests/dom/nodes/Node-cloneNode-expected.txt:
- web-platform-tests/dom/nodes/Node-cloneNode.html:
- web-platform-tests/dom/nodes/Node-insertBefore-expected.txt:
- web-platform-tests/dom/nodes/Node-insertBefore.html:
- web-platform-tests/dom/nodes/Node-normalize-expected.txt:
- web-platform-tests/dom/nodes/Node-normalize.html:
- web-platform-tests/dom/nodes/Node-replaceChild-expected.txt:
- web-platform-tests/dom/nodes/Node-replaceChild.html:
- web-platform-tests/dom/nodes/Node-textContent.html:
- web-platform-tests/dom/nodes/ParentNode-children-expected.txt: Added.
- web-platform-tests/dom/nodes/ParentNode-children.html: Added.
- web-platform-tests/dom/nodes/ParentNode-querySelector-All-expected.txt:
- web-platform-tests/dom/nodes/ParentNode-querySelector-All-xht-expected.txt:
- web-platform-tests/dom/nodes/ParentNode-querySelector-All-xht.xht:
- web-platform-tests/dom/nodes/ParentNode-querySelector-All.html:
- web-platform-tests/dom/nodes/aria-element-reflection.tentative-expected.txt: Added.
- web-platform-tests/dom/nodes/aria-element-reflection.tentative.html: Added.
- web-platform-tests/dom/nodes/attributes.html:
- web-platform-tests/dom/nodes/pre-insertion-checks.js: Added.
(getNonParentNodes):
(getNonInsertableNodes):
(getNonDocumentParentNodes):
(test):
- web-platform-tests/dom/nodes/productions.js:
- web-platform-tests/dom/nodes/query-target-in-load-event-expected.txt: Added.
- web-platform-tests/dom/nodes/query-target-in-load-event.html: Added.
- web-platform-tests/dom/nodes/query-target-in-load-event.part.html: Added.
- web-platform-tests/dom/nodes/remove-and-adopt-crash-expected.txt: Added.
- web-platform-tests/dom/nodes/remove-and-adopt-crash.html: Added.
- web-platform-tests/dom/nodes/rootNode-expected.txt:
- web-platform-tests/dom/nodes/rootNode.html:
- web-platform-tests/dom/nodes/selectors.js:
- web-platform-tests/dom/nodes/w3c-import.log:
- web-platform-tests/dom/ranges/Range-intersectsNode-2-expected.txt: Added.
- web-platform-tests/dom/ranges/Range-intersectsNode-2.html: Added.
- web-platform-tests/dom/ranges/w3c-import.log:
- web-platform-tests/dom/w3c-import.log:
LayoutTests:
- TestExpectations:
- platform/mac-wk2/imported/w3c/web-platform-tests/dom/nodes/Node-cloneNode-expected.txt:
- tests-options.json:
- 8:53 AM WebKitGTK/2.26.x edited by
- (diff)
- 8:33 AM Changeset in webkit [249810] by
-
- 9 edits in trunk
[GTK][WPE] webkit_settings_set_user_agent() allows content forbidden in HTTP headers
https://bugs.webkit.org/show_bug.cgi?id=201077
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Add a function to validate whether a string contains a valid value
which can be used in a HTTP User-Agent header.
Covered by new WebCore API test HTTPParsers.ValidateUserAgentValues.
- platform/glib/UserAgentGLib.cpp:
(WebCore::standardUserAgent): Assert that the returned string is a valid User-Agent.
(WebCore::standardUserAgentForURL): Ditto.
- platform/network/HTTPParsers.cpp: Added a series of helper functions which skip over
characters of a string, which can be used to scan over the different elements of an
User-Agent value; all of them receive the position from the input string where to start
scanning, updating it to the position right after the scanned item (this follow the
convention already in use by other functions in the source file). Each of them has
been annotated with the RFC number and section which contains the definition of the
scanned item, and the corresponding BNF rules to make the code easier to follow.
(WebCore::skipWhile): Added.
(WebCore::isVisibleCharacter): Added.
(WebCore::isOctectInFieldContentCharacter): Added.
(WebCore::isCommentTextCharacter): Added.
(WebCore::isHTTPTokenCharacter): Added.
(WebCore::isValidHTTPToken): Refactored to use the new isHTTPTokenCharacter()
helper function instead of having the test inside the loop.
(WebCore::skipCharacter): Added.
(WebCore::skipQuotedPair): Added.
(WebCore::skipComment): Added.
(WebCore::skipHTTPToken): Added.
(WebCore::skipUserAgentProduct): Added.
(WebCore::isValidUserAgentHeaderValue): Added.
- platform/network/HTTPParsers.h: Add prototype for isValidUserAgentHeaderValue().
Source/WebKit:
- UIProcess/API/glib/WebKitSettings.cpp:
(webkit_settings_set_user_agent): Check the passed string using the new
WebCore::isValidUserAgentHeaderValue() function, and return early without
changing the setting if the string is not usable in the User-Agent HTTP
header.
Tools:
- TestWebKitAPI/CMakeLists.txt: Add missing HTTPParsers.cpp to be built into TestWebCore.
- TestWebKitAPI/Tests/WebCore/HTTPParsers.cpp:
(TestWebKitAPI::TEST): Add tests for WebCore::isValidUserAgentHeaderValue().
- 8:09 AM Changeset in webkit [249809] by
-
- 3 edits in trunk/LayoutTests
REGRESSION? (r249786): inspector/canvas/context-attributes.html is failing on macOS WK1
https://bugs.webkit.org/show_bug.cgi?id=201714
<rdar://problem/55290473>
Reviewed by Joseph Pecoraro.
- inspector/canvas/context-attributes.html:
- inspector/canvas/context-attributes-expected.txt:
- 8:04 AM Changeset in webkit [249808] by
-
- 54 edits4 adds in trunk
Harden JSC against the abuse of runtime options.
https://bugs.webkit.org/show_bug.cgi?id=201597
<rdar://problem/55167068>
Reviewed by Filip Pizlo.
JSTests:
Remove the call to forceGCSlowPaths(). This utility function will be removed.
The modern way to set the required option is to use @ requireOptions.
- stress/ftl-try-catch-oom-error-lazy-slow-path.js:
Source/JavaScriptCore:
Linux parts contributed by Carlos Garcia Campos <cgarcia@igalia.com>.
- Introduce a JSC::Config struct that will be protected as ReadOnly once the first VM instance is constructed. The end of the VM constructor calls Config::permanentlyFreeze() which will make the Config ReadOnly.
Note: this is currently only supported for OS(DARWIN) and OS(LINUX).
OS(WINDOWS) will need to implement some missing pieces before it can enable
this hardening (see FIXME in JSCConfig.cpp).
The hardening strategy here is to put immutable global values into the Config.
Any modifications that need to be made to these values must be done before the
first VM instance is done instantiating. This ensures that no script will
ever run while the Config is still writable.
Also, the policy for this hardening is that a process is opted in by default.
If there's a valid need to disable this hardening (e.g. for some test
environments), the relevant process will need to opt itself out by calling
Config::configureForTesting().
The jsc shell, WK2 UI and WebContent processes are opted in by default.
Only test processes may be opt out.
- Put all JSC::Options in the Config. This enforces the invariant that options can only be changed before we instantiate a VM. Once a VM is instantiated, the options are immutable.
- Remove functionForceGCSlowPaths() from the jsc shell. Setting Options::forceGCSlowPaths this way is no longer allowed.
- Re-factored the Options code (Options.h) into:
- OptionEntry.h: the data structure that stores the option values.
- OptionsList.h: the list of options.
- Options.h: the Options singleton object which is the interface for accessing options.
Renamed the JSC_OPTIONS macro to FOR_EACH_JSC_OPTION, because
"FOR_EACH_JSC_OPTION(SET_OPTION_VALUE)" reads a lot better than
"JSC_OPTIONS(FOR_EACH_OPTION)".
- Change testapi to call Config::configureForTesting(). Parts of testapi makes use of setting options in its tests. Hence, this hardening is disabled for testapi.
Note: the jsc shell does enable this hardening.
- Put ExecutableAllocator's immutable globals in the Config.
- RELEASE_ASSERT that restrictedOptionsEnabled in order to use the FunctionOverrides test utility.
- RELEASE_ASSERT that Options::useDollarVM() is enabled in order to use the $vm.
We must RELEASE_ASSERT(Options::useDollarVM()) in all JSDollarVM functions
that are non-trivial at an eye's glance. This includes (but is not limited to):
constructors
create() factory
createStructure() factory
finishCreation()
HOST_CALL or operation functions
Constructors and methods of utility and test classes
The only exception are some constexpr constructors used for instantiating
globals (since these must have trivial constructors) e.g. DOMJITAttribute.
Instead, these constructors should always be ALWAYS_INLINE.
- API/glib/JSCOptions.cpp:
(jscOptionsSetValue):
(jscOptionsGetValue):
(jsc_options_foreach):
(jsc_options_get_option_group):
- API/tests/testapi.c:
(main):
- API/tests/testapi.cpp:
(configureJSCForTesting):
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- jit/ExecutableAllocator.cpp:
(JSC::isJITEnabled):
(JSC::ExecutableAllocator::setJITEnabled):
(JSC::ExecutableAllocator::initializeUnderlyingAllocator):
(JSC::ExecutableAllocator::isValid const):
(JSC::ExecutableAllocator::underMemoryPressure):
(JSC::ExecutableAllocator::memoryPressureMultiplier):
(JSC::ExecutableAllocator::allocate):
(JSC::ExecutableAllocator::isValidExecutableMemory):
(JSC::ExecutableAllocator::getLock const):
(JSC::ExecutableAllocator::committedByteCount):
(JSC::ExecutableAllocator::dumpProfile):
(JSC::startOfFixedExecutableMemoryPoolImpl):
(JSC::endOfFixedExecutableMemoryPoolImpl):
(JSC::isJITPC):
(JSC::dumpJITMemory):
(JSC::ExecutableAllocator::initialize):
(JSC::ExecutableAllocator::singleton):
- jit/ExecutableAllocator.h:
(JSC::performJITMemcpy):
- jsc.cpp:
(GlobalObject::finishCreation):
(functionJSCOptions):
(jscmain):
(functionForceGCSlowPaths): Deleted.
- runtime/ConfigFile.cpp:
(JSC::ConfigFile::parse):
- runtime/InitializeThreading.cpp:
(JSC::initializeThreading):
- runtime/JSCConfig.cpp: Added.
(JSC::Config::disableFreezingForTesting):
(JSC::Config::enableRestrictedOptions):
(JSC::Config::permanentlyFreeze):
- runtime/JSCConfig.h: Added.
(JSC::Config::configureForTesting):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::exposeDollarVM):
- runtime/OptionEntry.h: Added.
(JSC::OptionRange::operator= ):
(JSC::OptionRange::rangeString const):
- runtime/Options.cpp:
(JSC::Options::isAvailable):
(JSC::scaleJITPolicy):
(JSC::Options::initialize):
(JSC::Options::setOptions):
(JSC::Options::setOptionWithoutAlias):
(JSC::Options::setAliasedOption):
(JSC::Option::dump const):
(JSC::Option::operator== const):
(): Deleted.
(JSC::Options::enableRestrictedOptions): Deleted.
- runtime/Options.h:
(JSC::Option::Option):
(JSC::Option::defaultOption const):
(JSC::Option::boolVal):
(JSC::Option::unsignedVal):
(JSC::Option::doubleVal):
(JSC::Option::int32Val):
(JSC::Option::optionRangeVal):
(JSC::Option::optionStringVal):
(JSC::Option::gcLogLevelVal):
(JSC::OptionRange::operator= ): Deleted.
(JSC::OptionRange::rangeString const): Deleted.
- runtime/OptionsList.h: Added.
(JSC::countNumberOfJSCOptions):
- runtime/VM.cpp:
(JSC::VM::VM):
- tools/FunctionOverrides.cpp:
(JSC::FunctionOverrides::FunctionOverrides):
(JSC::FunctionOverrides::reinstallOverrides):
(JSC::FunctionOverrides::initializeOverrideFor):
(JSC::FunctionOverrides::parseOverridesInFile):
- tools/JSDollarVM.cpp:
(JSC::JSDollarVMCallFrame::JSDollarVMCallFrame):
(JSC::JSDollarVMCallFrame::createStructure):
(JSC::JSDollarVMCallFrame::create):
(JSC::JSDollarVMCallFrame::finishCreation):
(JSC::JSDollarVMCallFrame::addProperty):
(JSC::Element::Element):
(JSC::Element::create):
(JSC::Element::createStructure):
(JSC::Root::Root):
(JSC::Root::create):
(JSC::Root::createStructure):
(JSC::SimpleObject::SimpleObject):
(JSC::SimpleObject::create):
(JSC::SimpleObject::createStructure):
(JSC::ImpureGetter::ImpureGetter):
(JSC::ImpureGetter::createStructure):
(JSC::ImpureGetter::create):
(JSC::ImpureGetter::finishCreation):
(JSC::ImpureGetter::getOwnPropertySlot):
(JSC::CustomGetter::CustomGetter):
(JSC::CustomGetter::createStructure):
(JSC::CustomGetter::create):
(JSC::CustomGetter::getOwnPropertySlot):
(JSC::CustomGetter::customGetter):
(JSC::CustomGetter::customGetterAcessor):
(JSC::RuntimeArray::create):
(JSC::RuntimeArray::destroy):
(JSC::RuntimeArray::getOwnPropertySlot):
(JSC::RuntimeArray::getOwnPropertySlotByIndex):
(JSC::RuntimeArray::createPrototype):
(JSC::RuntimeArray::createStructure):
(JSC::RuntimeArray::finishCreation):
(JSC::RuntimeArray::RuntimeArray):
(JSC::RuntimeArray::lengthGetter):
(JSC::DOMJITNode::DOMJITNode):
(JSC::DOMJITNode::createStructure):
(JSC::DOMJITNode::checkSubClassSnippet):
(JSC::DOMJITNode::create):
(JSC::DOMJITGetter::DOMJITGetter):
(JSC::DOMJITGetter::createStructure):
(JSC::DOMJITGetter::create):
(JSC::DOMJITGetter::DOMJITAttribute::DOMJITAttribute):
(JSC::DOMJITGetter::DOMJITAttribute::slowCall):
(JSC::DOMJITGetter::DOMJITAttribute::callDOMGetter):
(JSC::DOMJITGetter::customGetter):
(JSC::DOMJITGetter::finishCreation):
(JSC::DOMJITGetterComplex::DOMJITGetterComplex):
(JSC::DOMJITGetterComplex::createStructure):
(JSC::DOMJITGetterComplex::create):
(JSC::DOMJITGetterComplex::DOMJITAttribute::DOMJITAttribute):
(JSC::DOMJITGetterComplex::DOMJITAttribute::slowCall):
(JSC::DOMJITGetterComplex::DOMJITAttribute::callDOMGetter):
(JSC::DOMJITGetterComplex::functionEnableException):
(JSC::DOMJITGetterComplex::customGetter):
(JSC::DOMJITGetterComplex::finishCreation):
(JSC::DOMJITFunctionObject::DOMJITFunctionObject):
(JSC::DOMJITFunctionObject::createStructure):
(JSC::DOMJITFunctionObject::create):
(JSC::DOMJITFunctionObject::functionWithTypeCheck):
(JSC::DOMJITFunctionObject::functionWithoutTypeCheck):
(JSC::DOMJITFunctionObject::checkSubClassSnippet):
(JSC::DOMJITFunctionObject::finishCreation):
(JSC::DOMJITCheckSubClassObject::DOMJITCheckSubClassObject):
(JSC::DOMJITCheckSubClassObject::createStructure):
(JSC::DOMJITCheckSubClassObject::create):
(JSC::DOMJITCheckSubClassObject::functionWithTypeCheck):
(JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck):
(JSC::DOMJITCheckSubClassObject::finishCreation):
(JSC::DOMJITGetterBaseJSObject::DOMJITGetterBaseJSObject):
(JSC::DOMJITGetterBaseJSObject::createStructure):
(JSC::DOMJITGetterBaseJSObject::create):
(JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::DOMJITAttribute):
(JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::slowCall):
(JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::callDOMGetter):
(JSC::DOMJITGetterBaseJSObject::customGetter):
(JSC::DOMJITGetterBaseJSObject::finishCreation):
(JSC::JSTestCustomGetterSetter::JSTestCustomGetterSetter):
(JSC::JSTestCustomGetterSetter::create):
(JSC::JSTestCustomGetterSetter::createStructure):
(JSC::customSetAccessor):
(JSC::customSetValue):
(JSC::JSTestCustomGetterSetter::finishCreation):
(JSC::Element::handleOwner):
(JSC::Element::finishCreation):
(JSC::WasmStreamingParser::WasmStreamingParser):
(JSC::WasmStreamingParser::create):
(JSC::WasmStreamingParser::createStructure):
(JSC::WasmStreamingParser::finishCreation):
(JSC::functionWasmStreamingParserAddBytes):
(JSC::functionWasmStreamingParserFinalize):
(JSC::functionCrash):
(JSC::functionBreakpoint):
(JSC::functionDFGTrue):
(JSC::functionFTLTrue):
(JSC::functionCpuMfence):
(JSC::functionCpuRdtsc):
(JSC::functionCpuCpuid):
(JSC::functionCpuPause):
(JSC::functionCpuClflush):
(JSC::CallerFrameJITTypeFunctor::CallerFrameJITTypeFunctor):
(JSC::getExecutableForFunction):
(JSC::functionLLintTrue):
(JSC::functionJITTrue):
(JSC::functionNoInline):
(JSC::functionGC):
(JSC::functionEdenGC):
(JSC::functionDumpSubspaceHashes):
(JSC::functionCallFrame):
(JSC::functionCodeBlockForFrame):
(JSC::codeBlockFromArg):
(JSC::functionCodeBlockFor):
(JSC::functionDumpSourceFor):
(JSC::functionDumpBytecodeFor):
(JSC::doPrint):
(JSC::functionDataLog):
(JSC::functionPrint):
(JSC::functionDumpCallFrame):
(JSC::functionDumpStack):
(JSC::functionDumpRegisters):
(JSC::functionDumpCell):
(JSC::functionIndexingMode):
(JSC::functionInlineCapacity):
(JSC::functionValue):
(JSC::functionGetPID):
(JSC::functionHaveABadTime):
(JSC::functionIsHavingABadTime):
(JSC::functionCreateGlobalObject):
(JSC::functionCreateProxy):
(JSC::functionCreateRuntimeArray):
(JSC::functionCreateNullRopeString):
(JSC::functionCreateImpureGetter):
(JSC::functionCreateCustomGetterObject):
(JSC::functionCreateDOMJITNodeObject):
(JSC::functionCreateDOMJITGetterObject):
(JSC::functionCreateDOMJITGetterComplexObject):
(JSC::functionCreateDOMJITFunctionObject):
(JSC::functionCreateDOMJITCheckSubClassObject):
(JSC::functionCreateDOMJITGetterBaseJSObject):
(JSC::functionCreateWasmStreamingParser):
(JSC::functionSetImpureGetterDelegate):
(JSC::functionCreateBuiltin):
(JSC::functionGetPrivateProperty):
(JSC::functionCreateRoot):
(JSC::functionCreateElement):
(JSC::functionGetElement):
(JSC::functionCreateSimpleObject):
(JSC::functionGetHiddenValue):
(JSC::functionSetHiddenValue):
(JSC::functionShadowChickenFunctionsOnStack):
(JSC::functionSetGlobalConstRedeclarationShouldNotThrow):
(JSC::functionFindTypeForExpression):
(JSC::functionReturnTypeFor):
(JSC::functionFlattenDictionaryObject):
(JSC::functionDumpBasicBlockExecutionRanges):
(JSC::functionHasBasicBlockExecuted):
(JSC::functionBasicBlockExecutionCount):
(JSC::functionEnableExceptionFuzz):
(JSC::changeDebuggerModeWhenIdle):
(JSC::functionEnableDebuggerModeWhenIdle):
(JSC::functionDisableDebuggerModeWhenIdle):
(JSC::functionDeleteAllCodeWhenIdle):
(JSC::functionGlobalObjectCount):
(JSC::functionGlobalObjectForObject):
(JSC::functionGetGetterSetter):
(JSC::functionLoadGetterFromGetterSetter):
(JSC::functionCreateCustomTestGetterSetter):
(JSC::functionDeltaBetweenButterflies):
(JSC::functionTotalGCTime):
(JSC::functionParseCount):
(JSC::functionIsWasmSupported):
(JSC::JSDollarVM::finishCreation):
(JSC::JSDollarVM::addFunction):
(JSC::JSDollarVM::addConstructibleFunction):
- tools/JSDollarVM.h:
Source/WebCore:
No new tests. Covered by existing tests.
Enable Options::useDollarVM before we tell the JSGlobalObject to exposeDollarVM().
The $vm utility is now hardened to require that Options::useDollarVM be
enabled in order for it to be used.
- testing/js/WebCoreTestSupport.cpp:
(WebCoreTestSupport::injectInternalsObject):
Source/WebKit:
Linux parts contributed by Carlos Garcia Campos <cgarcia@igalia.com>.
- Add plumbing to allow WK2 tests to configureJSCForTesting().
- Removed the call enable Options::useBigInt in WebInspectorUI. WebInspectorUI doesn't really need it for now.
- PluginProcess/unix/PluginProcessMainUnix.cpp:
- Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.h:
(WebKit::XPCServiceInitializer):
- Shared/unix/AuxiliaryProcessMain.cpp:
(WebKit::AuxiliaryProcessMainBase::parseCommandLine):
- Shared/unix/AuxiliaryProcessMain.h:
(WebKit::AuxiliaryProcessMain):
- UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy):
- UIProcess/API/APIProcessPoolConfiguration.h:
- UIProcess/API/C/WKContextConfigurationRef.cpp:
(WKContextConfigurationSetShouldConfigureJSCForTesting):
- UIProcess/API/C/WKContextConfigurationRef.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration configureJSCForTesting]):
(-[_WKProcessPoolConfiguration setConfigureJSCForTesting:]):
- UIProcess/Launcher/ProcessLauncher.h:
(WebKit::ProcessLauncher::Client::shouldConfigureJSCForTesting const):
- UIProcess/Launcher/glib/ProcessLauncherGLib.cpp:
(WebKit::ProcessLauncher::launchProcess):
- UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::ProcessLauncher::launchProcess):
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::shouldConfigureJSCForTesting const):
- UIProcess/WebProcessProxy.h:
- WebProcess/WebPage/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::WebInspectorUI):
Source/WTF:
Add a source file that was missing so that Xcode can search its contents too.
- WTF.xcodeproj/project.pbxproj:
Tools:
Linux parts contributed by Carlos Garcia Campos <cgarcia@igalia.com>.
Windows parts contributed by Fujii Hironori <Fujii Hironori>.
Call JSC::Config::configureForTesting() in test harnesses or at the top of tests
to disable the hardening on test runs. Tests rely on setting options to enable
test features.
- DumpRenderTree/mac/DumpRenderTree.mm:
(dumpRenderTree):
- DumpRenderTree/win/DumpRenderTree.cpp:
(initialize):
- TestWebKitAPI/PlatformUtilities.cpp:
(TestWebKitAPI::Util::createContextWithInjectedBundle):
- TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
(main):
- TestWebKitAPI/Tests/WebKitCocoa/ApplePay.mm:
(TestWebKitAPI::TEST):
(TestWebKitAPI::runActiveSessionTest):
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewDiagnosticLogging.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
- TestWebKitAPI/Tests/mac/MediaPlaybackSleepAssertion.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/WKWebViewConfigurationExtras.h:
- TestWebKitAPI/WKWebViewConfigurationExtras.mm:
(+[WKWebViewConfiguration _test_configurationWithTestPlugInClassName:]):
(+[WKWebViewConfiguration _test_configurationWithTestPlugInClassName:configureJSCForTesting:]):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::generateContextConfiguration const):
- 7:13 AM Changeset in webkit [249807] by
-
- 7 edits in trunk/Tools
Fix PDFKit references in TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=201700
<rdar://problem/55279539>
Reviewed by Youenn Fablet.
These references fail in watchOS and tvOS, so remove them on those
platforms.
- TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/PDFSnapshot.mm:
- TestWebKitAPI/cocoa/TestPDFDocument.h:
- TestWebKitAPI/cocoa/TestPDFDocument.mm:
- TestWebKitAPI/config.h:
- 6:52 AM Changeset in webkit [249806] by
-
- 3 edits in trunk/Source/WebKit
Fix accidental copies in NetworkLoadChecker.cpp
https://bugs.webkit.org/show_bug.cgi?id=199528
Reviewed by Youenn Fablet.
Coverity noticed that we are copying a ResourceRequest and a ContentExtensionResultOrError
in NetworkLoadChecker::checkRequest by mistake, when the intent was to move them as rvalue
references.
- NetworkProcess/NetworkLoadChecker.cpp:
(WebKit::NetworkLoadChecker::checkRequest):
- NetworkProcess/NetworkLoadChecker.h:
- 3:59 AM Changeset in webkit [249805] by
-
- 2 edits in trunk/Source/WebKit
Web Inspector: Crashes when intercept response continues with original content
https://bugs.webkit.org/show_bug.cgi?id=201707
<rdar://problem/55261857>
Reviewed by David Kilzer.
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didReceiveData):
Copy the data for the callback since the deferral may run it much later.
- 3:53 AM Changeset in webkit [249804] by
-
- 2 edits in trunk/LayoutTests
Layout Test http/tests/xmlhttprequest/xmlhttprequest-overridemimetype-invalidstaterror.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=199075
Patch by Russell Epstein <Russell Epstein> on 2019-09-12
Reviewed by Youenn Fablet.
Currently, this test includes js-test.js twice, which is causing the test to be flaky.
- http/tests/xmlhttprequest/xmlhttprequest-overridemimetype-invalidstaterror.html: Removed second instance.
- 1:47 AM Changeset in webkit [249803] by
-
- 20 edits in trunk/Source
Use typed identifiers for IDB connection identifiers
https://bugs.webkit.org/show_bug.cgi?id=201682
Reviewed by Chris Dumez.
Source/WebCore:
Migrate from uint64_t to a typed identifier for IDB connection identifiers.
The identifier is reusing the process identifier type.
No change of behavior.
- Modules/indexeddb/client/IDBConnectionProxy.h:
(WebCore::IDBClient::IDBConnectionProxy::serverConnectionIdentifier const):
- Modules/indexeddb/client/IDBConnectionToServer.cpp:
(WebCore::IDBClient::IDBConnectionToServer::identifier const):
- Modules/indexeddb/client/IDBConnectionToServer.h:
- Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
- Modules/indexeddb/server/IDBConnectionToClient.cpp:
(WebCore::IDBServer::IDBConnectionToClient::identifier const):
- Modules/indexeddb/server/IDBConnectionToClient.h:
- Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
- Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::getAllDatabaseNames):
(WebCore::IDBServer::IDBServer::performGetAllDatabaseNames):
(WebCore::IDBServer::IDBServer::didGetAllDatabaseNames):
- Modules/indexeddb/server/IDBServer.h:
- Modules/indexeddb/shared/IDBRequestData.cpp:
(WebCore::IDBRequestData::serverConnectionIdentifier const):
- Modules/indexeddb/shared/IDBRequestData.h:
- Modules/indexeddb/shared/IDBResourceIdentifier.cpp:
(WebCore::IDBResourceIdentifier::IDBResourceIdentifier):
(WebCore::IDBResourceIdentifier::emptyValue):
(WebCore::IDBResourceIdentifier::deletedValue):
(WebCore::IDBResourceIdentifier::isHashTableDeletedValue const):
(WebCore::IDBResourceIdentifier::loggingString const):
- Modules/indexeddb/shared/IDBResourceIdentifier.h:
(WebCore::IDBResourceIdentifier::hash const):
(WebCore::IDBResourceIdentifier::connectionIdentifier const):
(WTF::crossThreadCopy):
- Modules/indexeddb/shared/InProcessIDBServer.cpp:
(WebCore::InProcessIDBServer::identifier const):
- Modules/indexeddb/shared/InProcessIDBServer.h:
Source/WebKit:
Remove no longer needed conversion from process identifier to idb connection identifier.
- NetworkProcess/IndexedDB/WebIDBConnectionToClient.h:
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
(WebKit::WebIDBConnectionToServer::identifier const):
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:
- 1:44 AM Changeset in webkit [249802] by
-
- 2 edits in trunk/Source/WebKit
[GTK] Allow CacheStore::destroyEngine to destroy default engine for soup.
https://bugs.webkit.org/show_bug.cgi?id=201690
Reviewed by Carlos Garcia Campos.
- NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::destroyEngine): As we do for
NetworkProcess::destroySession, also allow destroying the engine
for the default session for the same reason.
- 1:18 AM Changeset in webkit [249801] by
-
- 36 edits in trunk/Source
Use WebProcess processIdentifier to identify Service Worker connections
https://bugs.webkit.org/show_bug.cgi?id=201459
Reviewed by Chris Dumez.
Source/WebCore:
No observable change of behavior.
- workers/service/ServiceWorkerClient.cpp:
(WebCore::ServiceWorkerClient::postMessage):
Pass sessionID to ease NetworkProcess selection of the client process connection.
- workers/service/ServiceWorkerTypes.h:
Mark server connection identifier be process identifier based.
- workers/service/context/SWContextManager.h:
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::Connection::Connection):
- workers/service/server/SWServer.h:
Let connection identifier be set in constructor instead of generated.
Source/WebCore/PAL:
- pal/SessionID.h:
(PAL::SessionID::SessionID):
Source/WebKit:
Make WebSWServerConnection be stored in NetworkConnectionToWebProcess.
They are now keyed by session IDs hence why WebSWClientConnection is using the session ID as message connection ID.
Creation no longer requires a sync IPC since the connection is uniquely identified by its session ID and its process ID.
These IDs are stable over network process crash.
Within NetworkProcess, a server connection is managed by a SWServer which is session ID specific.
In that case, the process identifier uniquely identifies the connection.
Move WebSWServerToContextConnection be owned by NetworkConnectionToWebProcess.
Instead of creating it when webprocess is connecting to network process, use a dedicated IPC message.
This is similar to WebSWServerConnection once WebProcess asks to create it.
This will allow existing WebProcess, in cache or running pages, to run service workers as well.
A context connection map is kept in Network Process to reuse context connections since these connections are not sessionID specific.
Migrate from a single boolean to a HashSet to track whether some connections are in the process of being created.
Previously if two requests to create connections were done shortly one after the other on different registrable
domains, the second request would not be processed.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
(WebKit::NetworkConnectionToWebProcess::didClose):
(WebKit::NetworkConnectionToWebProcess::establishSWServerConnection):
(WebKit::NetworkConnectionToWebProcess::establishSWContextConnection):
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didReceiveMessage):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
(WebKit::NetworkProcess::forEachSWServer):
(WebKit::NetworkProcess::needsServerToContextConnectionForRegistrableDomain const):
(WebKit::NetworkProcess::createServerToContextConnection):
(WebKit::NetworkProcess::postMessageToServiceWorkerClient):
(WebKit::NetworkProcess::registerSWServerConnection):
(WebKit::NetworkProcess::unregisterSWServerConnection):
(WebKit::NetworkProcess::registerSWContextConnection):
(WebKit::NetworkProcess::unregisterSWContextConnection):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::WebSWServerConnection):
(WebKit::WebSWServerConnection::postMessageToServiceWorkerClient):
- NetworkProcess/ServiceWorker/WebSWServerConnection.h:
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
(WebKit::WebSWServerToContextConnection::WebSWServerToContextConnection):
(WebKit::WebSWServerToContextConnection::~WebSWServerToContextConnection):
(WebKit::WebSWServerToContextConnection::postMessageToServiceWorkerClient):
(WebKit::WebSWServerToContextConnection::connectionMayNoLongerBeNeeded):
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h:
- NetworkProcess/ServiceWorker/WebSWServerToContextConnection.messages.in:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::openNetworkProcessConnection):
(WebKit::NetworkProcessProxy::establishWorkerContextConnectionToNetworkProcess):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::establishWorkerContextConnectionToNetworkProcess):
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::establishServiceWorkerContext):
- UIProcess/WebProcessProxy.h:
- WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveMessage):
(WebKit::NetworkProcessConnection::didClose):
(WebKit::NetworkProcessConnection::serviceWorkerConnectionForSession):
- WebProcess/Network/NetworkProcessConnection.h:
- WebProcess/Storage/WebSWClientConnection.cpp:
(WebKit::WebSWClientConnection::WebSWClientConnection):
(WebKit::WebSWClientConnection::~WebSWClientConnection):
(WebKit::WebSWClientConnection::messageSenderConnection const):
(WebKit::WebSWClientConnection::scheduleJobInServer):
(WebKit::WebSWClientConnection::finishFetchingScriptInServer):
(WebKit::WebSWClientConnection::addServiceWorkerRegistrationInServer):
(WebKit::WebSWClientConnection::removeServiceWorkerRegistrationInServer):
(WebKit::WebSWClientConnection::postMessageToServiceWorker):
(WebKit::WebSWClientConnection::registerServiceWorkerClient):
(WebKit::WebSWClientConnection::unregisterServiceWorkerClient):
(WebKit::WebSWClientConnection::didResolveRegistrationPromise):
(WebKit::WebSWClientConnection::matchRegistration):
(WebKit::WebSWClientConnection::runOrDelayTaskForImport):
(WebKit::WebSWClientConnection::whenRegistrationReady):
(WebKit::WebSWClientConnection::getRegistrations):
(WebKit::WebSWClientConnection::startFetch):
(WebKit::WebSWClientConnection::cancelFetch):
(WebKit::WebSWClientConnection::continueDidReceiveFetchResponse):
(WebKit::WebSWClientConnection::connectionToServerLost):
(WebKit::WebSWClientConnection::clear):
(WebKit::WebSWClientConnection::syncTerminateWorker):
(WebKit::WebSWClientConnection::updateThrottleState):
(WebKit::WebSWClientConnection::storeRegistrationsOnDiskForTesting):
- WebProcess/Storage/WebSWClientConnection.h:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::WebSWContextManagerConnection):
(WebKit::m_userAgent):
(WebKit::WebSWContextManagerConnection::postMessageToServiceWorkerClient):
- WebProcess/Storage/WebSWContextManagerConnection.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::establishWorkerContextConnectionToNetworkProcess):
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- 12:50 AM Changeset in webkit [249800] by
-
- 3 edits in trunk/Source/WebInspectorUI
Uncaught Exception: TypeError: null is not an object (evaluating 'selectedTreeElement.representedObject')
https://bugs.webkit.org/show_bug.cgi?id=201716
<rdar://problem/55292615>
Reviewed by Devin Rousso.
- UserInterface/Views/DebuggerSidebarPanel.js:
(WI.DebuggerSidebarPanel.prototype._handleBreakpointElementAddedOrRemoved):
- UserInterface/Views/SourcesNavigationSidebarPanel.js:
(WI.SourcesNavigationSidebarPanel.prototype._handleBreakpointElementAddedOrRemoved):
If a breakpoint was removed without a selection in the breakpoint tree outline
then there may be no selected tree element.
Sep 11, 2019:
- 11:55 PM Changeset in webkit [249799] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION: Inspector Timeline always starts at about 500ms mark on a reload
https://bugs.webkit.org/show_bug.cgi?id=200637
<rdar://problem/54218967>
Reviewed by Devin Rousso.
The Timeline was getting a startTime value from before the user started
the timeline recording because of artificial adjustments that were made
to CPUTimelineRecords. Ignore adjusted values when updating the Timeline's
start and end times.
- UserInterface/Models/Timeline.js:
(WI.Timeline.prototype._updateTimesIfNeeded):
Use unadjusted times, which should fall in the user started / stopped
timeline range.
- UserInterface/Models/TimelineRecord.js:
(WI.TimelineRecord.prototype.get unadjustedStartTime):
(WI.TimelineRecord.prototype.get unadjustedEndTime):
Default implementation uses startTime/endTime.
- UserInterface/Models/CPUTimelineRecord.js:
(WI.CPUTimelineRecord.prototype.get unadjustedStartTime):
- UserInterface/Models/MemoryTimelineRecord.js:
(WI.MemoryTimelineRecord.prototype.get unadjustedStartTime):
Each of these adjusted their startTime.
- 11:51 PM Changeset in webkit [249798] by
-
- 9 edits2 adds in trunk
Source/ThirdParty/libwebrtc:
Disable DTLS1.0
https://bugs.webkit.org/show_bug.cgi?id=201679
Reviewed by Alex Christensen.
- Source/webrtc/rtc_base/opensslstreamadapter.cc:
Set minimum version to DTLS1.2 when DTLS1.2 is supported.
This makes sure any client will never downgrade to DTLS1.0.
Source/WebCore:
Disable DTLS1.0
https://bugs.webkit.org/show_bug.cgi?id=201679
Reviewed by Alex Christensen.
Add an option to force to use DTLS1.0 and nothing else.
Add internals API to enter in that mode to verify that normal configurations cannot communicate with DTLS1.0.
Test: webrtc/datachannel/dtls10.html
- platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
(WebCore::LibWebRTCProvider::setEnableWebRTCEncryption):
(WebCore::LibWebRTCProvider::setUseDTLS10):
- platform/mediastream/libwebrtc/LibWebRTCProvider.h:
- testing/Internals.cpp:
(WebCore::Internals::setUseDTLS10):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
Disable DTLS10
https://bugs.webkit.org/show_bug.cgi?id=201679
Reviewed by Alex Christensen.
- webrtc/datachannel/dtls10-expected.txt: Added.
- webrtc/datachannel/dtls10.html: Added.
- 11:04 PM Changeset in webkit [249797] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION: CPU: Overlay Markers for Thread views are off by 500ms
https://bugs.webkit.org/show_bug.cgi?id=201709
<rdar://problem/55289279>
Reviewed by Devin Rousso.
- UserInterface/Views/CPUTimelineView.js:
(WI.CPUTimelineView.prototype.layout):
Use the CPUTimelineRecord's timestamp (same as the record's endTime) as the
point when the CPU sample is taken. This aligns with the rest of the UI that
assumes that the 500ms before the sample point leads up to the sample value.
- 10:47 PM Changeset in webkit [249796] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Do not show override actions unless Sources tab is enabled
https://bugs.webkit.org/show_bug.cgi?id=201708
Reviewed by Devin Rousso.
- UserInterface/Controllers/NetworkManager.js:
(WI.NetworkManager.supportsLocalResourceOverrides):
- 10:40 PM Changeset in webkit [249795] by
-
- 4 edits in trunk/Source
Log timeoutValue passed on to CFNetwork
https://bugs.webkit.org/show_bug.cgi?id=201701
<rdar://problem/55279683>
Reviewed by Chris Dumez.
Source/WebCore:
Export ResourceRequest::timeoutValue for use in WebKit.
No new tests -- no new or changed functionality.
- platform/network/ResourceRequestBase.h:
Source/WebKit:
We occasionally see cases where resource-loads into CFNetwork take a
long time. Rather than timing out after the default of 60s, they stay
pending for many minutes. To better understand why this is happening,
log the timeoutValue we pass to CFNetwork when loading resources.
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::startNetworkLoad):
- 10:29 PM Changeset in webkit [249794] by
-
- 2 edits in trunk/Source/WebCore
[WHLSL] Remove null from the standard library
https://bugs.webkit.org/show_bug.cgi?id=201672
Reviewed by Robin Morisset.
I meant to remove
null
from the standard library in r249351, but
I had omitted the code I wrote to do that when I rebased that patch.
This patch removes it and ensures all tests pass when parsing the entire
standard library.
- Modules/webgpu/WHLSL/WHLSLStandardLibrary.txt:
- 10:06 PM Changeset in webkit [249793] by
-
- 1418 edits1 copy14 moves27 adds252 deletes in trunk/Source/ThirdParty/ANGLE
Unreviewed, rolling out r249791.
Breaks internal production builds.
Reverted changeset:
"Update ANGLE"
https://bugs.webkit.org/show_bug.cgi?id=201156
https://trac.webkit.org/changeset/249791
- 9:32 PM Changeset in webkit [249792] by
-
- 6 edits in trunk
Use same parser for <meta http-equiv="refresh"> and
Refresh
HTTP header
https://bugs.webkit.org/show_bug.cgi?id=201694
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline WPT test now that it is passing.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing-expected.txt:
Source/WebCore:
Use same parser for <meta http-equiv="refresh"> and
Refresh
HTTP header. This aligns
our behavior with Blink and makes us more compliant on web-platform-tests. This also
simplifies our code.
No new tests, rebaselined existing test.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::receivedFirstData):
- platform/network/HTTPParsers.cpp:
(WebCore::parseHTTPRefresh): Deleted.
- platform/network/HTTPParsers.h:
- 8:08 PM Changeset in webkit [249791] by
-
- 1414 edits346 adds37 deletes in trunk/Source/ThirdParty/ANGLE
Update ANGLE
https://bugs.webkit.org/show_bug.cgi?id=201156
Patch by James Darpinian <James Darpinian> on 2019-09-11
Reviewed by Alex Christensen.
Update to 2019-9-9, revision 79ad0411911b2fc84834c3705f55707be9e4b498
I merged a bunch of changes to upstream ANGLE, to minimize the changes
necessary when updating ANGLE in WebKit.
- ANGLE.plist: Update commit hashes
- ANGLE.txt: Removed in favor of LICENSE
- ANGLE.xcodeproj/project.pbxproj: Updated with upstream changes
Also, copy src/commit.h to id/commit.h during build
- CMakeLists.txt: Updated with upstream changes
Also, copy src/commit.h to id/commit.h during build
- Compiler.cmake: Updated with upstream changes
- GLESv2.cmake: Updated with upstream changes
- adjust-angle-include-paths-rule: Support "" as well as <> for includes
- adjust-angle-include-paths.sh: Support "" as well as <> for includes
- changes.diff: Pared down to just legal disclaimer and warning flag changes
- update-angle.sh: Update ANGLE.plist
- Many other files modified/added/removed upstream
- 7:31 PM Changeset in webkit [249790] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Canvas: checkerboard has too much contrast in dark mode
https://bugs.webkit.org/show_bug.cgi?id=201670
Reviewed by Timothy Hatcher.
- UserInterface/Views/CanvasTabContentView.css:
(.content-view.canvas > .preview > img, .content-view.canvas .preview-container > canvas): Deleted.
Don't force abackground-color: white;
in dark mode.
- 6:48 PM Changeset in webkit [249789] by
-
- 2 edits in trunk/Tools
[Win][MiniBrowser] Select all text in the URL bar by clicking it
https://bugs.webkit.org/show_bug.cgi?id=201677
Reviewed by Don Olmstead.
- MiniBrowser/win/MainWindow.cpp:
(EditProc): Post EM_SETSEL in WM_SETFOCUS to select all text.
- 6:06 PM Changeset in webkit [249788] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Elements: don't show Changes panel when selecting text node
https://bugs.webkit.org/show_bug.cgi?id=201669
Reviewed by Joseph Pecoraro.
Show Changes panel only for elements regardless of "Show only for selected node" setting.
- UserInterface/Views/ChangesDetailsSidebarPanel.js:
(WI.ChangesDetailsSidebarPanel.prototype.supportsDOMNode):
(WI.ChangesDetailsSidebarPanel.prototype.inspect): Deleted.
- 4:34 PM Changeset in webkit [249787] by
-
- 11 edits4 adds in trunk
[WHLSL] Ensure structs/arrays with pointers as fields are disallowed
https://bugs.webkit.org/show_bug.cgi?id=201525
Reviewed by Robin Morisset.
Source/WebCore:
This patch adds a pass which both ensures that references are always initialized with
concrete values and that we support logical mode validation by disallowing nested references.
Specifically, the pass:
- Disallows structs to have fields which are references. This prevents us from having to
figure out how to default initialize such a struct. We could relax this in the future if we
did an analysis on which structs contain reference fields, and ensure such struct variables
always have initializers. This would also require us to create constructors for structs which
initialize each field.
- We also do the same for arrays.
- References can only be one level deep. So no pointers to pointers. No references to
references, etc. This is to support logical mode validation rules.
Test: webgpu/whlsl/ensure-proper-pointer-usage.html
- Modules/webgpu/WHLSL/WHLSLCheckReferenceTypes.cpp: Added.
(WebCore::WHLSL::checkReferenceTypes):
- Modules/webgpu/WHLSL/WHLSLCheckReferenceTypes.h: Added.
- Modules/webgpu/WHLSL/WHLSLChecker.cpp:
(WebCore::WHLSL::Checker::visit):
- Modules/webgpu/WHLSL/WHLSLPrepare.cpp:
(WebCore::WHLSL::prepareShared):
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
LayoutTests:
This patch fixes a bug in our test harness where we forgot to wait for the gpu
device to load before running test harness tests. This patch fixes this oversight
and asserts that we have always finished loading before running a test.
- webgpu/whlsl/array-spec-tests.html:
- webgpu/whlsl/ensure-proper-pointer-usage-expected.txt: Added.
- webgpu/whlsl/ensure-proper-pointer-usage.html: Added.
- webgpu/whlsl/js/test-harness.js:
(Harness):
(Harness.prototype.async.requestDevice):
(Harness.prototype.async.callTypedFunction):
(Harness.prototype.async.checkCompileFail):
- webgpu/whlsl/pointer-spec-tests.html:
- webgpu/whlsl/test-harness-test.html:
- 4:28 PM Changeset in webkit [249786] by
-
- 38 edits4 moves12 adds8 deletes in trunk
Web Inspector: Canvas: instrument WebGPUDevice instead of GPUCanvasContext
https://bugs.webkit.org/show_bug.cgi?id=201650
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
Most of the actual "work" done with Web GPU actually uses a
WebGPUDevice
.
A
GPUCanvasContext
is basically just a display "client" of the device, and isn't even
required (e.g. compute pipeline). We should treat theGPUCanvasContext
almost like a
-webkit-canvas
client of aWebGPUDevice
.
- inspector/protocol/Canvas.json:
- Add
powerPreference
key toContextAttributes
type. - Rename
requestCSSCanvasClientNodes
command torequestClientNodes
for the above reason. - Rename
cssCanvasClientNodesChanged
event toclientNodesChanged
for the above reason. - Rename
resolveCanvasContext
command toresolveContext
since aWebGPUDevice
isn't really a "canvas".
- Add
Source/WebCore:
Most of the actual "work" done with Web GPU actually uses a
WebGPUDevice
.
A
GPUCanvasContext
is basically just a display "client" of the device, and isn't even
required (e.g. compute pipeline). We should treat theGPUCanvasContext
almost like a
-webkit-canvas
client of aWebGPUDevice
.
Tests: inspector/canvas/create-context-webgpu.html
inspector/canvas/requestClientNodes-webgpu.html
inspector/canvas/resolveContext-webgpu.html
- Modules/webgpu/WebGPUAdapter.cpp:
(WebCore::WebGPUAdapter::requestDevice const):
Notify web inspector after a device is created.
- Modules/webgpu/WebGPUDevice.idl:
- Modules/webgpu/WebGPUDevice.h:
- Modules/webgpu/WebGPUDevice.cpp:
(WebCore::WebGPUDevice::instances): Added.
(WebCore::WebGPUDevice::instancesMutex): Added.
(WebCore::WebGPUDevice::~WebGPUDevice): Added.
Notify web inspector when the device is about to be destructed.
- Modules/webgpu/GPUCanvasContext.h:
- Modules/webgpu/GPUCanvasContext.cpp:
(WebCore::GPUCanvasContext::create):
(WebCore::GPUCanvasContext::configureSwapChain):
- inspector/InspectorCanvas.h:
- inspector/InspectorCanvas.cpp:
(WebCore::canvasIfContextMatchesDevice): Added.
(WebCore::InspectorCanvas::create):
(WebCore::InspectorCanvas::InspectorCanvas):
(WebCore::InspectorCanvas::canvasContext const): Added.
(WebCore::InspectorCanvas::canvasElement const): Added.
(WebCore::InspectorCanvas::isDeviceForCanvasContext const): Added.
(WebCore::InspectorCanvas::deviceContext const): Added.
(WebCore::InspectorCanvas::scriptExecutionContext const): Added.
(WebCore::InspectorCanvas::resolveContext const): Added.
(WebCore::InspectorCanvas::clientNodes const): Added.
(WebCore::InspectorCanvas::canvasChanged):
(WebCore::InspectorCanvas::resetRecordingData):
(WebCore::InspectorCanvas::recordAction):
(WebCore::InspectorCanvas::buildObjectForCanvas):
(WebCore::InspectorCanvas::releaseObjectForRecording):
(WebCore::InspectorCanvas::getCanvasContentAsDataURL):
(WebCore::InspectorCanvas::buildInitialState):
(WebCore::InspectorCanvas::canvasElement): Deleted.
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didCreateWebGPUDeviceImpl): Added.
(WebCore::InspectorInstrumentation::willDestroyWebGPUDeviceImpl): Added.
(WebCore::InspectorInstrumentation::willConfigureSwapChainImpl): Added.
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didCreateWebGPUDevice): Added.
(WebCore::InspectorInstrumentation::willDestroyWebGPUDevice): Added.
(WebCore::InspectorInstrumentation::willConfigureSwapChain): Added.
- inspector/agents/InspectorCanvasAgent.h:
- inspector/agents/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::enable):
(WebCore::InspectorCanvasAgent::requestClientNodes): Added.
(WebCore::InspectorCanvasAgent::resolveContext): Added.
(WebCore::InspectorCanvasAgent::startRecording):
(WebCore::InspectorCanvasAgent::stopRecording):
(WebCore::InspectorCanvasAgent::frameNavigated):
(WebCore::InspectorCanvasAgent::didChangeCSSCanvasClientNodes):
(WebCore::InspectorCanvasAgent::didChangeCanvasMemory):
(WebCore::InspectorCanvasAgent::canvasDestroyed):
(WebCore::InspectorCanvasAgent::recordCanvasAction):
(WebCore::InspectorCanvasAgent::didFinishRecordingCanvasFrame):
(WebCore::InspectorCanvasAgent::didCreateWebGPUDevice): Added.
(WebCore::InspectorCanvasAgent::willDestroyWebGPUDevice): Added.
(WebCore::InspectorCanvasAgent::willConfigureSwapChain): Added.
(WebCore::InspectorCanvasAgent::clearCanvasData):
(WebCore::InspectorCanvasAgent::bindCanvas):
(WebCore::InspectorCanvasAgent::unbindCanvas):
(WebCore::InspectorCanvasAgent::findInspectorCanvas):
(WebCore::InspectorCanvasAgent::requestCSSCanvasClientNodes): Deleted.
(WebCore::contextAsScriptValue): Deleted.
(WebCore::InspectorCanvasAgent::resolveCanvasContext): Deleted.
- inspector/InspectorShaderProgram.cpp:
(WebCore::InspectorShaderProgram::context const):
Source/WebInspectorUI:
Most of the actual "work" done with Web GPU actually uses a
WebGPUDevice
.
A
GPUCanvasContext
is basically just a display "client" of the device, and isn't even
required (e.g. compute pipeline). We should treat theGPUCanvasContext
almost like a
-webkit-canvas
client of aWebGPUDevice
.
- UserInterface/Protocol/CanvasObserver.js:
(WI.CanvasObserver.prototype.clientNodesChanged): Added.
(WI.CanvasObserver.prototype.cssCanvasClientNodesChanged):
- UserInterface/Controllers/CanvasManager.js:
(WI.CanvasManager.prototype.clientNodesChanged): Added.
(WI.CanvasManager.prototype.cssCanvasClientNodesChanged): Deleted.
- UserInterface/Models/Canvas.js:
(WI.Canvas.resetUniqueDisplayNameNumbers):
(WI.Canvas.prototype.get displayName):
(WI.Canvas.prototype.requestNode):
(WI.Canvas.prototype.requestClientNodes): Added.
(WI.Canvas.prototype.requestSize):
(WI.Canvas.prototype.clientNodesChanged): Added.
(WI.Canvas.prototype.requestCSSCanvasClientNodes): Deleted.
(WI.Canvas.prototype.cssCanvasClientNodesChanged): Deleted.
- UserInterface/Protocol/RemoteObject.js:
(WI.RemoteObject.resolveCanvasContext):
- UserInterface/Views/CanvasContentView.js:
(WI.CanvasContentView.prototype.attached):
(WI.CanvasContentView.prototype._refreshPixelSize):
- UserInterface/Views/CanvasDetailsSidebarPanel.js:
(WI.CanvasDetailsSidebarPanel.prototype.set canvas):
(WI.CanvasDetailsSidebarPanel.prototype.initialLayout):
(WI.CanvasDetailsSidebarPanel.prototype.layout):
(WI.CanvasDetailsSidebarPanel.prototype._refreshSourceSection):
(WI.CanvasDetailsSidebarPanel.prototype._refreshClientsSection): Added.
(WI.CanvasDetailsSidebarPanel.prototype._refreshCSSCanvasSection): Deleted.
- UserInterface/Views/CanvasOverviewContentView.js:
(WI.CanvasOverviewContentView.prototype._contentViewMouseEnter):
- UserInterface/Views/CanvasTreeElement.js:
(WI.CanvasTreeElement.prototype._handleMouseOver):
- Localizations/en.lproj/localizedStrings.js:
LayoutTests:
- inspector/canvas/create-context-webgpu.html:
- inspector/canvas/create-context-webgpu-expected.txt:
- inspector/canvas/resources/create-context-utilities.js:
(createDetachedCanvas):
(createCSSCanvas):
(destroyCanvases):
- inspector/canvas/requestClientNodes.html: Added.
- inspector/canvas/requestClientNodes-expected.txt: Added.
- inspector/canvas/requestClientNodes-css.html: Renamed from LayoutTests/inspector/canvas/css-canvas-clients.html.
- inspector/canvas/requestClientNodes-css-expected.txt: Renamed from LayoutTests/inspector/canvas/css-canvas-clients-expected.txt.
- inspector/canvas/requestClientNodes-webgpu.html: Added.
- inspector/canvas/requestClientNodes-webgpu-expected.txt: Added.
- inspector/canvas/resolveContext-2d.html: Renamed from LayoutTests/inspector/canvas/resolveCanvasContext-2d.html.
- inspector/canvas/resolveContext-2d-expected.txt: Renamed from LayoutTests/inspector/canvas/resolveCanvasContext-2d-expected.txt.
- inspector/canvas/resolveContext-bitmaprenderer.html: Renamed from LayoutTests/inspector/canvas/resolveCanvasContext-bitmaprenderer.html.
- inspector/canvas/resolveContext-bitmaprenderer-expected.txt: Renamed from LayoutTests/inspector/canvas/resolveCanvasContext-bitmaprenderer-expected.txt.
- inspector/canvas/resolveContext-webgl.html: Renamed from LayoutTests/inspector/canvas/resolveCanvasContext-webgl.html.
- inspector/canvas/resolveContext-webgl-expected.txt: Renamed from LayoutTests/inspector/canvas/resolveCanvasContext-webgl-expected.txt.
- inspector/canvas/resolveContext-webgl2.html: Renamed from LayoutTests/inspector/canvas/resolveCanvasContext-webgl2.html.
- inspector/canvas/resolveContext-webgl2-expected.txt: Renamed from LayoutTests/inspector/canvas/resolveCanvasContext-webgl2-expected.txt.
- inspector/canvas/resolveContext-webgpu.html: Renamed from LayoutTests/inspector/canvas/resolveCanvasContext-webgpu.html.
- inspector/canvas/resolveContext-webgpu-expected.txt: Renamed from LayoutTests/inspector/canvas/resolveCanvasContext-webgpu-expected.txt.
- inspector/canvas/context-attributes-expected.txt:
- platform/gtk/TestExpectations:
- platform/ios/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/mac/TestExpectations:
- platform/win/TestExpectations:
- platform/wincairo/TestExpectations:
- platform/wpe/TestExpectations:
- 4:10 PM Changeset in webkit [249785] by
-
- 2 edits in trunk/Source/WebKit
Protect UserMediaRequest when stopping it
https://bugs.webkit.org/show_bug.cgi?id=201687
<rdar://problem/55241215>
Reviewed by Eric Carlson.
By removing the request from the map, we may destroy the request.
To make sure it stays alive, take the request from the map.
- WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
(WebKit::UserMediaPermissionRequestManager::cancelUserMediaRequest):
- 4:05 PM Changeset in webkit [249784] by
-
- 7 edits in branches/safari-608.2.11.1-branch/Source
Versioning.
- 3:57 PM Changeset in webkit [249783] by
-
- 1 copy in tags/Safari-608.2.11.1.5
Tag Safari-608.2.11.1.5.
- 3:42 PM Changeset in webkit [249782] by
-
- 3 edits2 adds in trunk/LayoutTests
Stop using testRunner.setPrivateBrowsingEnabled_DEPRECATED() in http/tests/cache-storage/cache-persistency.https.html
https://bugs.webkit.org/show_bug.cgi?id=201691
Reviewed by Alex Christensen.
Split cache-persistency.https.html into 2 tests (one for private session and one for
regular session) to avoid relying on legacy testRunner.setPrivateBrowsingEnabled_DEPRECATED().
- http/tests/cache-storage/cache-persistency-private-expected.txt: Added.
- http/tests/cache-storage/cache-persistency-private.html: Added.
- http/tests/cache-storage/cache-persistency.https-expected.txt:
- http/tests/cache-storage/cache-persistency.https.html:
- 3:38 PM Changeset in webkit [249781] by
-
- 5 edits in trunk
Posting a message to a redundant service worker should fail silently instead of throwing
https://bugs.webkit.org/show_bug.cgi?id=201696
Reviewed by Geoffrey Garen.
LayoutTests/imported/w3c:
Rebaseline WPT test now that one more check is passing.
- web-platform-tests/service-workers/service-worker/postmessage.https-expected.txt:
Source/WebCore:
Posting a message to a redundant service worker should fail silently instead of throwing:
- https://w3c.github.io/ServiceWorker/#dom-serviceworker-postmessage-message-options
- https://w3c.github.io/ServiceWorker/#run-service-worker (step 2)
No new tests, rebaselined existing test.
- workers/service/ServiceWorker.cpp:
(WebCore::ServiceWorker::postMessage):
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::runServiceWorkerIfNecessary):
- 3:36 PM Changeset in webkit [249780] by
-
- 24 edits9 adds in trunk
[JSC] Add StringCodePointAt intrinsic
https://bugs.webkit.org/show_bug.cgi?id=201673
Reviewed by Michael Saboff.
JSTests:
- stress/string-char-at-constant-index-out-of-range.js: Added.
(shouldBe):
(test):
- stress/string-char-code-at-constant-index-out-of-range.js: Added.
(shouldBe):
(test):
- stress/string-code-point-at--out-of-range.js: Added.
(shouldBe):
(test):
- stress/string-code-point-at-basic.js: Added.
(test):
- stress/string-code-point-at-constant-index-out-of-range.js: Added.
(shouldBe):
(test):
- stress/string-code-point-at-constant-int32-max-index-out-of-range.js: Added.
(shouldBe):
(test):
- stress/string-code-point-at-constant-surrogate-pair.js: Added.
(shouldBe):
(test):
(breaking):
- stress/string-code-point-at-surrogate-pair.js: Added.
(shouldBe):
- stress/string-code-point-at.js: Added.
(shouldBe):
Source/JavaScriptCore:
JetStream2/UniPoker executes String#codePointAt frequently. We should handle it in ThunkGenerator, DFG, and FTL like we are doing so for String#charCodeAt.
This patch adds these supports for String#codePointAt to get ~10% score improvement in JetStream2/UniPoker.
In ThunkGenerator, we add a thunk for String#codePointAt, which accelerates LLInt and Baseline. In DFG, we handle this as StringCodePointAt node, and emit
inlined code in DFG and FTL. The characteristics of StringCodePointAt node is basically the same to StringCharAt. It has String array-mode, so it emits
preceding CheckArray. This ensures that (1) StringCodePointAt node itself does not do GC since the string is always resolved, and (2) we can skip the rope
check. This thing is just the same to the existing StringCharCodeAt mechanism.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGBackwardsPropagationPhase.cpp:
(JSC::DFG::BackwardsPropagationPhase::propagate):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNode.h:
(JSC::DFG::Node::hasArrayMode):
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileStringCodePointAt):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileStringCodePointAt):
- jit/JITInlines.h:
(JSC::JIT::emitLoadCharacterString):
- jit/ThunkGenerators.cpp:
(JSC::stringGetByValGenerator):
(JSC::stringCharLoad):
(JSC::stringPrototypeCodePointAtThunkGenerator):
- jit/ThunkGenerators.h:
- runtime/Intrinsic.cpp:
(JSC::intrinsicName):
- runtime/Intrinsic.h:
- runtime/StringPrototype.cpp:
(JSC::StringPrototype::finishCreation):
- runtime/VM.cpp:
(JSC::thunkGeneratorForIntrinsic):
- 3:27 PM Changeset in webkit [249779] by
-
- 19 edits in trunk
Align our XPath API with the specification and other browsers
https://bugs.webkit.org/show_bug.cgi?id=201660
Reviewed by Geoffrey Garen.
LayoutTests/imported/w3c:
Rebaseline WPT tests now that more checks are passing.
- web-platform-tests/dom/interfaces-expected.txt:
Source/WebCore:
Align our XPath API with the specification and other browsers:
- Document/XPathEvaluator.createExpression()'s first parameter should be mandatory
- Document/XPathEvaluator.evaluate()'s first 2 parameters should be mandatory
- XPathExpression.evaluate()'s first parameter should be mandatory
I have confirmed in the latest Chrome and Firefox that they match the specification.
No new tests, rebaselined existing test.
- dom/Document.cpp:
(WebCore::Document::evaluate):
- dom/Document.h:
- dom/Document.idl:
- inspector/InspectorNodeFinder.cpp:
(WebCore::InspectorNodeFinder::searchUsingXPath):
- xml/XPathEvaluator.cpp:
(WebCore::XPathEvaluator::evaluate):
- xml/XPathEvaluator.h:
- xml/XPathEvaluator.idl:
- xml/XPathExpression.cpp:
(WebCore::XPathExpression::evaluate):
- xml/XPathExpression.h:
- xml/XPathExpression.idl:
- xml/XPathUtil.cpp:
(WebCore::XPath::isValidContextNode):
- xml/XPathUtil.h:
- 2:43 PM Changeset in webkit [249778] by
-
- 52 edits1 copy1 move4 adds in trunk
Unreviewed, rolling out r249768.
Caused 4 API tests to assert, perf test failures, and layout
test crashes under ASan
Reverted changeset:
"Remove unnecessary abstractions around WebsiteDataStore"
https://bugs.webkit.org/show_bug.cgi?id=201655
https://trac.webkit.org/changeset/249768
- 2:22 PM Changeset in webkit [249777] by
-
- 3 edits1 add in trunk
JSC crashes due to stack overflow while building RegExp
https://bugs.webkit.org/show_bug.cgi?id=201649
Reviewed by Yusuke Suzuki.
JSTests:
New regression test.
- stress/regexp-bol-optimize-out-of-stack.js: Added.
(test):
(catch):
Source/JavaScriptCore:
Check for running out of stack when we are optimizing RegExp containing BOL terms or
other deep copying of disjunctions.
- yarr/YarrPattern.cpp:
(JSC::Yarr::YarrPatternConstructor::copyDisjunction):
(JSC::Yarr::YarrPatternConstructor::copyTerm):
(JSC::Yarr::YarrPatternConstructor::error):
(JSC::Yarr::YarrPattern::compile):
- 2:10 PM Changeset in webkit [249776] by
-
- 38 edits1 copy4 moves7 adds12 deletes in trunk
Unreviewed, rolling out r249753.
caused inspector/canvas/shaderProgram-add-remove-webgl.html to
crash on all Mac platforms.
Reverted changeset:
"Web Inspector: Canvas: instrument WebGPUDevice instead of
GPUCanvasContext"
https://bugs.webkit.org/show_bug.cgi?id=201650
https://trac.webkit.org/changeset/249753
- 1:12 PM Changeset in webkit [249775] by
-
- 10 edits in branches/safari-608.2.11.1-branch/Source
Apply patch. rdar://problem/55240886
- 1:12 PM Changeset in webkit [249774] by
-
- 8 edits in branches/safari-608.2.11.1-branch/Source
Revert "Cherry-pick r249359. rdar://problem/55240886"
- 1:11 PM Changeset in webkit [249773] by
-
- 10 edits in branches/safari-608.2.11.1-branch/Source
Revert "Cherry-pick r249748. rdar://problem/55240886"
- 1:11 PM Changeset in webkit [249772] by
-
- 1 edit in branches/safari-608.2.11.1-branch/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.h
Revert "Cherry-pick r249748. rdar://problem/55240886"
- 11:03 AM Changeset in webkit [249771] by
-
- 1 edit in branches/safari-608.2.11.1-branch/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.h
Cherry-pick r249748. rdar://problem/55240886
Build fix.
- 10:29 AM Changeset in webkit [249770] by
-
- 6 edits in trunk/Source
REGRESSION (245006): can't scroll in "read more" view in Eventbrite app
https://bugs.webkit.org/show_bug.cgi?id=201683
<rdar://problem/54582602>
Reviewed by Simon Fraser.
Source/WebCore:
- platform/RuntimeApplicationChecks.h:
- platform/cocoa/RuntimeApplicationChecksCocoa.mm:
(WebCore::IOSApplication::isEventbrite):
Source/WebKit:
Content <body> has 'overflow:hidden'.
- UIProcess/Cocoa/VersionChecks.h:
- UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::hasScrollableMainFrame const):
Fix by adding an app specific LinkedOnOrAfter quirk that always allows main frame scrolling.
- 10:11 AM Changeset in webkit [249769] by
-
- 1 copy in tags/Safari-609.1.4
Tag Safari-609.1.4.
- 9:37 AM Changeset in webkit [249768] by
-
- 52 edits1 move4 deletes in trunk
Remove unnecessary abstractions around WebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=201655
Reviewed by Chris Dumez.
Source/WebKit:
This patch does four things to simplify WebsiteDataStore code:
- It removes API::WebsiteDataStore, which was just an unnecessary wrapper around WebKit::WebsiteDataStore.
- It deprecates the unused aliases of WebsiteDataStore, WKApplicationCacheManagerRef and WKKeyValueStorageManagerRef
- It removes the unused APIProcessPoolConfiguration properties that have been moved to WebsiteDataStore.
- It makes WKWebsiteDataStore._delegate weak instead of strong, as already annotated in WKWebsiteDataStorePrivate.h
There should be no change in behavior from this patch.
- PlatformFTW.cmake:
- PlatformWin.cmake:
- Sources.txt:
- SourcesCocoa.txt:
- SourcesGTK.txt:
- SourcesWPE.txt:
- UIProcess/API/APIHTTPCookieStore.cpp:
- UIProcess/API/APIHTTPCookieStore.h:
- UIProcess/API/APIPageConfiguration.cpp:
(API::PageConfiguration::websiteDataStore):
(API::PageConfiguration::setWebsiteDataStore):
- UIProcess/API/APIPageConfiguration.h:
- UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::ProcessPoolConfiguration):
(API::ProcessPoolConfiguration::copy):
(API::ProcessPoolConfiguration::createWithWebsiteDataStoreConfiguration): Deleted.
- UIProcess/API/APIProcessPoolConfiguration.h:
- UIProcess/API/APIWebsiteDataStore.cpp: Removed.
- UIProcess/API/APIWebsiteDataStore.h: Removed.
- UIProcess/API/APIWebsitePolicies.cpp:
(API::WebsitePolicies::data):
- UIProcess/API/APIWebsitePolicies.h:
- UIProcess/API/C/WKAPICast.h:
- UIProcess/API/C/WKApplicationCacheManager.cpp:
(WKApplicationCacheManagerGetTypeID):
(WKApplicationCacheManagerGetApplicationCacheOrigins):
(WKApplicationCacheManagerDeleteEntriesForOrigin):
(WKApplicationCacheManagerDeleteAllEntries):
- UIProcess/API/C/WKApplicationCacheManager.h:
- UIProcess/API/C/WKFramePolicyListener.cpp:
(useWithPolicies):
- UIProcess/API/C/WKKeyValueStorageManager.cpp:
(WKKeyValueStorageManagerGetTypeID):
(WKKeyValueStorageManagerGetOriginKey):
(WKKeyValueStorageManagerGetCreationTimeKey):
(WKKeyValueStorageManagerGetModificationTimeKey):
(WKKeyValueStorageManagerGetKeyValueStorageOrigins):
(WKKeyValueStorageManagerGetStorageDetailsByOrigin):
(WKKeyValueStorageManagerDeleteEntriesForOrigin):
(WKKeyValueStorageManagerDeleteAllEntries):
- UIProcess/API/C/WKKeyValueStorageManager.h:
- UIProcess/API/C/WKResourceCacheManager.cpp:
(WKResourceCacheManagerGetTypeID):
(WKResourceCacheManagerGetCacheOrigins):
(WKResourceCacheManagerClearCacheForOrigin):
(WKResourceCacheManagerClearCacheForAllOrigins):
(toWebsiteDataTypes): Deleted.
- UIProcess/API/C/WKResourceCacheManager.h:
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreGetTypeID):
(WKWebsiteDataStoreGetDefaultDataStore):
(WKWebsiteDataStoreCreateNonPersistentDataStore):
(WKWebsiteDataStoreCreateWithConfiguration):
(WKWebsiteDataStoreGetHTTPCookieStore):
(WKWebsiteDataStoreSetResourceLoadStatisticsDebugModeWithCompletionHandler):
(WKWebsiteDataStoreSetResourceLoadStatisticsPrevalentResourceForDebugMode):
(WKWebsiteDataStoreSetStatisticsLastSeen):
(WKWebsiteDataStoreSetStatisticsPrevalentResource):
(WKWebsiteDataStoreSetStatisticsVeryPrevalentResource):
(WKWebsiteDataStoreDumpResourceLoadStatistics):
(WKWebsiteDataStoreIsStatisticsPrevalentResource):
(WKWebsiteDataStoreIsStatisticsVeryPrevalentResource):
(WKWebsiteDataStoreIsStatisticsRegisteredAsSubresourceUnder):
(WKWebsiteDataStoreIsStatisticsRegisteredAsSubFrameUnder):
(WKWebsiteDataStoreIsStatisticsRegisteredAsRedirectingTo):
(WKWebsiteDataStoreSetStatisticsHasHadUserInteraction):
(WKWebsiteDataStoreIsStatisticsHasHadUserInteraction):
(WKWebsiteDataStoreSetStatisticsGrandfathered):
(WKWebsiteDataStoreIsStatisticsGrandfathered):
(WKWebsiteDataStoreSetStatisticsSubframeUnderTopFrameOrigin):
(WKWebsiteDataStoreSetStatisticsSubresourceUnderTopFrameOrigin):
(WKWebsiteDataStoreSetStatisticsSubresourceUniqueRedirectTo):
(WKWebsiteDataStoreSetStatisticsSubresourceUniqueRedirectFrom):
(WKWebsiteDataStoreSetStatisticsTopFrameUniqueRedirectTo):
(WKWebsiteDataStoreSetStatisticsTopFrameUniqueRedirectFrom):
(WKWebsiteDataStoreSetStatisticsCrossSiteLoadWithLinkDecoration):
(WKWebsiteDataStoreSetStatisticsTimeToLiveUserInteraction):
(WKWebsiteDataStoreStatisticsProcessStatisticsAndDataRecords):
(WKWebsiteDataStoreStatisticsUpdateCookieBlocking):
(WKWebsiteDataStoreStatisticsSubmitTelemetry):
(WKWebsiteDataStoreSetStatisticsNotifyPagesWhenDataRecordsWereScanned):
(WKWebsiteDataStoreSetStatisticsIsRunningTest):
(WKWebsiteDataStoreSetStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval):
(WKWebsiteDataStoreSetStatisticsNotifyPagesWhenTelemetryWasCaptured):
(WKWebsiteDataStoreSetStatisticsMinimumTimeBetweenDataRecordsRemoval):
(WKWebsiteDataStoreSetStatisticsGrandfatheringTime):
(WKWebsiteDataStoreSetStatisticsMaxStatisticsEntries):
(WKWebsiteDataStoreSetStatisticsPruneEntriesDownTo):
(WKWebsiteDataStoreStatisticsClearInMemoryAndPersistentStore):
(WKWebsiteDataStoreStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
(WKWebsiteDataStoreStatisticsClearThroughWebsiteDataRemoval):
(WKWebsiteDataStoreStatisticsDeleteCookiesForTesting):
(WKWebsiteDataStoreStatisticsHasLocalStorage):
(WKWebsiteDataStoreSetStatisticsCacheMaxAgeCap):
(WKWebsiteDataStoreStatisticsHasIsolatedSession):
(WKWebsiteDataStoreStatisticsResetToConsistentState):
(WKWebsiteDataStoreRemoveAllFetchCaches):
(WKWebsiteDataStoreRemoveFetchCacheForOrigin):
(WKWebsiteDataStoreRemoveAllIndexedDatabases):
(WKWebsiteDataStoreRemoveLocalStorage):
(WKWebsiteDataStoreRemoveAllServiceWorkerRegistrations):
(WKWebsiteDataStoreGetFetchCacheOrigins):
(WKWebsiteDataStoreGetFetchCacheSizeForOrigin):
(WKWebsiteDataStoreCopyServiceWorkerRegistrationDirectory):
(WKWebsiteDataStoreSetServiceWorkerRegistrationDirectory):
(WKWebsiteDataStoreSetPerOriginStorageQuota):
(WKWebsiteDataStoreClearAllDeviceOrientationPermissions):
(WKWebsiteDataStoreSetWebAuthenticationMockConfiguration):
(WKWebsiteDataStoreClearAdClickAttributionsThroughWebsiteDataRemoval):
- UIProcess/API/C/WKWebsitePolicies.cpp:
- UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm: Removed.
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(+[WKWebsiteDataStore defaultDataStore]):
(+[WKWebsiteDataStore nonPersistentDataStore]):
(-[WKWebsiteDataStore dealloc]):
(-[WKWebsiteDataStore httpCookieStore]):
(-[WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]):
(-[WKWebsiteDataStore removeDataOfTypes:forDataRecords:completionHandler:]):
(+[WKWebsiteDataStore _defaultDataStoreExists]):
(+[WKWebsiteDataStore _deleteDefaultDataStoreForTesting]):
(-[WKWebsiteDataStore _initWithConfiguration:]):
(-[WKWebsiteDataStore _fetchDataRecordsOfTypes:withOptions:completionHandler:]):
(-[WKWebsiteDataStore _resourceLoadStatisticsEnabled]):
(-[WKWebsiteDataStore _setResourceLoadStatisticsEnabled:]):
(-[WKWebsiteDataStore _resourceLoadStatisticsDebugMode]):
(-[WKWebsiteDataStore _setResourceLoadStatisticsDebugMode:]):
(-[WKWebsiteDataStore _perOriginStorageQuota]):
(-[WKWebsiteDataStore _setPerOriginStorageQuota:]):
(-[WKWebsiteDataStore _cacheStorageDirectory]):
(-[WKWebsiteDataStore _setCacheStorageDirectory:]):
(-[WKWebsiteDataStore _serviceWorkerRegistrationDirectory]):
(-[WKWebsiteDataStore _setServiceWorkerRegistrationDirectory:]):
(-[WKWebsiteDataStore _setBoundInterfaceIdentifier:]):
(-[WKWebsiteDataStore _boundInterfaceIdentifier]):
(-[WKWebsiteDataStore _setAllowsCellularAccess:]):
(-[WKWebsiteDataStore _allowsCellularAccess]):
(-[WKWebsiteDataStore _setProxyConfiguration:]):
(-[WKWebsiteDataStore _sourceApplicationBundleIdentifier]):
(-[WKWebsiteDataStore _setSourceApplicationBundleIdentifier:]):
(-[WKWebsiteDataStore _sourceApplicationSecondaryIdentifier]):
(-[WKWebsiteDataStore _setSourceApplicationSecondaryIdentifier:]):
(-[WKWebsiteDataStore _setAllowsTLSFallback:]):
(-[WKWebsiteDataStore _allowsTLSFallback]):
(-[WKWebsiteDataStore _proxyConfiguration]):
(-[WKWebsiteDataStore _indexedDBDatabaseDirectory]):
(-[WKWebsiteDataStore _resourceLoadStatisticsSetShouldSubmitTelemetry:]):
(-[WKWebsiteDataStore _setResourceLoadStatisticsTestingCallback:]):
(-[WKWebsiteDataStore _getAllStorageAccessEntriesFor:completionHandler:]):
(-[WKWebsiteDataStore _scheduleCookieBlockingUpdate:]):
(-[WKWebsiteDataStore _setPrevalentDomain:completionHandler:]):
(-[WKWebsiteDataStore _getIsPrevalentDomain:completionHandler:]):
(-[WKWebsiteDataStore _clearPrevalentDomain:completionHandler:]):
(-[WKWebsiteDataStore _processStatisticsAndDataRecords:]):
(-[WKWebsiteDataStore _hasRegisteredServiceWorker]):
(-[WKWebsiteDataStore _delegate]):
(-[WKWebsiteDataStore set_delegate:]):
- UIProcess/API/Cocoa/WKWebsiteDataStoreInternal.h:
- UIProcess/API/glib/APIWebsiteDataStoreGLib.cpp: Removed.
- UIProcess/API/win/APIWebsiteDataStoreWin.cpp:
(API::WebsiteDataStore::defaultApplicationCacheDirectory): Deleted.
(API::WebsiteDataStore::defaultCacheStorageDirectory): Deleted.
(API::WebsiteDataStore::defaultNetworkCacheDirectory): Deleted.
(API::WebsiteDataStore::defaultIndexedDBDatabaseDirectory): Deleted.
(API::WebsiteDataStore::defaultServiceWorkerRegistrationDirectory): Deleted.
(API::WebsiteDataStore::defaultLocalStorageDirectory): Deleted.
(API::WebsiteDataStore::defaultMediaKeysStorageDirectory): Deleted.
(API::WebsiteDataStore::defaultWebSQLDatabaseDirectory): Deleted.
(API::WebsiteDataStore::defaultResourceLoadStatisticsDirectory): Deleted.
(API::WebsiteDataStore::cacheDirectoryFileSystemRepresentation): Deleted.
(API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation): Deleted.
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::addSingleCookie):
(WebKit::WebAutomationSession::deleteAllCookies):
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::NetworkProcessProxy):
(WebKit::NetworkProcessProxy::websiteDataStoreFromSessionID):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/WebFramePolicyListenerProxy.cpp:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::receivedNavigationPolicyDecision):
- UIProcess/WebProcessPool.cpp:
(WebKit::m_webProcessCache):
(WebKit::WebProcessPool::ensureNetworkProcess):
(WebKit::WebProcessPool::establishWorkerContextConnectionToNetworkProcess):
(WebKit::WebProcessPool::resolvePathsForSandboxExtensions):
(WebKit::WebProcessPool::tryTakePrewarmedProcess):
(WebKit::WebProcessPool::sendWebProcessDataStoreParameters):
(WebKit::WebProcessPool::processDidFinishLaunching):
(WebKit::WebProcessPool::processForRegistrableDomain):
(WebKit::WebProcessPool::createWebPage):
(WebKit::WebProcessPool::mayHaveRegisteredServiceWorkers):
- UIProcess/WebProcessPool.h:
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::defaultApplicationCacheDirectory):
(WebKit::WebsiteDataStore::defaultCacheStorageDirectory):
(WebKit::WebsiteDataStore::defaultNetworkCacheDirectory):
(WebKit::WebsiteDataStore::defaultMediaCacheDirectory):
(WebKit::WebsiteDataStore::defaultIndexedDBDatabaseDirectory):
(WebKit::WebsiteDataStore::defaultServiceWorkerRegistrationDirectory):
(WebKit::WebsiteDataStore::defaultLocalStorageDirectory):
(WebKit::WebsiteDataStore::defaultMediaKeysStorageDirectory):
(WebKit::WebsiteDataStore::defaultWebSQLDatabaseDirectory):
(WebKit::WebsiteDataStore::defaultResourceLoadStatisticsDirectory):
(WebKit::WebsiteDataStore::defaultJavaScriptConfigurationDirectory):
(WebKit::WebsiteDataStore::tempDirectoryFileSystemRepresentation):
(WebKit::WebsiteDataStore::cacheDirectoryFileSystemRepresentation):
(WebKit::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::globalDefaultDataStore):
(WebKit::WebsiteDataStore::defaultDataStore):
(WebKit::WebsiteDataStore::deleteDefaultDataStoreForTesting):
(WebKit::WebsiteDataStore::defaultDataStoreExists):
(WebKit::WebsiteDataStore::defaultDataStoreConfiguration):
(WebKit::WebsiteDataStore::isAssociatedProcessPool const):
(WebKit::WebsiteDataStore::processPools const):
(WebKit::WebsiteDataStore::defaultDeviceIdHashSaltsStorageDirectory):
- UIProcess/WebsiteData/WebsiteDataStore.h:
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:
(WebKit::WebsiteDataStoreConfiguration::WebsiteDataStoreConfiguration):
- UIProcess/WebsiteData/win/WebsiteDataStoreWin.cpp:
(WebKit::WebsiteDataStore::defaultApplicationCacheDirectory):
(WebKit::WebsiteDataStore::defaultCacheStorageDirectory):
(WebKit::WebsiteDataStore::defaultNetworkCacheDirectory):
(WebKit::WebsiteDataStore::defaultIndexedDBDatabaseDirectory):
(WebKit::WebsiteDataStore::defaultServiceWorkerRegistrationDirectory):
(WebKit::WebsiteDataStore::defaultLocalStorageDirectory):
(WebKit::WebsiteDataStore::defaultMediaKeysStorageDirectory):
(WebKit::WebsiteDataStore::defaultWebSQLDatabaseDirectory):
(WebKit::WebsiteDataStore::defaultResourceLoadStatisticsDirectory):
(WebKit::WebsiteDataStore::cacheDirectoryFileSystemRepresentation):
(WebKit::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):
- UIProcess/glib/WebsiteDataStoreGLib.cpp: Copied from Source/WebKit/UIProcess/API/glib/APIWebsiteDataStoreGLib.cpp.
(API::WebsiteDataStore::defaultApplicationCacheDirectory): Deleted.
(API::WebsiteDataStore::defaultNetworkCacheDirectory): Deleted.
(API::WebsiteDataStore::defaultCacheStorageDirectory): Deleted.
(API::WebsiteDataStore::defaultIndexedDBDatabaseDirectory): Deleted.
(API::WebsiteDataStore::defaultServiceWorkerRegistrationDirectory): Deleted.
(API::WebsiteDataStore::defaultLocalStorageDirectory): Deleted.
(API::WebsiteDataStore::defaultMediaKeysStorageDirectory): Deleted.
(API::WebsiteDataStore::defaultDeviceIdHashSaltsStorageDirectory): Deleted.
(API::WebsiteDataStore::defaultWebSQLDatabaseDirectory): Deleted.
(API::WebsiteDataStore::defaultHSTSDirectory): Deleted.
(API::WebsiteDataStore::defaultResourceLoadStatisticsDirectory): Deleted.
(API::WebsiteDataStore::cacheDirectoryFileSystemRepresentation): Deleted.
(API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation): Deleted.
- WebKit.xcodeproj/project.pbxproj:
LayoutTests:
- platform/mac-wk2/TestExpectations:
- 9:36 AM Changeset in webkit [249767] by
-
- 10 edits in branches/safari-608.2.11.1-branch/Source
Cherry-pick r249748. rdar://problem/55240886
Nullptr crash in Page::sessionID() via WebKit::WebFrameLoaderClient::detachedFromParent2()
https://bugs.webkit.org/show_bug.cgi?id=201625
Reviewed by Ryosuke Niwa.
This is based on a patch from Ryosuke Niwa.
Source/WebCore:
Drop setHasFrameSpecificStorageAccess() in WebCore and call it from the WebKit layer instead.
- dom/DocumentStorageAccess.cpp: (WebCore::DocumentStorageAccess::requestStorageAccess): (WebCore::DocumentStorageAccess::setHasFrameSpecificStorageAccess): Deleted.
- dom/DocumentStorageAccess.h:
- loader/EmptyFrameLoaderClient.h:
- loader/FrameLoaderClient.h:
Source/WebKit:
The crash was caused by WebFrameLoaderClient::sessionID() calling WebPage::sessionID() without
checking the nullity of WebPage::m_page which can be null. Added a null check.
Because passing a wrong session to RemoveStorageAccessForFrame could result in a leak, this patch
also replaces m_hasFrameSpecificStorageAccess boolean with an optioanl struct which stores
session ID, frame ID, and page ID even after WebCore::Frame or WebCore::Page had been cleared
or before WebFrameLoaderClient::m_frame is set.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::sessionID const): (WebKit::WebFrameLoaderClient::setHasFrameSpecificStorageAccess): (WebKit::WebFrameLoaderClient::detachedFromParent2): (WebKit::WebFrameLoaderClient::dispatchWillChangeDocument):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- WebProcess/WebPage/WebFrame.h: (WebKit::WebFrame::frameLoaderClient const):
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::requestStorageAccess):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@249748 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:36 AM Changeset in webkit [249766] by
-
- 8 edits in branches/safari-608.2.11.1-branch/Source
Cherry-pick r249359. rdar://problem/55240886
DocumentStorageAccess::hasStorageAccess() / requestStorageAccess() don't need to know about pageID / frameID
https://bugs.webkit.org/show_bug.cgi?id=201364
Reviewed by John Wilander.
Source/WebCore:
DocumentStorageAccess::hasStorageAccess() / requestStorageAccess() don't need to know about pageID / frameID. pageID is
redundant since it is being ignored by the callee. For the frame, simply pass the frame object in.
- dom/DocumentStorageAccess.cpp: (WebCore::DocumentStorageAccess::hasStorageAccess): (WebCore::DocumentStorageAccess::requestStorageAccess):
- page/ChromeClient.h: (WebCore::ChromeClient::hasStorageAccess): (WebCore::ChromeClient::requestStorageAccess):
Source/WebKit:
- WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::hasStorageAccess): (WebKit::WebChromeClient::requestStorageAccess):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::hasStorageAccess): (WebKit::WebPage::requestStorageAccess):
- WebProcess/WebPage/WebPage.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@249359 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:01 AM Changeset in webkit [249765] by
-
- 10 edits4 deletes in trunk
Unreviewed, rolling out r249758.
Breaks the watchOS build.
Reverted changeset:
"[WHLSL] Ensure structs/arrays with pointers as fields are
disallowed"
https://bugs.webkit.org/show_bug.cgi?id=201525
https://trac.webkit.org/changeset/249758
- 8:41 AM Changeset in webkit [249764] by
-
- 7 edits in branches/safari-608.2.11.1-branch/Source
Versioning.
- 8:36 AM Changeset in webkit [249763] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, re-skip service worker test that was unskipped in r249716
This test is still a flaky timeout.
- 7:52 AM Changeset in webkit [249762] by
-
- 4 edits in trunk/Source/WebCore
Prevent reentrancy FrameLoader::dispatchUnloadEvents()
https://bugs.webkit.org/show_bug.cgi?id=200738
Reviewed by Brady Eidson.
Reentrancy causes m_pageDismissalEventBeingDispatched to be incorrectly
updated, so don't allow reentrancy.
Since this prevents m_pageDismissalEventBeingDispatched from being reset
inside a reentrant call, it can have the unintended effect of causing
FrameLoader::stopAllLoaders to early-out when called from
FrameLoader::detachFromParent while a frame's unload event handler
calls document.open() on a parent frame and causes itself to become
detached. Allowing a load to continue in a detached frame will lead to
a crash. To prevent this, add a new argument to FrameLoader::stopAllLoaders
that FrameLoader::detachFromParent can use to prevent an early-out.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopAllLoaders):
(WebCore::FrameLoader::detachFromParent):
(WebCore::FrameLoader::dispatchUnloadEvents):
(WebCore::FrameLoader::dispatchBeforeUnloadEvent):
Ensure that m_pageDismissalEventBeingDispatched is reset to its previous value, even if this is not None.
- loader/FrameLoader.h:
- loader/FrameLoaderTypes.h:
Add a StopLoadingPolicy enum.
- 4:49 AM Changeset in webkit [249761] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Do not adopt floating references.
https://bugs.webkit.org/show_bug.cgi?id=201685
Reviewed by Carlos Garcia Campos.
Covered by existing tests.
- platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::initializeGStreamer): gst_element_factory_make returns
floating references, you do not adopt such references, rather you
sink them.
- 4:34 AM Changeset in webkit [249760] by
-
- 87 edits8 copies3 moves169 adds5 deletes in trunk/LayoutTests
Bug 201603 - Synchronize MathML WPT tests against upstream
https://bugs.webkit.org/show_bug.cgi?id=201603
Patch by Frederic Wang <fwang@igalia.com> on 2019-09-11
Reviewed by Rob Buis.
LayoutTests/imported/w3c:
- resources/resource-files.json:
- web-platform-tests/mathml/presentation-markup/direction/direction-006-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/direction/direction-006.html: Added.
- web-platform-tests/mathml/presentation-markup/direction/direction-007-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/direction/direction-007.html: Added.
- web-platform-tests/mathml/presentation-markup/direction/direction-008-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/direction/direction-008.html: Added.
- web-platform-tests/mathml/presentation-markup/direction/direction-009-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/direction/direction-009.html: Added.
- web-platform-tests/mathml/presentation-markup/direction/direction-010-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/direction/direction-010.html: Added.
- web-platform-tests/mathml/presentation-markup/direction/direction-expected.txt: Added.
- web-platform-tests/mathml/presentation-markup/direction/direction-overall-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/direction/direction-overall.html: Added.
- web-platform-tests/mathml/presentation-markup/direction/direction-token-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/direction/direction-token.html: Added.
- web-platform-tests/mathml/presentation-markup/direction/direction.html: Added.
- web-platform-tests/mathml/presentation-markup/direction/w3c-import.log: Added.
- web-platform-tests/mathml/presentation-markup/fractions/frac-1.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-bar-001.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-color-001.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-color-002.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-created-dynamically-2-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/fractions/frac-created-dynamically-2.html: Added.
- web-platform-tests/mathml/presentation-markup/fractions/frac-created-dynamically-3-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/fractions/frac-created-dynamically-3.html: Added.
- web-platform-tests/mathml/presentation-markup/fractions/frac-created-dynamically-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/fractions/frac-created-dynamically.html: Added.
- web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-001-expected.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-001.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-002-expected.html: Removed.
- web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-002-expected.txt: Added.
- web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-002.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-003.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-004-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-004.html: Added.
- web-platform-tests/mathml/presentation-markup/fractions/frac-mrow-001.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-numalign-denomalign-001-expected.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-numalign-denomalign-001.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-1.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-2.html:
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-gap-001-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-gap-001.html: Added.
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-gap-002-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-gap-002.html: Added.
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-gap-003-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-gap-003.html: Added.
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-gap-004-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-gap-004.html: Added.
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-gap-005-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-gap-005.html: Added.
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-gap-006-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-gap-006.html: Added.
- web-platform-tests/mathml/presentation-markup/fractions/frac-visibility-001.html:
- web-platform-tests/mathml/presentation-markup/fractions/w3c-import.log:
- web-platform-tests/mathml/presentation-markup/mrow/inferred-mrow-baseline-expected.txt: Added.
- web-platform-tests/mathml/presentation-markup/mrow/inferred-mrow-baseline.html: Added.
- web-platform-tests/mathml/presentation-markup/mrow/inferred-mrow-stretchy-expected.txt: Added.
- web-platform-tests/mathml/presentation-markup/mrow/inferred-mrow-stretchy.html: Added.
- web-platform-tests/mathml/presentation-markup/mrow/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/spaces/w3c-import.log.
- web-platform-tests/mathml/presentation-markup/operators/embellished-operator-001-expected.txt: Added.
- web-platform-tests/mathml/presentation-markup/operators/embellished-operator-001.html: Added.
- web-platform-tests/mathml/presentation-markup/operators/embellished-operator-002-expected.txt: Added.
- web-platform-tests/mathml/presentation-markup/operators/embellished-operator-002.html: Added.
- web-platform-tests/mathml/presentation-markup/operators/mo-axis-height-1.html:
- web-platform-tests/mathml/presentation-markup/operators/mo-form-dynamic-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/operators/mo-form-dynamic.html: Added.
- web-platform-tests/mathml/presentation-markup/operators/mo-form-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/operators/mo-form-fallback-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/operators/mo-form-fallback.html: Added.
- web-platform-tests/mathml/presentation-markup/operators/mo-form-minus-plus-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/operators/mo-form-minus-plus.html: Added.
- web-platform-tests/mathml/presentation-markup/operators/mo-form.html: Added.
- web-platform-tests/mathml/presentation-markup/operators/mo-movablelimits-default-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/operators/mo-movablelimits-default.html: Added.
- web-platform-tests/mathml/presentation-markup/operators/mo-movablelimits-dynamic-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/operators/mo-movablelimits-dynamic.html: Added.
- web-platform-tests/mathml/presentation-markup/operators/mo-movablelimits-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/operators/mo-movablelimits.html: Added.
- web-platform-tests/mathml/presentation-markup/operators/mo-paint-lspace-rspace-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/operators/mo-paint-lspace-rspace.html: Added.
- web-platform-tests/mathml/presentation-markup/operators/w3c-import.log:
- web-platform-tests/mathml/presentation-markup/radicals/root-parameters-1.html:
- web-platform-tests/mathml/presentation-markup/scripts/subsup-1.html:
- web-platform-tests/mathml/presentation-markup/scripts/subsup-2.html:
- web-platform-tests/mathml/presentation-markup/scripts/subsup-3.html:
- web-platform-tests/mathml/presentation-markup/scripts/subsup-4.html:
- web-platform-tests/mathml/presentation-markup/scripts/subsup-5.html:
- web-platform-tests/mathml/presentation-markup/scripts/subsup-parameters-1.html:
- web-platform-tests/mathml/presentation-markup/scripts/subsup-parameters-2.html:
- web-platform-tests/mathml/presentation-markup/scripts/underover-1.html:
- web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-1.html:
- web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-2.html:
- web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-3.html:
- web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-4.html:
- web-platform-tests/mathml/presentation-markup/spaces/mspace-children-expected.html: Added.
- web-platform-tests/mathml/presentation-markup/spaces/mspace-children.html: Added.
- web-platform-tests/mathml/presentation-markup/spaces/space-1.html:
- web-platform-tests/mathml/presentation-markup/spaces/space-2.html:
- web-platform-tests/mathml/presentation-markup/spaces/space-like-001-expected.txt: Added.
- web-platform-tests/mathml/presentation-markup/spaces/space-like-001.html: Added.
- web-platform-tests/mathml/presentation-markup/spaces/space-like-002-expected.txt: Added.
- web-platform-tests/mathml/presentation-markup/spaces/space-like-002.html: Added.
- web-platform-tests/mathml/presentation-markup/spaces/space-like-003-expected.txt: Added.
- web-platform-tests/mathml/presentation-markup/spaces/space-like-003.html: Added.
- web-platform-tests/mathml/presentation-markup/spaces/space-like-004-expected.txt: Added.
- web-platform-tests/mathml/presentation-markup/spaces/space-like-004.html: Added.
- web-platform-tests/mathml/presentation-markup/spaces/w3c-import.log:
- web-platform-tests/mathml/presentation-markup/tables/table-axis-height.html:
- web-platform-tests/mathml/relations/css-styling/attribute-mapping-002-expected.txt: Added.
- web-platform-tests/mathml/relations/css-styling/attribute-mapping-002.html: Added.
- web-platform-tests/mathml/relations/css-styling/color-001-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/color-1-expected.html.
- web-platform-tests/mathml/relations/css-styling/color-001.html: Added.
- web-platform-tests/mathml/relations/css-styling/color-002-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/color-1-expected.html.
- web-platform-tests/mathml/relations/css-styling/color-002.html: Added.
- web-platform-tests/mathml/relations/css-styling/color-003-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/color-1-expected.html.
- web-platform-tests/mathml/relations/css-styling/color-003.html: Added.
- web-platform-tests/mathml/relations/css-styling/color-004-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/color-1-expected.html.
- web-platform-tests/mathml/relations/css-styling/color-004.html: Added.
- web-platform-tests/mathml/relations/css-styling/color-1.html: Removed.
- web-platform-tests/mathml/relations/css-styling/display-1.html:
- web-platform-tests/mathml/relations/css-styling/display-contents-expected.txt: Added.
- web-platform-tests/mathml/relations/css-styling/display-contents.html: Added.
- web-platform-tests/mathml/relations/css-styling/displaystyle-011-expected.html: Added.
- web-platform-tests/mathml/relations/css-styling/displaystyle-011.html: Added.
- web-platform-tests/mathml/relations/css-styling/displaystyle-012-expected.html: Added.
- web-platform-tests/mathml/relations/css-styling/displaystyle-012.html: Added.
- web-platform-tests/mathml/relations/css-styling/displaystyle-013-expected.html: Added.
- web-platform-tests/mathml/relations/css-styling/displaystyle-013.html: Added.
- web-platform-tests/mathml/relations/css-styling/displaystyle-014-expected.html: Added.
- web-platform-tests/mathml/relations/css-styling/displaystyle-014.html: Added.
- web-platform-tests/mathml/relations/css-styling/displaystyle-015-expected.html: Added.
- web-platform-tests/mathml/relations/css-styling/displaystyle-015.html: Added.
- web-platform-tests/mathml/relations/css-styling/displaystyle-1-expected.txt:
- web-platform-tests/mathml/relations/css-styling/displaystyle-1.html:
- web-platform-tests/mathml/relations/css-styling/displaystyle-2-expected.txt: Added.
- web-platform-tests/mathml/relations/css-styling/displaystyle-2.html: Added.
- web-platform-tests/mathml/relations/css-styling/dynamic-dir-1-expected.html: Added.
- web-platform-tests/mathml/relations/css-styling/dynamic-dir-1.html: Added.
- web-platform-tests/mathml/relations/css-styling/lengths-1.html:
- web-platform-tests/mathml/relations/css-styling/lengths-2-expected.html: Removed.
- web-platform-tests/mathml/relations/css-styling/lengths-2-expected.txt: Added.
- web-platform-tests/mathml/relations/css-styling/lengths-2.html:
- web-platform-tests/mathml/relations/css-styling/lengths-3-expected.txt: Removed.
- web-platform-tests/mathml/relations/css-styling/lengths-3.html: Removed.
- web-platform-tests/mathml/relations/css-styling/mathbackground-001-expected.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathbackground-001-notref.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathbackground-001.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathbackground-002-expected.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathbackground-002-notref.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathbackground-002.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathbackground-003-expected.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathbackground-003-notref.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathbackground-003.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathbackground-004-expected.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathbackground-004-notref.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathbackground-004.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathcolor-001-expected.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathcolor-001-notref.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathcolor-001.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathcolor-002-expected.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathcolor-002-notref.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathcolor-002.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathcolor-003-expected.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathcolor-003-notref.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathcolor-003.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathcolor-004-expected.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathcolor-004-notref.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathcolor-004.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathsize-attribute-css-keywords-expected.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathsize-attribute-css-keywords.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathsize-attribute-expected.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathsize-attribute-legacy-values-expected.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathsize-attribute-legacy-values.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathsize-attribute.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathvariant-auto-expected.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathvariant-auto.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathvariant-bold-expected.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-bold-fraktur-expected.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-bold-fraktur.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-bold-italic-expected.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-bold-italic.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-bold-sans-serif-expected.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-bold-sans-serif.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-bold-script-expected.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-bold-script.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-bold.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-case-sensitivity-expected.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathvariant-case-sensitivity.html: Added.
- web-platform-tests/mathml/relations/css-styling/mathvariant-double-struck-expected.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-double-struck.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-fraktur-expected.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-fraktur.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-initial-expected.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-initial.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-italic-expected.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-italic.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-looped-expected.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-looped.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-monospace-expected.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-monospace.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-sans-serif-bold-italic-expected.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-sans-serif-bold-italic.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-sans-serif-expected.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-sans-serif-italic-expected.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-sans-serif-italic.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-sans-serif.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-script-expected.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-script.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-stretched-expected.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-stretched.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-tailed-expected.html:
- web-platform-tests/mathml/relations/css-styling/mathvariant-tailed.html:
- web-platform-tests/mathml/relations/css-styling/not-participating-to-parent-layout-expected.txt: Added.
- web-platform-tests/mathml/relations/css-styling/not-participating-to-parent-layout.html: Added.
- web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-001-expected.txt: Added.
- web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-001.html: Added.
- web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt: Added.
- web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002.html: Added.
- web-platform-tests/mathml/relations/css-styling/padding-border-margin/margin-001-expected.txt: Added.
- web-platform-tests/mathml/relations/css-styling/padding-border-margin/margin-001.html: Added.
- web-platform-tests/mathml/relations/css-styling/padding-border-margin/margin-002-expected.txt: Added.
- web-platform-tests/mathml/relations/css-styling/padding-border-margin/margin-002.html: Added.
- web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-001-expected.txt: Added.
- web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-001.html: Added.
- web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-002-expected.txt: Added.
- web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-002.html: Added.
- web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-001-expected.html: Added.
- web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-001.html: Added.
- web-platform-tests/mathml/relations/css-styling/padding-border-margin/w3c-import.log: Added.
- web-platform-tests/mathml/relations/css-styling/visibility-001-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/visibility-1-expected.html.
- web-platform-tests/mathml/relations/css-styling/visibility-001.html: Added.
- web-platform-tests/mathml/relations/css-styling/visibility-002-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/visibility-1-expected.html.
- web-platform-tests/mathml/relations/css-styling/visibility-002.html: Added.
- web-platform-tests/mathml/relations/css-styling/visibility-003-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/visibility-1-expected.html.
- web-platform-tests/mathml/relations/css-styling/visibility-003.html: Added.
- web-platform-tests/mathml/relations/css-styling/visibility-004-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/visibility-1-expected.html.
- web-platform-tests/mathml/relations/css-styling/visibility-004.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/visibility-1.html.
- web-platform-tests/mathml/relations/css-styling/w3c-import.log:
- web-platform-tests/mathml/relations/css-styling/width-height-001-expected.txt: Added.
- web-platform-tests/mathml/relations/css-styling/width-height-001.html: Added.
- web-platform-tests/mathml/relations/css-styling/writing-mode/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/w3c-import.log.
- web-platform-tests/mathml/relations/css-styling/writing-mode/writing-mode-001-expected.txt: Added.
- web-platform-tests/mathml/relations/css-styling/writing-mode/writing-mode-001.html: Added.
- web-platform-tests/mathml/relations/css-styling/writing-mode/writing-mode-002-expected.txt: Added.
- web-platform-tests/mathml/relations/css-styling/writing-mode/writing-mode-002.html: Added.
- web-platform-tests/mathml/relations/html5-tree/clipboard-event-handlers.tentative-expected.txt:
- web-platform-tests/mathml/relations/html5-tree/clipboard-event-handlers.tentative.html:
- web-platform-tests/mathml/relations/text-and-math/use-typo-metrics-1.html:
- web-platform-tests/mathml/tools/fractions.py:
- web-platform-tests/mathml/tools/math-text.py: Added.
- web-platform-tests/mathml/tools/mathvariant-transforms.py:
- web-platform-tests/mathml/tools/percentscaledown.py: Added.
- web-platform-tests/mathml/tools/stacks.py:
- web-platform-tests/mathml/tools/w3c-import.log:
LayoutTests:
- TestExpectations:
- platform/gtk/TestExpectations:
- platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/lengths-2-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/not-participating-to-parent-layout-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-002-expected.txt: Added.
- platform/mac-wk1/TestExpectations:
- 1:28 AM Changeset in webkit [249759] by
-
- 12 edits2 deletes in trunk/Tools
[GTK][WPE] Stop using the session bus in the unit tests
https://bugs.webkit.org/show_bug.cgi?id=201636
Reviewed by Žan Doberšek.
We are actually using GTestDBus, not the actual session bus of the user session, but it would still be better to
use a private p2p DBus connection. This is also the way we encourage apps to implement the communication with
the web process extension. This patch removes the WebKitTestBus class and starts a DBus server before every
test. The server address is passed to the web extension as initialization parameter to connect directly to
it. We keep a global list of connections to the server and a HashMap to get the current active connection for
a WebKitWebView.
- TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp:
(beforeAll):
(afterAll):
- TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp:
(testProcessPerWebView):
(beforeAll):
(afterAll):
- TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
(testWebExtensionGetTitle):
(testWebExtensionInputElementIsUserEdited):
(testDocumentLoadedSignal):
(testWebKitWebViewProcessCrashed):
(testWebExtensionIsolatedWorld):
(testInstallMissingPluginsPermissionRequest):
(testWebExtensionFormControlsAssociated):
(FormSubmissionTest::FormSubmissionTest):
(beforeAll):
(afterAll):
- TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
(DelayedSignal::DelayedSignal):
(emitPageCreated):
(pageCreatedCallback):
(webkit_web_extension_initialize_with_user_data):
- TestWebKitAPI/Tests/WebKitGtk/AccessibilityTestServer.cpp:
- TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp:
(AccessibilityTest::AccessibilityTest):
(AccessibilityTest::ensureProxy):
(beforeAll):
(afterAll):
- TestWebKitAPI/glib/CMakeLists.txt:
- TestWebKitAPI/glib/WebKitGLib/TestMain.cpp:
(dbusConnectionClosed):
(dbusServerConnection):
(startDBusServer):
(stopDBusServer):
(main):
- TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::initializeWebExtensions):
- TestWebKitAPI/glib/WebKitGLib/WebKitTestBus.cpp: Removed.
- TestWebKitAPI/glib/WebKitGLib/WebKitTestBus.h: Removed.
- TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(WebViewTest::~WebViewTest):
(WebViewTest::extensionProxy):
- TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
- 12:17 AM Changeset in webkit [249758] by
-
- 10 edits4 adds in trunk
[WHLSL] Ensure structs/arrays with pointers as fields are disallowed
https://bugs.webkit.org/show_bug.cgi?id=201525
Reviewed by Robin Morisset.
Source/WebCore:
This patch adds a pass which both ensures that references are always initialized with
concrete values and that we support logical mode validation by disallowing nested references.
Specifically, the pass:
- Disallows structs to have fields which are references. This prevents us from having to
figure out how to default initialize such a struct. We could relax this in the future if we
did an analysis on which structs contain reference fields, and ensure such struct variables
always have initializers. This would also require us to create constructors for structs which
initialize each field.
- We also do the same for arrays.
- References can only be one level deep. So no pointers to pointers. No references to
references, etc. This is to support logical mode validation rules.
Test: webgpu/whlsl/ensure-proper-pointer-usage.html
- Modules/webgpu/WHLSL/WHLSLCheckReferenceTypes.cpp: Added.
(WebCore::WHLSL::checkReferenceTypes):
- Modules/webgpu/WHLSL/WHLSLCheckReferenceTypes.h: Added.
- Modules/webgpu/WHLSL/WHLSLChecker.cpp:
(WebCore::WHLSL::Checker::visit):
- Modules/webgpu/WHLSL/WHLSLPrepare.cpp:
(WebCore::WHLSL::prepareShared):
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
LayoutTests:
This patch fixes a bug in our test harness where we forgot to wait for the gpu
device to load before running test harness tests. This patch fixes this oversight
and asserts that we have always finished loading before running a test.
- webgpu/whlsl/array-spec-tests.html:
- webgpu/whlsl/ensure-proper-pointer-usage-expected.txt: Added.
- webgpu/whlsl/ensure-proper-pointer-usage.html: Added.
- webgpu/whlsl/js/test-harness.js:
(Harness):
(Harness.prototype.async.requestDevice):
(Harness.prototype.async.callTypedFunction):
(Harness.prototype.async.checkCompileFail):
- webgpu/whlsl/pointer-spec-tests.html:
- webgpu/whlsl/test-harness-test.html:
- 12:01 AM Changeset in webkit [249757] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION: Scrubbing on ted.com does not work well
https://bugs.webkit.org/show_bug.cgi?id=201635
<rdar://problem/51463649>
Patch by Antoine Quint <Antoine Quint> on 2019-09-11
Reviewed by Dean Jackson.
This website uses custom media controls that simply don't work well on iOS when the User-Agent string is the desktop one, so we default to the mobile UA.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::desktopClassBrowsingRecommendedForRequest):
Sep 10, 2019:
- 11:34 PM Changeset in webkit [249756] by
-
- 7 edits in trunk/Source
Versioning.
- 11:06 PM Changeset in webkit [249755] by
-
- 3 edits in trunk/Source/WebKitLegacy/win
[Win][WebKitLegacy][Clang] WebKit.h warning: 'IWebEditingDelegate2::shouldInsertNode' hides overloaded virtual function [-Woverloaded-virtual]
https://bugs.webkit.org/show_bug.cgi?id=192581
<rdar://problem/46651605>
Reviewed by Alex Christensen.
WebKitLegacy COM interfaces have same name methods within the old
and new interfaces. For example, both IWebEditingDelegate and
IWebEditingDelegate2 interfaces have 'shouldInsertNode' method.
This is a part of public API, can't be renamed.
- Interfaces/IWebEditingDelegate.idl:
- Interfaces/IWebViewPrivate.idl:
Added #pragma to ignore the warning.
- 9:51 PM Changeset in webkit [249754] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (r233780): After swiping to navigate back, pinching to zoom in on webcontent snaps back to zoomed out when letting go
https://bugs.webkit.org/show_bug.cgi?id=201671
<rdar://problem/50488372>
Reviewed by Simon Fraser.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCommitLoad):
Reset m_lastTransactionIDWithScaleChange, since it is not guaranteed
to only march forward. Otherwise, we can get stuck with a very large
m_lastTransactionIDWithScaleChange, and will not allow stable-state
user-driven zooms until the current transactionID exceeds it.
- 9:34 PM Changeset in webkit [249753] by
-
- 38 edits4 moves12 adds8 deletes in trunk
Web Inspector: Canvas: instrument WebGPUDevice instead of GPUCanvasContext
https://bugs.webkit.org/show_bug.cgi?id=201650
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
Most of the actual "work" done with Web GPU actually uses a
WebGPUDevice
.
A
GPUCanvasContext
is basically just a display "client" of the device, and isn't even
required (e.g. compute pipeline). We should treat theGPUCanvasContext
almost like a
-webkit-canvas
client of aWebGPUDevice
.
- inspector/protocol/Canvas.json:
- Add
powerPreference
key toContextAttributes
type. - Rename
requestCSSCanvasClientNodes
command torequestClientNodes
for the above reason. - Rename
cssCanvasClientNodesChanged
event toclientNodesChanged
for the above reason. - Rename
resolveCanvasContext
command toresolveContext
since aWebGPUDevice
isn't really a "canvas".
- Add
Source/WebCore:
Most of the actual "work" done with Web GPU actually uses a
WebGPUDevice
.
A
GPUCanvasContext
is basically just a display "client" of the device, and isn't even
required (e.g. compute pipeline). We should treat theGPUCanvasContext
almost like a
-webkit-canvas
client of aWebGPUDevice
.
Tests: inspector/canvas/create-context-webgpu.html
inspector/canvas/requestClientNodes-webgpu.html
inspector/canvas/resolveContext-webgpu.html
- Modules/webgpu/WebGPUAdapter.cpp:
(WebCore::WebGPUAdapter::requestDevice const):
Notify web inspector after a device is created.
- Modules/webgpu/WebGPUDevice.idl:
- Modules/webgpu/WebGPUDevice.h:
- Modules/webgpu/WebGPUDevice.cpp:
(WebCore::WebGPUDevice::instances): Added.
(WebCore::WebGPUDevice::instancesMutex): Added.
(WebCore::WebGPUDevice::~WebGPUDevice): Added.
Notify web inspector when the device is about to be destructed.
- Modules/webgpu/GPUCanvasContext.h:
- Modules/webgpu/GPUCanvasContext.cpp:
(WebCore::GPUCanvasContext::create):
(WebCore::GPUCanvasContext::configureSwapChain):
- inspector/InspectorCanvas.h:
- inspector/InspectorCanvas.cpp:
(WebCore::canvasIfContextMatchesDevice): Added.
(WebCore::InspectorCanvas::create):
(WebCore::InspectorCanvas::InspectorCanvas):
(WebCore::InspectorCanvas::canvasContext const): Added.
(WebCore::InspectorCanvas::canvasElement const): Added.
(WebCore::InspectorCanvas::isDeviceForCanvasContext const): Added.
(WebCore::InspectorCanvas::deviceContext const): Added.
(WebCore::InspectorCanvas::scriptExecutionContext const): Added.
(WebCore::InspectorCanvas::resolveContext const): Added.
(WebCore::InspectorCanvas::clientNodes const): Added.
(WebCore::InspectorCanvas::canvasChanged):
(WebCore::InspectorCanvas::resetRecordingData):
(WebCore::InspectorCanvas::recordAction):
(WebCore::InspectorCanvas::buildObjectForCanvas):
(WebCore::InspectorCanvas::releaseObjectForRecording):
(WebCore::InspectorCanvas::getCanvasContentAsDataURL):
(WebCore::InspectorCanvas::buildInitialState):
(WebCore::InspectorCanvas::canvasElement): Deleted.
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didCreateWebGPUDeviceImpl): Added.
(WebCore::InspectorInstrumentation::willDestroyWebGPUDeviceImpl): Added.
(WebCore::InspectorInstrumentation::willConfigureSwapChainImpl): Added.
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didCreateWebGPUDevice): Added.
(WebCore::InspectorInstrumentation::willDestroyWebGPUDevice): Added.
(WebCore::InspectorInstrumentation::willConfigureSwapChain): Added.
- inspector/agents/InspectorCanvasAgent.h:
- inspector/agents/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::enable):
(WebCore::InspectorCanvasAgent::requestClientNodes): Added.
(WebCore::InspectorCanvasAgent::resolveContext): Added.
(WebCore::InspectorCanvasAgent::startRecording):
(WebCore::InspectorCanvasAgent::stopRecording):
(WebCore::InspectorCanvasAgent::frameNavigated):
(WebCore::InspectorCanvasAgent::didChangeCSSCanvasClientNodes):
(WebCore::InspectorCanvasAgent::didChangeCanvasMemory):
(WebCore::InspectorCanvasAgent::canvasDestroyed):
(WebCore::InspectorCanvasAgent::recordCanvasAction):
(WebCore::InspectorCanvasAgent::didFinishRecordingCanvasFrame):
(WebCore::InspectorCanvasAgent::didCreateWebGPUDevice): Added.
(WebCore::InspectorCanvasAgent::willDestroyWebGPUDevice): Added.
(WebCore::InspectorCanvasAgent::willConfigureSwapChain): Added.
(WebCore::InspectorCanvasAgent::clearCanvasData):
(WebCore::InspectorCanvasAgent::bindCanvas):
(WebCore::InspectorCanvasAgent::unbindCanvas):
(WebCore::InspectorCanvasAgent::findInspectorCanvas):
(WebCore::InspectorCanvasAgent::requestCSSCanvasClientNodes): Deleted.
(WebCore::contextAsScriptValue): Deleted.
(WebCore::InspectorCanvasAgent::resolveCanvasContext): Deleted.
- inspector/InspectorShaderProgram.cpp:
(WebCore::InspectorShaderProgram::context const):
Source/WebInspectorUI:
Most of the actual "work" done with Web GPU actually uses a
WebGPUDevice
.
A
GPUCanvasContext
is basically just a display "client" of the device, and isn't even
required (e.g. compute pipeline). We should treat theGPUCanvasContext
almost like a
-webkit-canvas
client of aWebGPUDevice
.
- UserInterface/Protocol/CanvasObserver.js:
(WI.CanvasObserver.prototype.clientNodesChanged): Added.
(WI.CanvasObserver.prototype.cssCanvasClientNodesChanged):
- UserInterface/Controllers/CanvasManager.js:
(WI.CanvasManager.prototype.clientNodesChanged): Added.
(WI.CanvasManager.prototype.cssCanvasClientNodesChanged): Deleted.
- UserInterface/Models/Canvas.js:
(WI.Canvas.resetUniqueDisplayNameNumbers):
(WI.Canvas.prototype.get displayName):
(WI.Canvas.prototype.requestNode):
(WI.Canvas.prototype.requestClientNodes): Added.
(WI.Canvas.prototype.requestSize):
(WI.Canvas.prototype.clientNodesChanged): Added.
(WI.Canvas.prototype.requestCSSCanvasClientNodes): Deleted.
(WI.Canvas.prototype.cssCanvasClientNodesChanged): Deleted.
- UserInterface/Protocol/RemoteObject.js:
(WI.RemoteObject.resolveCanvasContext):
- UserInterface/Views/CanvasContentView.js:
(WI.CanvasContentView.prototype.attached):
(WI.CanvasContentView.prototype._refreshPixelSize):
- UserInterface/Views/CanvasDetailsSidebarPanel.js:
(WI.CanvasDetailsSidebarPanel.prototype.set canvas):
(WI.CanvasDetailsSidebarPanel.prototype.initialLayout):
(WI.CanvasDetailsSidebarPanel.prototype.layout):
(WI.CanvasDetailsSidebarPanel.prototype._refreshSourceSection):
(WI.CanvasDetailsSidebarPanel.prototype._refreshClientsSection): Added.
(WI.CanvasDetailsSidebarPanel.prototype._refreshCSSCanvasSection): Deleted.
- UserInterface/Views/CanvasOverviewContentView.js:
(WI.CanvasOverviewContentView.prototype._contentViewMouseEnter):
- UserInterface/Views/CanvasTreeElement.js:
(WI.CanvasTreeElement.prototype._handleMouseOver):
- Localizations/en.lproj/localizedStrings.js:
LayoutTests:
- inspector/canvas/create-context-webgpu.html:
- inspector/canvas/create-context-webgpu-expected.txt:
- inspector/canvas/resources/create-context-utilities.js:
(createDetachedCanvas):
(createCSSCanvas):
(destroyCanvases):
- inspector/canvas/requestClientNodes.html: Added.
- inspector/canvas/requestClientNodes-expected.txt: Added.
- inspector/canvas/requestClientNodes-css.html: Renamed from LayoutTests/inspector/canvas/css-canvas-clients.html.
- inspector/canvas/requestClientNodes-css-expected.txt: Renamed from LayoutTests/inspector/canvas/css-canvas-clients-expected.txt.
- inspector/canvas/requestClientNodes-webgpu.html: Added.
- inspector/canvas/requestClientNodes-webgpu-expected.txt: Added.
- inspector/canvas/resolveContext-2d.html: Renamed from LayoutTests/inspector/canvas/resolveCanvasContext-2d.html.
- inspector/canvas/resolveContext-2d-expected.txt: Renamed from LayoutTests/inspector/canvas/resolveCanvasContext-2d-expected.txt.
- inspector/canvas/resolveContext-bitmaprenderer.html: Renamed from LayoutTests/inspector/canvas/resolveCanvasContext-bitmaprenderer.html.
- inspector/canvas/resolveContext-bitmaprenderer-expected.txt: Renamed from LayoutTests/inspector/canvas/resolveCanvasContext-bitmaprenderer-expected.txt.
- inspector/canvas/resolveContext-webgl.html: Renamed from LayoutTests/inspector/canvas/resolveCanvasContext-webgl.html.
- inspector/canvas/resolveContext-webgl-expected.txt: Renamed from LayoutTests/inspector/canvas/resolveCanvasContext-webgl-expected.txt.
- inspector/canvas/resolveContext-webgl2.html: Renamed from LayoutTests/inspector/canvas/resolveCanvasContext-webgl2.html.
- inspector/canvas/resolveContext-webgl2-expected.txt: Renamed from LayoutTests/inspector/canvas/resolveCanvasContext-webgl2-expected.txt.
- inspector/canvas/resolveContext-webgpu.html: Renamed from LayoutTests/inspector/canvas/resolveCanvasContext-webgpu.html.
- inspector/canvas/resolveContext-webgpu-expected.txt: Renamed from LayoutTests/inspector/canvas/resolveCanvasContext-webgpu-expected.txt.
- inspector/canvas/context-attributes-expected.txt:
- platform/gtk/TestExpectations:
- platform/ios/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/mac/TestExpectations:
- platform/win/TestExpectations:
- platform/wincairo/TestExpectations:
- platform/wpe/TestExpectations:
- 9:15 PM Changeset in webkit [249752] by
-
- 2 edits in trunk/Tools
setup-git-clone is using http not https
https://bugs.webkit.org/show_bug.cgi?id=201658
Reviewed by Sam Weinig.
- Scripts/webkitpy/tool/commands/setupgitclone.py:
(SetupGitClone.execute):
- 9:01 PM Changeset in webkit [249751] by
-
- 7 edits4 deletes in trunk
Web Inspector: Remove legacy CodeMirror based pretty printers
https://bugs.webkit.org/show_bug.cgi?id=201624
Reviewed by Devin Rousso.
Source/WebInspectorUI:
- Tools/PrettyPrinting/FormatterDebug.js: Removed.
- Tools/PrettyPrinting/Utilities.js: Removed.
- Tools/PrettyPrinting/codemirror-additions.css: Removed.
- Tools/PrettyPrinting/index.html: Removed.
- Tools/PrettyPrinting/populate/apple.css: Removed.
- UserInterface/Controllers/Formatter.js: Removed.
- UserInterface/Main.html:
- UserInterface/Test.html:
- UserInterface/Views/CodeMirrorFormatters.js: Removed.
- UserInterface/Views/TextEditor.js:
(WI.TextEditor.prototype.prettyPrint):
(WI.TextEditor.prototype._canUseFormatterWorker): Deleted.
(WI.TextEditor.prototype._startCodeMirrorPrettyPrint): Deleted.
- WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
- WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
LayoutTests:
- inspector/codemirror/prettyprinting-css-expected.txt: Removed.
- inspector/codemirror/prettyprinting-css.html: Removed.
- inspector/codemirror/prettyprinting-javascript-expected.txt: Removed.
- inspector/codemirror/prettyprinting-javascript.html: Removed.
- inspector/codemirror/resources/prettyprinting/css-tests/basic-expected.css: Removed.
- inspector/codemirror/resources/prettyprinting/css-tests/basic.css: Removed.
- inspector/codemirror/resources/prettyprinting/css-tests/calc-expected.css: Removed.
- inspector/codemirror/resources/prettyprinting/css-tests/calc.css: Removed.
- inspector/codemirror/resources/prettyprinting/css-tests/gradient-expected.css: Removed.
- inspector/codemirror/resources/prettyprinting/css-tests/gradient.css: Removed.
- inspector/codemirror/resources/prettyprinting/css-tests/keyframes-expected.css: Removed.
- inspector/codemirror/resources/prettyprinting/css-tests/keyframes.css: Removed.
- inspector/codemirror/resources/prettyprinting/css-tests/media-query-expected.css: Removed.
- inspector/codemirror/resources/prettyprinting/css-tests/media-query.css: Removed.
- inspector/codemirror/resources/prettyprinting/css-tests/selectors-expected.css: Removed.
- inspector/codemirror/resources/prettyprinting/css-tests/selectors.css: Removed.
- inspector/codemirror/resources/prettyprinting/css-tests/wrapping-expected.css: Removed.
- inspector/codemirror/resources/prettyprinting/css-tests/wrapping.css: Removed.
- inspector/codemirror/resources/prettyprinting/javascript-tests/block-comment-expected.js: Removed.
- inspector/codemirror/resources/prettyprinting/javascript-tests/block-comment.js: Removed.
- inspector/codemirror/resources/prettyprinting/javascript-tests/do-while-loop-expected.js: Removed.
- inspector/codemirror/resources/prettyprinting/javascript-tests/do-while-loop.js: Removed.
- inspector/codemirror/resources/prettyprinting/javascript-tests/do-while-within-if-expected.js: Removed.
- inspector/codemirror/resources/prettyprinting/javascript-tests/do-while-within-if.js: Removed.
- inspector/codemirror/resources/prettyprinting/javascript-tests/if-followed-by-while-expected.js: Removed.
- inspector/codemirror/resources/prettyprinting/javascript-tests/if-followed-by-while.js: Removed.
- inspector/codemirror/resources/prettyprinting/javascript-tests/if-while-within-do-while-expected.js: Removed.
- inspector/codemirror/resources/prettyprinting/javascript-tests/if-while-within-do-while.js: Removed.
- inspector/codemirror/resources/prettyprinting/javascript-tests/single-statement-blocks-expected.js: Removed.
- inspector/codemirror/resources/prettyprinting/javascript-tests/single-statement-blocks.js: Removed.
- inspector/codemirror/resources/prettyprinting/javascript-tests/switch-case-default-expected.js: Removed.
- inspector/codemirror/resources/prettyprinting/javascript-tests/switch-case-default.js: Removed.
- inspector/codemirror/resources/prettyprinting/javascript-tests/unary-binary-operators-expected.js: Removed.
- inspector/codemirror/resources/prettyprinting/javascript-tests/unary-binary-operators.js: Removed.
- inspector/codemirror/resources/prettyprinting/javascript-tests/while-within-do-while-expected.js: Removed.
- inspector/codemirror/resources/prettyprinting/javascript-tests/while-within-do-while.js: Removed.
- inspector/codemirror/resources/prettyprinting/utilities.js: Removed.
- 6:57 PM Changeset in webkit [249750] by
-
- 2 edits in trunk/Source/WebKitLegacy
Unreviewed, rolling out r239097.
This is not a right fix. DumpRenderTree, MiniBrowser and
TestWebKitAPI are still reporting the same warning.
Reverted changeset:
"[Win][WebKitLegacy][Clang] WebKit.h warning:
'IWebEditingDelegate2::shouldInsertNode' hides overloaded
virtual function [-Woverloaded-virtual]"
https://bugs.webkit.org/show_bug.cgi?id=192581
https://trac.webkit.org/changeset/239097
- 6:12 PM Changeset in webkit [249749] by
-
- 4 edits2 adds in trunk/Tools
run-webkit-test: Allow results to be uploaded without scm checkout
https://bugs.webkit.org/show_bug.cgi?id=200787
Reviewed by Jonathan Bedard.
- Scripts/webkitpy/common/checkout/scm/detection.py:
(SCMDetector.detect_scm_system): Added in detection of stub repository.
- Scripts/webkitpy/common/checkout/scm/stub_repository.py: Added.
(StubRepository):
(StubRepository.init):
(StubRepository._find_parent_path_matching_callback_condition): Checks up the path given to
find the directory containing the checkout_information.json of the stub repository.
(StubRepository.in_working_directory): Required functions to be implemented.
(StubRepository.svn_revision): Required functions to be implemented.
(StubRepository.native_revision): Required functions to be implemented.
(StubRepository.native_branch): Required functions to be implemented.
(StubRepository._decode_json): Decodes checkout_information.json.
(StubRepository.find_checkout_root): Required functions to be implemented.
- Scripts/webkitpy/common/checkout/scm/stub_repository_unittest.py: Added.
(StubRepositoryTest): Unit test for stub_repository SCM.
(StubRepositoryTest.mock_host_for_stub_repository):
(StubRepositoryTest.test_in_working_directory):
(StubRepositoryTest.test_native_revision):
(StubRepositoryTest.test_native_branch):
(StubRepositoryTest.test_svn_revision):
(StubRepositoryTest.test_find_checkout_root):
- Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
(JSONResultsGenerator._get_svn_revision): Removed unnecessary scm initialization.
- Scripts/webkitpy/port/base.py:
(Port.commits_for_upload): Removed unnecessary scm initialization.
- 5:54 PM Changeset in webkit [249748] by
-
- 10 edits in trunk/Source
Nullptr crash in Page::sessionID() via WebKit::WebFrameLoaderClient::detachedFromParent2()
https://bugs.webkit.org/show_bug.cgi?id=201625
Reviewed by Ryosuke Niwa.
This is based on a patch from Ryosuke Niwa.
Source/WebCore:
Drop setHasFrameSpecificStorageAccess() in WebCore and call it from the WebKit layer instead.
- dom/DocumentStorageAccess.cpp:
(WebCore::DocumentStorageAccess::requestStorageAccess):
(WebCore::DocumentStorageAccess::setHasFrameSpecificStorageAccess): Deleted.
- dom/DocumentStorageAccess.h:
- loader/EmptyFrameLoaderClient.h:
- loader/FrameLoaderClient.h:
Source/WebKit:
The crash was caused by WebFrameLoaderClient::sessionID() calling WebPage::sessionID() without
checking the nullity of WebPage::m_page which can be null. Added a null check.
Because passing a wrong session to RemoveStorageAccessForFrame could result in a leak, this patch
also replaces m_hasFrameSpecificStorageAccess boolean with an optioanl struct which stores
session ID, frame ID, and page ID even after WebCore::Frame or WebCore::Page had been cleared
or before WebFrameLoaderClient::m_frame is set.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::sessionID const):
(WebKit::WebFrameLoaderClient::setHasFrameSpecificStorageAccess):
(WebKit::WebFrameLoaderClient::detachedFromParent2):
(WebKit::WebFrameLoaderClient::dispatchWillChangeDocument):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- WebProcess/WebPage/WebFrame.h:
(WebKit::WebFrame::frameLoaderClient const):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::requestStorageAccess):
- 5:46 PM Changeset in webkit [249747] by
-
- 6 edits in trunk/Source/JavaScriptCore
[JSC] 32bit bitwide operation with all-one (-1) is wrong in B3
https://bugs.webkit.org/show_bug.cgi?id=201634
Reviewed by Mark Lam and Robin Morisset.
This patch includes two things. One is fixing 32bit bitwise operation with allOne constants. Another is fixing the existing bug in BitAnd strength reduction.
- 32bit bitwise operation with allOne constants
Accidentally, the B3::Value is ConstInt32(-1),
value->isInt(std::numeric_limits<uint32_t>::max())
returnsfalse
!
For example, in BitAnd strength reduction,
1034 Turn this: BitAnd(value, all-ones)
1035 Into this: value.
1036 if ((m_value->type() == Int64 && m_value->child(1)->isInt(std::numeric_limits<uint64_t>::max()))
1037 (m_value->type() == Int32 && m_value->child(1)->isInt(std::numeric_limits<uint32_t>::max()))) { 1038 replaceWithIdentity(m_value->child(0));
1039 break;
1040 }
We use
m_value->child(1)->isInt(std::numeric_limits<uint32_t>::max())
. However, Value::isInt is,
262 inline bool Value::isInt(int64_t value) const
263 {
264 return hasInt() && asInt() == value;
265 }
So, UINT32_MAX is expanded to int64_t, but it is not -1 since UINT32_MAX can be representable in int64_t. And Value::asInt implementation is,
257 inline int64_t Value::asInt() const
258 {
259 return hasInt32() ? asInt32() : asInt64();
260 }
So, we perform
static_cast<int64_t>(-1) == static_cast<int64_t>(UINT32_MAX)
. This is false, but this comparison is not what we want!
We should useisInt32
andisInt64
for bit patterns (like, operands for Bitwise opcodes).
- BitAnd and BitOr strength reduction bug
We also fix the following optimization.
Turn this: BitAnd(Op(value, constant1), constant2)
where !(constant1 & constant2)
and Op is BitOr or BitXor
into this: BitAnd(value, constant2)
Since we stop further optimization when we match
if (m_value->child(1)->hasInt())
, the following optimization is never taken.
Turn this: BitAnd(BitXor(x, allOnes), c)
Into this: BitXor(BitOr(x, ~c), allOnes)
And we also found that this not-used optimization has a bug not inserting a newly produced constant B3::Value. This patch also fixes it.
For both, this patch adds tests. And (2) fix can be ensured that the testb3 does not crash with validate-graph option.
- b3/B3LowerToAir.cpp:
- b3/B3ReduceStrength.cpp:
- b3/testb3.h:
- b3/testb3_2.cpp:
(testBitAndNotNot32):
(testBitAndNotImm):
(testBitAndNotImm32):
(testBitOrAndAndArgs32):
(testBitOrAndSameArgs32):
(testBitOrNotNot32):
(testBitOrNotImm32):
(addBitTests):
- b3/testb3_3.cpp:
(testBitXorAndAndArgs32):
(testBitXorAndSameArgs32):
- 5:35 PM Changeset in webkit [249746] by
-
- 7 edits2 adds in trunk
Stop using testRunner.setPrivateBrowsingEnabled_DEPRECATED() in http/tests/cookies/private-cookie-storage.html
https://bugs.webkit.org/show_bug.cgi?id=201648
Reviewed by Alex Christensen.
Use testRunner.setShouldSwapToEphemeralSessionOnNextNavigation() / setShouldSwapToDefaultSessionOnNextNavigation() to
truly switch session on WebKit2 instead of using the testRunner.setPrivateBrowsingEnabled_DEPRECATED() hack.
- http/tests/cookies/private-cookie-storage-expected.txt:
- http/tests/cookies/private-cookie-storage.html:
- http/tests/cookies/resources/cookies-test-pre.js:
(testCookies):
- 5:30 PM Changeset in webkit [249745] by
-
- 1 copy in tags/Safari-608.3.2
Tag Safari-608.3.2.
- 5:26 PM Changeset in webkit [249744] by
-
- 2 edits in trunk/LayoutTests
[iOS] Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/registration-mime-types.https.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=201190
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 5:17 PM Changeset in webkit [249743] by
-
- 6 edits in trunk/Source/JavaScriptCore
Unreviewed, rolling out r249721.
https://bugs.webkit.org/show_bug.cgi?id=201667
Discovering existing bug (Requested by yusukesuzuki on
#webkit).
Reverted changeset:
"[JSC] 32bit bitwide operation with all-one (-1) is wrong in
B3"
https://bugs.webkit.org/show_bug.cgi?id=201634
https://trac.webkit.org/changeset/249721
Patch by Commit Queue <commit-queue@webkit.org> on 2019-09-10
- 5:05 PM Changeset in webkit [249742] by
-
- 1 copy in tags/Safari-608.2.11.1.4
Tag Safari-608.2.11.1.4.
- 5:02 PM Changeset in webkit [249741] by
-
- 2 edits in trunk/LayoutTests
Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-video.https.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=201665
Unreviewed test gardening.
This test was unskipped as part of r249716, but it is still frequently failing.
- TestExpectations: Skip the test again.
- 4:18 PM Changeset in webkit [249740] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] CodeBlock::calleeSaveRegisters should not see half-baked JITData
https://bugs.webkit.org/show_bug.cgi?id=201664
<rdar://problem/52126927>
Reviewed by Tadeu Zagallo.
We are hitting the crash accessing invalid-pointer as CodeBlock::calleeSaveRegisters result.
This is because concurrent Baseline JIT compiler can access m_jitData without taking a lock through CodeBlock::calleeSaveRegisters.
Since m_jitData can be initialized in the main thread while calling CodeBlock::calleeSaveRegisters from concurrent Baseline JIT compiler thread,
we can see half-baked JITData structure which holds garbage pointers.
But we do not want to make CodeBlock::calleeSaveRegisters() call with CodeBlock::m_lock due to several reasons.
- This function is very primitive one and it is called from various AssemblyHelpers functions and other code-generation functions. Some of these functions are called while taking this exact same lock, so dead-lock can happen.
- JITData::m_calleeSaveRegisters is filled only for DFG and FTL CodeBlock. And DFG and FTL code accesses these field after initializing properly. For Baseline JIT compiler case, only thing we should do is that JITData should say m_calleeSaveRegisters is nullptr and it won't be filled for this CodeBlock.
Instead of guarding CodeBlock::calleeSaveRegisters() function with CodeBlock::m_lock, this patch inserts WTF::storeStoreFence when filling m_jitData. This ensures that
JITData::m_calleeSaveRegisters is initialized with nullptr when this JITData pointer is exposed to concurrent Baseline JIT compiler thread.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::ensureJITDataSlow):
- 4:12 PM Changeset in webkit [249739] by
-
- 26 edits3 adds in trunk
Add SPI to save a PDF from the contents of a WKWebView.
<rdar://problem/48955900> and https://bugs.webkit.org/show_bug.cgi?id=195765
Reviewed by Tim Horton.
Source/WebCore:
Covered by API tests.
- page/FrameView.cpp:
(WebCore::FrameView::paintContents): Don't paint the debug color outside of the FrameRect.
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setURLForRect):
- rendering/PaintPhase.h: Add "AnnotateLinks" option to always gather and annotation links.
- rendering/RenderElement.cpp:
(WebCore::RenderElement::hasOutlineAnnotation const): Also return true when the PaintOptions include "AnnotateLinks"
Source/WebKit:
This is refactoring a combination of "snapshotFirstPage" PDF printing code and the
"takeSnapshot" API code to capture the on-screen visible page to a PDF at full fidelity.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _takePDFSnapshotWithConfiguration:completionHandler:]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::drawToPDF):
(WebKit::WebPageProxy::drawToPDFCallback):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/WKContentView.mm:
(-[WKContentView _wk_pageCountForPrintFormatter:]):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::drawToPDFCallback): Move to cross platform WebPageProxy.
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::pdfSnapshotAtSize):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::pdfSnapshotAtSize): Instead of assuming 1 page capped at 200 inches,
paginate every 200 inches.
(WebKit::WebPage::drawToPDF):
(WebKit::paintSnapshotAtSize): Deleted.
(WebKit::WebPage::pdfSnapshotAtSize): Deleted.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
-Add an "Export to PDF..." menu option to MiniBrowser.
-Add API tests for the API itself.
- MiniBrowser/MiniBrowser.entitlements:
- MiniBrowser/mac/BrowserWindowController.h:
- MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController forceRepaint:]):
(-[BrowserWindowController saveAsPDF:]):
- MiniBrowser/mac/MainMenu.xib:
- MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController validateMenuItem:]):
- MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController saveAsPDF:]):
- TestWebKitAPI/Configurations/Base.xcconfig:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/PDFSnapshot.mm: Added.
(TestWebKitAPI::TEST):
- TestWebKitAPI/cocoa/TestPDFDocument.h: Added.
- TestWebKitAPI/cocoa/TestPDFDocument.mm: Added.
(TestWebKitAPI::toCGRect):
(TestWebKitAPI::toPlatformPoint):
(TestWebKitAPI::TestPDFAnnotation::TestPDFAnnotation):
(TestWebKitAPI::TestPDFAnnotation::isLink const):
(TestWebKitAPI::TestPDFAnnotation::bounds const):
(TestWebKitAPI::TestPDFAnnotation::linkURL const):
(TestWebKitAPI::TestPDFPage::create):
(TestWebKitAPI::TestPDFPage::TestPDFPage):
(TestWebKitAPI::TestPDFPage::annotations):
(TestWebKitAPI::TestPDFPage::characterCount const):
(TestWebKitAPI::TestPDFPage::text const):
(TestWebKitAPI::TestPDFPage::rectForCharacterAtIndex const):
(TestWebKitAPI::TestPDFPage::characterIndexAtPoint const):
(TestWebKitAPI::TestPDFPage::bounds const):
(TestWebKitAPI::TestPDFPage::colorAtPoint const):
(TestWebKitAPI::TestPDFDocument::createFromData):
(TestWebKitAPI::TestPDFDocument::TestPDFDocument):
(TestWebKitAPI::TestPDFDocument::pageCount const):
(TestWebKitAPI::TestPDFDocument::page):
- 3:48 PM Changeset in webkit [249738] by
-
- 2 edits in trunk/Tools
Remove SSL-based TLSDeprecation.mm contents
https://bugs.webkit.org/show_bug.cgi?id=201657
<rdar://problem/55237678>
Reviewed by Alex Christensen.
This file does not build on watchOS due to references to SSL
facilities. Conditionalize out the contents on HAVE_SSL.
- TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
- 3:28 PM Changeset in webkit [249737] by
-
- 5 edits in trunk
REGRESSION: [ Catalina WK2 ] http/wpt/webauthn/public-key-credential-create-success-u2f.https.html is failing
https://bugs.webkit.org/show_bug.cgi?id=201620
<rdar://problem/51524958>
Reviewed by Alex Christensen.
Source/WebCore:
Covered by existing tests.
- Modules/webauthn/fido/U2fResponseConverter.cpp:
(fido::WebCore::createAttestedCredentialDataFromU2fRegisterResponse):
Change the way how the aaguid is initialized to see if that fixes the issue.
LayoutTests:
- http/wpt/webauthn/public-key-credential-create-success-u2f.https.html:
Remove the timeout value given those tests should never time out.
- platform/mac-wk2/TestExpectations:
Change the test expectation to Pass.
- 3:07 PM Changeset in webkit [249736] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] ResultType implementation is wrong for bit ops, and ends up making ArithDiv take the DFG Int32 fast path even if Baseline constantly produces Double result
https://bugs.webkit.org/show_bug.cgi?id=198253
Reviewed by Mark Lam.
ResultType of bitwise operation needs to include TypeMaybeNumber. TypeInt32 is something like a flag indicating the number looks like a int32.
When it is specified, TypeMaybeNumber must exist too. This issue compiles op_div in JetStream2/async-fs slow-path. And eventually DFG first mis-compiles
it with Int32 ArithDiv while that div always produces double. And unnecessary OSR exit happens.
In this patch, we add TypeMaybeNumber to bigIntOrInt32Type correctly.
- parser/ResultType.h:
(JSC::ResultType::bigIntOrInt32Type):
- 3:03 PM Changeset in webkit [249735] by
-
- 2 edits in trunk/LayoutTests/imported/w3c
Unreviewed, rebaseline imported/w3c/web-platform-tests/css/cssom/interfaces.html after r249672.
Unreviewed test gardening.
- web-platform-tests/css/cssom/interfaces-expected.txt:
- 2:59 PM Changeset in webkit [249734] by
-
- 2 edits in trunk/LayoutTests
Attempt to make this test not flakey.
https://bugs.webkit.org/show_bug.cgi?id=201482
- legacy-animation-engine/compositing/transitions/add-remove-transition.html:
- 2:43 PM Changeset in webkit [249733] by
-
- 4 edits in trunk
Add missing origin check for Service-Worker-Allowed header
https://bugs.webkit.org/show_bug.cgi?id=201653
Reviewed by Geoffrey Garen.
LayoutTests/imported/w3c:
Rebaseline WPT test that is now passing.
- web-platform-tests/service-workers/service-worker/Service-Worker-Allowed-header.https-expected.txt:
Source/WebCore:
Add missing origin check for Service-Worker-Allowed header:
- https://w3c.github.io/ServiceWorker/#update-algorithm (step 15. 2.)
- workers/service/ServiceWorkerJob.cpp:
(WebCore::ServiceWorkerJob::didReceiveResponse):
- 1:37 PM Changeset in webkit [249732] by
-
- 3 edits in trunk/LayoutTests
REGRESSION (r249460): LayoutTests/webgpu/viewport-scissor-rect-triangle-strip.html is Failing
https://bugs.webkit.org/show_bug.cgi?id=201478
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-09-10
Reviewed by Simon Fraser.
-- Revert r249460 which changed drawGreenAndBlueCheckerboardInSoftware().
-- Remove the orientation bit from webgpu/resources/blue-checkered.png
so drawing it is not affected by r249364.
- webgpu/js/webgpu-functions.js:
(drawGreenAndBlueCheckerboardInSoftware):
- webgpu/resources/blue-checkered.png:
- 1:14 PM Changeset in webkit [249731] by
-
- 57 edits93 adds in trunk/LayoutTests/imported/w3c
Re-sync web-platform-tests IDL interfaces from upstream
https://bugs.webkit.org/show_bug.cgi?id=201630
Reviewed by Alex Christensen.
Re-sync web-platform-tests IDL interfaces from upstream 603a271948a7162.
- web-platform-tests/interfaces/BackgroundSync.idl: Added.
- web-platform-tests/interfaces/CSP.idl: Added.
- web-platform-tests/interfaces/CSS-Parser-API.idl: Added.
- web-platform-tests/interfaces/DOM-Parsing.idl:
- web-platform-tests/interfaces/FileAPI.idl:
- web-platform-tests/interfaces/IndexedDB.idl:
- web-platform-tests/interfaces/InputDeviceCapabilities.idl: Added.
- web-platform-tests/interfaces/META.yml: Added.
- web-platform-tests/interfaces/README.md: Added.
- web-platform-tests/interfaces/SRI.idl: Added.
- web-platform-tests/interfaces/WebCryptoAPI.idl:
- web-platform-tests/interfaces/accelerometer.idl:
- web-platform-tests/interfaces/ambient-light.idl:
- web-platform-tests/interfaces/animation-worklet.idl: Added.
- web-platform-tests/interfaces/appmanifest.idl: Added.
- web-platform-tests/interfaces/audio-output.idl: Added.
- web-platform-tests/interfaces/background-fetch.idl:
- web-platform-tests/interfaces/battery-status.idl: Added.
- web-platform-tests/interfaces/beacon.idl: Added.
- web-platform-tests/interfaces/clipboard-apis.idl:
- web-platform-tests/interfaces/compat.idl: Added.
- web-platform-tests/interfaces/console.idl:
- web-platform-tests/interfaces/cookie-store.idl:
- web-platform-tests/interfaces/cors-rfc1918.idl: Added.
- web-platform-tests/interfaces/csp-embedded-enforcement.idl: Added.
- web-platform-tests/interfaces/css-animations.idl: Added.
- web-platform-tests/interfaces/css-conditional.idl: Added.
- web-platform-tests/interfaces/css-counter-styles.idl: Added.
- web-platform-tests/interfaces/css-device-adapt.idl: Added.
- web-platform-tests/interfaces/css-font-loading.idl: Added.
- web-platform-tests/interfaces/css-fonts.idl: Added.
- web-platform-tests/interfaces/css-images.idl: Added.
- web-platform-tests/interfaces/css-layout-api.idl: Added.
- web-platform-tests/interfaces/css-masking.idl: Added.
- web-platform-tests/interfaces/css-paint-api.idl: Added.
- web-platform-tests/interfaces/css-regions.idl: Added.
- web-platform-tests/interfaces/css-transitions.idl: Added.
- web-platform-tests/interfaces/css-typed-om.idl:
- web-platform-tests/interfaces/element-timing.idl: Added.
- web-platform-tests/interfaces/encoding.idl:
- web-platform-tests/interfaces/encrypted-media.idl:
- web-platform-tests/interfaces/entries-api.idl:
- web-platform-tests/interfaces/event-timing.idl: Added.
- web-platform-tests/interfaces/feature-policy.idl: Added.
- web-platform-tests/interfaces/fetch.idl:
- web-platform-tests/interfaces/filter-effects.idl: Added.
- web-platform-tests/interfaces/font-metrics-api.idl: Added.
- web-platform-tests/interfaces/fullscreen.idl:
- web-platform-tests/interfaces/gamepad.idl:
- web-platform-tests/interfaces/generic-sensor.idl: Added.
- web-platform-tests/interfaces/geolocation-API.idl: Added.
- web-platform-tests/interfaces/geolocation-sensor.idl:
- web-platform-tests/interfaces/geometry.idl:
- web-platform-tests/interfaces/gyroscope.idl:
- web-platform-tests/interfaces/hr-time.idl:
- web-platform-tests/interfaces/html-media-capture.idl: Added.
- web-platform-tests/interfaces/image-capture.idl: Added.
- web-platform-tests/interfaces/input-events.idl: Added.
- web-platform-tests/interfaces/intersection-observer.idl:
- web-platform-tests/interfaces/keyboard-lock.idl: Added.
- web-platform-tests/interfaces/keyboard-map.idl: Added.
- web-platform-tests/interfaces/largest-contentful-paint.idl: Added.
- web-platform-tests/interfaces/layout-instability.idl: Added.
- web-platform-tests/interfaces/longtasks.idl: Added.
- web-platform-tests/interfaces/magnetometer.idl:
- web-platform-tests/interfaces/media-capabilities.idl: Added.
- web-platform-tests/interfaces/media-playback-quality.idl: Added.
- web-platform-tests/interfaces/media-source.idl: Added.
- web-platform-tests/interfaces/mediacapture-depth.idl: Added.
- web-platform-tests/interfaces/mediacapture-fromelement.idl: Added.
- web-platform-tests/interfaces/mediasession.idl: Added.
- web-platform-tests/interfaces/mediastream-recording.idl: Added.
- web-platform-tests/interfaces/mst-content-hint.idl: Added.
- web-platform-tests/interfaces/navigation-timing.idl: Added.
- web-platform-tests/interfaces/netinfo.idl: Added.
- web-platform-tests/interfaces/notifications.idl: Added.
- web-platform-tests/interfaces/orientation-event.idl: Added.
- web-platform-tests/interfaces/orientation-sensor.idl:
- web-platform-tests/interfaces/page-visibility.idl: Added.
- web-platform-tests/interfaces/paint-timing.idl: Added.
- web-platform-tests/interfaces/payment-handler.idl:
- web-platform-tests/interfaces/payment-method-basic-card.idl: Added.
- web-platform-tests/interfaces/payment-request.idl:
- web-platform-tests/interfaces/permissions.idl: Added.
- web-platform-tests/interfaces/picture-in-picture.idl: Added.
- web-platform-tests/interfaces/pointerevents-extension.idl: Added.
- web-platform-tests/interfaces/pointerevents.idl: Added.
- web-platform-tests/interfaces/pointerlock.idl: Added.
- web-platform-tests/interfaces/presentation-api.idl: Added.
- web-platform-tests/interfaces/proximity.idl:
- web-platform-tests/interfaces/push-api.idl: Added.
- web-platform-tests/interfaces/remote-playback.idl: Added.
- web-platform-tests/interfaces/reporting.idl: Added.
- web-platform-tests/interfaces/requestidlecallback.idl: Added.
- web-platform-tests/interfaces/resize-observer.idl: Added.
- web-platform-tests/interfaces/screen-capture.idl: Added.
- web-platform-tests/interfaces/screen-orientation.idl:
- web-platform-tests/interfaces/scroll-animations.idl: Added.
- web-platform-tests/interfaces/secure-contexts.idl: Added.
- web-platform-tests/interfaces/selection-api.idl:
- web-platform-tests/interfaces/server-timing.idl: Added.
- web-platform-tests/interfaces/shape-detection-api.idl: Added.
- web-platform-tests/interfaces/speech-api.idl: Added.
- web-platform-tests/interfaces/storage.idl:
- web-platform-tests/interfaces/touch-events.idl: Added.
- web-platform-tests/interfaces/trusted-types.tentative.idl: Added.
- web-platform-tests/interfaces/uievents.idl:
- web-platform-tests/interfaces/url.idl:
- web-platform-tests/interfaces/user-timing.idl: Added.
- web-platform-tests/interfaces/vibration.idl: Added.
- web-platform-tests/interfaces/wai-aria.idl: Added.
- web-platform-tests/interfaces/wake-lock.idl:
- web-platform-tests/interfaces/wasm-js-api.idl: Added.
- web-platform-tests/interfaces/wasm-web-api.idl: Added.
- web-platform-tests/interfaces/web-animations.idl: Added.
- web-platform-tests/interfaces/web-bluetooth.idl: Added.
- web-platform-tests/interfaces/web-nfc.idl:
- web-platform-tests/interfaces/web-share.idl:
- web-platform-tests/interfaces/webaudio.idl: Added.
- web-platform-tests/interfaces/webauthn.idl:
- web-platform-tests/interfaces/webdriver.idl: Added.
- web-platform-tests/interfaces/webgl1.idl: Added.
- web-platform-tests/interfaces/webgl2.idl: Added.
- web-platform-tests/interfaces/webidl.idl:
- web-platform-tests/interfaces/webmidi.idl: Added.
- web-platform-tests/interfaces/webrtc-dscp.idl: Added.
- web-platform-tests/interfaces/webrtc-stats.idl: Added.
- web-platform-tests/interfaces/webusb.idl:
- web-platform-tests/interfaces/webvtt.idl: Added.
- web-platform-tests/interfaces/webxr.idl:
- web-platform-tests/interfaces/worklets.idl: Added.
- web-platform-tests/interfaces/xhr.idl:
- web-platform-tests/interfaces/xslt.tentative.idl: Added.
- 12:57 PM Changeset in webkit [249730] by
-
- 1 edit3 adds in trunk/LayoutTests
SMIL animations of SVG <view> element have no effect
https://bugs.webkit.org/show_bug.cgi?id=201536
Patch by Nikolas Zimmermann <zimmermann@kde.org> on 2019-09-10
Reviewed by Rob Buis.
Added a new layout test to verify that navigating to different anchors within the same
external SVG does not cause reloads. Instead scrollToAnchor() is used which causes an
in-place navigation in the same document. The new test verifies that the SVGSVGElement
is preserved when navigating between anchors, which indicates that no new document was
created. Verify that the SVGViewSpec API works as intended, across navigations.
- svg/dom/SVGViewSpec-multiple-views-expected.txt: Added.
- svg/dom/SVGViewSpec-multiple-views.html: Added.
- svg/dom/resources/multiple-view-elements.svg: Added.
- 12:42 PM Changeset in webkit [249729] by
-
- 3 edits in trunk/Source/WebCore
IndexedDB: cache prepared SQLiteStatement in SQLiteIDBCursor
https://bugs.webkit.org/show_bug.cgi?id=201548
Reviewed by Alex Christensen.
This should be a performance improvement as we don't compile the same SQLiteStatement everytime it is used.
No new tests, no behavior change.
- Modules/indexeddb/server/SQLiteIDBCursor.cpp:
(WebCore::IDBServer::SQLiteIDBCursor::internalFetchNextRecord):
- Modules/indexeddb/server/SQLiteIDBCursor.h:
- 12:07 PM Changeset in webkit [249728] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, re-skip service worker test that was unskipped in r249716.
This test is still flaky.
- 12:03 PM Changeset in webkit [249727] by
-
- 1 edit in branches/safari-608-branch/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp
Unreviewed build fix. rdar://problem/55198064
- 12:01 PM Changeset in webkit [249726] by
-
- 12 edits in branches/safari-608.2.11.1-branch/Source/bmalloc
Cherry-pick r249670. rdar://problem/55225974
Revert to pre-r243144 scavenging behavior for macOS
https://bugs.webkit.org/show_bug.cgi?id=201555
Reviewed by Saam Barati.
The change in r243144 regressed internal power metrics for some Mac models.
- bmalloc/Heap.cpp: (bmalloc::Heap::scavenge): (bmalloc::Heap::scavengeToHighWatermark): (bmalloc::Heap::allocateSmallChunk): (bmalloc::Heap::allocateSmallPage): (bmalloc::Heap::allocateLarge):
- bmalloc/Heap.h:
- bmalloc/IsoDirectory.h:
- bmalloc/IsoDirectoryInlines.h: (bmalloc::passedNumPages>::takeFirstEligible): (bmalloc::passedNumPages>::scavenge): (bmalloc::passedNumPages>::scavengeToHighWatermark):
- bmalloc/IsoHeapImpl.h:
- bmalloc/IsoHeapImplInlines.h: (bmalloc::IsoHeapImpl<Config>::scavengeToHighWatermark):
- bmalloc/LargeMap.cpp: (bmalloc::LargeMap::add):
- bmalloc/LargeRange.h: (bmalloc::LargeRange::LargeRange): (bmalloc::merge):
- bmalloc/Scavenger.cpp: (bmalloc::Scavenger::Scavenger): (bmalloc::Scavenger::timeSinceLastPartialScavenge): (bmalloc::Scavenger::scavenge): (bmalloc::Scavenger::partialScavenge): (bmalloc::Scavenger::threadRunLoop):
- bmalloc/Scavenger.h:
- bmalloc/SmallPage.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@249670 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:43 AM Changeset in webkit [249725] by
-
- 3 edits93 deletes in trunk/LayoutTests
Unreviewed, rolling out r249724.
Patch included a lot more changes than intended
Reverted changeset:
"Unreviewed, re-skip service worker test that was unskipped in
r249716."
https://trac.webkit.org/changeset/249724
- 11:18 AM Changeset in webkit [249724] by
-
- 2 edits93 adds in trunk/LayoutTests
Unreviewed, re-skip service worker test that was unskipped in r249716.
This test is still flaky.
- 11:14 AM Changeset in webkit [249723] by
-
- 2 edits in trunk/Source/WebKit
Hangs on Swiss.com due to the web process being blocked on StorageAreaMap::LoadValuesIfNeeded
https://bugs.webkit.org/show_bug.cgi?id=201644
<rdar://problem/54942761>
Reviewed by Geoffrey Garen.
Mark the StorageManagerSet::GetValues sync IPC from the WebContent process to the Network
process with a UnboundedSynchronousIPCScope so that it will process critical sync IPC
from the UIProcess (such as WebPage::GetPositionInformation) while waiting for a reply.
- WebProcess/WebStorage/StorageAreaMap.cpp:
(WebKit::StorageAreaMap::loadValuesIfNeeded):
- 10:41 AM Changeset in webkit [249722] by
-
- 9 edits in trunk/Source/WebCore
RTCPeerConnection can only be instantiated in documents
https://bugs.webkit.org/show_bug.cgi?id=201639
Reviewed by Alex Christensen.
Make it clear that RTCDataChannel expects Document since peer connections
and data channels can only be instantiated in document environments.
We keep one downcast in RTCPeerConnection constructor due to a limitation
in binding generator for JS built-ins.
No change of behavior.
- Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::create):
(WebCore::RTCDataChannel::RTCDataChannel):
- Modules/mediastream/RTCDataChannel.h:
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::create):
(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::certificatesFromConfiguration):
(WebCore::RTCPeerConnection::createDataChannel):
(WebCore::RTCPeerConnection::document):
- Modules/mediastream/RTCPeerConnection.h:
- Modules/mediastream/RTCPeerConnection.idl:
- Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp:
(WebCore::LibWebRTCDataChannelHandler::channelEvent):
- Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.h:
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::OnDataChannel):
- 10:07 AM Changeset in webkit [249721] by
-
- 6 edits in trunk/Source/JavaScriptCore
[JSC] 32bit bitwide operation with all-one (-1) is wrong in B3
https://bugs.webkit.org/show_bug.cgi?id=201634
Reviewed by Mark Lam.
Accidentally, the B3::Value is ConstInt32(-1),
value->isInt(std::numeric_limits<uint32_t>::max())
returnsfalse
!
For example, in BitAnd strength reduction,
1034 Turn this: BitAnd(value, all-ones)
1035 Into this: value.
1036 if ((m_value->type() == Int64 && m_value->child(1)->isInt(std::numeric_limits<uint64_t>::max()))
1037 (m_value->type() == Int32 && m_value->child(1)->isInt(std::numeric_limits<uint32_t>::max()))) { 1038 replaceWithIdentity(m_value->child(0));
1039 break;
1040 }
We use
m_value->child(1)->isInt(std::numeric_limits<uint32_t>::max())
. However, Value::isInt is,
262 inline bool Value::isInt(int64_t value) const
263 {
264 return hasInt() && asInt() == value;
265 }
So, UINT32_MAX is expanded to int64_t, but it is not -1 since UINT32_MAX can be representable in int64_t. And Value::asInt implementation is,
257 inline int64_t Value::asInt() const
258 {
259 return hasInt32() ? asInt32() : asInt64();
260 }
So, we perform
static_cast<int64_t>(-1) == static_cast<int64_t>(UINT32_MAX)
. This is false, but this comparison is not what we want!
We should useisInt32
andisInt64
for bit patterns (like, operands for Bitwise opcodes).
We also fix the following optimization.
Turn this: BitAnd(Op(value, constant1), constant2)
where !(constant1 & constant2)
and Op is BitOr or BitXor
into this: BitAnd(value, constant2)
Since we stop further optimization when we match
if (m_value->child(1)->hasInt())
, the following optimization is never taken.
Turn this: BitAnd(BitXor(x, allOnes), c)
Into this: BitXor(BitOr(x, ~c), allOnes)
We add 32bit version of B3 tests for these optimizations.
- b3/B3LowerToAir.cpp:
- b3/B3ReduceStrength.cpp:
- b3/testb3.h:
- b3/testb3_2.cpp:
(testBitAndNotNot32):
(testBitAndNotImm):
(testBitAndNotImm32):
(testBitOrAndAndArgs32):
(testBitOrAndSameArgs32):
(testBitOrNotNot32):
(testBitOrNotImm32):
(addBitTests):
- b3/testb3_3.cpp:
(testBitXorAndAndArgs32):
(testBitXorAndSameArgs32):
- 9:56 AM Changeset in webkit [249720] by
-
- 2 edits in trunk/Source/WebKit
Remove a leftover reference to the StorageProcess
https://bugs.webkit.org/show_bug.cgi?id=192759
Reviewed by Alex Christensen.
- WebKit.xcodeproj/project.pbxproj:
Remove com.apple.WebKit.Storage.sb as an input file to the "Copy iOS Sandbox Profiles
for Manual Sandboxing" build phase. The file no longer exists.
- 9:42 AM Changeset in webkit [249719] by
-
- 143 edits23 copies5 moves251 adds14 deletes in trunk/LayoutTests
Re-sync workers web platform tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=201629
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Re-sync workers web platform tests from upstream 603a271948a7162.
- web-platform-tests/workers/META.yml: Added.
- web-platform-tests/workers/OWNERS: Removed.
- web-platform-tests/workers/README.md:
- web-platform-tests/workers/SharedWorker-constructor-expected.txt: Added.
- web-platform-tests/workers/SharedWorker-constructor.html: Added.
- web-platform-tests/workers/SharedWorker-detach-frame-in-error-event-expected.txt: Added.
- web-platform-tests/workers/SharedWorker-detach-frame-in-error-event.html: Added.
- web-platform-tests/workers/SharedWorker-exception-expected.txt: Added.
- web-platform-tests/workers/SharedWorker-exception-propagation-expected.txt: Added.
- web-platform-tests/workers/SharedWorker-exception-propagation.html: Added.
- web-platform-tests/workers/SharedWorker-exception.html: Added.
- web-platform-tests/workers/SharedWorker-script-error-expected.txt: Added.
- web-platform-tests/workers/SharedWorker-script-error.html: Added.
- web-platform-tests/workers/SharedWorker-simple-expected.txt: Added.
- web-platform-tests/workers/SharedWorker-simple.html: Added.
- web-platform-tests/workers/SharedWorkerPerformanceNow-expected.txt: Added.
- web-platform-tests/workers/SharedWorkerPerformanceNow.html: Added.
- web-platform-tests/workers/SharedWorker_dataUrl-expected.txt: Added.
- web-platform-tests/workers/SharedWorker_dataUrl.html: Added.
- web-platform-tests/workers/Worker-call.worker-expected.txt: Added.
- web-platform-tests/workers/Worker-call.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/interfaces.worker.html.
- web-platform-tests/workers/Worker-call.worker.js: Added.
(test):
- web-platform-tests/workers/Worker-messageport-expected.txt: Added.
- web-platform-tests/workers/Worker-messageport.html: Added.
- web-platform-tests/workers/Worker-multi-port-expected.txt: Added.
- web-platform-tests/workers/Worker-multi-port.html: Added.
- web-platform-tests/workers/Worker-nested-importScripts-error-expected.txt: Added.
- web-platform-tests/workers/Worker-nested-importScripts-error.html: Added.
- web-platform-tests/workers/Worker-simultaneous-errors-expected.txt: Added.
- web-platform-tests/workers/Worker-simultaneous-errors.html: Added.
- web-platform-tests/workers/Worker-structure-message-expected.txt: Added.
- web-platform-tests/workers/Worker-structure-message.html: Added.
- web-platform-tests/workers/Worker-terminate-forever-expected.txt: Added.
- web-platform-tests/workers/Worker-terminate-forever.html: Added.
- web-platform-tests/workers/Worker-termination-with-port-messages-expected.txt: Added.
- web-platform-tests/workers/Worker-termination-with-port-messages.html: Added.
- web-platform-tests/workers/Worker-timeout-cancel-order-expected.txt: Added.
- web-platform-tests/workers/Worker-timeout-cancel-order.html: Added.
- web-platform-tests/workers/Worker-timeout-decreasing-order-expected.txt: Added.
- web-platform-tests/workers/Worker-timeout-decreasing-order.html: Added.
- web-platform-tests/workers/Worker-timeout-increasing-order-expected.txt: Added.
- web-platform-tests/workers/Worker-timeout-increasing-order.html: Added.
- web-platform-tests/workers/WorkerGlobalScope-close-expected.txt: Added.
- web-platform-tests/workers/WorkerGlobalScope-close.html: Added.
- web-platform-tests/workers/WorkerGlobalScope_close-expected.txt: Removed.
- web-platform-tests/workers/WorkerGlobalScope_close.htm: Removed.
- web-platform-tests/workers/WorkerGlobalScope_requestAnimationFrame.tentative.worker-expected.txt: Added.
- web-platform-tests/workers/WorkerGlobalScope_requestAnimationFrame.tentative.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/interfaces.worker.html.
- web-platform-tests/workers/WorkerGlobalScope_requestAnimationFrame.tentative.worker.js: Added.
- web-platform-tests/workers/WorkerLocation-origin.sub.window.js: Removed.
- web-platform-tests/workers/WorkerPerformanceNow-expected.txt: Added.
- web-platform-tests/workers/WorkerPerformanceNow.html: Added.
- web-platform-tests/workers/Worker_cross_origin_security_err.htm:
- web-platform-tests/workers/baseurl/alpha/import-in-moduleworker-expected.txt: Added.
- web-platform-tests/workers/baseurl/alpha/import-in-moduleworker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/workers/baseurl/alpha/importScripts.html.
- web-platform-tests/workers/baseurl/alpha/importScripts-in-sharedworker-expected.txt: Added.
- web-platform-tests/workers/baseurl/alpha/importScripts-in-sharedworker.html: Added.
- web-platform-tests/workers/baseurl/alpha/importScripts-in-worker-expected.txt: Added.
- web-platform-tests/workers/baseurl/alpha/importScripts-in-worker.html: Added.
- web-platform-tests/workers/baseurl/alpha/sharedworker-in-worker-expected.txt: Added.
- web-platform-tests/workers/baseurl/alpha/sharedworker-in-worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/workers/baseurl/alpha/sharedworker.html.
- web-platform-tests/workers/baseurl/alpha/w3c-import.log:
- web-platform-tests/workers/baseurl/alpha/worker-in-worker-expected.txt: Added.
- web-platform-tests/workers/baseurl/alpha/worker-in-worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/workers/baseurl/alpha/worker.html.
- web-platform-tests/workers/baseurl/alpha/xhr-in-moduleworker-expected.txt: Added.
- web-platform-tests/workers/baseurl/alpha/xhr-in-moduleworker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/workers/baseurl/alpha/xhr.html.
- web-platform-tests/workers/baseurl/alpha/xhr-in-sharedworker-expected.txt: Added.
- web-platform-tests/workers/baseurl/alpha/xhr-in-sharedworker.html: Added.
- web-platform-tests/workers/baseurl/alpha/xhr-in-worker-expected.txt: Added.
- web-platform-tests/workers/baseurl/alpha/xhr-in-worker.html: Added.
- web-platform-tests/workers/baseurl/beta/import.py: Added.
(main):
- web-platform-tests/workers/baseurl/beta/script.js:
- web-platform-tests/workers/baseurl/beta/w3c-import.log:
- web-platform-tests/workers/baseurl/beta/xhr-worker.py: Added.
(main):
- web-platform-tests/workers/baseurl/gamma/import.js: Added.
- web-platform-tests/workers/baseurl/gamma/importScripts.js:
(test):
- web-platform-tests/workers/baseurl/gamma/script-module.js: Added.
- web-platform-tests/workers/baseurl/gamma/script.js:
- web-platform-tests/workers/baseurl/gamma/w3c-import.log:
- web-platform-tests/workers/baseurl/gamma/xhr-worker.js: Added.
- web-platform-tests/workers/constructors/SharedWorker/connect-event.html:
- web-platform-tests/workers/constructors/SharedWorker/connect-event.js: Added.
(onconnect):
- web-platform-tests/workers/constructors/SharedWorker/dummy-name.html:
- web-platform-tests/workers/constructors/SharedWorker/dummy-shared-worker.html:
- web-platform-tests/workers/constructors/SharedWorker/dummy-shared-worker.js: Added.
- web-platform-tests/workers/constructors/SharedWorker/empty-name.html:
- web-platform-tests/workers/constructors/SharedWorker/empty.js: Added.
- web-platform-tests/workers/constructors/SharedWorker/global-members.html:
- web-platform-tests/workers/constructors/SharedWorker/global-members.js: Added.
(onconnect):
- web-platform-tests/workers/constructors/SharedWorker/interface-objects.html:
- web-platform-tests/workers/constructors/SharedWorker/interface-objects.js: Added.
(handleCall):
(onconnect):
- web-platform-tests/workers/constructors/SharedWorker/name.html:
- web-platform-tests/workers/constructors/SharedWorker/name.js: Added.
(onconnect):
- web-platform-tests/workers/constructors/SharedWorker/port-onmessage.html:
- web-platform-tests/workers/constructors/SharedWorker/port-onmessage.js: Added.
(onconnect):
- web-platform-tests/workers/constructors/SharedWorker/port-properties.html:
- web-platform-tests/workers/constructors/SharedWorker/port-readonly.html:
- web-platform-tests/workers/constructors/SharedWorker/same-origin.html:
- web-platform-tests/workers/constructors/SharedWorker/unexpected-global-properties.html:
- web-platform-tests/workers/constructors/SharedWorker/unexpected-global-properties.js: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/constructors/SharedWorker/unexpected-global-properties.html.
(onconnect):
- web-platform-tests/workers/constructors/SharedWorker/w3c-import.log:
- web-platform-tests/workers/constructors/Worker/AbstractWorker.onerror-expected.txt:
- web-platform-tests/workers/constructors/Worker/AbstractWorker.onerror.html:
- web-platform-tests/workers/constructors/Worker/AbstractWorker.onerror.js: Added.
- web-platform-tests/workers/constructors/Worker/Worker-constructor-expected.txt: Added.
- web-platform-tests/workers/constructors/Worker/Worker-constructor.html: Added.
- web-platform-tests/workers/constructors/Worker/no-arguments-ctor-expected.txt: Removed.
- web-platform-tests/workers/constructors/Worker/no-arguments-ctor.html: Removed.
- web-platform-tests/workers/constructors/Worker/resolve-empty-string-expected.txt: Removed.
- web-platform-tests/workers/constructors/Worker/resolve-empty-string.html: Removed.
- web-platform-tests/workers/constructors/Worker/same-origin.html:
- web-platform-tests/workers/constructors/Worker/sample_worker/w3c-import.log:
- web-platform-tests/workers/constructors/Worker/terminate.html:
- web-platform-tests/workers/constructors/Worker/terminate.js: Added.
(f):
- web-platform-tests/workers/constructors/Worker/unresolvable-url-expected.txt: Removed.
- web-platform-tests/workers/constructors/Worker/unresolvable-url.html: Removed.
- web-platform-tests/workers/constructors/Worker/w3c-import.log:
- web-platform-tests/workers/dedicated-worker-from-blob-url.window-expected.txt: Added.
- web-platform-tests/workers/dedicated-worker-from-blob-url.window.html: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/interfaces.worker.html.
- web-platform-tests/workers/dedicated-worker-from-blob-url.window.js: Added.
(message_from_port):
- web-platform-tests/workers/examples/fetch_tests_from_worker-expected.txt: Added.
- web-platform-tests/workers/examples/fetch_tests_from_worker.html: Added.
- web-platform-tests/workers/examples/fetch_tests_from_worker.js: Added.
(test):
- web-platform-tests/workers/examples/general.worker-expected.txt: Added.
- web-platform-tests/workers/examples/general.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/interfaces.worker.html.
- web-platform-tests/workers/examples/general.worker.js: Added.
(test):
- web-platform-tests/workers/examples/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/baseurl/alpha/w3c-import.log.
- web-platform-tests/workers/interfaces.worker-expected.txt: Removed.
- web-platform-tests/workers/interfaces.worker.js: Removed.
- web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/event-ports-dedicated.html:
- web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/event-ports-dedicated.js: Added.
(onmessage):
- web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/imagedata-cloned-canvas-in-array.html:
- web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/imagedata-cloned-canvas-in-array.js: Added.
(onmessage):
- web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/second-argument-dictionary-expected.txt: Added.
- web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/second-argument-dictionary.html: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/second-argument-null-in-array.html.
- web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/second-argument-dictionary.js: Added.
(onmessage):
- web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/second-argument-null-expected.txt:
- web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/second-argument-null-in-array.html:
- web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/second-argument-null-in-array.js: Added.
(catch):
- web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/second-argument-null.html:
- web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/second-argument-null.js: Added.
(catch):
- web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/second-argument-undefined.html:
- web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/second-argument-undefined.js: Added.
(catch):
- web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/setting-postMessage.html:
- web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/setting-postMessage.js: Added.
- web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/structured-clone-imagedata.html:
- web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/structured-clone-imagedata.js: Added.
(onmessage):
- web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/structured-clone-message.html:
- web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/structured-clone-message.js: Added.
(i.catch):
- web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/w3c-import.log:
- web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/w3c-import.log:
- web-platform-tests/workers/interfaces/SharedWorkerGlobalScope/name/getting.html:
- web-platform-tests/workers/interfaces/SharedWorkerGlobalScope/name/getting.js: Added.
(switch):
- web-platform-tests/workers/interfaces/SharedWorkerGlobalScope/name/setting.html:
- web-platform-tests/workers/interfaces/SharedWorkerGlobalScope/name/setting.js: Added.
- web-platform-tests/workers/interfaces/SharedWorkerGlobalScope/name/w3c-import.log:
- web-platform-tests/workers/interfaces/SharedWorkerGlobalScope/onconnect.html:
- web-platform-tests/workers/interfaces/SharedWorkerGlobalScope/onconnect.js: Added.
(catch):
(try.self.onconnect.handleEvent):
(f):
- web-platform-tests/workers/interfaces/SharedWorkerGlobalScope/w3c-import.log:
- web-platform-tests/workers/interfaces/WorkerGlobalScope/close/incoming-message.html:
- web-platform-tests/workers/interfaces/WorkerGlobalScope/close/incoming-message.js: Added.
(onmessage):
- web-platform-tests/workers/interfaces/WorkerGlobalScope/close/sending-messages.html:
- web-platform-tests/workers/interfaces/WorkerGlobalScope/close/sending-messages.js: Added.
- web-platform-tests/workers/interfaces/WorkerGlobalScope/close/setInterval.html:
- web-platform-tests/workers/interfaces/WorkerGlobalScope/close/setInterval.js: Added.
(interval1.setInterval):
(interval2.setInterval):
- web-platform-tests/workers/interfaces/WorkerGlobalScope/close/setTimeout.html:
- web-platform-tests/workers/interfaces/WorkerGlobalScope/close/setTimeout.js: Added.
(x):
- web-platform-tests/workers/interfaces/WorkerGlobalScope/close/w3c-import.log:
- web-platform-tests/workers/interfaces/WorkerGlobalScope/location/members.html:
- web-platform-tests/workers/interfaces/WorkerGlobalScope/location/members.js: Added.
- web-platform-tests/workers/interfaces/WorkerGlobalScope/location/redirect-expected.txt:
- web-platform-tests/workers/interfaces/WorkerGlobalScope/location/redirect-module-expected.txt: Added.
- web-platform-tests/workers/interfaces/WorkerGlobalScope/location/redirect-module.html: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerGlobalScope/location/redirect.html.
- web-platform-tests/workers/interfaces/WorkerGlobalScope/location/redirect-sharedworker-expected.txt: Added.
- web-platform-tests/workers/interfaces/WorkerGlobalScope/location/redirect-sharedworker.html: Added.
- web-platform-tests/workers/interfaces/WorkerGlobalScope/location/redirect.html:
- web-platform-tests/workers/interfaces/WorkerGlobalScope/location/redirect.js: Added.
- web-platform-tests/workers/interfaces/WorkerGlobalScope/location/returns-same-object.html:
- web-platform-tests/workers/interfaces/WorkerGlobalScope/location/returns-same-object.js: Added.
- web-platform-tests/workers/interfaces/WorkerGlobalScope/location/setting-members.html:
- web-platform-tests/workers/interfaces/WorkerGlobalScope/location/setting-members.js: Added.
(catch):
- web-platform-tests/workers/interfaces/WorkerGlobalScope/location/w3c-import.log:
- web-platform-tests/workers/interfaces/WorkerGlobalScope/onerror/exception-in-onerror-expected.txt:
- web-platform-tests/workers/interfaces/WorkerGlobalScope/onerror/exception-in-onerror.html:
- web-platform-tests/workers/interfaces/WorkerGlobalScope/onerror/exception-in-onerror.js: Added.
(onerror):
(x):
- web-platform-tests/workers/interfaces/WorkerGlobalScope/onerror/handled.html:
- web-platform-tests/workers/interfaces/WorkerGlobalScope/onerror/handled.js: Added.
(onerror):
(x):
- web-platform-tests/workers/interfaces/WorkerGlobalScope/onerror/not-handled.html:
- web-platform-tests/workers/interfaces/WorkerGlobalScope/onerror/not-handled.js: Added.
(onerror):
(x):
- web-platform-tests/workers/interfaces/WorkerGlobalScope/onerror/propagate-to-window-onerror.html:
- web-platform-tests/workers/interfaces/WorkerGlobalScope/onerror/propagate-to-window-onerror.js: Added.
(x):
- web-platform-tests/workers/interfaces/WorkerGlobalScope/onerror/w3c-import.log:
- web-platform-tests/workers/interfaces/WorkerGlobalScope/self.html:
- web-platform-tests/workers/interfaces/WorkerGlobalScope/self.js: Added.
(check):
- web-platform-tests/workers/interfaces/WorkerGlobalScope/w3c-import.log:
- web-platform-tests/workers/interfaces/WorkerUtils/WindowTimers/001.html:
- web-platform-tests/workers/interfaces/WorkerUtils/WindowTimers/001.js: Added.
(setTimeout):
- web-platform-tests/workers/interfaces/WorkerUtils/WindowTimers/002.html:
- web-platform-tests/workers/interfaces/WorkerUtils/WindowTimers/002.js: Added.
(t.setTimeout):
- web-platform-tests/workers/interfaces/WorkerUtils/WindowTimers/003.html:
- web-platform-tests/workers/interfaces/WorkerUtils/WindowTimers/003.js: Added.
(setInterval):
- web-platform-tests/workers/interfaces/WorkerUtils/WindowTimers/004.html:
- web-platform-tests/workers/interfaces/WorkerUtils/WindowTimers/004.js: Added.
(t.setInterval):
- web-platform-tests/workers/interfaces/WorkerUtils/WindowTimers/005-expected.txt: Added.
- web-platform-tests/workers/interfaces/WorkerUtils/WindowTimers/005.html: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/WindowTimers/001.html.
- web-platform-tests/workers/interfaces/WorkerUtils/WindowTimers/005.js: Added.
(t.setInterval):
- web-platform-tests/workers/interfaces/WorkerUtils/WindowTimers/w3c-import.log:
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/003.html:
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/003.js: Added.
(catch):
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/004.html:
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/004.js: Added.
(catch):
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/005.html:
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/005.js: Added.
(catch):
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/006.html:
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/006.js: Added.
(catch):
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/007.html:
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/007.js: Added.
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/008.html:
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/008.js: Added.
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/009.html:
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/009.js: Added.
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/010.html:
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/010.js: Added.
(catch):
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/011.html:
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/011.js: Added.
(catch):
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/012.html:
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/012.js: Added.
(catch):
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/1.headers: Added.
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/null.headers: Added.
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/undefined.headers: Added.
- web-platform-tests/workers/interfaces/WorkerUtils/importScripts/w3c-import.log:
- web-platform-tests/workers/interfaces/WorkerUtils/navigator/002.html:
- web-platform-tests/workers/interfaces/WorkerUtils/navigator/002.js: Added.
- web-platform-tests/workers/interfaces/WorkerUtils/navigator/003.html:
- web-platform-tests/workers/interfaces/WorkerUtils/navigator/003.js: Added.
- web-platform-tests/workers/interfaces/WorkerUtils/navigator/004.html:
- web-platform-tests/workers/interfaces/WorkerUtils/navigator/004.js: Added.
- web-platform-tests/workers/interfaces/WorkerUtils/navigator/005.html:
- web-platform-tests/workers/interfaces/WorkerUtils/navigator/005.js: Added.
- web-platform-tests/workers/interfaces/WorkerUtils/navigator/006.html:
- web-platform-tests/workers/interfaces/WorkerUtils/navigator/006.js: Added.
- web-platform-tests/workers/interfaces/WorkerUtils/navigator/007.html:
- web-platform-tests/workers/interfaces/WorkerUtils/navigator/007.js: Added.
- web-platform-tests/workers/interfaces/WorkerUtils/navigator/language.html:
- web-platform-tests/workers/interfaces/WorkerUtils/navigator/language.js: Added.
- web-platform-tests/workers/interfaces/WorkerUtils/navigator/w3c-import.log:
- web-platform-tests/workers/modules/dedicated-worker-import-blob-url.any-expected.txt: Added.
- web-platform-tests/workers/modules/dedicated-worker-import-blob-url.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/interfaces.worker.html.
- web-platform-tests/workers/modules/dedicated-worker-import-blob-url.any.js: Added.
(import_blob_url_test):
- web-platform-tests/workers/modules/dedicated-worker-import-blob-url.any.worker-expected.txt: Added.
- web-platform-tests/workers/modules/dedicated-worker-import-blob-url.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/interfaces.worker.html.
- web-platform-tests/workers/modules/dedicated-worker-import-csp-expected.txt: Added.
- web-platform-tests/workers/modules/dedicated-worker-import-csp.html: Added.
- web-platform-tests/workers/modules/dedicated-worker-import-data-url.any-expected.txt: Added.
- web-platform-tests/workers/modules/dedicated-worker-import-data-url.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/interfaces.worker.html.
- web-platform-tests/workers/modules/dedicated-worker-import-data-url.any.js: Added.
(import_data_url_test):
- web-platform-tests/workers/modules/dedicated-worker-import-data-url.any.worker-expected.txt: Added.
- web-platform-tests/workers/modules/dedicated-worker-import-data-url.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/interfaces.worker.html.
- web-platform-tests/workers/modules/dedicated-worker-import-failure-expected.txt: Added.
- web-platform-tests/workers/modules/dedicated-worker-import-failure.html: Added.
- web-platform-tests/workers/modules/dedicated-worker-import-meta-expected.txt: Added.
- web-platform-tests/workers/modules/dedicated-worker-import-meta.html: Added.
- web-platform-tests/workers/modules/dedicated-worker-import-referrer-expected.txt: Added.
- web-platform-tests/workers/modules/dedicated-worker-import-referrer.html: Added.
- web-platform-tests/workers/modules/dedicated-worker-import.any-expected.txt: Added.
- web-platform-tests/workers/modules/dedicated-worker-import.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/interfaces.worker.html.
- web-platform-tests/workers/modules/dedicated-worker-import.any.js: Added.
(import_test):
- web-platform-tests/workers/modules/dedicated-worker-import.any.worker-expected.txt: Added.
- web-platform-tests/workers/modules/dedicated-worker-import.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/interfaces.worker.html.
- web-platform-tests/workers/modules/dedicated-worker-options-credentials-expected.txt: Added.
- web-platform-tests/workers/modules/dedicated-worker-options-credentials.html: Added.
- web-platform-tests/workers/modules/dedicated-worker-options-credentials.html.headers: Added.
- web-platform-tests/workers/modules/dedicated-worker-options-type-expected.txt: Added.
- web-platform-tests/workers/modules/dedicated-worker-options-type.html: Added.
- web-platform-tests/workers/modules/resources/credentials.py: Added.
(main):
- web-platform-tests/workers/modules/resources/dynamic-import-and-then-static-import-worker.js: Added.
- web-platform-tests/workers/modules/resources/dynamic-import-given-url-worker.js: Added.
- web-platform-tests/workers/modules/resources/dynamic-import-remote-origin-credentials-checker-worker.sub.js: Added.
- web-platform-tests/workers/modules/resources/dynamic-import-remote-origin-referrer-checker-worker.sub.js: Added.
- web-platform-tests/workers/modules/resources/dynamic-import-remote-origin-script-worker.sub.js: Added.
- web-platform-tests/workers/modules/resources/dynamic-import-same-origin-credentials-checker-worker.js: Added.
- web-platform-tests/workers/modules/resources/dynamic-import-same-origin-referrer-checker-worker.js: Added.
- web-platform-tests/workers/modules/resources/dynamic-import-worker.js: Added.
- web-platform-tests/workers/modules/resources/empty-worker.js: Added.
- web-platform-tests/workers/modules/resources/eval-dynamic-import-worker.js: Added.
- web-platform-tests/workers/modules/resources/export-on-dynamic-import-script.js: Added.
- web-platform-tests/workers/modules/resources/export-on-dynamic-import-script.js.headers: Added.
- web-platform-tests/workers/modules/resources/export-on-load-script.js: Added.
- web-platform-tests/workers/modules/resources/export-on-load-script.js.headers: Added.
- web-platform-tests/workers/modules/resources/export-on-static-import-script.js: Added.
- web-platform-tests/workers/modules/resources/export-on-static-import-script.js.headers: Added.
- web-platform-tests/workers/modules/resources/import-meta-url-worker.js: Added.
- web-platform-tests/workers/modules/resources/import-scripts-worker.js: Added.
(catch):
- web-platform-tests/workers/modules/resources/import-test-cases.js: Added.
- web-platform-tests/workers/modules/resources/nested-dynamic-import-worker.js: Added.
- web-platform-tests/workers/modules/resources/nested-static-import-worker.js: Added.
- web-platform-tests/workers/modules/resources/new-worker-window.html: Added.
- web-platform-tests/workers/modules/resources/post-message-on-load-worker.js: Added.
- web-platform-tests/workers/modules/resources/referrer-checker.py: Added.
(main):
- web-platform-tests/workers/modules/resources/static-import-and-then-dynamic-import-worker.js: Added.
- web-platform-tests/workers/modules/resources/static-import-non-existent-script-worker.js: Added.
- web-platform-tests/workers/modules/resources/static-import-remote-origin-credentials-checker-worker.sub.js: Added.
- web-platform-tests/workers/modules/resources/static-import-remote-origin-referrer-checker-worker.sub.js: Added.
- web-platform-tests/workers/modules/resources/static-import-remote-origin-script-worker.sub.js: Added.
- web-platform-tests/workers/modules/resources/static-import-same-origin-credentials-checker-worker.js: Added.
- web-platform-tests/workers/modules/resources/static-import-same-origin-referrer-checker-worker.js: Added.
- web-platform-tests/workers/modules/resources/static-import-worker.js: Added.
- web-platform-tests/workers/modules/resources/w3c-import.log: Added.
- web-platform-tests/workers/modules/w3c-import.log: Added.
- web-platform-tests/workers/name-property-expected.txt:
- web-platform-tests/workers/name-property.html:
- web-platform-tests/workers/nested_worker.worker.js:
(async_test):
- web-platform-tests/workers/nested_worker_close_from_parent_worker-expected.txt: Added.
- web-platform-tests/workers/nested_worker_close_from_parent_worker.html: Added.
- web-platform-tests/workers/nested_worker_close_self.worker-expected.txt: Added.
- web-platform-tests/workers/nested_worker_close_self.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/interfaces.worker.html.
- web-platform-tests/workers/nested_worker_close_self.worker.js: Added.
(async_test):
- web-platform-tests/workers/nested_worker_importScripts.worker-expected.txt: Added.
- web-platform-tests/workers/nested_worker_importScripts.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/interfaces.worker.html.
- web-platform-tests/workers/nested_worker_importScripts.worker.js: Added.
(async_test):
- web-platform-tests/workers/nested_worker_sync_xhr.worker-expected.txt: Added.
- web-platform-tests/workers/nested_worker_sync_xhr.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/interfaces.worker.html.
- web-platform-tests/workers/nested_worker_sync_xhr.worker.js: Added.
(async_test):
- web-platform-tests/workers/nested_worker_terminate_from_document-expected.txt: Added.
- web-platform-tests/workers/nested_worker_terminate_from_document.html: Added.
- web-platform-tests/workers/non-automated/navigator-onLine.html:
- web-platform-tests/workers/non-automated/navigator-onLine.js: Added.
(string_appeared_here.in.self.onmessage):
(else.e.ports.0.onmessage):
(else.onconnect):
- web-platform-tests/workers/non-automated/w3c-import.log:
- web-platform-tests/workers/opaque-origin.html:
- web-platform-tests/workers/semantics/encodings/001.html:
- web-platform-tests/workers/semantics/encodings/001.html.headers: Removed.
- web-platform-tests/workers/semantics/encodings/001.js: Added.
- web-platform-tests/workers/semantics/encodings/001.js.headers: Added.
- web-platform-tests/workers/semantics/encodings/002.html:
- web-platform-tests/workers/semantics/encodings/002.html.headers: Removed.
- web-platform-tests/workers/semantics/encodings/002.js: Added.
(onconnect):
- web-platform-tests/workers/semantics/encodings/002.js.headers: Added.
- web-platform-tests/workers/semantics/encodings/003.html:
- web-platform-tests/workers/semantics/encodings/003.js: Added.
- web-platform-tests/workers/semantics/encodings/004.html:
- web-platform-tests/workers/semantics/encodings/004.js: Added.
(onconnect):
- web-platform-tests/workers/semantics/encodings/w3c-import.log:
- web-platform-tests/workers/semantics/interface-objects/001.worker-expected.txt:
- web-platform-tests/workers/semantics/interface-objects/001.worker.js:
- web-platform-tests/workers/semantics/interface-objects/002.worker-expected.txt:
- web-platform-tests/workers/semantics/interface-objects/002.worker.js:
- web-platform-tests/workers/semantics/interface-objects/003.html:
- web-platform-tests/workers/semantics/interface-objects/003.js: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/semantics/interface-objects/003.html.
(onconnect):
- web-platform-tests/workers/semantics/interface-objects/004.html:
- web-platform-tests/workers/semantics/interface-objects/004.js: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/semantics/interface-objects/004.html.
(onconnect):
- web-platform-tests/workers/semantics/interface-objects/w3c-import.log:
- web-platform-tests/workers/semantics/multiple-workers/001.html:
- web-platform-tests/workers/semantics/multiple-workers/001.js: Added.
(string_appeared_here.in.self.onmessage):
(else.e.ports.0.onmessage):
(else.onconnect):
- web-platform-tests/workers/semantics/multiple-workers/002.html:
- web-platform-tests/workers/semantics/multiple-workers/002.js: Added.
- web-platform-tests/workers/semantics/multiple-workers/003.html:
- web-platform-tests/workers/semantics/multiple-workers/003.js: Added.
(location.hash.string_appeared_here.w2.onmessage):
(else.w3.onmessage):
(else):
- web-platform-tests/workers/semantics/multiple-workers/004-expected.txt:
- web-platform-tests/workers/semantics/multiple-workers/004.html:
- web-platform-tests/workers/semantics/multiple-workers/005.html:
- web-platform-tests/workers/semantics/multiple-workers/006.html:
- web-platform-tests/workers/semantics/multiple-workers/007.html:
- web-platform-tests/workers/semantics/multiple-workers/008-1.html:
- web-platform-tests/workers/semantics/multiple-workers/008.html:
- web-platform-tests/workers/semantics/multiple-workers/008.js: Added.
(onconnect):
- web-platform-tests/workers/semantics/multiple-workers/w3c-import.log:
- web-platform-tests/workers/semantics/navigation/001-1.html:
- web-platform-tests/workers/semantics/navigation/001-1.js: Added.
(setInterval):
- web-platform-tests/workers/semantics/navigation/w3c-import.log:
- web-platform-tests/workers/semantics/reporting-errors/001.html:
- web-platform-tests/workers/semantics/reporting-errors/001.js: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/semantics/reporting-errors/001.html.
(onerror):
(onconnect):
- web-platform-tests/workers/semantics/reporting-errors/002.html:
- web-platform-tests/workers/semantics/reporting-errors/002.js: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/semantics/reporting-errors/002.html.
(onconnect):
- web-platform-tests/workers/semantics/reporting-errors/003.html:
- web-platform-tests/workers/semantics/reporting-errors/003.js: Added.
(onconnect):
- web-platform-tests/workers/semantics/reporting-errors/004-1.html:
- web-platform-tests/workers/semantics/reporting-errors/004.html:
- web-platform-tests/workers/semantics/reporting-errors/004.js: Added.
(onconnect):
- web-platform-tests/workers/semantics/reporting-errors/w3c-import.log:
- web-platform-tests/workers/semantics/run-a-worker/001.html:
- web-platform-tests/workers/semantics/run-a-worker/001.js: Added.
- web-platform-tests/workers/semantics/run-a-worker/002.html:
- web-platform-tests/workers/semantics/run-a-worker/002.js: Added.
(onconnect):
- web-platform-tests/workers/semantics/run-a-worker/003.html:
- web-platform-tests/workers/semantics/run-a-worker/w3c-import.log:
- web-platform-tests/workers/semantics/structured-clone/w3c-import.log:
- web-platform-tests/workers/semantics/xhr/001.html:
- web-platform-tests/workers/semantics/xhr/001.js: Added.
(xhr.onreadystatechange):
- web-platform-tests/workers/semantics/xhr/002.html:
- web-platform-tests/workers/semantics/xhr/002.js: Added.
- web-platform-tests/workers/semantics/xhr/003.html:
- web-platform-tests/workers/semantics/xhr/003.js: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/semantics/xhr/003.html.
(xhr.onreadystatechange):
(onconnect):
- web-platform-tests/workers/semantics/xhr/004.html:
- web-platform-tests/workers/semantics/xhr/004.js: Added.
(onconnect):
- web-platform-tests/workers/semantics/xhr/support/w3c-import.log:
- web-platform-tests/workers/semantics/xhr/w3c-import.log:
- web-platform-tests/workers/shared-worker-from-blob-url.window-expected.txt: Added.
- web-platform-tests/workers/shared-worker-from-blob-url.window.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/workers/interfaces.worker.html.
- web-platform-tests/workers/shared-worker-from-blob-url.window.js: Added.
(message_from_port):
- web-platform-tests/workers/support/SharedWorker-common.js: Added.
(generateError):
(event.ports.0.onmessage):
(onconnect):
(handleMessage):
- web-platform-tests/workers/support/SharedWorker-create-common.js: Added.
(createWorker.worker.port.onmessage):
(createWorker.worker.postMessage):
(createWorker):
- web-platform-tests/workers/support/SharedWorker-script-error.js: Added.
(event.ports.0.onmessage):
(onconnect):
(else.onerror):
(handleMessage):
- web-platform-tests/workers/support/Worker-common.js: Added.
(onmessage):
- web-platform-tests/workers/support/Worker-create-common.js: Added.
(createWorker):
- web-platform-tests/workers/support/Worker-messageport.js: Added.
(onmessage):
(pingBack):
- web-platform-tests/workers/support/Worker-run-forever.js: Added.
- web-platform-tests/workers/support/Worker-structure-message.js: Added.
(self.onmessage):
- web-platform-tests/workers/support/Worker-termination-with-port-messages.js: Added.
(echo):
(onmessage):
- web-platform-tests/workers/support/Worker-thread-multi-port.js: Added.
(onmessage):
(testPassed):
(testFailed):
- web-platform-tests/workers/support/Worker-timeout-cancel-order.js: Added.
(t1.setTimeout):
(setTimeout):
- web-platform-tests/workers/support/Worker-timeout-decreasing-order.js: Added.
(setTimeout):
- web-platform-tests/workers/support/Worker-timeout-increasing-order.js: Added.
(setTimeout):
- web-platform-tests/workers/support/WorkerGlobalScope-close.js: Added.
(else.messagePort.onmessage):
(onmessage):
- web-platform-tests/workers/support/WorkerSendingPerformanceNow.js: Added.
(calcResponse):
(self.onmessage):
(port.onmessage):
- web-platform-tests/workers/support/iframe_sw_dataUrl.html: Added.
- web-platform-tests/workers/support/importScripts-1.js: Added.
- web-platform-tests/workers/support/importScripts-2.js: Added.
- web-platform-tests/workers/support/importScripts-3.js: Added.
- web-platform-tests/workers/support/imported_script.py: Added.
(main):
- web-platform-tests/workers/support/invalidScript.js: Added.
- web-platform-tests/workers/support/name.js:
(test):
- web-platform-tests/workers/support/parent_of_nested_worker.js: Added.
(try.worker.onmessage):
(catch):
- web-platform-tests/workers/support/sync_xhr.js: Added.
(catch):
- web-platform-tests/workers/support/sync_xhr_target.xml: Added.
- web-platform-tests/workers/support/throw-on-message-Worker.js: Added.
(self.onerror):
(self.onmessage):
- web-platform-tests/workers/support/w3c-import.log:
- web-platform-tests/workers/w3c-import.log:
- web-platform-tests/workers/worker-performance.worker-expected.txt:
LayoutTests:
- TestExpectations:
- tests-options.json:
- 9:06 AM Changeset in webkit [249718] by
-
- 11 edits in trunk
Remove MediaStreamPrivate::scheduleDeferredTask
https://bugs.webkit.org/show_bug.cgi?id=200975
LayoutTests/imported/w3c:
Reviewed by Eric Carlson.
- web-platform-tests/mediacapture-streams/MediaStream-finished-add.https-expected.txt:
Source/WebCore:
Reviewed by Eric Carlson.
All calls to scheduleDeferredTask are done on the main thread.
This was initially done to trigger less reconfiguration.
But this makes the implementation significantly more complex.
For instance, we have to wait for the document to update its media state
and send it to UIProcess before calling the allow completion handler.
Covered by existing tests.
- Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::MediaStream):
Make sure to update the document media state once the tracks have been added, similarly to the other constructor.
This ensures the document media state is computed with the new MediaStreamTrack.
- Modules/mediastream/UserMediaRequest.cpp:
(WebCore::isMediaStreamCorrectlyStarted):
(WebCore::UserMediaRequest::allow):
(WebCore::UserMediaRequest::stop):
(WebCore::UserMediaRequest::mediaStreamDidFail):
- Modules/mediastream/UserMediaRequest.h:
- page/MediaProducer.h:
(WebCore::MediaProducer::isCapturing):
Make sure to include getDisplayMedia as part of capture check.
- platform/mediastream/MediaStreamPrivate.cpp:
(WebCore::MediaStreamPrivate::trackMutedChanged):
(WebCore::MediaStreamPrivate::trackEnabledChanged):
(WebCore::MediaStreamPrivate::trackStarted):
(WebCore::MediaStreamPrivate::trackEnded):
- platform/mediastream/MediaStreamPrivate.h:
LayoutTests:
<rdar://problem/55113418>
Reviewed by Eric Carlson.
- fast/mediastream/media-stream-track-source-failure.html:
page mediaState may be updated synchronously.
Get it just before failing a capture track to verify that the state is being updated after the track is stopped.
- 9:06 AM Changeset in webkit [249717] by
-
- 1 edit in branches/safari-608.2.11.1-branch/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp
Unreviewed build fix. rdar://problem/55198064
- 8:42 AM Changeset in webkit [249716] by
-
- 20 edits in trunk/LayoutTests
Unreviewed, unskip / rebaseline a few service worker tests
https://bugs.webkit.org/show_bug.cgi?id=201626
LayoutTests/imported/w3c:
- web-platform-tests/service-workers/service-worker/client-navigate.https-expected.txt:
- web-platform-tests/service-workers/service-worker/embed-and-object-are-not-intercepted.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-video-cache.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-video-with-range-request.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-video.https-expected.txt:
- web-platform-tests/service-workers/service-worker/import-module-scripts.https-expected.txt:
- web-platform-tests/service-workers/service-worker/import-scripts-redirect.https-expected.txt:
- web-platform-tests/service-workers/service-worker/multipart-image.https-expected.txt:
- web-platform-tests/service-workers/service-worker/navigation-redirect.https-expected.txt:
- web-platform-tests/service-workers/service-worker/performance-timeline.https-expected.txt:
- web-platform-tests/service-workers/service-worker/ready.https-expected.txt:
- web-platform-tests/service-workers/service-worker/respond-with-body-accessed-response.https-expected.txt:
- web-platform-tests/service-workers/service-worker/sandboxed-iframe-fetch-event.https-expected.txt:
- web-platform-tests/service-workers/service-worker/skip-waiting-without-using-registration.https-expected.txt:
- web-platform-tests/service-workers/service-worker/update-not-allowed.https-expected.txt:
- web-platform-tests/service-workers/service-worker/update.https-expected.txt:
- web-platform-tests/service-workers/service-worker/worker-client-id.https-expected.txt:
- web-platform-tests/service-workers/service-worker/worker-in-sandboxed-iframe-by-csp-fetch-event.https-expected.txt:
LayoutTests:
- 8:27 AM Changeset in webkit [249715] by
-
- 2 edits in trunk/Source/WebCore
Audio sometimes fail to capture in WebRTC
https://bugs.webkit.org/show_bug.cgi?id=180748
<rdar://problem/36032346>
Reviewed by Eric Carlson.
In some cases, Safari is not receiving unsuspend notifications.
In that case, the capture unit might stay in suspend state forever.
To work around that, we force to unsuspend whenever there is a new capture happening.
This will make it so that reloading the page will unsuspend the page.
Manually tested by triggering Siri, starting to use the microphone and quickly going back to a capturing page.
- platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioSharedUnit::provideSpeakerData):
When suspension happens, the buffer size might change.
Since this is only an issue if there are some references data, we now do not fail the capture when there
is no reference data.
(WebCore::CoreAudioSharedUnit::resume):
(WebCore::CoreAudioSharedUnit::prepareForNewCapture):
Make sure to start with a clean slate by setting suspend state to false for the shared unit.
And failing all previous sources in case we are going back from suspension.
(WebCore::CoreAudioSharedUnit::startInternal):
(WebCore::CoreAudioCaptureSourceFactory::audioCaptureDeviceManager):
(WebCore::CoreAudioCaptureSource::CoreAudioCaptureSource):
- 8:10 AM Changeset in webkit [249714] by
-
- 8 edits in trunk/Source
[GTK][WPE] Fixes for non-unified builds after r249022
https://bugs.webkit.org/show_bug.cgi?id=201610
Reviewed by Joseph Pecoraro.
Source/WebCore:
No new tests needed.
- fileapi/NetworkSendQueue.h: Add missing inclusion of wtf/WeakPtr.h; add the namespace to WTF::WeakPtr
which is needed because there is no "using" clause.
- inspector/InspectorInstrumentation.cpp: Add missing inclusion of the PageDOMDebuggerAgent.h header.
- inspector/agents/WebDebuggerAgent.cpp: Add missing inclusion of the ScriptExecutionContext.h header.
- inspector/agents/page/PageDOMDebuggerAgent.cpp: Add missing inclusion of the InstrumentingAgents.h header.
Source/WebKit:
- NetworkProcess/NetworkCORSPreflightChecker.h: Add missing inclusion of the WebPageProxyIdentifier.h header.
- NetworkProcess/NetworkLoadChecker.h: Add missing inclusion of the WebPageProxyIdentifier.h header.
- 7:45 AM Changeset in webkit [249713] by
-
- 4 edits13 adds in trunk/LayoutTests
Ensure tests for legacy features are in LayoutTests/mathml
https://bugs.webkit.org/show_bug.cgi?id=201604
Patch by Frederic Wang <fwang@igalia.com> on 2019-09-10
Reviewed by Rob Buis.
This patch copies MathML WPT tests verifying legacy support for features removed from MathML
Core. These tests will be overriden or removed in a future WPT synchronization, so we need
to keep local copies to check these legacy features when the "MathML Core" option is
disabled.
- TestExpectations: Copy expectation.
- mathml/non-core/frac-linethickness-001-expected.html: Added.
- mathml/non-core/frac-linethickness-001.html: Added.
- mathml/non-core/frac-linethickness-002-expected.html: Added.
- mathml/non-core/frac-linethickness-002.html: Added.
- mathml/non-core/frac-numalign-denomalign-001-expected.html: Added.
- mathml/non-core/frac-numalign-denomalign-001.html: Added.
- mathml/non-core/lengths-1-expected.html: Added.
- mathml/non-core/lengths-1.html: Added.
- mathml/non-core/lengths-2-expected.html: Added.
- mathml/non-core/lengths-2.html: Added.
- mathml/non-core/lengths-3-expected.txt: Added.
- mathml/non-core/lengths-3.html: Added.
- platform/gtk/TestExpectations: Copy expectation.
- platform/win/TestExpectations: Add failure expectations.
- 6:52 AM Changeset in webkit [249712] by
-
- 4 edits in trunk/Source/WebKit
UserMediaProcessManager is revoking sandbox extensions too aggressively
https://bugs.webkit.org/show_bug.cgi?id=201638
Reviewed by Eric Carlson.
Sandbox revocation was sometimes happening when a page is being closed while another page from the same process is starting capture.
In that case, revocation might happen while it should not.
To prevent this, we do not revoke sandbox extensions if there are pending captures for a page of the process.
Whenever a page does not have any pending capture, sandbox extensions may be revoked.
Covered by OnDeviceChangeCrash API test in debug mode.
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::finishGrantingRequest):
- UIProcess/UserMediaPermissionRequestManagerProxy.h:
(WebKit::UserMediaPermissionRequestManagerProxy::hasPendingCapture const):
- UIProcess/UserMediaProcessManager.cpp:
(WebKit::UserMediaProcessManager::revokeSandboxExtensionsIfNeeded):
- 5:47 AM Changeset in webkit [249711] by
-
- 2 edits in trunk/Tools
Unreviewed, remove myself from watchlists
- Scripts/webkitpy/common/config/watchlist:
- 5:04 AM Changeset in webkit [249710] by
-
- 5 edits2 adds in trunk
Add support to RTCDataChannel.send(Blob)
https://bugs.webkit.org/show_bug.cgi?id=201377
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/webrtc/RTCDataChannel-send-blob-order-expected.txt: Added.
- web-platform-tests/webrtc/RTCDataChannel-send-blob-order.html: Added.
- web-platform-tests/webrtc/RTCDataChannel-send-expected.txt:
Source/WebCore:
Make use of NetworkSendQueue to enqueue and send properly messages.
Test: imported/w3c/web-platform-tests/webrtc/RTCDataChannel-send-blob-order.html
- Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::createMessageQueue):
(WebCore::RTCDataChannel::RTCDataChannel):
(WebCore::RTCDataChannel::send):
(WebCore::RTCDataChannel::close):
- Modules/mediastream/RTCDataChannel.h:
- 3:53 AM Changeset in webkit [249709] by
-
- 12 edits2 adds in trunk
Option + arrow moves caret past whitespace on iOS
https://bugs.webkit.org/show_bug.cgi?id=201575
Reviewed by Wenson Hsieh.
Source/WebCore:
The bug was caused by findNextWordFromIndex on iOS behaving differently from macOS and UIKit by skipping
trailing whitespace after a word when moving forward and not skipping leading whitespace when moving backward.
This patch introduces a new mode (StopAfterWord) of findNextWordFromIndex in iOS that better matches
the behavior of findNextWordFromIndex on macOS and UIKit, and use it in various modify* functions of
FrameSelection when the selection update is triggered by user.
The legacy mode (LegacyStopBeforeWord) is used in all other call sites as well as when modify* functions
are invoked from author scripts.
Test: editing/selection/ios/move-by-word-with-keyboard.html
- editing/FrameSelection.cpp:
(WebCore::nextWordWhitespaceModeInIOS): Added. A helper to convert EUserTriggered to NextWordModeInIOS.
(WebCore::FrameSelection::nextWordPositionForPlatform):
(WebCore::FrameSelection::modifyExtendingRight):
(WebCore::FrameSelection::modifyExtendingForward):
(WebCore::FrameSelection::modifyMovingRight):
(WebCore::FrameSelection::modifyMovingForward):
(WebCore::FrameSelection::modifyExtendingLeft):
(WebCore::FrameSelection::modifyExtendingBackward):
(WebCore::FrameSelection::modifyMovingLeft):
(WebCore::FrameSelection::modifyMovingBackward):
(WebCore::FrameSelection::modify):
(WebCore::FrameSelection::updateAppearance):
- editing/FrameSelection.h:
- editing/TextIterator.cpp:
(WebCore::SearchBuffer::isWordStartMatch const):
- editing/VisibleUnits.cpp:
(WebCore::previousWordPositionBoundary):
(WebCore::previousWordPosition):
(WebCore::nextWordPositionBoundary):
(WebCore::nextWordPosition):
- editing/VisibleUnits.h:
- platform/text/TextBoundaries.cpp:
(WebCore::findNextWordFromIndex):
- platform/text/TextBoundaries.h:
- platform/text/mac/TextBoundaries.mm:
(WebCore::findNextWordFromIndex): Added a new mode.
LayoutTests:
Added a new test for moving caret by word granularity on iOS.
- editing/selection/ios/move-by-word-with-keyboard-expected.txt: Added.
- editing/selection/ios/move-by-word-with-keyboard.html: Added.
- editing/selection/ios/select-non-editable-text-using-keyboard-expected.txt: Rebaselined.
- editing/selection/ios/select-non-editable-text-using-keyboard.html: Updated the expected
selection string due to the behavior change. Also fixed a bug that some test cases were
not waiting for a secondary selectionchange event that happens after an extra selection
update with character granularity introduced in r247524.
- 2:42 AM Changeset in webkit [249708] by
-
- 20 edits2 deletes in trunk
[WebAssembly] Use StreamingParser in existing Wasm::BBQPlan
https://bugs.webkit.org/show_bug.cgi?id=189043
Reviewed by Keith Miller.
JSTests:
The offset performing the validation becomes a bit different.
The offset 0 is nice since it is the starting offset of the Module header signature compared to the offset 8.
- wasm/js-api/version.js:
Source/JavaScriptCore:
This patch integrates Wasm::StreamingParser into the existing Wasm::BBQPlan.
And remove Wasm::ModuleParser. This patch paves the way to implementing Wasm streaming features by
using Wasm::StreamingParser.
Currently, we are not using streaming feature of StreamingParser. In a subsequent patch, we will
create a mechanism to pipe a chunk of data to streaming parser to enable WebAssembly.compileStreaming
and instantiateStreaming.
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- tools/JSDollarVM.cpp:
(JSC::WasmStreamingParser::WasmStreamingParser):
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::parseAndCompileAir):
- wasm/WasmAirIRGenerator.h:
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::parseAndCompile): Use FunctionData, it is good since it is more strongly typed.
- wasm/WasmB3IRGenerator.h:
- wasm/WasmBBQPlan.cpp:
(JSC::Wasm::BBQPlan::BBQPlan):
(JSC::Wasm::BBQPlan::didReceiveFunctionData): Add a callback, which invokes validation.
(JSC::Wasm::BBQPlan::parseAndValidateModule): Use StreamingParser instead of old ModuleParser.
(JSC::Wasm::BBQPlan::compileFunctions):
(JSC::Wasm::BBQPlan::complete):
- wasm/WasmBBQPlan.h:
- wasm/WasmModuleParser.cpp: Removed.
- wasm/WasmModuleParser.h: Removed.
- wasm/WasmOMGForOSREntryPlan.cpp:
(JSC::Wasm::OMGForOSREntryPlan::work):
- wasm/WasmOMGPlan.cpp:
(JSC::Wasm::OMGPlan::work):
- wasm/WasmPlan.cpp:
(JSC::Wasm::Plan::fail): Make fail function callable multiple times. The first error will be used.
- wasm/WasmSectionParser.cpp:
(JSC::Wasm::SectionParser::parseCode): Since the Code section is specially handled in StreamingParser, this code is never used.
- wasm/WasmStreamingParser.cpp:
(JSC::Wasm::StreamingParser::StreamingParser):
(JSC::Wasm::StreamingParser::parseCodeSectionSize):
(JSC::Wasm::StreamingParser::parseFunctionPayload):
(JSC::Wasm::StreamingParser::parseSectionPayload):
(JSC::Wasm::StreamingParser::finalize): Call client's callbacks at appropriate timings.
- wasm/WasmStreamingParser.h:
(JSC::Wasm::StreamingParserClient::didReceiveSectionData):
(JSC::Wasm::StreamingParserClient::didReceiveFunctionData):
(JSC::Wasm::StreamingParserClient::didFinishParsing): Add StreamingParserClient,
which has 3 callbacks right now. StreamingParser gets this client and call these callbacks
at appropriate timings.
- wasm/WasmValidate.cpp:
(JSC::Wasm::validateFunction):
- wasm/WasmValidate.h: Use FunctionData, it is good since it is more strongly typed.
Sep 9, 2019:
- 10:30 PM Changeset in webkit [249707] by
-
- 8 edits3 adds in branches/safari-608-branch
Cherry-pick r249535. rdar://problem/55183140
- 10:03 PM Changeset in webkit [249706] by
-
- 7 edits in trunk/Source/JavaScriptCore
[JSC] CodeBlock::m_constantRegisters should be guarded by ConcurrentJSLock when Vector reallocate memory
https://bugs.webkit.org/show_bug.cgi?id=201622
Reviewed by Mark Lam.
CodeBlock::visitChildren takes ConcurrentJSLock while iterating m_constantRegisters, some of the places reallocate
this Vector without taking a lock. If a Vector memory is reallocated while iterating it in concurrent collector,
the concurrent collector can see a garbage. This patch guards m_constantRegisters reallocation with ConcurrentJSLock.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finishCreation):
(JSC::CodeBlock::setConstantRegisters):
- bytecode/CodeBlock.h:
(JSC::CodeBlock::addConstant):
(JSC::CodeBlock::addConstantLazily):
- dfg/DFGDesiredWatchpoints.cpp:
(JSC::DFG::ArrayBufferViewWatchpointAdaptor::add):
(JSC::DFG::SymbolTableAdaptor::add):
(JSC::DFG::FunctionExecutableAdaptor::add):
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::registerFrozenValues):
- dfg/DFGJITFinalizer.cpp:
(JSC::DFG::JITFinalizer::finalizeCommon):
- dfg/DFGLazyJSValue.cpp:
(JSC::DFG::LazyJSValue::emit const):
- 9:51 PM Changeset in webkit [249705] by
-
- 2 edits in trunk/Tools
Rebase API test after r249675
https://bugs.webkit.org/show_bug.cgi?id=201596
- TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
We removed the restriction on WebsitePolicies with non-default persistent sessions.
We needed to change the expectations of the test that exercised that code path.
- 9:30 PM Changeset in webkit [249704] by
-
- 2 edits in trunk/Tools
Fix iOS API tests after r249684
https://bugs.webkit.org/show_bug.cgi?id=201573
- TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(TestWebKitAPI::getWebSocketEventWebKitLegacy):
(TestWebKitAPI::TEST):
The web thread still exists :(
That makes iOS immediate failure results more like WK2, which is fine.
The point is that the connection fails somehow and the server sees a TLS failure, which the test verifies.
- 9:24 PM Changeset in webkit [249703] by
-
- 7 edits in trunk/Source/WebKit
[iOS] We sometimes attempt to use a terminated prewarmed WebContent process
https://bugs.webkit.org/show_bug.cgi?id=201614
<rdar://problem/54714507>
Reviewed by Geoffrey Garen.
On iOS, it is possible for our processes to get terminated (e.g. jetsammed) while the UIProcess
is suspended. Upon resuming, it takes a little while for the UIProcess to get the notification
that the mac connection to its child process has been severed and the UIProcess may try to use
it for a load. This is especially problematic for prewarmed process because the client will end
up showing a crash banner and reloading when we could have used a new process rather the prewarmed
one if we had known it was dead.
This patch makes 2 improvements:
- It makes AuxiliaryProcessProxy::state() return Terminated if we still have a connection but the PID is not the PID of a running process. I also added a check in tryTakePrewarmedProcess() to not use the prewarmed process if it state() is Terminated.
- When the UIProcess is about to get suspended, have the process pools terminate their non-critical processes (i.e. prewarmed + the ones used for PageCache). This makes WebKit friendlier with other apps on the system when suspended with regards to memory. Also, it makes it less likely useful WebContent processes will get jetsammed.
- UIProcess/AuxiliaryProcessProxy.cpp:
(WebKit::AuxiliaryProcessProxy::state const):
(WebKit::AuxiliaryProcessProxy::isRunningProcessPID):
- UIProcess/AuxiliaryProcessProxy.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::applicationIsAboutToSuspend):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::tryTakePrewarmedProcess):
- UIProcess/WebProcessPool.h:
- UIProcess/ios/ProcessAssertionIOS.mm:
(-[WKProcessAssertionBackgroundTaskManager init]):
(-[WKProcessAssertionBackgroundTaskManager _releaseBackgroundTask]):
- 9:06 PM Changeset in webkit [249702] by
-
- 15 edits in trunk
REGRESSION: http/tests/resourceLoadStatistics/do-not-capture-statistics-for-simple-top-navigations.html is frequently timing out on iOS EWS bots
https://bugs.webkit.org/show_bug.cgi?id=201550
Reviewed by Alex Christensen.
Source/WebCore:
- loader/ResourceLoadObserver.h:
(WebCore::ResourceLoadObserver::hasStatistics const):
Source/WebKit:
- WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleResourceLoadStatisticsNotifyObserver):
- WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
Tools:
Update testRunner.statisticsNotifyObserver() to return a boolean indicating if it did
anything or not.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::statisticsNotifyObserver):
- WebKitTestRunner/InjectedBundle/InjectedBundle.h:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::statisticsNotifyObserver):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
LayoutTests:
Update test to do checks on a timer if its call to testRunner.statisticsNotifyObserver() is a no-op
due to having no statistics to send to the network process.
- http/tests/resourceLoadStatistics/do-not-capture-statistics-for-simple-top-navigations.html:
- 8:50 PM Changeset in webkit [249701] by
-
- 4 edits1 add in trunk
Tap and hold on Facebook sometimes creates a tall empty selection.
https://bugs.webkit.org/show_bug.cgi?id=201618
rdar://53630145
Reviewed by Megan Gardner.
Source/WebCore:
API Test: SelectionTests.ByWordAtEndOfDocument
- editing/VisibleUnits.cpp:
(WebCore::wordRangeFromPosition):
Remove special case code for the possibility of an empty paragraph and at the end
of the document. This is no longer needed and was causing a large selection to be
created on Facebook due to large areas of non-selectable content on the page.
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/ios/SelectionByWord.mm: Added.
- 8:20 PM Changeset in webkit [249700] by
-
- 6 edits in branches/safari-608-branch/Source/WebKit
Cherry-pick r249649. rdar://problem/55198071
[macOS] Pid is sometimes invalid when creating sandbox extensions by pid.
https://bugs.webkit.org/show_bug.cgi?id=201543
<rdar://problem/54733465>
Reviewed by Brent Fulgham.
There is a race condition when starting a load of a local file, where the WebContent process has not finished
launching yet, and its pid is not available. When we try to create a sandbox extension by using the pid of the
WebContent process, it is not available in the cases where the WebContent process has just launched and has not
finished launching yet. This patch creates a new dummy Web page message, 'LoadRequestWaitingForPID', which will
be sent instead of a normal 'LoadRequest' message, and only when the WebContent process has not finished
launching. When the WebContent process has finished launching, and we are about to actually send the pending
messages, we can detect that a 'LoadRequestWaitingForPID' has been appended for sending, and replace it with a
normal 'LoadReqest' message where we have created the sandbox extension issue with a valid pid. The message
'LoadRequestWaitingForPID' is never intended to reach the WebContent process, it is just there to replace with
a normal 'LoadRequest' message with a new sandbox extension. In the implementation of the message handler on
the WebContent process side, we assert that the method is never called. This patch makes sure the ordering of
the Web page messages are the same, even when we modify the message.
- UIProcess/AuxiliaryProcessProxy.cpp: (WebKit::AuxiliaryProcessProxy::didFinishLaunching):
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle): (WebKit::WebPageProxy::loadRequestWithNavigationShared): (WebKit::WebPageProxy::loadFile):
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::fileLoadRequest):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@249649 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:20 PM Changeset in webkit [249699] by
-
- 2 edits in branches/safari-608-branch/Source/WebKit
Cherry-pick r249624. rdar://problem/55202935
Marking up a note on iOS results in a PDF with no contents
https://bugs.webkit.org/show_bug.cgi?id=201530
<rdar://problem/53686019>
Unreviewed follow-up.
- UIProcess/ios/WKContentView.mm: (-[WKContentView _waitForDrawToPDFCallback]): Remove an ASSERT_NOT_REACHED that fires if the synchronous wait for printing times out. This is a totally legitimite situation that can occur if the process crashes; there's no need for an assert there.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@249624 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:20 PM Changeset in webkit [249698] by
-
- 16 edits5 adds in branches/safari-608-branch
Cherry-pick r249605. rdar://problem/55182896
Incorrect selection rect revealed after pasting images in a contenteditable element
https://bugs.webkit.org/show_bug.cgi?id=201549
<rdar://problem/50956429>
Reviewed by Simon Fraser.
Source/WebCore:
Editor::replaceSelectionWithFragment currently scrolls to reveal the selection after inserting the given
DocumentFragment. However, this scrolling occurs before any inserted images have loaded yet, which causes the
wrong caret rect to be revealed, since all image elements inserted during paste will be empty.
To fix this, we defer revealing the selection after inserting the fragment until after all images that have
been inserted are done loading. While waiting for images to load, if any layers which may be scrolled as a
result of revealing the selection are scrolled, we additionally cancel the deferred selection reveal. See
comments below for more detail.
Tests: editing/pasteboard/do-not-reveal-selection-after-programmatic-scroll.html
editing/pasteboard/reveal-selection-after-pasting-images.html
PasteImage.RevealSelectionAfterPastingImage
- editing/Editing.cpp: (WebCore::visibleImageElementsInRangeWithNonLoadedImages):
Add a new helper to iterate through a range and collect all image elements in that range, that contain cached
images that have not finished loading yet.
- editing/Editing.h:
- editing/Editor.cpp: (WebCore::Editor::replaceSelectionWithFragment):
Instead of always immediately revealing the selection after applying the ReplaceSelectionCommand, collect the
image elements that were just inserted, and avoid immediately revealing the selection if any of these images
have non-null cached images, but are not loaded yet. Instead, hold on to these images in a set, remove them once
they finish loading using the new method below, and once all images are removed, reveal the selection.
(WebCore::Editor::revealSelectionIfNeededAfterLoadingImageForElement):
(WebCore::Editor::renderLayerDidScroll):
Called whenever a scrollable RenderLayer is scrolled (or in the case of FrameView, the root layer). In the case
where Editor is waiting to reveal the selection, we check to see if the scrolled layer is an ancestor of the
layer enclosing the start of the selection.
(WebCore::Editor::respondToChangedSelection):
If the selection changes between pasting and waiting for pasted images to load, just cancel waiting to reveal
the selection after pasting.
- editing/Editor.h:
- editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::insertedContentRange const):
Add a helper method to grab the Range of content inserted after applying the command.
- editing/ReplaceSelectionCommand.h:
- page/FrameView.cpp: (WebCore::FrameView::scrollPositionChanged):
- page/FrameView.h:
- page/Page.cpp: (WebCore::Page::didFinishLoadingImageForElement):
Notify Editor after an image finishes loading.
- rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollTo):
Source/WebKit:
Tweak some existing logic to use the new visibleImageElementsInRangeWithNonLoadedImages helper function. See
WebCore for more details.
- WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::didConcludeEditDrag):
Tools:
Add an API test to exercise the scenario where we scroll to reveal the selection after pasting an image that was
directly written to the pasteboard.
- TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
LayoutTests:
Add a couple of new layout tests.
- editing/pasteboard/do-not-reveal-selection-after-programmatic-scroll-expected.txt: Added.
- editing/pasteboard/do-not-reveal-selection-after-programmatic-scroll.html: Added.
This test verifies that we don't try to scroll to reveal the caret after pasting, if the scroll position was
changed before the images finished loading.
- editing/pasteboard/reveal-selection-after-pasting-images-expected.txt: Added.
- editing/pasteboard/reveal-selection-after-pasting-images.html: Added.
- platform/ios/editing/pasteboard/reveal-selection-after-pasting-images-expected.txt: Added.
This test verifies that we reveal the caret after loading multiple pasted images in a selection, and dispatch a
scroll event in the process.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@249605 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:19 PM Changeset in webkit [249697] by
-
- 6 edits1 add in branches/safari-608-branch
Cherry-pick r249584. rdar://problem/55202935
Marking up a note on iOS results in a PDF with no contents
https://bugs.webkit.org/show_bug.cgi?id=201530
<rdar://problem/53686019>
Reviewed by Andy Estes.
Source/WebKit:
- Platform/IPC/Connection.cpp: (IPC::Connection::Connection): (IPC::Connection::waitForMessage): (IPC::Connection::connectionDidClose):
- Platform/IPC/Connection.h: If the main thread is blocked when the Web Content process dies, and something eventually calls waitForAndDispatchImmediately without returning control to the main run loop, we will wait for the full timeout, because a) the code to mark the connection invalid is dispatched to the main thread, and b) the secondary thread that is informed of the Web Content process dying did not yet have a "waiting for" message to mark as interrupted (because it wasn't waiting yet).
Fix this race by adding a bit that is set under the waitForMessage lock
on the secondary thread when the connection is invalidated, identically
to m_shouldWaitForSyncReplies, which solves the same problem for sync
messages.
Read the new bit when we are about to start waiting, and bail if it is set.
It's OK to not read it inside the loop because we are guaranteed to have
waitForMessage set at that point, so the normal interruption bit will work.
- UIProcess/ios/WKContentView.mm: (-[WKContentView _processDidExit]): Reset _isPrintingToPDF; the Web Content process is never going to get back to us if it crashes.
(-[WKContentView _wk_pageCountForPrintFormatter:]):
Do not bail from starting a printing operation if one is already occurring.
This fixes the original bug, because Markup ends up invalidating the page
count at least one extra time before asking for the printed document.
Instead of maintaining the fragile requirement that you cannot recompute
the page count while printing, just let it happen. In order to make this
work safely, synchronously wait for the previous printed result before
continuing with the next print.
We could do more coalescing here if need be, but calls to -_recalcPageCount
are not high in volume.
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewPrintFormatter.mm: Add some tests for WKWebViewPrintFormatter; specifically that it is possible to _recalcPageCount twice in quick succession, and that we don't hang if we start painting the printed content immediately after a Web Content process crash.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@249584 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:19 PM Changeset in webkit [249696] by
-
- 4 edits2 adds in branches/safari-608-branch
Cherry-pick r249581. rdar://problem/55202922
REGRESSION (iOS 13): If an overflow:hidden with a non-zero scroll position is toggled to overflow:scroll, some other scroll causes its scroll position to get reset
https://bugs.webkit.org/show_bug.cgi?id=201528
rdar://problem/55044885
Reviewed by Frédéric Wang.
Source/WebCore:
If, when an overflow scrolling node is created, the scroller has non-zero scroll
position (for example, via toggling to overflow:hidden, setting scrollTop, then toggling
to overflow:scroll), then on the next update its scroll position will reset back to zero.
The bug was that newly created ScrollingTreeScrollingNodes didn't set m_currentScrollPosition
to the scroll position coming from the state node, so a subsequent update could cause
the 0,0 currentScrollPosition to get applied. If we're making a new node, and there's no
requestedScrollPosition, then initialize m_currentScrollPosition.
Test: scrollingcoordinator/ios/scroller-initial-scroll-position.html
- page/scrolling/ScrollingTreeScrollingNode.cpp: (WebCore::ScrollingTreeScrollingNode::commitStateBeforeChildren): (WebCore::ScrollingTreeScrollingNode::commitStateAfterChildren):
- page/scrolling/ScrollingTreeScrollingNode.h:
LayoutTests:
- scrollingcoordinator/ios/scroller-initial-scroll-position-expected.html: Added.
- scrollingcoordinator/ios/scroller-initial-scroll-position.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@249581 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:19 PM Changeset in webkit [249695] by
-
- 5 edits in branches/safari-608-branch
Cherry-pick r249565. rdar://problem/55113261
AccessibilityRenderObject::setSelectedTextRange fails to set the selection passed an empty line.
https://bugs.webkit.org/show_bug.cgi?id=201518
<rdar://problem/54835122>
Patch by Andres Gonzalez <Andres Gonzalez> on 2019-09-06
Reviewed by Ryosuke Niwa.
Source/WebCore:
Test: accessibility/set-selected-text-range-after-newline.html
In the case of an empty line, the CharacterIterator range start and end
were not equal, thus we were not advancing the iterator and returning
the iterator range end, which is not correct. With this change we are
always advancing the iterator if its text is just '\n'. This covers all
the cases we fixed before plus empty lines.
- editing/Editing.cpp: (WebCore::visiblePositionForIndexUsingCharacterIterator):
LayoutTests:
Extended this test to set the selection range passed an empty line.
- accessibility/set-selected-text-range-after-newline-expected.txt:
- accessibility/set-selected-text-range-after-newline.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@249565 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:19 PM Changeset in webkit [249694] by
-
- 3 edits2 adds in branches/safari-608-branch
Cherry-pick r249534. rdar://problem/55183098
AX: children cache are not re-computed if tab index is removed
https://bugs.webkit.org/show_bug.cgi?id=201502
Reviewed by Zalan Bujtas.
Source/WebCore:
Test: accessibility/tabindex-removed.html
If the tabindex changes, it can potentially affect whether an element is accessible. If we don't update the children cache
information can be stale and lead to incorrect navigation with VoiceOver.
- accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::handleAttributeChange):
LayoutTests:
- accessibility/tabindex-removed-expected.txt: Added.
- accessibility/tabindex-removed.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@249534 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:19 PM Changeset in webkit [249693] by
-
- 5 edits in branches/safari-608-branch
Cherry-pick r249514. rdar://problem/55182886
MobileSafari may crash when invoking the C++ lambda in -[WKContentView _shareForWebView:]
https://bugs.webkit.org/show_bug.cgi?id=201479
<rdar://problem/51511834>
Reviewed by Tim Horton.
Source/WebKit:
Fix the crash by making -_shareForWebView: robust in the case where there are no selection rects
known in the UI process when -[WKContentView _share:] is invoked.
- UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _shareForWebView:]):
Tools:
Add a test to verify that the UI process doesn't crash when invoking
_share:
while there's no selection.
- TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm:
- TestWebKitAPI/ios/UIKitSPI.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@249514 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:19 PM Changeset in webkit [249692] by
-
- 2 edits in branches/safari-608-branch/Source/WebCore
Cherry-pick r249493. rdar://problem/55182906
[iPadOS] Unable to change sheets on Airtable.com
https://bugs.webkit.org/show_bug.cgi?id=201456
<rdar://problem/51557377>
Patch by Antoine Quint <Antoine Quint> on 2019-09-04
Reviewed by Dean Jackson.
Simulated mouse events are required to be able to manipulate cells and and columns on Airtable.com. However, dispatching a "mousedown" event on
tabs allowing to pick a different sheet ends up calling preventDefault() and prevent "click" events from being dispatched, which makes it
impossible to change sheet. We now limit the dispatch of simulated mouse events to the grid.
- page/Quirks.cpp: (WebCore::Quirks::simulatedMouseEventTypeForTarget const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@249493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:19 PM Changeset in webkit [249691] by
-
- 2 edits in branches/safari-608-branch/Source/WebKit
Cherry-pick r249454. rdar://problem/55198071
[macOS] Unable to open local file from favorites bar
https://bugs.webkit.org/show_bug.cgi?id=201444
Reviewed by Brent Fulgham.
The sandbox extension handle should be created providing the pid of the receiving process.
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@249454 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:19 PM Changeset in webkit [249690] by
-
- 2 edits in branches/safari-608-branch/Source/WebKit
Cherry-pick r249444. rdar://problem/55093558
Null deref under -[WKWebView _addUpdateVisibleContentRectPreCommitHandler]'s handler block
https://bugs.webkit.org/show_bug.cgi?id=201436
<rdar://problem/40640475>
Reviewed by Simon Fraser.
- UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView dealloc]): (-[WKWebView _addUpdateVisibleContentRectPreCommitHandler]): We crash sending a message to a deallocated WKWebView inside the handler block passed to +[CATransaction addCommitHandler:]. This seems impossible, because we carefully retain it, but it's possible that it could be the result of the handler block being installed under -dealloc (in which case retaining the WKWebView wouldn't actually extend its lifetime). -[WKWebView dealloc] is fairly sizable, and it's hard to follow all paths from it, so instead add a RELEASE_LOG_FAULT, so we'll get simulated crash logs, and bail, so we'll stop actually crashing (if this is the cause).
This is just a speculative fix, but a hopeful one, since intentionally calling
-_addUpdateVisibleContentRectPreCommitHandler: from dealloc yields a similar-looking
crash under the handler block.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@249444 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:19 PM Changeset in webkit [249689] by
-
- 2 edits in branches/safari-608-branch/Source/WebCore
Cherry-pick r248170. rdar://problem/55183128
[iOS] Directly use RealtimeMediaSourceCenter to compute the media capture state
https://bugs.webkit.org/show_bug.cgi?id=200368
<rdar://problem/53191450>
Unreviewed.
Build fix by guarding with MEDIA_STREAM in addition to IOS.
- dom/Document.cpp: (WebCore::Document::updateIsPlayingMedia): (WebCore::Document::pageMutedStateDidChange):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@248170 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:19 PM Changeset in webkit [249688] by
-
- 4 edits in branches/safari-608-branch/Source/WebCore
Cherry-pick r248161. rdar://problem/55183128
[iOS] Directly use RealtimeMediaSourceCenter to compute the media capture state
https://bugs.webkit.org/show_bug.cgi?id=200368
<rdar://problem/53191450>
Reviewed by Eric Carlson.
Instead of registering a MediaStreamTrack as a media producer to compute capture state,
go directly to the sources from the RealtimeMediaSourceCenter.
Do the same when requested to mute capture tracks.
No observable change of behavior.
Covered by manual test on iOS and existing tests.
- Modules/mediastream/MediaStreamTrack.cpp: (WebCore::MediaStreamTrack::MediaStreamTrack): (WebCore::MediaStreamTrack::~MediaStreamTrack): (WebCore::MediaStreamTrack::mediaState const): (WebCore::sourceCaptureState): (WebCore::MediaStreamTrack::captureState): (WebCore::MediaStreamTrack::muteCapture):
- Modules/mediastream/MediaStreamTrack.h:
- dom/Document.cpp: (WebCore::Document::updateIsPlayingMedia): (WebCore::Document::pageMutedStateDidChange):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@248161 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:12 PM Changeset in webkit [249687] by
-
- 2 edits in trunk/Tools
[EWS] Watchlist doesn't work sometimes
https://bugs.webkit.org/show_bug.cgi?id=201433
Reviewed by Michael Catanzaro.
- Scripts/webkitpy/common/config/watchlist: Updated the email addresses to the one associated with
corresponding Bugzilla accounts.
- 6:57 PM Changeset in webkit [249686] by
-
- 48 edits10 adds in trunk
getComputedStyle for line-height: normal should return the keyword instead of a length
https://bugs.webkit.org/show_bug.cgi?id=201296
LayoutTests/imported/w3c:
Reviewed by Ryosuke Niwa.
Per https://github.com/w3c/csswg-drafts/issues/3749,
Gecko and Blink has this behavior already.
This patch makes WebKit has the same behavior with them.
- web-platform-tests/css/css-inline/parsing/line-height-computed-expected.txt: Added.
- web-platform-tests/css/css-inline/parsing/line-height-computed.html: Added.
- web-platform-tests/css/cssom/getComputedStyle-line-height-expected.txt: Added.
- web-platform-tests/css/cssom/getComputedStyle-line-height.html: Added.
- web-platform-tests/html/rendering/replaced-elements/the-select-element/select-1-line-height-expected.html: Added.
- web-platform-tests/html/rendering/replaced-elements/the-select-element/select-1-line-height.html: Added.
Source/WebCore:
Reviewed by Ryosuke Niwa.
Per https://github.com/w3c/csswg-drafts/issues/3749,
Gecko and Blink has this behavior already.
This patch makes WebKit has the same behavior with them.
Tests: imported/w3c/web-platform-tests/css/css-inline/parsing/line-height-computed.html
imported/w3c/web-platform-tests/css/cssom/getComputedStyle-line-height.html
imported/w3c/web-platform-tests/html/rendering/replaced-elements/the-select-element/select-1-line-height.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::lineHeightFromStyle):
LayoutTests:
Reviewed by Ryosuke Niwa.
Per https://github.com/w3c/csswg-drafts/issues/3749,
Gecko and Blink has this behavior already.
This patch makes WebKit has the same behavior with them.
- css3/calc/line-height-expected.txt:
- fast/css/font-calculated-value-expected.txt:
- fast/css/font-calculated-value.html:
- fast/css/font-shorthand-from-longhands-expected.txt:
- fast/css/font-shorthand-from-longhands.html:
- fast/css/font-shorthand-line-height-expected.txt:
- fast/css/font-shorthand-line-height.html:
- fast/css/getComputedStyle/computed-style-expected.txt:
- fast/css/getComputedStyle/computed-style-font-expected.txt:
- fast/css/getComputedStyle/computed-style-font.html:
- fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- fast/ruby/ruby-line-height-expected.txt:
- fast/ruby/ruby-line-height.html:
- fast/text-autosizing/ios/idempotentmode/line-height-boosting-expected.txt:
- fast/text-autosizing/ios/idempotentmode/line-height-boosting.html:
- fast/text-autosizing/ios/line-height-text-autosizing-expected.txt:
- fast/text-autosizing/ios/line-height-text-autosizing.html:
- media/track/track-cue-rendering-on-resize-expected.txt:
- media/track/track-cue-rendering-on-resize.html:
- platform/gtk/fast/css/css2-system-fonts-expected.txt:
- platform/gtk/fast/css/getComputedStyle/computed-style-expected.txt:
- platform/gtk/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- platform/gtk/svg/css/getComputedStyle-basic-expected.txt:
- platform/ios/TestExpectations:
- platform/ios/css3/calc/line-height-expected.txt:
- platform/ios/fast/css/css2-system-fonts-expected.txt:
- platform/ios/fast/css/getComputedStyle/computed-style-expected.txt:
- platform/ios/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- platform/ios/svg/css/getComputedStyle-basic-expected.txt:
- platform/mac-sierra/fast/css/getComputedStyle/computed-style-expected.txt:
- platform/mac-sierra/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- platform/mac-sierra/svg/css/getComputedStyle-basic-expected.txt:
- platform/mac/fast/css/css2-system-fonts-expected.txt:
- platform/mac/fast/css/getComputedStyle/computed-style-expected.txt:
- platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- platform/mac/fast/text-autosizing/ios/line-height-text-autosizing-expected.txt:
- platform/mac/svg/css/getComputedStyle-basic-expected.txt:
- platform/wincairo/css3/calc/line-height-expected.txt:
- platform/wincairo/fast/css/css2-system-fonts-expected.txt:
- platform/wpe/fast/css/css2-system-fonts-expected.txt:
- platform/wpe/fast/css/getComputedStyle/computed-style-expected.txt:
- platform/wpe/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- platform/wpe/svg/css/getComputedStyle-basic-expected.txt:
- svg/css/getComputedStyle-basic-expected.txt:
- 6:39 PM Changeset in webkit [249685] by
-
- 11 edits4 adds in trunk/Websites/webkit.org
[WebGPU] Upload Babylon.js, WSL compile, and MotionMark links to demo page
https://bugs.webkit.org/show_bug.cgi?id=201621
Reviewed by Dean Jackson.
Add new demos to the WebGPU demo collection.
Ensure error alerts/divs display properly if WebGPU is not enabled.
- demos/webgpu/babylon/oneHelmetWebGPU.html:
- demos/webgpu/babylon/oneSphereWebGPU.html:
- demos/webgpu/compute-blur.html:
- demos/webgpu/compute-boids-compile.html:
- demos/webgpu/compute-boids.html:
- demos/webgpu/hello-cube.html:
- demos/webgpu/hello-triangle.html:
- demos/webgpu/index.html:
- demos/webgpu/resources/babylon-helmet.png: Added.
- demos/webgpu/resources/babylon-sphere.png: Added.
- demos/webgpu/resources/motionmark.jpeg: Added.
- demos/webgpu/resources/webkit-logo.png: Added.
- demos/webgpu/scripts/compute-boids-compile.js:
- demos/webgpu/textured-cube.html:
- 6:39 PM Changeset in webkit [249684] by
-
- 21 edits1 add in trunk
Disable TLS 1.0 and 1.1 in WebSockets
https://bugs.webkit.org/show_bug.cgi?id=201573
Reviewed by Youenn Fablet.
Source/WebCore:
This expands on what I started in r249019 when I disabled legacy TLS for our use of NSURLSession.
Since our WebSocket implementation uses a different network interface, disable legacy TLS for them, too.
I use the same temporary default to re-enable legacy TLS. I also add a unit test for both WebSockets and NSURLSession use.
- platform/network/cf/SocketStreamHandleImpl.h:
- platform/network/cf/SocketStreamHandleImplCFNet.cpp:
(WebCore::Function<bool):
(WebCore::SocketStreamHandleImpl::setLegacyTLSEnabledCheck):
(WebCore::SocketStreamHandleImpl::createStreams):
Source/WebCore/PAL:
- pal/spi/cf/CFNetworkSPI.h:
Source/WebKit:
- NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
- NetworkProcess/NetworkProcessCreationParameters.h:
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _allowAnyTLSCertificateForWebSocketTesting]):
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
Source/WebKitLegacy/mac:
- WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
Tools:
- TestWebKitAPI/SourcesCocoa.txt:
- TestWebKitAPI/TCPServer.cpp:
(sk_CRYPTO_BUFFER_num):
(sk_CRYPTO_BUFFER_value):
(TestWebKitAPI::deleter<CRYPTO_BUFFER>::operator()):
(TestWebKitAPI::TCPServer::TCPServer):
(TestWebKitAPI::TCPServer::listenForConnections):
(TestWebKitAPI::deleter<X509>::operator()): Deleted.
(TestWebKitAPI::deleter<uint8_t::operator()): Deleted.
- TestWebKitAPI/TCPServer.h:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm: Added.
(-[WebSocketDelegate waitForMessage]):
(-[WebSocketDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TestWebKitAPI::TEST):
- TestWebKitAPI/cocoa/TestNavigationDelegate.h:
- TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
(-[TestNavigationDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]):
(-[TestNavigationDelegate waitForDidFailProvisionalNavigation]):
- 6:31 PM Changeset in webkit [249683] by
-
- 13 edits in trunk/Tools
[Win][MiniBrowser] WebKitLegacyBrowserWindow is leaked by circular references
https://bugs.webkit.org/show_bug.cgi?id=201600
Reviewed by Brent Fulgham.
There were some circular references between
WebKitLegacyBrowserWindow and its delegation classes. For
example, WebKitLegacyBrowserWindow has a reference of
WebDownloadDelegate, and WebDownloadDelegate shares the ref
counter with WebKitLegacyBrowserWindow.
WebNotificationObserver was leaked because it wasn't unregistered
from the default notification center by using
IWebNotificationCenter::removeObserver.
If a new legacy window was created by mouse right click a link,
WebView was released twice because
PrintWebUIDelegate::createWebViewWithRequest didn't AddRef the
WebView.
This change does:
- Make delegation classes have own ref-counter to avoid circular references
- Do removeObserver notification observers
- AddRef WebView in PrintWebUIDelegate::createWebViewWithRequest
- MiniBrowser/win/AccessibilityDelegate.cpp:
(AccessibilityDelegate::AddRef):
(AccessibilityDelegate::Release):
- MiniBrowser/win/AccessibilityDelegate.h: Added m_refCount.
- MiniBrowser/win/MiniBrowserWebHost.cpp:
(MiniBrowserWebHost::QueryInterface):
(MiniBrowserWebHost::AddRef):
(MiniBrowserWebHost::Release):
- MiniBrowser/win/MiniBrowserWebHost.h: Added m_refCount.
- MiniBrowser/win/PrintWebUIDelegate.cpp:
(PrintWebUIDelegate::createWebViewWithRequest): Do AddRef for the returned IWebView.
(PrintWebUIDelegate::AddRef):
(PrintWebUIDelegate::Release):
- MiniBrowser/win/PrintWebUIDelegate.h: Added m_refCount.
- MiniBrowser/win/ResourceLoadDelegate.cpp:
(ResourceLoadDelegate::AddRef):
(ResourceLoadDelegate::Release):
- MiniBrowser/win/ResourceLoadDelegate.h: Added m_refCount.
- MiniBrowser/win/WebDownloadDelegate.cpp:
(WebDownloadDelegate::AddRef):
(WebDownloadDelegate::Release):
- MiniBrowser/win/WebDownloadDelegate.h: Added m_refCount.
- MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
(WebKitLegacyBrowserWindow::~WebKitLegacyBrowserWindow): Do removeObserver notification observers.
(WebKitLegacyBrowserWindow::init):
(WebKitLegacyBrowserWindow::setUIDelegate):
(WebKitLegacyBrowserWindow::setAccessibilityDelegate):
(WebKitLegacyBrowserWindow::setResourceLoadDelegate):
(WebKitLegacyBrowserWindow::setDownloadDelegate):
(WebKitLegacyBrowserWindow::AddRef): Deleted.
(WebKitLegacyBrowserWindow::Release): Deleted.
(WebKitLegacyBrowserWindow::setFrameLoadDelegate): Deleted.
(WebKitLegacyBrowserWindow::setFrameLoadDelegatePrivate): Deleted.
- MiniBrowser/win/WebKitLegacyBrowserWindow.h:
- 6:28 PM Changeset in webkit [249682] by
-
- 2 edits in trunk/Source/WebKitLegacy/win
[Win][WebKitLegacy] WebKitDLL.h(53,37): warning: 'gClassNameCount' has C-linkage specified, but returns user-defined type 'HashCountedSet<WTF::String> &' which is incompatible with C [-Wreturn-type-c-linkage]
https://bugs.webkit.org/show_bug.cgi?id=201601
Reviewed by Ross Kirsling.
Fixed a clang-cl warning. Names which aren't dllexport-ed don't
need to be in a extern "C" scope because they aren't exported to
other DLLs.
- WebKitDLL.h: Moved some variables and gClassNameCount() out of extern "C" scope.
- 6:01 PM Changeset in webkit [249681] by
-
- 5 edits in trunk/Source
Clarify some macCatalyst feature flags
https://bugs.webkit.org/show_bug.cgi?id=201619
<rdar://problem/54615618>
Reviewed by Megan Gardner.
Source/WebKit:
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setupInteraction]):
(-[WKContentView cleanupInteraction]):
(-[WKContentView _removeDefaultGestureRecognizers]):
(-[WKContentView _addDefaultGestureRecognizers]):
(-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
(-[WKContentView _showShareSheet:inRect:completionHandler:]):
We prefer specific flags over platform checks.
Source/WTF:
- wtf/Platform.h:
We prefer specific flags over platform checks.
- 5:45 PM Changeset in webkit [249680] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening, update test expectations for rdar://problem/51229282.
- platform/mac-wk1/TestExpectations:
- 5:38 PM Changeset in webkit [249679] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening, update test expectations for rdar://problem/51766135.
- platform/ios/TestExpectations:
- 5:32 PM Changeset in webkit [249678] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r236540-r236595): ASSERTION FAILED: !frameView !frameView->isPainting() on plugins/window-open.html https://bugs.webkit.org/show_bug.cgi?id=199089
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations: Skip the test.
- 5:23 PM Changeset in webkit [249677] by
-
- 2 edits in trunk/Source/JavaScriptCore
[Air] highOrderAdjacents in AbstractColoringAllocator::conservativeHeuristic should be some kind of array
https://bugs.webkit.org/show_bug.cgi?id=197305
Reviewed by Keith Miller.
Currently it is a HashSet, but it only ever holds at most registerCount() items. And linear search tends to be faster on such a small collection than hashing + searching in a HashSet.
Further benefits include avoiding the allocation of the HashSet, not actually adding the nodes adjacent to V (since there are no duplicates in the adjacency lists).
This patch also contains a trivial optimization: if the remaining number of nodes to consider + the number of highOrderAdjacents already seen is smaller than registerCount() we can return true directly.
Apart from that, the patch got some trivial cleanup of GraphColoringRegisterAllocation::allocateOnBank() (that for example was only logging the number of iterations for FP registers, and not the more interesting number for GP registers).
The time spent in the register allocator throughout JetStream2 on this MacBook Pro moves from 3767 / 3710 / 3785 ms to 3551 / 3454 / 3503 ms.
So about a 6% speedup for that phase, and between 1 and 1.5% speedup for FTL/OMG compilation overall.
No new tests as there is no intended change to the code being generated, and this was already tested by running testb3 + JetStream2.
- b3/air/AirAllocateRegistersByGraphColoring.cpp:
- 4:51 PM Changeset in webkit [249676] by
-
- 7 edits in branches/safari-608-branch/Source
Versioning.
- 4:35 PM Changeset in webkit [249675] by
-
- 16 edits1 move in trunk
Stop using testRunner.setPrivateBrowsingEnabled_DEPRECATED() in http/tests/adClickAttribution/conversion-disabled-in-ephemeral-session.html
https://bugs.webkit.org/show_bug.cgi?id=201596
Reviewed by Alex Christensen.
Source/WebKit:
Allow WKFramePolicyListenerUseWithPolicies() C API to switch to a persistent non-default session.
This is important since WebKitTestRunner is not using the default session anymore and I need to
be able to switch it back to its normal session after going to an ephemeral one.
- UIProcess/API/C/WKFramePolicyListener.cpp:
(useWithPolicies):
Tools:
Add new testRunner.setShouldSwapToEphemeralSessionOnNextNavigation() / testRunner.setShouldSwapToDefaultSessionOnNextNavigation()
test functions to support dynamic switching between ephemeral and default/persistent session in layout tests. The new methods
do the right thing for WebKit2 and truly switch session, unlike setPrivateBrowsingEnabled_DEPRECATED() which was merely making
the WebCore::Document think it changed session.
- DumpRenderTree/TestRunner.cpp:
(setShouldSwapToEphemeralSessionOnNextNavigationCallback):
(setShouldSwapToDefaultSessionOnNextNavigationCallback):
(TestRunner::staticFunctions):
(TestRunner::willNavigate):
- DumpRenderTree/TestRunner.h:
(TestRunner::setShouldSwapToEphemeralSessionOnNextNavigation):
(TestRunner::setShouldSwapToDefaultSessionOnNextNavigation):
- DumpRenderTree/mac/FrameLoadDelegate.mm:
(-[FrameLoadDelegate webView:didStartProvisionalLoadForFrame:]):
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setShouldSwapToEphemeralSessionOnNextNavigation):
(WTR::TestRunner::setShouldSwapToDefaultSessionOnNextNavigation):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::decidePolicyForNavigationAction):
- WebKitTestRunner/TestController.h:
(WTR::TestController::setShouldSwapToEphemeralSessionOnNextNavigation):
(WTR::TestController::setShouldSwapToDefaultSessionOnNextNavigation):
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
LayoutTests:
Update layout test to use testRunner.setShouldSwapToEphemeralSessionOnNextNavigation() &
testRunner.setShouldSwapToDefaultSessionOnNextNavigation() instead of the legacy
testRunner.setPrivateBrowsingEnabled_DEPRECATED(). The test needed some extra steps to
navigate whenever we switch session but it is a lot more realistic and is really switching
session on WebKit2. The testRunner.setPrivateBrowsingEnabled_DEPRECATED() was not truly
switching session, just making the document think it did.
- http/tests/adClickAttribution/conversion-disabled-in-ephemeral-session.html:
- 4:23 PM Changeset in webkit [249674] by
-
- 6 edits in branches/safari-608.2.11.1-branch/Source/WebKit
Cherry-pick r249649. rdar://problem/55198064
[macOS] Pid is sometimes invalid when creating sandbox extensions by pid.
https://bugs.webkit.org/show_bug.cgi?id=201543
<rdar://problem/54733465>
Reviewed by Brent Fulgham.
There is a race condition when starting a load of a local file, where the WebContent process has not finished
launching yet, and its pid is not available. When we try to create a sandbox extension by using the pid of the
WebContent process, it is not available in the cases where the WebContent process has just launched and has not
finished launching yet. This patch creates a new dummy Web page message, 'LoadRequestWaitingForPID', which will
be sent instead of a normal 'LoadRequest' message, and only when the WebContent process has not finished
launching. When the WebContent process has finished launching, and we are about to actually send the pending
messages, we can detect that a 'LoadRequestWaitingForPID' has been appended for sending, and replace it with a
normal 'LoadReqest' message where we have created the sandbox extension issue with a valid pid. The message
'LoadRequestWaitingForPID' is never intended to reach the WebContent process, it is just there to replace with
a normal 'LoadRequest' message with a new sandbox extension. In the implementation of the message handler on
the WebContent process side, we assert that the method is never called. This patch makes sure the ordering of
the Web page messages are the same, even when we modify the message.
- UIProcess/AuxiliaryProcessProxy.cpp: (WebKit::AuxiliaryProcessProxy::didFinishLaunching):
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle): (WebKit::WebPageProxy::loadRequestWithNavigationShared): (WebKit::WebPageProxy::loadFile):
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::fileLoadRequest):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@249649 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:23 PM Changeset in webkit [249673] by
-
- 2 edits in branches/safari-608.2.11.1-branch/Source/WebKit
Cherry-pick r249454. rdar://problem/55198064
[macOS] Unable to open local file from favorites bar
https://bugs.webkit.org/show_bug.cgi?id=201444
Reviewed by Brent Fulgham.
The sandbox extension handle should be created providing the pid of the receiving process.
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@249454 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:14 PM Changeset in webkit [249672] by
-
- 87 edits26 adds10 deletes in trunk/LayoutTests
Resync service workers WPT tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=201589
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Resync service workers WPT tests from upstream 820f0f86047e6e26401e.
- web-platform-tests/service-workers/service-worker/Service-Worker-Allowed-header.https-expected.txt:
- web-platform-tests/service-workers/service-worker/Service-Worker-Allowed-header.https.html:
- web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/postmessage.https.html:
- web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/unregister.https.html:
- web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/update.https.html:
- web-platform-tests/service-workers/service-worker/about-blank-replacement.https.html:
- web-platform-tests/service-workers/service-worker/activate-event-after-install-state-change.https.html:
- web-platform-tests/service-workers/service-worker/activation-after-registration.https.html:
- web-platform-tests/service-workers/service-worker/activation.https-expected.txt:
- web-platform-tests/service-workers/service-worker/activation.https.html:
- web-platform-tests/service-workers/service-worker/appcache-ordering-main.https.html:
- web-platform-tests/service-workers/service-worker/claim-fetch-with-appcache.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/claim-fetch-with-appcache.https.html: Removed.
- web-platform-tests/service-workers/service-worker/claim-fetch.https.html:
- web-platform-tests/service-workers/service-worker/claim-not-using-registration.https.html:
- web-platform-tests/service-workers/service-worker/claim-shared-worker-fetch.https.html:
- web-platform-tests/service-workers/service-worker/claim-using-registration.https.html:
- web-platform-tests/service-workers/service-worker/claim-worker-fetch.https-expected.txt:
- web-platform-tests/service-workers/service-worker/claim-worker-fetch.https.html:
- web-platform-tests/service-workers/service-worker/client-id.https.html:
- web-platform-tests/service-workers/service-worker/clients-get-client-types.https.html:
- web-platform-tests/service-workers/service-worker/clients-get-resultingClientId.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/clients-get-resultingClientId.https.html: Removed.
- web-platform-tests/service-workers/service-worker/clients-get.https-expected.txt:
- web-platform-tests/service-workers/service-worker/clients-get.https.html:
- web-platform-tests/service-workers/service-worker/clients-matchall-client-types.https.html:
- web-platform-tests/service-workers/service-worker/clients-matchall-exact-controller.https-expected.txt:
- web-platform-tests/service-workers/service-worker/clients-matchall-exact-controller.https.html:
- web-platform-tests/service-workers/service-worker/clients-matchall-include-uncontrolled.https.html:
- web-platform-tests/service-workers/service-worker/clients-matchall-order.https.html:
- web-platform-tests/service-workers/service-worker/clients-matchall.https.html:
- web-platform-tests/service-workers/service-worker/controller-on-disconnect.https.html:
- web-platform-tests/service-workers/service-worker/controller-on-load.https.html:
- web-platform-tests/service-workers/service-worker/controller-on-reload.https.html:
- web-platform-tests/service-workers/service-worker/data-transfer-files.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/data-transfer-files.https.html: Removed.
- web-platform-tests/service-workers/service-worker/detached-context.https-expected.txt:
- web-platform-tests/service-workers/service-worker/detached-context.https.html:
- web-platform-tests/service-workers/service-worker/extendable-event-async-waituntil.https-expected.txt:
- web-platform-tests/service-workers/service-worker/extendable-event-async-waituntil.https.html:
- web-platform-tests/service-workers/service-worker/extendable-event-waituntil.https.html:
- web-platform-tests/service-workers/service-worker/fetch-audio-tainting.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/fetch-audio-tainting.https.html: Removed.
- web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-double-write.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-double-write.https.html: Removed.
- web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-video-cache.https.html:
- web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-video.https.html:
- web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html:
- web-platform-tests/service-workers/service-worker/fetch-csp.https.html:
- web-platform-tests/service-workers/service-worker/fetch-event-after-navigation-within-page.https.html:
- web-platform-tests/service-workers/service-worker/fetch-event-async-respond-with.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-event-async-respond-with.https.html:
- web-platform-tests/service-workers/service-worker/fetch-event-network-error.https.html:
- web-platform-tests/service-workers/service-worker/fetch-event-referrer-policy.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-event-referrer-policy.https.html:
- web-platform-tests/service-workers/service-worker/fetch-event-respond-with-argument.https.html:
- web-platform-tests/service-workers/service-worker/fetch-event-respond-with-body-loaded-in-chunk.https.html:
- web-platform-tests/service-workers/service-worker/fetch-event-respond-with-stops-propagation.https.html:
- web-platform-tests/service-workers/service-worker/fetch-event-throws-after-respond-with.https.html:
- web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-event.https.html:
- web-platform-tests/service-workers/service-worker/fetch-frame-resource.https.html:
- web-platform-tests/service-workers/service-worker/fetch-header-visibility.https.html:
- web-platform-tests/service-workers/service-worker/fetch-request-css-base-url.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-request-css-base-url.https.html:
- web-platform-tests/service-workers/service-worker/fetch-request-css-images.https.html:
- web-platform-tests/service-workers/service-worker/fetch-request-html-imports.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-request-html-imports.https.html:
- web-platform-tests/service-workers/service-worker/fetch-request-no-freshness-headers.https.html:
- web-platform-tests/service-workers/service-worker/fetch-request-redirect.https.html:
- web-platform-tests/service-workers/service-worker/fetch-request-xhr-sync.https.html:
- web-platform-tests/service-workers/service-worker/fetch-response-xhr.https.html:
- web-platform-tests/service-workers/service-worker/fetch-waits-for-activate.https.html:
- web-platform-tests/service-workers/service-worker/getregistration.https-expected.txt:
- web-platform-tests/service-workers/service-worker/getregistration.https.html:
- web-platform-tests/service-workers/service-worker/import-module-scripts.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/import-module-scripts.https.html: Removed.
- web-platform-tests/service-workers/service-worker/import-scripts-mime-types.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/import-scripts-mime-types.https.html: Removed.
- web-platform-tests/service-workers/service-worker/import-scripts-resource-map.https-expected.txt:
- web-platform-tests/service-workers/service-worker/import-scripts-resource-map.https.html:
- web-platform-tests/service-workers/service-worker/interfaces-window.https.html:
- web-platform-tests/service-workers/service-worker/invalid-blobtype.https.html:
- web-platform-tests/service-workers/service-worker/invalid-header.https.html:
- web-platform-tests/service-workers/service-worker/iso-latin1-header.https.html:
- web-platform-tests/service-workers/service-worker/multiple-update.https.html:
- web-platform-tests/service-workers/service-worker/navigation-redirect.https.html:
- web-platform-tests/service-workers/service-worker/onactivate-script-error.https.html:
- web-platform-tests/service-workers/service-worker/performance-timeline.https.html:
- web-platform-tests/service-workers/service-worker/postmessage-from-waiting-serviceworker.https.html:
- web-platform-tests/service-workers/service-worker/postmessage-to-client-message-queue.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/postmessage-to-client-message-queue.https.html: Removed.
- web-platform-tests/service-workers/service-worker/postmessage-to-client.https.html:
- web-platform-tests/service-workers/service-worker/postmessage.https-expected.txt:
- web-platform-tests/service-workers/service-worker/postmessage.https.html:
- web-platform-tests/service-workers/service-worker/ready.https.html:
- web-platform-tests/service-workers/service-worker/redirected-response.https-expected.txt:
- web-platform-tests/service-workers/service-worker/redirected-response.https.html:
- web-platform-tests/service-workers/service-worker/referer.https.html:
- web-platform-tests/service-workers/service-worker/register-default-scope.https.html:
- web-platform-tests/service-workers/service-worker/register-wait-forever-in-install-worker.https.html:
- web-platform-tests/service-workers/service-worker/registration-end-to-end.https.html:
- web-platform-tests/service-workers/service-worker/registration-events.https.html:
- web-platform-tests/service-workers/service-worker/registration-mime-types.https-expected.txt:
- web-platform-tests/service-workers/service-worker/registration-mime-types.https.html:
- web-platform-tests/service-workers/service-worker/registration-schedule-job.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/registration-schedule-job.https.html: Removed.
- web-platform-tests/service-workers/service-worker/registration-scope.https-expected.txt:
- web-platform-tests/service-workers/service-worker/registration-security-error.https-expected.txt:
- web-platform-tests/service-workers/service-worker/registration-service-worker-attributes.https.html:
- web-platform-tests/service-workers/service-worker/registration-updateviacache.https-expected.txt:
- web-platform-tests/service-workers/service-worker/registration-updateviacache.https.html:
- web-platform-tests/service-workers/service-worker/resource-timing.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resource-timing.sub.https.html.
- web-platform-tests/service-workers/service-worker/resource-timing.sub.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/resources/about-blank-replacement-ping-frame.py:
- web-platform-tests/service-workers/service-worker/resources/appcache-ordering.manifest:
- web-platform-tests/service-workers/service-worker/resources/claim-worker.js:
- web-platform-tests/service-workers/service-worker/resources/classic-worker.js: Removed.
- web-platform-tests/service-workers/service-worker/resources/clients-get-cross-origin-frame.html:
- web-platform-tests/service-workers/service-worker/resources/clients-get-resultingClientId-worker.js: Removed.
- web-platform-tests/service-workers/service-worker/resources/clients-get-worker.js:
(self.onmessage):
- web-platform-tests/service-workers/service-worker/resources/enable-client-message-queue.html: Removed.
- web-platform-tests/service-workers/service-worker/resources/extendable-event-async-waituntil.js:
(switch):
(event.request.url.indexOf):
(else.event.request.url.indexOf):
- web-platform-tests/service-workers/service-worker/resources/fetch-canvas-tainting-double-write-worker.js: Removed.
- web-platform-tests/service-workers/service-worker/resources/fetch-cors-xhr-iframe.html:
- web-platform-tests/service-workers/service-worker/resources/fetch-event-async-respond-with-worker.js:
(setTimeout):
- web-platform-tests/service-workers/service-worker/resources/fetch-event-network-fallback-worker.js:
- web-platform-tests/service-workers/service-worker/resources/fetch-event-test-worker.js:
- web-platform-tests/service-workers/service-worker/resources/fetch-request-css-base-url-iframe.html:
- web-platform-tests/service-workers/service-worker/resources/fetch-request-css-base-url-worker.js:
(self.onmessage):
(url.indexOf):
(else.url.indexOf):
- web-platform-tests/service-workers/service-worker/resources/get-resultingClientId-worker.js: Removed.
- web-platform-tests/service-workers/service-worker/resources/import-relative.xsl: Removed.
- web-platform-tests/service-workers/service-worker/resources/import-scripts-diff-resource-map-worker.js: Removed.
- web-platform-tests/service-workers/service-worker/resources/import-scripts-get.py: Removed.
- web-platform-tests/service-workers/service-worker/resources/import-scripts-mime-types-worker.js: Removed.
- web-platform-tests/service-workers/service-worker/resources/imported-classic-script.js: Removed.
- web-platform-tests/service-workers/service-worker/resources/imported-module-script.js: Removed.
- web-platform-tests/service-workers/service-worker/resources/message-vs-microtask.html: Removed.
- web-platform-tests/service-workers/service-worker/resources/module-worker.js: Removed.
- web-platform-tests/service-workers/service-worker/resources/navigation-redirect-other-origin.html:
- web-platform-tests/service-workers/service-worker/resources/navigation-redirect-out-scope.py:
- web-platform-tests/service-workers/service-worker/resources/navigation-redirect-scope1.py:
- web-platform-tests/service-workers/service-worker/resources/navigation-redirect-scope2.py:
- web-platform-tests/service-workers/service-worker/resources/nested-iframe-parent.html: Removed.
- web-platform-tests/service-workers/service-worker/resources/performance-timeline-worker.js:
(promise_test.):
(promise_test):
- web-platform-tests/service-workers/service-worker/resources/postmessage-echo-worker.js: Removed.
- web-platform-tests/service-workers/service-worker/resources/redirect-worker.js:
(event.waitUntil.Promise.all.waitUntilPromiseList.then):
(then):
(waitUntilPromise.caches.open.cacheName.then):
(event.respondWith.waitUntilPromise.then):
- web-platform-tests/service-workers/service-worker/resources/registration-tests-mime-types.js:
(registration_tests_mime_types):
- web-platform-tests/service-workers/service-worker/resources/registration-tests-scope.js:
(registration_tests_scope):
- web-platform-tests/service-workers/service-worker/resources/registration-tests-security-error.js:
(registration_tests_security_error):
- web-platform-tests/service-workers/service-worker/resources/resource-timing-iframe.sub.html:
- web-platform-tests/service-workers/service-worker/resources/service-worker-csp-worker.py:
- web-platform-tests/service-workers/service-worker/resources/service-worker-header.py:
(main):
- web-platform-tests/service-workers/service-worker/resources/skip-waiting-installed-worker.js:
(event.waitUntil.self.skipWaiting.then):
- web-platform-tests/service-workers/service-worker/resources/stalling-service-worker.js: Removed.
- web-platform-tests/service-workers/service-worker/resources/test-helpers.sub.js:
(wait_for_update):
(async.wait_for_activation_on_dummy_scope):
- web-platform-tests/service-workers/service-worker/resources/test-request-headers-worker.js: Removed.
- web-platform-tests/service-workers/service-worker/resources/test-request-headers-worker.py: Removed.
- web-platform-tests/service-workers/service-worker/resources/trickle.py: Removed.
- web-platform-tests/service-workers/service-worker/resources/update-during-installation-worker.js: Removed.
- web-platform-tests/service-workers/service-worker/resources/update-during-installation-worker.py: Removed.
- web-platform-tests/service-workers/service-worker/resources/update-fetch-worker.py: Removed.
- web-platform-tests/service-workers/service-worker/resources/update-missing-import-scripts-imported-worker.py: Removed.
- web-platform-tests/service-workers/service-worker/resources/update-missing-import-scripts-main-worker.py: Removed.
- web-platform-tests/service-workers/service-worker/resources/update-registration-with-type.py: Removed.
- web-platform-tests/service-workers/service-worker/resources/w3c-import.log:
- web-platform-tests/service-workers/service-worker/resources/worker-interception-iframe.https.html:
- web-platform-tests/service-workers/service-worker/resources/worker-load-interceptor.js:
(self.onfetch):
- web-platform-tests/service-workers/service-worker/resources/worker-testharness.js:
(create_temporary_cache):
- web-platform-tests/service-workers/service-worker/resources/xhr-iframe.html: Removed.
- web-platform-tests/service-workers/service-worker/resources/xhr-response-url-worker.js: Removed.
- web-platform-tests/service-workers/service-worker/resources/xsl-base-url-iframe.xml: Removed.
- web-platform-tests/service-workers/service-worker/resources/xsl-base-url-worker.js: Removed.
- web-platform-tests/service-workers/service-worker/resources/xslt-pass.xsl: Removed.
- web-platform-tests/service-workers/service-worker/service-worker-csp-connect.https-expected.txt:
- web-platform-tests/service-workers/service-worker/service-worker-csp-default.https-expected.txt:
- web-platform-tests/service-workers/service-worker/service-worker-csp-script.https-expected.txt:
- web-platform-tests/service-workers/service-worker/service-worker-header.https-expected.txt:
- web-platform-tests/service-workers/service-worker/service-worker-header.https.html:
- web-platform-tests/service-workers/service-worker/serviceworker-message-event-historical.https.html:
- web-platform-tests/service-workers/service-worker/shared-worker-controlled.https.html:
- web-platform-tests/service-workers/service-worker/skip-waiting-installed.https-expected.txt:
- web-platform-tests/service-workers/service-worker/skip-waiting-installed.https.html:
- web-platform-tests/service-workers/service-worker/skip-waiting-using-registration.https.html:
- web-platform-tests/service-workers/service-worker/skip-waiting-without-using-registration.https.html:
- web-platform-tests/service-workers/service-worker/skip-waiting.https.html:
- web-platform-tests/service-workers/service-worker/state.https.html:
- web-platform-tests/service-workers/service-worker/synced-state.https.html:
- web-platform-tests/service-workers/service-worker/uncontrolled-page.https.html:
- web-platform-tests/service-workers/service-worker/unregister-then-register-new-script.https-expected.txt:
- web-platform-tests/service-workers/service-worker/unregister-then-register-new-script.https.html:
- web-platform-tests/service-workers/service-worker/unregister-then-register.https-expected.txt:
- web-platform-tests/service-workers/service-worker/unregister-then-register.https.html:
- web-platform-tests/service-workers/service-worker/update-after-navigation-redirect.https.html:
- web-platform-tests/service-workers/service-worker/update-after-oneday.https.html:
- web-platform-tests/service-workers/service-worker/update-bytecheck.https.html:
- web-platform-tests/service-workers/service-worker/update-missing-import-scripts.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/update-missing-import-scripts.https.html: Removed.
- web-platform-tests/service-workers/service-worker/update-no-cache-request-headers.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/update-no-cache-request-headers.https.html: Removed.
- web-platform-tests/service-workers/service-worker/update-not-allowed.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/update-not-allowed.https.html: Removed.
- web-platform-tests/service-workers/service-worker/update-on-navigation.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/update-on-navigation.https.html: Removed.
- web-platform-tests/service-workers/service-worker/update-recovery.https.html:
- web-platform-tests/service-workers/service-worker/update-registration-with-type.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/update-registration-with-type.https.html: Removed.
- web-platform-tests/service-workers/service-worker/w3c-import.log:
- web-platform-tests/service-workers/service-worker/websocket.https-expected.txt:
- web-platform-tests/service-workers/service-worker/websocket.https.html:
- web-platform-tests/service-workers/service-worker/windowclient-navigate.https.html:
- web-platform-tests/service-workers/service-worker/worker-client-id.https-expected.txt:
- web-platform-tests/service-workers/service-worker/worker-interception.https-expected.txt:
- web-platform-tests/service-workers/service-worker/worker-interception.https.html:
- web-platform-tests/service-workers/service-worker/xhr-response-url.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/xhr-response-url.https.html: Removed.
- web-platform-tests/service-workers/service-worker/xsl-base-url.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/xsl-base-url.https.html: Removed.
LayoutTests:
- 3:45 PM Changeset in webkit [249671] by
-
- 10 edits in trunk/Source/WebKit
Deprecate unused SPI to preconnect to a server
https://bugs.webkit.org/show_bug.cgi?id=201558
Reviewed by Youenn Fablet.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::preconnectTo): Deleted.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- UIProcess/API/C/WKContext.cpp:
(WKContextPreconnectToServer):
- UIProcess/API/C/WKContextPrivate.h:
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _preconnectToServer:]):
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::preconnectToServer): Deleted.
- UIProcess/WebProcessPool.h:
- 3:38 PM Changeset in webkit [249670] by
-
- 12 edits in trunk/Source/bmalloc
Revert to pre-r243144 scavenging behavior for macOS
https://bugs.webkit.org/show_bug.cgi?id=201555
Reviewed by Saam Barati.
The change in r243144 regressed internal power metrics for some Mac models.
- bmalloc/Heap.cpp:
(bmalloc::Heap::scavenge):
(bmalloc::Heap::scavengeToHighWatermark):
(bmalloc::Heap::allocateSmallChunk):
(bmalloc::Heap::allocateSmallPage):
(bmalloc::Heap::allocateLarge):
- bmalloc/Heap.h:
- bmalloc/IsoDirectory.h:
- bmalloc/IsoDirectoryInlines.h:
(bmalloc::passedNumPages>::takeFirstEligible):
(bmalloc::passedNumPages>::scavenge):
(bmalloc::passedNumPages>::scavengeToHighWatermark):
- bmalloc/IsoHeapImpl.h:
- bmalloc/IsoHeapImplInlines.h:
(bmalloc::IsoHeapImpl<Config>::scavengeToHighWatermark):
- bmalloc/LargeMap.cpp:
(bmalloc::LargeMap::add):
- bmalloc/LargeRange.h:
(bmalloc::LargeRange::LargeRange):
(bmalloc::merge):
- bmalloc/Scavenger.cpp:
(bmalloc::Scavenger::Scavenger):
(bmalloc::Scavenger::timeSinceLastPartialScavenge):
(bmalloc::Scavenger::scavenge):
(bmalloc::Scavenger::partialScavenge):
(bmalloc::Scavenger::threadRunLoop):
- bmalloc/Scavenger.h:
- bmalloc/SmallPage.h:
- 3:17 PM Changeset in webkit [249669] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed Windows build fix.
- WebProcess/WebPage/WebPage.h:
- 2:38 PM Changeset in webkit [249668] by
-
- 6 edits1 add in trunk
[JSC] Use metadata table to iterate specific bytecode metadata instead of propertyAccessInstructions vector
https://bugs.webkit.org/show_bug.cgi?id=201613
Reviewed by Mark Lam.
We do not need to maintain propertyAccessInstructions vector to access metadata tied to a specific bytecode opcode
since we have MetadataTable::forEach<Op> feature. This removes propertyAccessInstructions entirely, and fixes the
issue thatop_create_promise
missed propertyAccessInstructions registration (a name "propertyAccessInstructions" is
misleading, it is like "instructions-requires-llint-finalize").
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::propagateTransitions):
(JSC::CodeBlock::finalizeLLIntInlineCaches):
- bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedCodeBlock::applyModification):
(JSC::UnlinkedCodeBlock::shrinkToFit):
- bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedCodeBlock::addPropertyAccessInstruction): Deleted.
(JSC::UnlinkedCodeBlock::numberOfPropertyAccessInstructions const): Deleted.
(JSC::UnlinkedCodeBlock::propertyAccessInstructions const): Deleted.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitResolveScope):
(JSC::BytecodeGenerator::emitGetFromScope):
(JSC::BytecodeGenerator::emitPutToScope):
(JSC::BytecodeGenerator::emitGetById):
(JSC::BytecodeGenerator::emitDirectGetById):
(JSC::BytecodeGenerator::emitPutById):
(JSC::BytecodeGenerator::emitDirectPutById):
(JSC::BytecodeGenerator::emitCreateThis):
(JSC::BytecodeGenerator::emitToThis):
- runtime/CachedTypes.cpp:
(JSC::CachedCodeBlock<CodeBlockType>::decode const):
(JSC::CachedCodeBlock<CodeBlockType>::encode):
- 2:20 PM Changeset in webkit [249667] by
-
- 2 edits in trunk/Tools
EWS testtube emoji doesn't exist on macOS Mojave
https://bugs.webkit.org/show_bug.cgi?id=201532
Reviewed by Simon Fraser.
- BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble): Change the emoji to microscope emoji.
- 2:15 PM Changeset in webkit [249666] by
-
- 1 edit11 adds in trunk/Websites/webkit.org
Add Babylon demos
https://bugs.webkit.org/show_bug.cgi?id=201611
Rubber-stamped by Justin Fan.
- demos/webgpu/babylon/LICENSE: Added.
- demos/webgpu/babylon/babylonWebGpu.max.js: Added.
- demos/webgpu/babylon/logo.svg: Added.
- demos/webgpu/babylon/oneHelmetWebGPU.html: Added.
- demos/webgpu/babylon/oneHelmetWebGPUGLSLShaders.js: Added.
- demos/webgpu/babylon/oneHelmetWebGPUWSLShaders.js: Added.
- demos/webgpu/babylon/oneSphereWebGPU.html: Added.
- demos/webgpu/babylon/oneSphereWebGPUGLSLShaders.js: Added.
- demos/webgpu/babylon/oneSphereWebGPUWSLShaders.js: Added.
- demos/webgpu/babylon/vertexShaderGLSL1.glsl: Added.
- 2:07 PM Changeset in webkit [249665] by
-
- 1 edit3 adds in trunk/Websites/webkit.org
Add boids time test
https://bugs.webkit.org/show_bug.cgi?id=201612
Rubber-stamped by Justin Fan.
- demos/webgpu/compute-boids-compile.html: Added.
- demos/webgpu/scripts/compute-boids-compile.js: Added.
- demos/webgpu/scripts/compute-boids-utils.js: Added.
- 1:54 PM Changeset in webkit [249664] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed follow up to r249630. We need padding for ADDRESS32 CPUs to allow replaceWith to work on the intended types.
- Modules/webgpu/WHLSL/AST/WHLSLIndexExpression.h:
- 1:36 PM Changeset in webkit [249663] by
-
- 2 edits in trunk/Tools
[EWS] API testers can go in an infinite RETRY loop when there is build failure in trunk
https://bugs.webkit.org/show_bug.cgi?id=201607
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(AnalyzeAPITestsResults.analyzeResults): Do not RETRY when clean_tree_results are missing.
(AnalyzeAPITestsResults.analyzeResults.getAPITestFailures): Gracefully handle None result.
- 1:32 PM Changeset in webkit [249662] by
-
- 1 copy in releases/WPE WebKit/webkit-2.25.91
WPE WebKit 2.25.91
- 1:32 PM Changeset in webkit [249661] by
-
- 11 edits10 adds in trunk
OSR entry into wasm misses some contexts
https://bugs.webkit.org/show_bug.cgi?id=201569
Reviewed by Yusuke Suzuki.
JSTests:
Add a new harness and wast and the generated wasm file for
testing. The idea long term is to make it easy to test by creating
a C file and converting it to a wast then modify that to produce a
test.
- wasm.yaml:
- wasm/wast-tests/harness.js: Added.
(async.runWasmFile):
- wasm/wast-tests/osr-entry-inner-loop-branch-above-no-consts.wasm: Added.
- wasm/wast-tests/osr-entry-inner-loop-branch-above-no-consts.wast: Added.
- wasm/wast-tests/osr-entry-inner-loop-branch-above.wasm: Added.
- wasm/wast-tests/osr-entry-inner-loop-branch-above.wast: Added.
- wasm/wast-tests/osr-entry-inner-loop.wasm: Added.
- wasm/wast-tests/osr-entry-inner-loop.wast: Added.
- wasm/wast-tests/osr-entry-multiple-enclosed-contexts.wasm: Added.
- wasm/wast-tests/osr-entry-multiple-enclosed-contexts.wast: Added.
Source/JavaScriptCore:
This patch fixes an issue where we could fail to capture some of
our contexts when OSR entering into wasm code. Before we would
only capture the state of the block immediately surrounding the
entrance loop block header. We actually need to capture all
enclosed stacks.
Additionally, we don't need to use variables for all the captured
values. We can use a Phi and insert an upsilon just below the
captured value.
- interpreter/CallFrame.h:
- jsc.cpp:
(GlobalObject::finishCreation):
(functionCallerIsOMGCompiled):
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::AirIRGenerator):
(JSC::Wasm::AirIRGenerator::emitEntryTierUpCheck):
(JSC::Wasm::AirIRGenerator::emitLoopTierUpCheck):
(JSC::Wasm::AirIRGenerator::addLoop):
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::createStack):
(JSC::Wasm::B3IRGenerator::B3IRGenerator):
(JSC::Wasm::B3IRGenerator::addConstant):
(JSC::Wasm::B3IRGenerator::emitEntryTierUpCheck):
(JSC::Wasm::B3IRGenerator::emitLoopTierUpCheck):
(JSC::Wasm::B3IRGenerator::addLoop):
(JSC::Wasm::B3IRGenerator::addEndToUnreachable):
(JSC::Wasm::dumpExpressionStack):
(JSC::Wasm::B3IRGenerator::dump):
(JSC::Wasm::B3IRGenerator::Stack::Stack): Deleted.
(JSC::Wasm::B3IRGenerator::Stack::append): Deleted.
(JSC::Wasm::B3IRGenerator::Stack::takeLast): Deleted.
(JSC::Wasm::B3IRGenerator::Stack::last): Deleted.
(JSC::Wasm::B3IRGenerator::Stack::size const): Deleted.
(JSC::Wasm::B3IRGenerator::Stack::isEmpty const): Deleted.
(JSC::Wasm::B3IRGenerator::Stack::convertToExpressionList): Deleted.
(JSC::Wasm::B3IRGenerator::Stack::at const): Deleted.
(JSC::Wasm::B3IRGenerator::Stack::variableAt const): Deleted.
(JSC::Wasm::B3IRGenerator::Stack::shrink): Deleted.
(JSC::Wasm::B3IRGenerator::Stack::swap): Deleted.
(JSC::Wasm::B3IRGenerator::Stack::dump const): Deleted.
- wasm/WasmFunctionParser.h:
(JSC::Wasm::FunctionParser::controlStack):
Tools:
Add new test harness mode for tests created from wast files.
- Scripts/run-jsc-stress-tests:
- 1:32 PM Changeset in webkit [249660] by
-
- 4 edits in releases/WebKitGTK/webkit-2.26
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.25.91 release
.:
- Source/cmake/OptionsWPE.cmake: Bump version numbers.
Source/WebKit:
- wpe/NEWS: Add release notes for 2.25.91.
- 1:29 PM Changeset in webkit [249659] by
-
- 7 edits in trunk/Source
Versioning.
- 1:23 PM Changeset in webkit [249658] by
-
- 7 edits in branches/safari-608.2.11.1-branch/Source
Versioning.
- 12:30 PM Changeset in webkit [249657] by
-
- 7 edits2 copies2 moves2 adds in trunk
Upload triangles tests for 3D suite in MotionMark
https://bugs.webkit.org/show_bug.cgi?id=201606
Reviewed by Simon Fraser.
PerformanceTests:
- MotionMark/resources/debug-runner/motionmark.css:
- MotionMark/resources/debug-runner/tests.js:
- MotionMark/tests/3d/resources/webgl.js:
- MotionMark/tests/3d/resources/webgpu.js: Added.
- MotionMark/tests/3d/triangles-webgl.html: Renamed from Websites/browserbench.org/MotionMark1.1/tests/3d/webgl.html.
- MotionMark/tests/3d/triangles-webgpu.html: Copied from PerformanceTests/MotionMark/tests/3d/webgl.html.
Websites/browserbench.org:
- MotionMark1.1/resources/debug-runner/tests.js:
- MotionMark1.1/tests/3d/resources/webgl.js:
- MotionMark1.1/tests/3d/resources/webgpu.js: Added.
- MotionMark1.1/tests/3d/triangles-webgl.html: Copied from PerformanceTests/MotionMark/tests/3d/webgl.html.
- MotionMark1.1/tests/3d/triangles-webgpu.html: Renamed from PerformanceTests/MotionMark/tests/3d/webgl.html.
- 12:16 PM Changeset in webkit [249656] by
-
- 2 edits in trunk/LayoutTests
Layout Test http/wpt/webauthn/public-key-credential-create-failure-u2f-silent.https.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=198810
Reviewed by Dewei Zhu.
- http/wpt/webauthn/public-key-credential-create-failure-u2f-silent.https.html:
Removed the timeout value given these tests should report the exception immediately.
- 12:02 PM Changeset in webkit [249655] by
-
- 7 edits in trunk/Source/WebInspectorUI
Web Inspector: Dark Mode: Overview Timeline View has jarring white box-shadows in dark mode
https://bugs.webkit.org/show_bug.cgi?id=201442
<rdar://problem/54999794>
Reviewed by Devin Rousso.
- UserInterface/Views/DataGrid.css:
(.data-grid:not(.variable-height-rows) table.data):
(.data-grid:not(.variable-height-rows) table.data.even-first-zebra-stripe):
(.data-grid.variable-height-rows.even-first-zebra-stripe table.data tr:nth-child(odd)):
(.data-grid.variable-height-rows.even-first-zebra-stripe table.data tr:nth-child(even)):
(.data-grid:not(.variable-height-rows) table.data.odd-first-zebra-stripe): Deleted.
(.data-grid.variable-height-rows.odd-first-zebra-stripe table.data tr:nth-child(odd)): Deleted.
(.data-grid.variable-height-rows.odd-first-zebra-stripe table.data tr:nth-child(even)): Deleted.
- UserInterface/Views/DataGrid.js:
(WI.DataGrid.prototype.updateVisibleRows):
- UserInterface/Views/Table.css:
(.table > .data-container > .data-list):
(.table > .data-container > .data-list.even-first-zebra-stripe):
(.table > .data-container > .data-list.odd-first-zebra-stripe): Deleted.
- UserInterface/Views/Table.js:
In the gradients "even" was mistakenly first. Fix these so that "odd" is first and the
unusual case would be having "even" first. This allows us to line up withnth-of-type(even)
.
- UserInterface/Views/Main.css:
(:root):
(@media (prefers-color-scheme: dark)):
Flip even and odd so we maintain the same styles for gradients.
- UserInterface/Views/OverviewTimelineView.css:
(.timeline-view.overview > .data-grid tr):
(.timeline-view.overview > .data-grid tr:nth-child(even)):
(.timeline-view.overview > .data-grid tr.parent:not(.expanded) td.graph-column .timeline-record-bar:not(.has-inactive-segment) > .segment):
(.timeline-view.overview > .data-grid tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar:not(.has-inactive-segment) > .segment):
(.timeline-view.overview > .data-grid tr.parent:not(.expanded) td.graph-column .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
(.timeline-view.overview > .data-grid tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
(@media (prefers-color-scheme: dark)):
(WI.Table.prototype._updateVisibleRows):
- UserInterface/Views/Variables.css:
- 12:01 PM Changeset in webkit [249654] by
-
- 9 edits in trunk/Source/WebCore
[LFC][TFC] Introduce cell spacing.
https://bugs.webkit.org/show_bug.cgi?id=201605
<rdar://problem/55184009>
Reviewed by Antti Koivisto.
This patch adds support for horizontal and vertical cell spacing (border-spacing). Now LFC matches table geometry for simple table content with multiple columns and rows.
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::contentHeightForFormattingContextRoot const): Now we can use the generic, check the inflow content logic for table height.
- layout/LayoutUnits.h:
(WebCore::Layout::HorizontalEdges::width const):
(WebCore::Layout::VerticalEdges::height const):
- layout/Verification.cpp:
(WebCore::Layout::verifyAndOutputSubtree):
- layout/tableformatting/TableFormattingContext.cpp:
(WebCore::Layout::TableFormattingContext::layout):
(WebCore::Layout::TableFormattingContext::layoutTableCellBox):
(WebCore::Layout::TableFormattingContext::positionTableCells):
(WebCore::Layout::TableFormattingContext::setComputedGeometryForRows):
(WebCore::Layout::TableFormattingContext::setComputedGeometryForSections):
(WebCore::Layout::TableFormattingContext::computedIntrinsicWidthConstraints):
(WebCore::Layout::TableFormattingContext::ensureTableGrid):
(WebCore::Layout::TableFormattingContext::computePreferredWidthForColumns):
(WebCore::Layout::TableFormattingContext::computedTableWidth):
(WebCore::Layout::TableFormattingContext::useAsContentLogicalWidth):
- layout/tableformatting/TableFormattingContext.h:
- layout/tableformatting/TableFormattingContextGeometry.cpp:
(WebCore::Layout::TableFormattingContext::Geometry::tableCellHeightAndMargin const):
- layout/tableformatting/TableGrid.cpp:
(WebCore::Layout::TableGrid::appendCell):
(WebCore::Layout::TableGrid::widthConstraints const):
(WebCore::Layout::TableGrid::ColumnsContext::useAsLogicalWidth): Deleted.
- layout/tableformatting/TableGrid.h:
(WebCore::Layout::TableGrid::setHorizontalSpacing):
(WebCore::Layout::TableGrid::horizontalSpacing const):
(WebCore::Layout::TableGrid::setVerticalSpacing):
(WebCore::Layout::TableGrid::verticalSpacing const):
(WebCore::Layout::TableGrid::ColumnsContext::logicalWidth const):
- 11:56 AM Changeset in webkit [249653] by
-
- 2 edits in trunk/Tools
Remove all selection view animations before dumping results
https://bugs.webkit.org/show_bug.cgi?id=199241
Reviewed by Wenson Hsieh.
On iOS the selection UI uses a few animations, including fading in the grabbers. We have many
historical tests that were written for Mac and expect Mac's lack of animations that we run on
iOS and are flaky. Let's try to remove all selection view animations before dumping results and
see if this makes tests on iOS less flaky. A future enhancement to this is to expose a uiController
API for a test to remove selection animations at any time during the run.
- WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::notifyDone):
- 11:29 AM Changeset in webkit [249652] by
-
- 4 edits in trunk/Tools
run-webkit-tests: Report results archive to results.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=201321
Reviewed by Aakash Jain.
- Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run): After all tests are finish, upload the results archive for each
configuration.
- Scripts/webkitpy/results/upload.py:
(Upload):
(Upload.init): Automatically define timestamp.
(Upload.upload_archive): Upload an archive associated with the test run.
- Scripts/webkitpy/results/upload_unittest.py:
(UploadTest.test_buildbot):
(UploadTest):
(UploadTest.test_archive_upload):
- 10:52 AM Changeset in webkit [249651] by
-
- 9 edits in trunk
Unreviewed, rolling out r249574.
Caused fast/mediastream/media-stream-track-source-failure.html
to become flaky.
Reverted changeset:
"Remove MediaStreamPrivate::scheduleDeferredTask"
https://bugs.webkit.org/show_bug.cgi?id=200975
https://trac.webkit.org/changeset/249574
- 10:52 AM Changeset in webkit [249650] by
-
- 8 edits1 add in trunk
[JSC] Promise resolve/reject functions should be created more efficiently
https://bugs.webkit.org/show_bug.cgi?id=201488
Reviewed by Mark Lam.
JSTests:
- microbenchmarks/promise-creation-many.js: Added.
(executor):
Source/JavaScriptCore:
While r246553 fixed an important issue, it makes anonymous-builtin-function creation costly since it enforces FunctionRareData allocations.
Unfortunately, anonymous-builtin-function function can be created frequently since this type of function is used
forresolve
andreject
arguments of Promise's executor (e.g.new Promise((resolve, reject) => ...)
's resolve and reject).
Since we are now always creating FunctionRareData for these functions, this additional allocation makes promise creation slower.
In this patch, we use
isAnonymousBuiltinFunction
information forhasReifiedName
correctly. And we propagateisAnonymousBuiltinFunction
information
to FunctionRareData to initializem_hasReifiedName
correctly. Then we can avoid unnecessary FunctionRareData allocation, which makes
anonymous-builtin-function creation faster.
We can ensure that this patch does not revert r246553's fix by running JSTests/stress/builtin-private-function-name.js test.
The simple microbenchmark shows 1.7x improvement.
ToT Patched
promise-creation-many 45.6701+-0.1488 26.8663+-1.8336 definitely 1.6999x faster
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileNewFunctionCommon):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNewFunction):
- runtime/FunctionRareData.cpp:
(JSC::FunctionRareData::create):
(JSC::FunctionRareData::FunctionRareData):
- runtime/FunctionRareData.h:
- runtime/JSFunction.cpp:
(JSC::JSFunction::finishCreation):
(JSC::JSFunction::allocateRareData):
(JSC::JSFunction::allocateAndInitializeRareData):
- runtime/JSFunctionInlines.h:
(JSC::JSFunction::hasReifiedName const):
- 10:44 AM Changeset in webkit [249649] by
-
- 6 edits in trunk/Source/WebKit
[macOS] Pid is sometimes invalid when creating sandbox extensions by pid.
https://bugs.webkit.org/show_bug.cgi?id=201543
<rdar://problem/54733465>
Reviewed by Brent Fulgham.
There is a race condition when starting a load of a local file, where the WebContent process has not finished
launching yet, and its pid is not available. When we try to create a sandbox extension by using the pid of the
WebContent process, it is not available in the cases where the WebContent process has just launched and has not
finished launching yet. This patch creates a new dummy Web page message, 'LoadRequestWaitingForPID', which will
be sent instead of a normal 'LoadRequest' message, and only when the WebContent process has not finished
launching. When the WebContent process has finished launching, and we are about to actually send the pending
messages, we can detect that a 'LoadRequestWaitingForPID' has been appended for sending, and replace it with a
normal 'LoadReqest' message where we have created the sandbox extension issue with a valid pid. The message
'LoadRequestWaitingForPID' is never intended to reach the WebContent process, it is just there to replace with
a normal 'LoadRequest' message with a new sandbox extension. In the implementation of the message handler on
the WebContent process side, we assert that the method is never called. This patch makes sure the ordering of
the Web page messages are the same, even when we modify the message.
- UIProcess/AuxiliaryProcessProxy.cpp:
(WebKit::AuxiliaryProcessProxy::didFinishLaunching):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
(WebKit::WebPageProxy::loadRequestWithNavigationShared):
(WebKit::WebPageProxy::loadFile):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::fileLoadRequest):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- 10:18 AM Changeset in webkit [249648] by
-
- 5 edits1 copy1 add in trunk
Stop using testRunner.setPrivateBrowsingEnabled_DEPRECATED() in http/tests/workers/service/basic-register.html
https://bugs.webkit.org/show_bug.cgi?id=201590
Reviewed by Youenn Fablet.
Tools:
Add a new API test to check that if the default session registers a service worker, the
hasServiceWorkerRegistration flag is still false in an ephemeral session.
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
LayoutTests:
Split the layout test in 2 to test both the default and the ephemeral session without relying on the
testRunner.setPrivateBrowsingEnabled_DEPRECATED() hack.
- http/tests/workers/service/basic-register-expected.txt:
- http/tests/workers/service/basic-register-private-expected.txt: Copied from LayoutTests/http/tests/workers/service/basic-register-expected.txt.
- http/tests/workers/service/basic-register-private.html: Added.
- http/tests/workers/service/resources/basic-register.js:
(async.test):
- 10:02 AM Changeset in webkit [249647] by
-
- 11 edits2 deletes in trunk/Source/WebKit
Remove ServiceWorkerProcessProxy
https://bugs.webkit.org/show_bug.cgi?id=201506
Reviewed by Chris Dumez.
Instead of using a specific ServiceWorkerProcessProxy, move the logic directly in WebProcessProxy.
This will allow us in the future to run a service worker in a process that already runs a web page,
thus saving the need to spin off a new process.
This patch adds a new WebProcessProxy::createForServiceWorkers method instead of creating a
ServiceWorkerProcessProxy. The behavior is then similar: a process running a service worker cannot run a page.
- Sources.txt:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _hasRegisteredServiceWorker]):
- UIProcess/BackgroundProcessResponsivenessTimer.cpp:
(WebKit::BackgroundProcessResponsivenessTimer::shouldBeActive const):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::openNetworkProcessConnection):
- UIProcess/ServiceWorkerProcessProxy.cpp: Removed.
- UIProcess/ServiceWorkerProcessProxy.h: Removed.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::establishWorkerContextConnectionToNetworkProcess):
(WebKit::WebProcessPool::disconnectProcess):
(WebKit::WebProcessPool::processForRegistrableDomain):
(WebKit::WebProcessPool::createWebPage):
(WebKit::WebProcessPool::updateServiceWorkerUserAgent):
(WebKit::WebProcessPool::mayHaveRegisteredServiceWorkers):
(WebKit::WebProcessPool::updateProcessAssertions):
(WebKit::WebProcessPool::isServiceWorkerPageID const):
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::createForServiceWorkers):
(WebKit::WebProcessProxy::getLaunchOptions):
(WebKit::WebProcessProxy::didBecomeUnresponsive):
(WebKit::WebProcessProxy::canBeAddedToWebProcessCache const):
(WebKit::WebProcessProxy::didSetAssertionState):
(WebKit::WebProcessProxy::didExceedCPULimit):
(WebKit::WebProcessProxy::establishServiceWorkerContext):
(WebKit::WebProcessProxy::setServiceWorkerUserAgent):
(WebKit::WebProcessProxy::updateServiceWorkerPreferencesStore):
- UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::isRunningServiceWorkers const):
(WebKit::WebProcessProxy::hasServiceWorkerPageProxy):
- UIProcess/glib/WebProcessPoolGLib.cpp:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- WebKit.xcodeproj/project.pbxproj:
- 8:35 AM Changeset in webkit [249646] by
-
- 2 edits in trunk/Tools
results.webkit.org: mobile-sidebar-control should override button
https://bugs.webkit.org/show_bug.cgi?id=201566
Rubber-stamped by Aakash Jain.
- resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
(@media screen and (min-width: 600px)):
(.mobile-sidebar-control):
(.mobile-sidebar-control.display):
- 8:21 AM Changeset in webkit [249645] by
-
- 9 edits2 adds in trunk
[GTK][WPE] Remove attributes deprecated from MathML3
https://bugs.webkit.org/show_bug.cgi?id=197492
Patch by Rob Buis <rbuis@igalia.com> on 2019-09-09
Reviewed by Frédéric Wang.
LayoutTests/imported/w3c:
Import relevant WPT test.
- web-platform-tests/mathml/relations/css-styling/attribute-mapping-001-expected.txt: Added.
- web-platform-tests/mathml/relations/css-styling/attribute-mapping-001.html: Added.
Source/WebCore:
Remove some MathML3 deprecated attributes:
https://github.com/mathml-refresh/mathml/issues/5#issuecomment-475506856
This change also maps the dir attribute to direction for MathML Core.
Test: imported/w3c/web-platform-tests/mathml/relations/css-styling/attribute-mapping-001.html
- mathml/MathMLElement.cpp:
(WebCore::MathMLElement::collectStyleForPresentationAttribute):
LayoutTests:
Disable the MathML Core flag for tests assuming MathML3 behavior.
- mathml/presentation/attributes-background-color-expected.html:
- mathml/presentation/attributes-background-color.html:
- mathml/presentation/attributes-mathvariant.html:
- mathml/presentation/direction-overall.html:
- mathml/presentation/mstyle-css-attributes.html:
- 5:58 AM Changeset in webkit [249644] by
-
- 2 edits in trunk/JSTests
Unreviewed JSC test gardening.
- stress/constructFunctionSkippingEvalEnabledCheck-should-throw-out-of-memory-error.js:
This test allocates a 2GB string before it goes out and tests
out-of-memory exception when appending other strings to it. As such,
skip the test on memory-limited platforms.
- 2:44 AM Changeset in webkit [249643] by
-
- 2 edits in trunk
Unreviewed. Bump GTK version numbers
- Source/cmake/OptionsGTK.cmake:
- 2:21 AM Changeset in webkit [249642] by
-
- 1 copy in releases/WebKitGTK/webkit-2.26.0
WebKitGTK 2.26.0
- 2:20 AM Changeset in webkit [249641] by
-
- 4 edits in releases/WebKitGTK/webkit-2.26
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.26.0 release
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers
Source/WebKit:
- gtk/NEWS: Add release notes for 2.26.0.
- 2:08 AM Changeset in webkit [249640] by
-
- 13 edits in trunk/Source
Use WebProcess processIdentifier to identify IDB connections between WebProcess and NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=201419
Reviewed by Alex Christensen.
We change from an identifier generated by NetworkProcess to WebProcess identifier.
A WebProcess identifier is unique globally and is stable even in case of NetworkProcess crash.
This removes the need for a sync IPC and makes things more easy to handle in case of NetworkProcess crash.
- NetworkProcess/IndexedDB/WebIDBConnectionToClient.cpp:
(WebKit::WebIDBConnectionToClient::create):
(WebKit::WebIDBConnectionToClient::WebIDBConnectionToClient):
(WebKit::WebIDBConnectionToClient::getAllDatabaseNames):
- NetworkProcess/IndexedDB/WebIDBConnectionToClient.h:
- NetworkProcess/IndexedDB/WebIDBConnectionToClient.messages.in:
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::establishIDBConnectionToServer):
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
(WebKit::WebIDBConnectionToServer::WebIDBConnectionToServer):
(WebKit::WebIDBConnectionToServer::identifier const):
(WebKit::WebIDBConnectionToServer::coreConnectionToServer):
(WebKit::WebIDBConnectionToServer::getAllDatabaseNames):
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:
- WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveMessage):
(WebKit::NetworkProcessConnection::didClose):
(WebKit::NetworkProcessConnection::idbConnectionToServerForSession):
- WebProcess/Network/NetworkProcessConnection.h:
(WebKit::NetworkProcessConnection::existingIDBConnectionToServer const):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::networkProcessConnectionClosed):
- 1:54 AM WebKitGTK/2.26.x edited by
- (diff)
- 1:51 AM Changeset in webkit [249639] by
-
- 2 edits in releases/WebKitGTK/webkit-2.26/Source/WebKit
Merge r249569 - [GTK][WPE] Do not enable the sandbox in Snap
https://bugs.webkit.org/show_bug.cgi?id=201486
Reviewed by Carlos Garcia Campos.
Running inside of Snap adds its own complications and is simply
not supported for now.
Also update isInsideFlatpak() for consistency.
- UIProcess/Launcher/glib/ProcessLauncherGLib.cpp:
(WebKit::isInsideFlatpak):
(WebKit::isInsideSnap):
(WebKit::ProcessLauncher::launchProcess):
- 1:51 AM Changeset in webkit [249638] by
-
- 2 edits in releases/WebKitGTK/webkit-2.26/Source/WebKit
Merge r249487 - [WPE][GTK] Fix sandbox parsing DISPLAY on X11
https://bugs.webkit.org/show_bug.cgi?id=201462
Reviewed by Michael Catanzaro.
On some setups the DISPLAY env var was incorrectly parsed.
- UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::bindX11):
- 1:50 AM Changeset in webkit [249637] by
-
- 17 edits2 deletes in trunk/Source
Move checkProcessLocalPortForActivity from provider to registry
https://bugs.webkit.org/show_bug.cgi?id=201400
Reviewed by Alex Christensen.
Source/WebCore:
Update the registry to take a callback that is used to implement checkProcessLocalPortForActivity.
This allows WK1 and WK2 to have their own implementation.
Make the call to checkProcessLocalPortForActivity directly on the registry.
Remove unneeded worker checkProcessLocalPortForActivity method.
No change of behavior.
- dom/messageports/MessagePortChannel.cpp:
(WebCore::MessagePortChannel::checkRemotePortForActivity):
- dom/messageports/MessagePortChannelProvider.h:
- dom/messageports/MessagePortChannelProviderImpl.cpp:
(WebCore::createMessagePortChannelRegistry):
(WebCore::MessagePortChannelProviderImpl::MessagePortChannelProviderImpl):
(WebCore::MessagePortChannelProviderImpl::checkProcessLocalPortForActivity): Deleted.
- dom/messageports/MessagePortChannelProviderImpl.h:
- dom/messageports/MessagePortChannelRegistry.cpp:
(WebCore::MessagePortChannelRegistry::MessagePortChannelRegistry):
(WebCore::MessagePortChannelRegistry::checkProcessLocalPortForActivity):
- dom/messageports/MessagePortChannelRegistry.h:
(WebCore::MessagePortChannelRegistry::provider): Deleted.
- dom/messageports/WorkerMessagePortChannelProvider.cpp:
(WebCore::WorkerMessagePortChannelProvider::checkProcessLocalPortForActivity): Deleted.
- dom/messageports/WorkerMessagePortChannelProvider.h:
Source/WebKit:
Implement registry callback at NetworkProcess level.
Remove NetworkMessagePortChannelProvider since only a registry is now needed.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
- NetworkProcess/NetworkMessagePortChannelProvider.cpp: Removed.
- NetworkProcess/NetworkMessagePortChannelProvider.h: Removed.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::createMessagePortChannelRegistry):
(WebKit::m_messagePortChannelRegistry):
(WebKit::m_messagePortChannelProvider): Deleted.
- NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::messagePortChannelRegistry):
- Sources.txt:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebCoreSupport/WebMessagePortChannelProvider.cpp:
(WebKit::WebMessagePortChannelProvider::checkProcessLocalPortForActivity): Deleted.
- WebProcess/WebCoreSupport/WebMessagePortChannelProvider.h:
- 1:43 AM Changeset in webkit [249636] by
-
- 2 edits in releases/WebKitGTK/webkit-2.26/Source/WebCore/platform/gtk/po
Merged r249633 - [l10n] [pt_BR] Updated Brazilian Portuguese translation
https://bugs.webkit.org/show_bug.cgi?id=201592
Patch by Rafael Fontenelle <rafaelff@gnome.org> on 2019-09-09
Rubber-stamped by Carlos Garcia Campos.
- pt_BR.po:
- 1:41 AM Changeset in webkit [249635] by
-
- 2 edits in releases/WebKitGTK/webkit-2.26/Source/WebCore/platform/gtk/po
Merged r249634 - Updated German translation
https://bugs.webkit.org/show_bug.cgi?id=201582
Patch by Christian Kirbach <Christian.Kirbach@googlemail.com> on 2019-09-07
Rubber-stamped by Adrian Perez de Castro.
- de.po:
- 1:37 AM Changeset in webkit [249634] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
Updated German translation
https://bugs.webkit.org/show_bug.cgi?id=201582
Patch by Christian Kirbach <Christian.Kirbach@googlemail.com> on 2019-09-07
Rubber-stamped by Adrian Perez de Castro.
- de.po:
- 1:29 AM Changeset in webkit [249633] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
[l10n] [pt_BR] Updated Brazilian Portuguese translation
https://bugs.webkit.org/show_bug.cgi?id=201592
Patch by Rafael Fontenelle <rafaelff@gnome.org> on 2019-09-09
Rubber-stamped by Carlos Garcia Campos.
- pt_BR.po: