Timeline
Dec 6, 2018:
- 10:18 PM Changeset in webkit [238950] by
-
- 2 edits in trunk/Tools
Consecutive DumpRenderTree crashes are happening again on WinCairo BuildBots since r238903
https://bugs.webkit.org/show_bug.cgi?id=192486
Unreviewed infrastructure fix.
WinCairo bots define WEBKIT_TEST_CHILD_PROCESSES to run less processes due to RAM restrictions.
- Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(_set_up_derived_options):
- 9:51 PM Changeset in webkit [238949] by
-
- 4 edits in trunk/Source
Move USE_NEW_THEME out of WebCore's config.h
https://bugs.webkit.org/show_bug.cgi?id=192426
Reviewed by Tim Horton.
Source/WebCore:
- config.h:
Source/WTF:
- wtf/Platform.h:
- 9:34 PM Changeset in webkit [238948] by
-
- 8 edits in trunk
Injected bundle for WebKitTestRunner leaks WKTypeRef objects
<https://webkit.org/b/192481>
<rdar://problem/46539059>
Reviewed by Simon Fraser.
Source/WebKit:
Change function parameter name from
returnData[Ref]to
returnRetainedData[Ref]to document that the value returned is
a +1 retained WKTypeRef object.
- WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundlePostSynchronousMessage):
- WebProcess/InjectedBundle/API/c/WKBundle.h:
- WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePagePostSynchronousMessageForTesting):
- WebProcess/InjectedBundle/API/c/WKBundlePage.h:
Tools:
This patch:
- Fixes leaks in various injected bundle methods that return +1 retained WKTypeRef objects via pointer.
- Asserts the returned object is the expected WKTypeRef.
- Replaces 0 with nullptr in many places.
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didCreatePage):
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::shouldDumpPixels const):
(WTR::TestRunner::whatToDump const):
(WTR::TestRunner::shouldWaitUntilDone const):
(WTR::TestRunner::shouldDumpFrameLoadCallbacks):
(WTR::TestRunner::didReceiveServerRedirectForProvisionalNavigation const):
(WTR::TestRunner::clearDidReceiveServerRedirectForProvisionalNavigation):
(WTR::TestRunner::secureEventInputIsEnabled const):
(WTR::TestRunner::isStatisticsPrevalentResource):
(WTR::TestRunner::isStatisticsVeryPrevalentResource):
(WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder):
(WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder):
(WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo):
(WTR::TestRunner::isStatisticsHasHadUserInteraction):
(WTR::TestRunner::isStatisticsGrandfathered):
(WTR::TestRunner::statisticsProcessStatisticsAndDataRecords):
(WTR::TestRunner::statisticsUpdateCookieBlocking):
(WTR::TestRunner::statisticsSubmitTelemetry):
(WTR::TestRunner::statisticsClearInMemoryAndPersistentStore):
(WTR::TestRunner::statisticsClearThroughWebsiteDataRemoval):
(WTR::TestRunner::statisticsResetToConsistentState):
(WTR::TestRunner::getAllStorageAccessEntries):
(WTR::TestRunner::hasDOMCache):
(WTR::TestRunner::domCacheSize):
(WTR::TestRunner::injectUserScript):
(WTR::TestRunner::keyExistsInKeychain):
- 5:47 PM Changeset in webkit [238947] by
-
- 10 edits in trunk/Source
Allow control over child order when adding nodes to the scrolling tree
https://bugs.webkit.org/show_bug.cgi?id=176914
Patch by Frederic Wang <fwang@igalia.com> on 2018-12-06
Reviewed by Simon Fraser.
Based on an earlier patch by Simon Fraser.
Source/WebCore:
Previously ScrollingCoordinator just allowed nodes to be "attached" with a given parent,
but with no control over sibling order. To allow for correct hit-testing overflow and
frame scrolling nodes, we have to build the scrolling tree in z-order.
This patch adds a 'childIndex' parameter to attachNode() which gives control over
sibling order. For now, RenderLayerCompositor always uses the default 'notFound' value
for childIndex so the current behavior (appending new nodes at the end of child list) is
preserved.
No new tests, behavior unchanged and already covered by existing tests.
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::attachToStateTree):
(WebCore::AsyncScrollingCoordinator::ensureRootStateNodeForFrameView):
- page/scrolling/AsyncScrollingCoordinator.h:
- page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::attachToStateTree):
- page/scrolling/ScrollingStateNode.cpp:
(WebCore::ScrollingStateNode::insertChild):
(WebCore::ScrollingStateNode::indexOfChild const):
- page/scrolling/ScrollingStateNode.h:
- page/scrolling/ScrollingStateTree.cpp:
(WebCore::ScrollingStateTree::nodeTypeAndParentMatch const):
(WebCore::ScrollingStateTree::attachNode):
- page/scrolling/ScrollingStateTree.h:
Source/WebKit:
- Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:
(WebKit::RemoteScrollingCoordinatorTransaction::decode): Make explicit that we want to append
the new node at the end of child list.
- 5:35 PM Changeset in webkit [238946] by
-
- 6 edits4 adds in trunk
We should ignore minimumEffectiveDeviceWidth if the page specifies device-width in viewport meta-tag.
https://bugs.webkit.org/show_bug.cgi?id=192377
<rdar://problem/46364206>
Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2018-12-06
Reviewed by Tim Horton.
Source/WebCore:
If the page specifies width=device-width or initial-scale=1 in the viewport meta tag, we should use the
native device width and ignore the minimum effective device width in ViewportConfiguration. The patch
also introduces scalableNativeWebpageParameters() which uses the device width as default and also allows the page
to shrink-to-fit. If a page doesn't have viewport meta tag, or if the width argument isn't device-width
and the initial scale isn't 1, we will use scalableNativeWebpageParameters() as the default configuration.
Tests: fast/viewport/ios/ignore-minimum-device-width-for-page-with-viewport-device-width.html
fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta.html
- page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::updateDefaultConfiguration): pick the default configuration based on
the page's viewport arguments. Also, we will always fall back to scalableNativeWebpageParameters() if we
can ignore scaling constraints.
(WebCore::ViewportConfiguration::setViewportArguments): When page sends us new ViewportArguments, pick
up the correponsding default configuration before updating the configuration.
(WebCore::ViewportConfiguration::setCanIgnoreScalingConstraints): When m_canIgnoreScalingConstraints is
changed, try to pick up the correponsding default configuration.
(WebCore::ViewportConfiguration::scalableNativeWebpageParameters): Add a new default set of viewport Parameters
this is very close to nativeWebpageParameters() excpet that it allows shrink to fit and its minimum scale
is 0.25. We will use this Parameters for pages that doesn't have viewport meta tag; or the width is
not device-width and initial scale is not 1.
(WebCore::ViewportConfiguration::updateConfiguration): If the page's viewport argument doesn't override
the default width, use the m_minimumLayoutSize.width().
- page/ViewportConfiguration.h:
(WebCore::ViewportConfiguration::shouldIgnoreMinimumEffectiveDeviceWidth const): A helper method to tell
if we should avoid using minimum effective device width.
(WebCore::ViewportConfiguration::canOverrideConfigurationParameters const): If we are using a default
configuration that is neither nativeWebpageParameters() nor scalableNativeWebpageParameters(), don't override
it.
(WebCore::ViewportConfiguration::minimumEffectiveDeviceWidth const): Add a helper method to return minimum
effective device width based on shouldIgnoreMinimumEffectiveDeviceWidth().
(WebCore::ViewportConfiguration::effectiveLayoutSizeScaleFactor const): Use minimumEffectiveDeviceWidth().
Source/WebKit:
Since we are using page's viewport arguments to decide the default viewport parameters and
whether we can use mininum effective device width, we should always call setViewportArguments()
regardless of shouldIgnoreMetaViewport settings.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::viewportPropertiesDidChange): Always call setViewportArguments().
(WebKit::WebPage::didCommitLoad): Ditto.
LayoutTests:
- fast/viewport/ios/ignore-minimum-device-width-for-page-with-viewport-device-width-expected.txt: Added.
- fast/viewport/ios/ignore-minimum-device-width-for-page-with-viewport-device-width.html: Added.
- fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta-expected.txt: Added.
- fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta.html: Added.
- 3:48 PM Changeset in webkit [238945] by
-
- 1 copy in tags/Safari-606.4.3
Tag Safari-606.4.3.
- 3:21 PM Changeset in webkit [238944] by
-
- 8 edits in trunk/Tools
REGRESSION: run-webkit-tests may fail when using booted simulators
https://bugs.webkit.org/show_bug.cgi?id=192470
<rdar://problem/46532001>
Reviewed by Lucas Forschler.
- Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run): Logging uses the number of child processes to print out information about how efficiently tests
were sharded after the fact. This number is the most meaningful if it is the maximum number of child processes used.
- Scripts/webkitpy/port/base.py:
(Port.max_child_processes): By default, Ports do not support running on any specific kind of device.
- Scripts/webkitpy/port/device_port.py:
(DevicePort.default_child_processes): Rather than using the currently initialized devices as a proxy for how many
child processes are being used, check the device manager every time. Regardless of which devices are attached or
available, iOS cannot boot watchOS devices and vice-versa. dedicated_simulators is not a known argument to
device_count_for_type, use use_booted_simulator instead.
(DevicePort.max_child_processes): Simulators can boot more devices than what is specified by device_count_for_type,
but, if no devices are available, then max_child_processes should return 0 even for simulators.
- Scripts/webkitpy/port/ios_device_unittest.py:
(IOSDeviceTest):
(IOSDeviceTest.test_max_child_processes):
- Scripts/webkitpy/port/ios_simulator_unittest.py:
(IOSSimulatorTest):
(IOSSimulatorTest.test_max_child_processes):
- Scripts/webkitpy/port/port_testcase.py:
(PortTestCase):
(PortTestCase.test_max_child_processes):
- Scripts/webkitpy/port/watch_simulator_unittest.py:
(WatchSimulatorTest):
(WatchSimulatorTest.test_max_child_processes):
- 3:05 PM Changeset in webkit [238943] by
-
- 2 edits in trunk/Tools
webkitpy: Ignore case when comparing device types (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=192409
<rdar://problem/46491558>
Unreviewed typo fix.
- Scripts/webkitpy/xcode/device_type_unittest.py:
(DeviceTypeTest.test_comparison_lower_case):
(DeviceTypeTest.test_comparsion_lower_case): Deleted.
- 2:34 PM Changeset in webkit [238942] by
-
- 4 edits in trunk/Source/WebCore
Content Extensions: Misc fixes to debugging / perf testing code
https://bugs.webkit.org/show_bug.cgi?id=192474
Reviewed by Mark Lam.
This make it possible to build the content extensions support with the
debugging features enabled. In particular, building with
CONTENT_EXTENSIONS_PERFORMANCE_REPORTING enabled was broken.
No new tests needed.
- contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::compileRuleList): Remove usage of removed
variables machinesWihthoutConditionsCount,
totalBytecodeSizeForMachinesWithoutConditions,
machinesWithConditionsCount, and
totalBytecodeSizeForMachinesWithConditions.
- contentextensions/DFA.cpp:
(WebCore::ContentExtensions::DFA::debugPrintDot const):
Use "%" PRIu64 instead of "%llu" to format uint64_t values.
- contentextensions/NFA.cpp:
(WebCore::ContentExtensions::NFA::debugPrintDot const):
Use "%" PRIu64 instead of "%llu" to format uint64_t values.
- 2:11 PM Changeset in webkit [238941] by
-
- 2 edits in trunk/Source/WebKit
Web Share API: share overlay does not stick to the Safari window
https://bugs.webkit.org/show_bug.cgi?id=192469
<rdar://problem/46074833>
Reviewed by Wenson Hsieh.
- UIProcess/Cocoa/WKShareSheet.mm:
(-[WKShareSheet sharingServicePicker:didChooseSharingService:]):
(-[WKShareSheet sharingServicePicker:delegateForSharingService:]):
(-[WKShareSheet sharingService:sourceWindowForShareItems:sharingContentScope:]):
(-[WKShareSheet sharingService:didFailToShareItems:error:]):
(-[WKShareSheet sharingService:didShareItems:]):
Implement another NSSharingServicePickerDelegate method to return
an *NSSharingService* delegate when needed.
Implement an NSSharingServiceDelegate method to return the window that
the service's UI should attach to.
Also, instead of notifying the Web Content process when a service is picked
(or not) in the NSSharingServicePicker, wait until the share has completed
(or failed) to send didComplete. This both makes the return completion
value more accurate (matching iOS, if you cancel the share during the
recipient choice step, it will now fail), and avoids explicitly tearing
down the NSSharingServicePicker too early, which breaks the UI attaching mechanism.
- 2:09 PM Changeset in webkit [238940] by
-
- 3 edits in trunk/Tools
webkitpy: Create device given lower-case DeviceType
<https://bugs.webkit.org/show_bug.cgi?id=192472>
<rdar://problem/46532650>
Reviewed by Lucas Forschler.
- Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager._get_device_identifier_for_type): Comparing simctl device identifiers with DeviceTypes
should be letter-case agnostic.
- Scripts/webkitpy/xcode/simulated_device_unittest.py:
(test_lower_case_device_type):
- 1:22 PM Changeset in webkit [238939] by
-
- 34 edits3 adds in trunk
[iOS] WKWebView should match UITextView behavior when editing text with an RTL keyboard
https://bugs.webkit.org/show_bug.cgi?id=187554
<rdar://problem/42075638>
Reviewed by Tim Horton.
Source/WebKit:
Add support for automatically switching the base writing direction to the default writing direction with respect
to the current keyboard in an editable WKWebView by implementing-setBaseWritingDirection:forRange:. On iOS 12
and earlier, UIKit invokes this protocol method whenever the keyboard is changed to one with a different writing
direction, although in some other versions of iOS, this only happens when first focusing an editable area.
Test: editing/input/ios/rtl-keyboard-input-on-focus.html
- Platform/spi/ios/UIKitSPI.h:
Declare UIKeyboardImpl IPI methods mostly for use in WebKitTestRunner (with the exception of
-setInitialDirection, which we may invoke when we receive the first post-layout EditorState update after
focusing an editable element).
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::increaseListLevel):
(WebKit::WebPageProxy::decreaseListLevel):
(WebKit::WebPageProxy::changeListType):
(WebKit::WebPageProxy::setBaseWritingDirection):
Drive-by style fixes: make these bail and return early if
!isValid().
(WebKit::WebPageProxy::resetStateAfterProcessExited):
Reset assisted node state in the UI process upon web process termination.
- UIProcess/WebPageProxy.h:
Add plumbing for
setBaseWritingDirection, fromWebPageProxytoWebPagetoEditor.
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::didReceiveEditorStateUpdateAfterFocus):
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView baseWritingDirectionForPosition:inDirection:]):
(coreWritingDirection):
(-[WKContentView setBaseWritingDirection:forRange:]):
Support
-setBaseWritingDirectionForPosition:forRange:, but only in the case where the given range is the
selected range. This is all that's currently needed to fulfill the requirements in <rdar://problem/42075638>,
though we could potentially add full support for this in the future by mapping the given text range to a DOM
range and moving the selection prior to setting the base writing direction.
(-[WKContentView _didReceiveEditorStateUpdateAfterFocus]):
Add a hook to notify WKContentView when the first post-layout EditorState has been received in the UI process.
When this is invoked, if the web view is editable and the selection is not a range, we call intoUIKeyboardImpl
to change the initial writing direction if necessary.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::startAssistingNode):
(WebKit::WebPageProxy::stopAssistingNode):
(WebKit::WebPageProxy::editorStateChanged):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setBaseWritingDirection):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
Add support for simulating the keyboard input mode in layout tests using UIScriptController, as well as a new
TestOptionto make the web view editable.
- DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::setKeyboardInputModeIdentifier):
- TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
- TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::setKeyboardInputModeIdentifier):
- TestRunnerShared/UIScriptContext/UIScriptController.h:
- WebKitTestRunner/PlatformWebView.h:
- WebKitTestRunner/TestController.cpp:
(WTR::updateTestOptionsFromTestHeader):
- WebKitTestRunner/TestController.h:
(WTR::TestController::overriddenKeyboardInputMode const):
- WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):
- WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::setEditable):
- WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::setEditable):
- WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
(WTR::swizzleCurrentInputMode):
(WTR::TestController::setKeyboardInputModeIdentifier):
Swizzle out several
UIKeyboardInputModeControllermethods in order to convince UIKit that the user has
selected aUIKeyboardInputModecorresponding to the given identifier. The call to
-prepareKeyboardInputModeFromPreferences:is also necessary on iOS 12 in order to update cached writing
direction state in UIKit.
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::setKeyboardInputModeIdentifier):
- WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::setEditable):
- WebKitTestRunner/win/PlatformWebViewWin.cpp:
(WTR::PlatformWebView::setEditable):
- WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
(WTR::PlatformWebView::setEditable):
LayoutTests:
Add a new layout test to verify that when focusing an editable WKWebView using a right-to-left keyboard input
mode, we will set the base writing direction to be right-to-left, and vice versa.
- TestExpectations:
- editing/input/ios/rtl-keyboard-input-on-focus-expected.txt: Added.
- editing/input/ios/rtl-keyboard-input-on-focus.html: Added.
- platform/ios-wk2/TestExpectations:
- resources/ui-helper.js:
Add a UIHelper method to set the keyboard input mode to the given identifier. Example identifiers are "en_US"
(the default U.S. English keyboard) and "he_IL" (the Hebrew keyboard, which is right-to-left).
(window.UIHelper.setKeyboardInputModeIdentifier):
(window.UIHelper):
- 12:37 PM Changeset in webkit [238938] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION(r238602): Elements: collapsing a DOM node with the left arrow doesn't work
https://bugs.webkit.org/show_bug.cgi?id=192353
<rdar://problem/46455019>
Reviewed by Devin Rousso.
- UserInterface/Views/TreeElement.js:
(WI.TreeElement.prototype.deselect):
Don't early return when the element is not the selected tree element.
This condition no longer holds now that TreeOutline supports multiple selection.
- 12:07 PM Changeset in webkit [238937] by
-
- 6 edits in trunk/Source/WebKit
-[WKProcessPool _resumeDownloadFromData:path:] should allow specifying the originating web view
https://bugs.webkit.org/show_bug.cgi?id=192411
rdar://problem/46492487
Reviewed by Alex Christensen.
- UIProcess/API/C/WKContext.cpp:
(WKContextResumeDownload):
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _resumeDownloadFromData:path:originatingWebView:]):
(-[WKProcessPool _resumeDownloadFromData:path:]): Deleted.
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::resumeDownload):
- Set the originating page of the DownloadProxy.
- If the originating page is non-null, use its session ID for the download.
- Remove a FIXME. It's possible to do this now by providing the web view whose session should be used for the download.
- UIProcess/WebProcessPool.h:
- 11:35 AM Changeset in webkit [238936] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, a quick fix after r238919
Add an early return such that the error message is actually meaningful.
- UIProcess/WebAuthentication/Mock/MockHidService.cpp:
(WebKit::MockHidService::platformStartDiscovery):
- 11:32 AM Changeset in webkit [238935] by
-
- 5 edits in trunk/LayoutTests
Layout Test http/tests/misc/resource-timing-resolution.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=181957
Reviewed by Youenn Fablet.
Since the timing information is a multiplier of a small delta, it is likely that
two timing information are the same as they are so close that fall into the same
bucket. Therefore, this patch releases the check of 't0 !== t1'.
- http/tests/misc/resource-timing-resolution-expected.txt:
- http/tests/misc/resource-timing-resolution.html:
- platform/ios-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 10:59 AM Changeset in webkit [238934] by
-
- 4 edits in trunk/JSTests
stress/big-wasm-memory tests failing on 32-bit JSC bot
https://bugs.webkit.org/show_bug.cgi?id=192020
Reviewed by Saam Barati.
Not every platform has WebAssembly, e.g. 32-bit, so we should exit
the wasm stress tests if the WebAssembly object does not exist.
- stress/big-wasm-memory-grow-no-max.js:
(test.foo):
(test):
(foo): Deleted.
(catch): Deleted.
- stress/big-wasm-memory-grow.js:
(test.foo):
(test):
(foo): Deleted.
(catch): Deleted.
- stress/big-wasm-memory.js:
(test.foo):
(test):
(foo): Deleted.
(catch): Deleted.
- 8:55 AM Changeset in webkit [238933] by
-
- 23 edits in trunk/Source
Remove unused LoaderStrategy::storeDerivedDataToCache and associated dead code
https://bugs.webkit.org/show_bug.cgi?id=192452
Reviewed by Anders Carlsson.
Source/WebCore:
- loader/LoaderStrategy.h:
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::didRetrieveDerivedDataFromCache): Deleted.
- loader/ResourceLoader.h:
- loader/ResourceLoaderOptions.h:
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didRetrieveDerivedDataFromCache): Deleted.
- loader/SubresourceLoader.h:
- loader/ThreadableLoader.cpp:
(WebCore::ThreadableLoaderOptions::isolatedCopy const):
- loader/cache/CachedResource.h:
(WebCore::CachedResource::didRetrieveDerivedDataFromCache): Deleted.
Source/WebKit:
This was introduced in r210835 but never used.
It's preventing me from making the disk cache associated with a SessionID/NetworkSession.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::storeDerivedDataToCache): Deleted.
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode const):
(WebKit::NetworkResourceLoadParameters::decode):
- NetworkProcess/NetworkResourceLoadParameters.h:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::continueDidReceiveResponse):
(WebKit::NetworkResourceLoader::didRetrieveCacheEntry):
(WebKit::NetworkResourceLoader::continueProcessingCachedEntryAfterDidReceiveResponse): Deleted.
- NetworkProcess/NetworkResourceLoader.h:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
(WebKit::WebLoaderStrategy::storeDerivedDataToCache): Deleted.
- WebProcess/Network/WebLoaderStrategy.h:
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didRetrieveDerivedData): Deleted.
- WebProcess/Network/WebResourceLoader.messages.in:
Source/WebKitLegacy:
- WebCoreSupport/WebResourceLoadScheduler.h:
- 8:48 AM Changeset in webkit [238932] by
-
- 2 edits in trunk/LayoutTests
imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries.html is flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=191565
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 7:24 AM Changeset in webkit [238931] by
-
- 7 edits in trunk/Source/WebCore
[LFC][BFC][MarginCollapsing] HeightAndMargin::margin is always the non-collapsed margin value.
https://bugs.webkit.org/show_bug.cgi?id=192345
Reviewed by Antti Koivisto.
Rename HeightAndMargin::margin to HeightAndMargin::nonCollapsedMargin.
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry const):
- layout/LayoutUnits.h:
(WebCore::Layout::HeightAndMargin::usedMarginValues const):
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin const):
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowHeightAndMargin):
- layout/blockformatting/BlockFormattingContextQuirks.cpp:
(WebCore::Layout::BlockFormattingContext::Quirks::stretchedHeight):
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computeHeightAndMargin const):
- 7:21 AM Changeset in webkit [238930] by
-
- 2 edits in trunk/Source/WebCore
[LFC][BFC][MarginCollapsing] Add MarginCollapse::establishesBlockFormattingContext
https://bugs.webkit.org/show_bug.cgi?id=192297
Reviewed by Antti Koivisto.
WebKit treats the document element renderer as a block formatting context root.
- layout/blockformatting/BlockMarginCollapse.cpp:
(WebCore::Layout::establishesBlockFormattingContext):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::isMarginTopCollapsedWithParent):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::isMarginBottomCollapsedWithParent):
- 5:07 AM Changeset in webkit [238929] by
-
- 5 edits in trunk
[GStreamer] -DENABLE_VIDEO=ON -DENABLE_OPENGL=OFF still tries to build GstreamerGL
https://bugs.webkit.org/show_bug.cgi?id=191998
Patch by Carlos Eduardo Ramalho <cadubentzen@gmail.com> on 2018-12-06
Reviewed by Philippe Normand.
Fix compilation with -DENABLE_VIDEO=ON and -DENABLE_OPENGL=OFF due to GStreamerGL.
.:
- Source/cmake/GStreamerDependencies.cmake: "DEFINED ENABLE_OPENGL" is always false because ENABLE_OPENGL
is not a CMake variable (WEBKIT_OPTION_DEFINE macro does not define ENABLE_OPENGL variable per se, but other
variables and appends it to a list).
- Source/cmake/OptionsGTK.cmake: GStreamerDefinitions.cmake was included twice by mistake. Second should be GStreamerDependencies.cmake.
Source/WebCore:
No new tests required. Only fixing the build with certain flags.
- Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp:
(WebCore::CanvasCaptureMediaStreamTrack::Source::canvasChanged): add required #if ENABLE(WEBGL).
- 4:40 AM Changeset in webkit [238928] by
-
- 6 edits in trunk
REGRESSION(r231043): [GTK] Undefined references to WebCore::LayerRepresentation::* with -DENABLE_OPENGL=OFF builds
https://bugs.webkit.org/show_bug.cgi?id=191997
Patch by Carlos Eduardo Ramalho <cadubentzen@gmail.com> on 2018-12-06
Reviewed by Philippe Normand.
.:
Fix build with -DENABLE_OPENGL=OFF and -DENABLE_VIDEO=OFF
- Source/cmake/OptionsGTK.cmake: make ENABLE_ASYNC_SCROLLING depend on ENABLE_OPENGL
Source/WebCore:
Fix build with -DENABLE_OPENGL=OFF and -DENABLE_VIDEO=OFF.
No new tests required. Only fixing build.
- platform/gtk/PlatformWheelEventGtk.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent): add required #if ENABLE(ASYNC_SCROLLING)
Source/WebKit:
Fix build with -DENABLE_OPENGL=OFF and -DENABLE_VIDEO=OFF.
- Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent): add required #if ENABLE(ASYNC_SCROLLING)
Dec 5, 2018:
- 10:12 PM Changeset in webkit [238927] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION(PSON): Process swapping code doesn't set DisplayID in WebContent process
https://bugs.webkit.org/show_bug.cgi?id=192290
Reviewed by Simon Fraser.
Fixed the bug by updating the DisplayID upon attaching to a WebContent process
after a process swap as well as after the previous WebContent process had crashed.
Unfortunately no new tests since WebKitTestRunner / DumpRenderTree should use 0 as DisplayID
as they have an off-screen NSWindow. The issue that this results in no fallback for
the animation timer is tracked by webkit.org/b/192448.
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::didRelaunchProcess):
- 8:45 PM Changeset in webkit [238926] by
-
- 9 copies1 add in releases/Apple/Safari 12.0.2
Added a tag for Safari 12.0.2.
- 8:45 PM Changeset in webkit [238925] by
-
- 8 copies1 add in releases/Apple/iOS 12.1.1
Added a tag for iOS 12.1.1.
- 8:45 PM Changeset in webkit [238924] by
-
- 9 copies1 add in releases/Apple/Safari Technology Preview 71
Added a tag for Safari Technology Preview release 71.
- 8:34 PM Changeset in webkit [238923] by
-
- 3 edits1 add in trunk
speculationFromCell() should speculate non-Identifier strings as SpecString instead of SpecStringVar.
https://bugs.webkit.org/show_bug.cgi?id=192441
<rdar://problem/46480355>
Reviewed by Saam Barati.
JSTests:
- stress/regress-192441.js: Added.
Source/JavaScriptCore:
This is because a regular String (non-Identifier) can be converted into an
Identifier. During DFG/FTL compilation, AbstractValue::checkConsistency() may
expect a value to be of type SpecStringVar, but the mutator thread may have
converted the string into an Identifier. This creates a race where
AbstractValue::checkConsistency() may fail because it sees a SpecStringIdent when
it expects the a SpecStringVar.
The fix is to speculate non-Identifier strings as type SpecString which allows it
to be SpecStringVar or SpecStringIndent.
- bytecode/SpeculatedType.cpp:
(JSC::speculationFromCell):
- 7:46 PM Changeset in webkit [238922] by
-
- 2 edits in trunk/Source/WebKit
Remove a document entry from NetworkMDNSRegister::m_services when document goes away
https://bugs.webkit.org/show_bug.cgi?id=192429
Reviewed by Eric Carlson.
- NetworkProcess/webrtc/NetworkMDNSRegister.cpp:
(WebKit::NetworkMDNSRegister::unregisterMDNSNames):
We should remove the entry to limit the size of the map.
- 7:09 PM Changeset in webkit [238921] by
-
- 11 edits4 moves in trunk/Tools
[Cocoa] Share ClassMethodSwizzler and InstanceMethodSwizzler between TestWebKitAPI and WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=192437
Reviewed by Tim Horton.
- DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
- TestRunnerShared/cocoa/ClassMethodSwizzler.h: Renamed from Tools/TestWebKitAPI/ClassMethodSwizzler.h.
- TestRunnerShared/cocoa/ClassMethodSwizzler.mm: Renamed from Tools/TestWebKitAPI/ClassMethodSwizzler.mm.
(ClassMethodSwizzler::ClassMethodSwizzler):
(ClassMethodSwizzler::~ClassMethodSwizzler):
- TestRunnerShared/cocoa/InstanceMethodSwizzler.h: Renamed from Tools/TestWebKitAPI/cocoa/InstanceMethodSwizzler.h.
- TestRunnerShared/cocoa/InstanceMethodSwizzler.mm: Renamed from Tools/TestWebKitAPI/cocoa/InstanceMethodSwizzler.mm.
(InstanceMethodSwizzler::InstanceMethodSwizzler):
(InstanceMethodSwizzler::~InstanceMethodSwizzler):
Move these swizzling helper classes into TestRunnerShared.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/LocalStorageClear.mm:
- TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
(safeBrowsingView):
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewDefaultNavigationDelegate.mm:
- TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView initWithFrame:configuration:addToWindow:]):
Remove namespacing around ClassMethodSwizzler and InstanceMethodSwizzler in a few API tests.
- TestWebKitAPI/mac/TestFontOptions.mm:
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::ClassMethodSwizzler::ClassMethodSwizzler): Deleted.
(WTR::ClassMethodSwizzler::~ClassMethodSwizzler): Deleted.
Remove this duplicate implementation of ClassMethodSwizzler in WebKitTestRunner.
- 7:02 PM Changeset in webkit [238920] by
-
- 10 edits in trunk/LayoutTests
[GTK] Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=192436
- platform/gtk/TestExpectations:
- platform/gtk/editing/deleting/delete-emoji-1-expected.txt:
- platform/gtk/editing/deleting/delete-emoji-expected.txt:
- platform/wpe/animations/lineheight-animation-expected.txt:
- platform/wpe/animations/simultaneous-start-transform-expected.txt:
- platform/wpe/animations/width-using-ems-expected.txt:
- platform/wpe/legacy-animation-engine/animations/lineheight-animation-expected.txt:
- platform/wpe/legacy-animation-engine/animations/simultaneous-start-transform-expected.txt:
- platform/wpe/legacy-animation-engine/animations/width-using-ems-expected.txt:
- 6:28 PM Changeset in webkit [238919] by
-
- 3 edits in trunk/Source/WebKit
[Mac] Layout Test http/wpt/webauthn/public-key-credential-create-success-hid.https.html and http/wpt/webauthn/public-key-credential-get-success-hid.https.html are flaky
https://bugs.webkit.org/show_bug.cgi?id=192061
Reviewed by Dewei Zhu.
Part 1.
Add some loggings to determine possible causes for the flakiness.
- UIProcess/WebAuthentication/Cocoa/HidService.mm:
(WebKit::HidService::continueAddDeviceAfterGetInfo):
- UIProcess/WebAuthentication/Mock/MockHidService.cpp:
(WebKit::MockHidService::platformStartDiscovery):
- 4:26 PM Changeset in webkit [238918] by
-
- 2 edits in branches/safari-606-branch/Source/WebCore
Apply patch. rdar://problem/46085280
- 4:13 PM Changeset in webkit [238917] by
-
- 4 edits in trunk/LayoutTests
REGRESSION: Layout Test http/tests/security/cross-origin-css-resource-timing.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=192408
<rdar://problem/46492201>
Reviewed by Ryosuke Niwa.
Some of the tests are loading the same subresource and check for resource timing.
We need to clear internal caches to have stable results.
- http/tests/security/clean-origin-css-exposed-resource-timing.html:
- http/tests/security/cross-origin-clean-css-resource-timing.html:
- http/tests/security/cross-origin-css-resource-timing.html:
- 3:51 PM Changeset in webkit [238916] by
-
- 16 edits1 copy7 adds in branches/safari-606-branch
Apply patch. rdar://problem/45997392
- 3:51 PM Changeset in webkit [238915] by
-
- 2 edits in branches/safari-606-branch/Source/WebKit
Cherry-pick r238799. rdar://problem/46432866
[Cocoa] Check descriptor types in createMessageDecoder
https://bugs.webkit.org/show_bug.cgi?id=192302
Reviewed by Chris Dumez.
Not sure how to construct a test case for Connection, so not adding any
tests at this time.
- Platform/IPC/mac/ConnectionMac.mm: (IPC::createMessageDecoder): Check descriptor types and return nullptr if they are incorrect. Retained the assertions to help with debugging. (IPC::Connection::receiveSourceEventHandler): Ignore the message if no decoder is created, which means the message is invalid.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238799 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:50 PM Changeset in webkit [238914] by
-
- 5 edits in trunk
Web Inspector: SelectionController should not extend the selection when allowsMultipleSelection is false
https://bugs.webkit.org/show_bug.cgi?id=192390
<rdar://problem/46473624>
Reviewed by Devin Rousso.
Source/WebInspectorUI:
- UserInterface/Controllers/SelectionController.js:
(WI.SelectionController.prototype.selectItem):
LayoutTests:
- inspector/table/table-selection-expected.txt:
- inspector/table/table-selection.html:
Drive-by fix: removed
allowsMultipleSelectioncheck from test case
Table.SelectMultipleRows.ExtendSelection since it is tested in Table.AllowsMultipleSelection.
- 3:25 PM Changeset in webkit [238913] by
-
- 8 edits1 copy19 adds in trunk
[PlayStation] Enable WebCore
https://bugs.webkit.org/show_bug.cgi?id=192384
Reviewed by Brent Fulgham.
.:
Adds CMake options for building WebCore on PlayStation.
- Source/cmake/FindLibPSL.cmake:
- Source/cmake/FindNghttp2.cmake: Copied from Source/cmake/FindWPE.cmake.
- Source/cmake/FindPixman.cmake: Added.
- Source/cmake/FindWPE.cmake:
- Source/cmake/OptionsPlayStation.cmake:
Source/WebCore:
Implements WebCore for the PlayStation platform.
- PlatformPlayStation.cmake: Added.
- loader/cache/CachedResourceLoader.cpp:
- platform/generic/KeyedDecoderGeneric.cpp: Added.
(WebCore::KeyedDecoder::decoder):
(WebCore::KeyedDecoderGeneric::KeyedDecoderGeneric):
(WebCore::KeyedDecoderGeneric::~KeyedDecoderGeneric):
(WebCore::KeyedDecoderGeneric::decodeBytes):
(WebCore::KeyedDecoderGeneric::decodeBool):
(WebCore::KeyedDecoderGeneric::decodeUInt32):
(WebCore::KeyedDecoderGeneric::decodeUInt64):
(WebCore::KeyedDecoderGeneric::decodeInt32):
(WebCore::KeyedDecoderGeneric::decodeInt64):
(WebCore::KeyedDecoderGeneric::decodeFloat):
(WebCore::KeyedDecoderGeneric::decodeDouble):
(WebCore::KeyedDecoderGeneric::decodeString):
(WebCore::KeyedDecoderGeneric::beginObject):
(WebCore::KeyedDecoderGeneric::endObject):
(WebCore::KeyedDecoderGeneric::beginArray):
(WebCore::KeyedDecoderGeneric::beginArrayElement):
(WebCore::KeyedDecoderGeneric::endArrayElement):
(WebCore::KeyedDecoderGeneric::endArray):
- platform/generic/KeyedDecoderGeneric.h: Added.
- platform/generic/KeyedEncoderGeneric.cpp: Added.
(WebCore::KeyedEncoder::encoder):
(WebCore::KeyedEncoderGeneric::KeyedEncoderGeneric):
(WebCore::KeyedEncoderGeneric::~KeyedEncoderGeneric):
(WebCore::KeyedEncoderGeneric::encodeBytes):
(WebCore::KeyedEncoderGeneric::encodeBool):
(WebCore::KeyedEncoderGeneric::encodeUInt32):
(WebCore::KeyedEncoderGeneric::encodeUInt64):
(WebCore::KeyedEncoderGeneric::encodeInt32):
(WebCore::KeyedEncoderGeneric::encodeInt64):
(WebCore::KeyedEncoderGeneric::encodeFloat):
(WebCore::KeyedEncoderGeneric::encodeDouble):
(WebCore::KeyedEncoderGeneric::encodeString):
(WebCore::KeyedEncoderGeneric::beginObject):
(WebCore::KeyedEncoderGeneric::endObject):
(WebCore::KeyedEncoderGeneric::beginArray):
(WebCore::KeyedEncoderGeneric::beginArrayElement):
(WebCore::KeyedEncoderGeneric::endArrayElement):
(WebCore::KeyedEncoderGeneric::endArray):
(WebCore::KeyedEncoderGeneric::finishEncoding):
- platform/generic/KeyedEncoderGeneric.h: Added.
- platform/network/curl/NetworkStorageSessionCurl.cpp:
(WebCore::defaultCookieJarPath):
- platform/network/playstation/CurlSSLHandlePlayStation.cpp: Added.
(WebCore::getCACertPathEnv):
(WebCore::CurlSSLHandle::platformInitialize):
- platform/network/playstation/NetworkStateNotifierPlayStation.cpp: Added.
(WebCore::NetworkStateNotifier::updateStateWithoutNotifying):
(WebCore::NetworkStateNotifier::startObserving):
- platform/playstation/EventLoopPlayStation.cpp: Added.
(WebCore::EventLoop::cycle):
- platform/playstation/MIMETypeRegistryPlayStation.cpp: Added.
(WebCore::MIMETypeRegistry::getMIMETypeForExtension):
(WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
- platform/playstation/PlatformScreenPlayStation.cpp: Added.
(WebCore::screenDepth):
(WebCore::screenDepthPerComponent):
(WebCore::screenIsMonochrome):
(WebCore::screenHasInvertedColors):
(WebCore::screenRect):
(WebCore::screenAvailableRect):
(WebCore::screenSupportsExtendedColor):
- platform/playstation/ScrollbarThemePlayStation.cpp: Added.
(WebCore::ScrollbarTheme::nativeTheme):
(WebCore::ScrollbarThemePlayStation::scrollbarThickness):
(WebCore::ScrollbarThemePlayStation::hasButtons):
(WebCore::ScrollbarThemePlayStation::hasThumb):
(WebCore::ScrollbarThemePlayStation::backButtonRect):
(WebCore::ScrollbarThemePlayStation::forwardButtonRect):
(WebCore::ScrollbarThemePlayStation::trackRect):
(WebCore::ScrollbarThemePlayStation::paintTrackBackground):
(WebCore::ScrollbarThemePlayStation::paintThumb):
- platform/playstation/ScrollbarThemePlayStation.h: Added.
- platform/playstation/UserAgentPlayStation.cpp: Added.
(WebCore::standardUserAgent):
(WebCore::standardUserAgentForURL):
- rendering/RenderThemePlayStation.cpp: Added.
(WebCore::RenderTheme::singleton):
(WebCore::RenderThemePlayStation::updateCachedSystemFontDescription const):
- rendering/RenderThemePlayStation.h: Added.
Source/WebCore/PAL:
Implements PAL for the PlayStation platform.
- pal/PlatformPlayStation.cmake: Added.
- 3:06 PM Changeset in webkit [238912] by
-
- 3 edits2 adds in trunk
Null pointer crash in DocumentOrderedMap::getElementById via FormAssociatedElement::findAssociatedForm
https://bugs.webkit.org/show_bug.cgi?id=192392
Reviewed by Dean Jackson.
Source/WebCore:
The crash was caused by FormAssociatedElement::findAssociatedForm invoking DocumentOrderedMap::getElementById
and de-referencing nullptr Attribute* via IdTargetObserver before Element::attributeChanged had updated
ElementData::m_idForStyleResolution.
Fixed it by updating m_idForStyleResolution before invoking IdTargetObservers.
Test: fast/dom/remove-id-form-associated-elemet-id-observer-crash.html
- dom/Element.cpp:
(WebCore::Element::attributeChanged): Fixed the bug.
LayoutTests:
Added a regression test.
- fast/dom/remove-id-form-associated-elemet-id-observer-crash-expected.txt: Added.
- fast/dom/remove-id-form-associated-elemet-id-observer-crash.html: Added.
- 2:44 PM Changeset in webkit [238911] by
-
- 2 edits in trunk/Source/WebKit
Simplify logic inside WebPageProxy::continueNavigationInNewProcess()
https://bugs.webkit.org/show_bug.cgi?id=192404
Reviewed by Alex Christensen.
Simplify get the item state from the current back/forward list item, instead of
relying on WebBackForwardList::filteredItemStates().
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::continueNavigationInNewProcess):
- 2:34 PM Changeset in webkit [238910] by
-
- 2 edits in trunk/Tools
webkitpy: Clean-up apple_additions
https://bugs.webkit.org/show_bug.cgi?id=192413
<rdar://problem/46493491>
Reviewed by Lucas Forschler.
After the addition of watchOS, some functions which were originally iOS specific were
generalized to include all devices.
- Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort._driver_class): Replace iOS specific call with generalized device call.
(IOSDevicePort.path_to_crash_logs): Ditto.
(IOSDevicePort.clean_up_test_run): Ditto.
- 2:32 PM Changeset in webkit [238909] by
-
- 13 edits in trunk/Source
Enable the possibility to do video capture in UIProcess
https://bugs.webkit.org/show_bug.cgi?id=192394
Reviewed by Eric Carlson.
Source/WebCore:
Create IOSurface-backed sample buffers so that we can easily send them through IPC.
Manually tested.
- platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::setSizeAndFrameRateWithPreset):
Source/WebKit:
Add two web preferences to toggle audio/video capture in UIProcess or WebProcess.
Add mechanism for video capture that was not implemented yet.
- Shared/WebPreferences.yaml:
- Shared/WebPreferencesDefaultValues.h:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/API/APIProcessPoolConfiguration.h:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetCaptureAudioInUIProcessEnabled):
(WKPreferencesGetCaptureAudioInUIProcessEnabled):
(WKPreferencesSetCaptureVideoInUIProcessEnabled):
(WKPreferencesGetCaptureVideoInUIProcessEnabled):
- UIProcess/API/C/WKPreferencesRef.h:
- UIProcess/WebPreferences.cpp:
(WebKit::WebPreferences::updateBoolValueForInternalDebugFeatureKey):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::initializeNewWebProcess):
(WebKit::WebProcessPool::createWebPage):
- WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::initialize):
- 1:35 PM Changeset in webkit [238908] by
-
- 2 edits in trunk/Source/WebCore
Update ServiceWorkerContainer::getRegistration lambdas
https://bugs.webkit.org/show_bug.cgi?id=192376
Reviewed by Chris Dumez.
There is no need to pass 'this' in lambdas as the last lambda
takes a ScriptExecutionContext&.
No change of behavior.
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::getRegistration):
(WebCore::ServiceWorkerContainer::getRegistrations):
- 1:15 PM Changeset in webkit [238907] by
-
- 7 edits in trunk/LayoutTests
[iOS] Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=189727
<rdar://problem/44584993>
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
Make the test more deterministic and output more test to ease debugging.
- 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/resources/fetch-cors-xhr-iframe.html:
LayoutTests:
- TestExpectations:
- platform/ios/TestExpectations:
- 1:02 PM Changeset in webkit [238906] by
-
- 3 edits in trunk/Tools
webkitpy: Ignore case when comparing device types
https://bugs.webkit.org/show_bug.cgi?id=192409
<rdar://problem/46491558>
Reviewed by Lucas Forschler.
This allows DeviceTypes constructed with lowercase strings to correctly compare
against DeviceTypes coming from the simulator runtime.
- Scripts/webkitpy/xcode/device_type.py:
(DeviceType.eq):
(DeviceType.contains):
- Scripts/webkitpy/xcode/device_type_unittest.py:
(DeviceTypeTest):
(DeviceTypeTest.test_comparsion_lower_case):
- 12:58 PM Changeset in webkit [238905] by
-
- 2 edits in trunk/Source/WebCore
Crash under WebCore::cachedDocumentWrapper()
https://bugs.webkit.org/show_bug.cgi?id=192421
<rdar://problem/37114163>
Reviewed by Alex Christensen.
Fix potential null defererence of the value returned by toJSDOMWindow(). For example,
if the window is frameless, it would return null.
- bindings/js/JSDocumentCustom.cpp:
(WebCore::cachedDocumentWrapper):
- 12:21 PM Changeset in webkit [238904] by
-
- 4 edits in trunk/Source/WebCore
[MediaStream] Cleanup up Mac screen capture class
https://bugs.webkit.org/show_bug.cgi?id=192379
<rdar://problem/46465458>
Reviewed by Youenn Fablet.
No new tests, tested manually.
- platform/mediastream/mac/DisplayCaptureManagerCocoa.cpp:
(WebCore::DisplayCaptureManagerCocoa::captureDevices): Initialize Screen devices first so
they are first in the list of devices.
- platform/mediastream/mac/ScreenDisplayCaptureSourceMac.h:
- platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm:
(WebCore::ScreenDisplayCaptureSourceMac::createDisplayStream): Cleanup. Always capture at the
native screen size to work around a bug.
(WebCore::ScreenDisplayCaptureSourceMac::settingsDidChange): Deleted.
- 11:30 AM Changeset in webkit [238903] by
-
- 13 edits in trunk/Tools
webkitpy: Sort tests by associated device type
https://bugs.webkit.org/show_bug.cgi?id=192161
<rdar://problem/46345392>
Reviewed by Lucas Forschler.
Sort tests by device type and make an effort to run each specified device type.
Do not run tests if their specified device is not available.
- Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.is_watchos): Add watchos bits to platform info.
(PlatformInfo._determine_os_name): Ditto.
- Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run): Assign each test a device type. Then, generate a list of
device types to sequentially iterate through. Note that a test will run
on the first device which matches.
(Manager._end_test_run): Handle the case where no devices are available and no
tests are run.
- Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(_set_up_derived_options): Manage child processes in manager.
- Scripts/webkitpy/port/base.py:
(Port):
(Port.default_child_processes): Accept additional arguments.
(Port.max_child_processes): Add upper limit for number of child processes.
- Scripts/webkitpy/port/device_port.py:
(DevicePort):
(DevicePort._device_type_with_version): Adds version to the DeviceType.
(DevicePort.default_child_processes): Allows default_child_processes to be
attached to a device type.
(DevicePort.max_child_processes): Add upper limit to the maximum number of child processes.
(DevicePort.setup_test_run): Use _device_type_with_version.
- Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort):
(IOSDevicePort.default_child_processes): Deleted.
- Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort.default_child_processes): Deleted.
(IOSSimulatorPort.check_sys_deps): Deleted.
- Scripts/webkitpy/port/mac.py:
(MacPort.default_child_processes): Accept additional arguments.
- Scripts/webkitpy/port/test.py:
- Scripts/webkitpy/port/watch_device.py:
(WatchDevicePort):
(WatchDevicePort.default_child_processes): Deleted.
- Scripts/webkitpy/port/watch_simulator.py:
(WatchSimulatorPort.default_child_processes): Deleted.
(WatchSimulatorPort.check_sys_deps): Deleted.
- Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager):
(SimulatedDeviceManager.device_count_for_type): Count the number of devices
available for a specific device type.
- 11:21 AM Changeset in webkit [238902] by
-
- 17 edits9 deletes in trunk
Unreviewed, rolling out r238844, r238846, and r238874.
https://bugs.webkit.org/show_bug.cgi?id=192414
The layout tests added with this change are flaky. (Requested
by ryanhaddad on #webkit).
Reverted changesets:
"Implement non-timeslice mode encoding for MediaRecorder"
https://bugs.webkit.org/show_bug.cgi?id=192069
https://trac.webkit.org/changeset/238844
"Fix the build"
https://trac.webkit.org/changeset/238846
"Fix MediaRecorder flaky tests"
https://bugs.webkit.org/show_bug.cgi?id=192371
https://trac.webkit.org/changeset/238874
- 11:19 AM Changeset in webkit [238901] by
-
- 2 edits in trunk/Tools
Unreviewed, add myself to some watch lists.
- Scripts/webkitpy/common/config/watchlist:
- 10:42 AM Changeset in webkit [238900] by
-
- 24 edits3 adds in trunk/Source/WebKit
Make WebsiteDataStoreConfiguration a proper API object
https://bugs.webkit.org/show_bug.cgi?id=192380
Reviewed by Youenn Fablet.
In the immediate future I'll need to add things to _WKWebsiteDataStoreConfiguration.
Instead of making ivars, setting them, copying them to a local object, make this a wrapper of an API::Object
like all our other ObjC API objects are.
- Shared/API/APIObject.h:
(API::Object::wrapper const):
(API::Object::wrapper): Deleted.
- Shared/Cocoa/APIObject.mm:
(API::Object::ref const):
(API::Object::deref const):
(API::Object::newObject):
(API::Object::ref): Deleted.
(API::Object::deref): Deleted.
- Sources.txt:
- UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::createWithWebsiteDataStoreConfiguration):
- UIProcess/API/APIProcessPoolConfiguration.h:
- UIProcess/API/APIWebsiteDataStore.cpp:
(API::WebsiteDataStore::createLegacy):
(API::WebsiteDataStore::WebsiteDataStore):
(API::WebsiteDataStore::legacyDefaultDataStoreConfiguration):
- UIProcess/API/APIWebsiteDataStore.h:
- UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:
(API::WebsiteDataStore::defaultDataStoreConfiguration):
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _initWithConfiguration:]):
- UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:
(-[_WKWebsiteDataStoreConfiguration _webStorageDirectory]):
(-[_WKWebsiteDataStoreConfiguration _setWebStorageDirectory:]):
(-[_WKWebsiteDataStoreConfiguration _indexedDBDatabaseDirectory]):
(-[_WKWebsiteDataStoreConfiguration _setIndexedDBDatabaseDirectory:]):
(-[_WKWebsiteDataStoreConfiguration _webSQLDatabaseDirectory]):
(-[_WKWebsiteDataStoreConfiguration _setWebSQLDatabaseDirectory:]):
(-[_WKWebsiteDataStoreConfiguration _cookieStorageFile]):
(-[_WKWebsiteDataStoreConfiguration _setCookieStorageFile:]):
(-[_WKWebsiteDataStoreConfiguration _resourceLoadStatisticsDirectory]):
(-[_WKWebsiteDataStoreConfiguration _setResourceLoadStatisticsDirectory:]):
(-[_WKWebsiteDataStoreConfiguration _cacheStorageDirectory]):
(-[_WKWebsiteDataStoreConfiguration _setCacheStorageDirectory:]):
(-[_WKWebsiteDataStoreConfiguration _serviceWorkerRegistrationDirectory]):
(-[_WKWebsiteDataStoreConfiguration _setServiceWorkerRegistrationDirectory:]):
(-[_WKWebsiteDataStoreConfiguration setSourceApplicationBundleIdentifier:]):
(-[_WKWebsiteDataStoreConfiguration sourceApplicationBundleIdentifier]):
(-[_WKWebsiteDataStoreConfiguration sourceApplicationSecondaryIdentifier]):
(-[_WKWebsiteDataStoreConfiguration setSourceApplicationSecondaryIdentifier:]):
(-[_WKWebsiteDataStoreConfiguration _apiObject]):
- UIProcess/API/Cocoa/_WKWebsiteDataStoreConfigurationInternal.h: Added.
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::retrieveCacheStorageParameters):
- UIProcess/WebProcessPool.cpp:
(WebKit::legacyWebsiteDataStoreConfiguration):
(WebKit::WebProcessPool::mayHaveRegisteredServiceWorkers):
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::parameters):
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::create):
(WebKit::WebsiteDataStore::WebsiteDataStore):
(WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary):
(WebKit::WebsiteDataStore::fetchDataAndApply):
(WebKit::WebsiteDataStore::removeData):
(WebKit::WebsiteDataStore::parameters):
(WebKit::WebsiteDataStore::Configuration::Configuration): Deleted.
- UIProcess/WebsiteData/WebsiteDataStore.h:
(WebKit::WebsiteDataStore::cacheStoragePerOriginQuota const):
(WebKit::WebsiteDataStore::setCacheStoragePerOriginQuota):
(WebKit::WebsiteDataStore::cacheStorageDirectory const):
(WebKit::WebsiteDataStore::setCacheStorageDirectory):
(WebKit::WebsiteDataStore::serviceWorkerRegistrationDirectory const):
(WebKit::WebsiteDataStore::setServiceWorkerRegistrationDirectory):
(WebKit::WebsiteDataStore::resolvedApplicationCacheDirectory const):
(WebKit::WebsiteDataStore::resolvedMediaCacheDirectory const):
(WebKit::WebsiteDataStore::resolvedMediaKeysDirectory const):
(WebKit::WebsiteDataStore::resolvedDatabaseDirectory const):
(WebKit::WebsiteDataStore::resolvedJavaScriptConfigurationDirectory const):
(WebKit::WebsiteDataStore::resolvedCookieStorageFile const):
(WebKit::WebsiteDataStore::resolvedIndexedDatabaseDirectory const):
(WebKit::WebsiteDataStore::resolvedServiceWorkerRegistrationDirectory const):
(WebKit::WebsiteDataStore::resolvedResourceLoadStatisticsDirectory const):
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp: Added.
(WebKit::WebsiteDataStoreConfiguration::WebsiteDataStoreConfiguration):
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h: Added.
(WebKit::WebsiteDataStoreConfiguration::create):
(WebKit::WebsiteDataStoreConfiguration::cacheStoragePerOriginQuota):
(WebKit::WebsiteDataStoreConfiguration::setCacheStoragePerOriginQuota):
(WebKit::WebsiteDataStoreConfiguration::applicationCacheDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setApplicationCacheDirectory):
(WebKit::WebsiteDataStoreConfiguration::mediaCacheDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setMediaCacheDirectory):
(WebKit::WebsiteDataStoreConfiguration::mediaKeysStorageDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setMediaKeysStorageDirectory):
(WebKit::WebsiteDataStoreConfiguration::javaScriptConfigurationDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setJavaScriptConfigurationDirectory):
(WebKit::WebsiteDataStoreConfiguration::webStorageDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setWebStorageDirectory):
(WebKit::WebsiteDataStoreConfiguration::indexedDBDatabaseDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setIndexedDBDatabaseDirectory):
(WebKit::WebsiteDataStoreConfiguration::webSQLDatabaseDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setWebSQLDatabaseDirectory):
(WebKit::WebsiteDataStoreConfiguration::localStorageDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setLocalStorageDirectory):
(WebKit::WebsiteDataStoreConfiguration::cookieStorageFile const):
(WebKit::WebsiteDataStoreConfiguration::setCookieStorageFile):
(WebKit::WebsiteDataStoreConfiguration::resourceLoadStatisticsDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setResourceLoadStatisticsDirectory):
(WebKit::WebsiteDataStoreConfiguration::networkCacheDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setNetworkCacheDirectory):
(WebKit::WebsiteDataStoreConfiguration::cacheStorageDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setCacheStorageDirectory):
(WebKit::WebsiteDataStoreConfiguration::applicationCacheFlatFileSubdirectoryName const):
(WebKit::WebsiteDataStoreConfiguration::setApplicationCacheFlatFileSubdirectoryName):
(WebKit::WebsiteDataStoreConfiguration::serviceWorkerRegistrationDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setServiceWorkerRegistrationDirectory):
(WebKit::WebsiteDataStoreConfiguration::sourceApplicationBundleIdentifier const):
(WebKit::WebsiteDataStoreConfiguration::setSourceApplicationBundleIdentifier):
(WebKit::WebsiteDataStoreConfiguration::sourceApplicationSecondaryIdentifier const):
(WebKit::WebsiteDataStoreConfiguration::setSourceApplicationSecondaryIdentifier):
- WebKit.xcodeproj/project.pbxproj:
- 10:33 AM Changeset in webkit [238899] by
-
- 2 edits in trunk/LayoutTests
Layout Test http/tests/misc/resource-timing-resolution.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=181957
Unreviewed test gardening.
- platform/win/TestExpectations:
- 10:20 AM Changeset in webkit [238898] by
-
- 10 edits in trunk/Source/WebCore
Minor refactoring of the scrolling code
https://bugs.webkit.org/show_bug.cgi?id=192398
Patch by Frederic Wang <fwang@igalia.com> on 2018-12-05
Reviewed by Simon Fraser.
Based on an earlier patch by Simon Fraser.
This patch performs some minor refactoring of the scrolling code:
- Rename ScrollingCoordinator::uniqueScrollLayerID() to uniqueScrollingNodeID() since it is really a node id.
- Inline ScrollingStateTree::setRootStateNode() so we only need to forward declare ScrollingStateFrameScrollingNode in headers.
- Pass argument to ScrollingStateTree::addNode() as a reference rather than a pointer.
- Initialize ScrollingStateTree::m_changedProperties and ScrollingStateTree::m_parent in the header file.
- Remove obsolete comment about ScrollingCoordinatorMac.
No new tests, behavior unchanged.
- page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::uniqueScrollingNodeID):
(WebCore::ScrollingCoordinator::uniqueScrollLayerID): Deleted.
- page/scrolling/ScrollingCoordinator.h:
- page/scrolling/ScrollingStateNode.cpp:
(WebCore::ScrollingStateNode::ScrollingStateNode):
- page/scrolling/ScrollingStateNode.h:
- page/scrolling/ScrollingStateTree.cpp:
(WebCore::ScrollingStateTree::attachNode):
(WebCore::ScrollingStateTree::setRootStateNode):
(WebCore::ScrollingStateTree::addNode):
- page/scrolling/ScrollingStateTree.h:
(WebCore::ScrollingStateTree::setRootStateNode): Deleted.
- page/scrolling/ScrollingTree.cpp:
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::attachScrollingNode):
- 10:14 AM Changeset in webkit [238897] by
-
- 7 edits in tags/Safari-607.1.16.1/Source
Versioning.
- 10:12 AM Changeset in webkit [238896] by
-
- 4 edits in tags/Safari-607.1.16.1/Source/WebKit
Cherry-pick r238818. rdar://problem/45928708
Swipe snapshot stays up too long swiping around on apple.com (waiting for first paint)
https://bugs.webkit.org/show_bug.cgi?id=192319
<rdar://problem/45928708>
Reviewed by Simon Fraser.
- UIProcess/Cocoa/ViewGestureController.cpp: (WebKit::ViewGestureController::didStartProvisionalLoadForMainFrame):
- UIProcess/Cocoa/ViewGestureController.h:
- UIProcess/ios/ViewGestureControllerIOS.mm: (WebKit::ViewGestureController::endSwipeGesture): In r236966, I reverted slightly too much of r232416. We still need to defer requesting a presentation update callback until after the provisional load starts. Otherwise, we could get the callback while we're in the 'paused' state, and drop it on the floor. That would then mean that we time out instead of promptly removing the snapshot.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238818 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:03 AM Changeset in webkit [238895] by
-
- 1 copy in tags/Safari-607.1.16.1
New tag.
- 9:51 AM Changeset in webkit [238894] by
-
- 17 edits in trunk/Source
Turn WritingDirection into an enum class
https://bugs.webkit.org/show_bug.cgi?id=192401
Work towards <rdar://problem/42075638>
Reviewed by Dan Bernstein.
Change WritingDirection from an enum to an enum class. No change in behavior.
Source/WebCore:
- editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
(WebCore::ApplyStyleCommand::applyInlineStyle):
- editing/EditingStyle.cpp:
(WebCore::EditingStyle::textDirection const):
(WebCore::EditingStyle::textDirectionForSelection):
- editing/Editor.cpp:
(WebCore::Editor::setBaseWritingDirection):
(WebCore::Editor::baseWritingDirectionForSelectionStart const):
- editing/EditorCommand.cpp:
(WebCore::stateTextWritingDirectionLeftToRight):
(WebCore::stateTextWritingDirectionNatural):
(WebCore::stateTextWritingDirectionRightToLeft):
- editing/WritingDirection.h:
Additionally wrap this enum in
namespace WebCore, and update the copyright year.
- editing/ios/EditorIOS.mm:
(WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
- page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
- testing/Internals.cpp:
(WebCore::Internals::setBaseWritingDirection):
Source/WebKit:
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::setTextDirection):
Source/WebKitLegacy/ios:
- WebCoreSupport/WebFrameIOS.mm:
(-[WebFrame selectionBaseWritingDirection]):
(-[WebFrame setBaseWritingDirection:]):
Source/WebKitLegacy/mac:
- WebView/WebHTMLView.mm:
(-[WebHTMLView toggleBaseWritingDirection:]):
(-[WebHTMLView changeBaseWritingDirection:]):
(-[WebHTMLView _changeBaseWritingDirectionTo:]):
Source/WebKitLegacy/win:
- WebFrame.cpp:
(WebFrame::setTextDirection):
- 8:05 AM Changeset in webkit [238893] by
-
- 2 edits5 adds in trunk/LayoutTests/imported/w3c
Import css overscroll behavior WPT test
https://bugs.webkit.org/show_bug.cgi?id=192397
Patch by Frederic Wang <fwang@igalia.com> on 2018-12-05
Reviewed by Manuel Rego Casasnovas.
- resources/import-expectations.json:
- web-platform-tests/css/css-overscroll-behavior/META.yml: Added.
- web-platform-tests/css/css-overscroll-behavior/inheritance-expected.txt: Added.
- web-platform-tests/css/css-overscroll-behavior/inheritance.html: Added.
- web-platform-tests/css/css-overscroll-behavior/w3c-import.log: Added.
- 6:56 AM Changeset in webkit [238892] by
-
- 13 edits5 adds in trunk
[MSE][GStreamer] Remove the AppendPipeline state machine
https://bugs.webkit.org/show_bug.cgi?id=192204
Reviewed by Xabier Rodriguez-Calvar.
LayoutTests/imported/w3c:
Added a test checking that initialization segments with invalid codec
identifiers are flagged as errors.
- web-platform-tests/media-source/mediasource-invalid-codec-expected.txt: Added.
- web-platform-tests/media-source/mediasource-invalid-codec.html: Added.
- web-platform-tests/media-source/mp4/invalid-codec.mp4: Added.
- web-platform-tests/media-source/webm/invalid-codec.webm: Added.
Source/WebCore:
This patch tries to reduce the complexity of the AppendPipeline by
removing the appendState state machine and cleaning all the
conditional code around it that is not necessary anymore.
For the most part the behavior is the same, but some edge cases have
been improved in the process:
Demuxing errors now result in the append being flagged as
ParsingFailed and the error being propagated to the application. This
fixes media/media-source/media-source-error-crash.html (or at least
gets it up to date with cross platform expectations).
AbortableTaskQueue now allows the task handler to perform an abort
safely. This is used in the GstBus error message sync handler, since
it needs to ask the MainThread to raise a parse error, which will in
turn abort. An API test has been added for this new functionality.
Also, code has been added to the API tests to ensure the correct
destruction of the response object, especially in this case.
The code handling invalid track codecs has been made clearer by also
explicitly raising a parse error, but it should not expose behavior
differences for the application. A test has been added for this
behavior: web-platform-tests/media-source/mediasource-invalid-codec.html
The reporting of EOS events have been made more rigorous. EOS is only
expected after a demuxing error, otherwise it's a g_critical.
AppendPipeline::abort() has been renamed to
AppendPipeline::resetParserState() to honor the fact that it's not
only called when the user calls abort() and match better the names
used in the spec.
Test: imported/w3c/web-platform-tests/media-source/mediasource-invalid-codec.html
- platform/AbortableTaskQueue.h:
- platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::assertedElementSetState):
(WebCore::AppendPipeline::AppendPipeline):
(WebCore::AppendPipeline::~AppendPipeline):
(WebCore::AppendPipeline::handleErrorSyncMessage):
(WebCore::AppendPipeline::appsrcEndOfAppendCheckerProbe):
(WebCore::AppendPipeline::handleNeedContextSyncMessage):
(WebCore::AppendPipeline::appsinkCapsChanged):
(WebCore::AppendPipeline::handleEndOfAppend):
(WebCore::AppendPipeline::appsinkNewSample):
(WebCore::AppendPipeline::didReceiveInitializationSegment):
(WebCore::AppendPipeline::resetParserState):
(WebCore::AppendPipeline::pushNewBuffer):
(WebCore::AppendPipeline::handleAppsinkNewSampleFromStreamingThread):
(WebCore::AppendPipeline::connectDemuxerSrcPadToAppsinkFromStreamingThread):
(WebCore::AppendPipeline::connectDemuxerSrcPadToAppsink):
(WebCore::AppendPipeline::disconnectDemuxerSrcPadFromAppsinkFromAnyThread):
(WebCore::AppendPipeline::dumpAppendState): Deleted.
(WebCore::AppendPipeline::demuxerNoMorePads): Deleted.
(WebCore::AppendPipeline::setAppendState): Deleted.
(WebCore::AppendPipeline::appsinkEOS): Deleted.
(WebCore::AppendPipeline::resetPipeline): Deleted.
(WebCore::AppendPipeline::abort): Deleted.
- platform/graphics/gstreamer/mse/AppendPipeline.h:
(WebCore::AppendPipeline::appendState): Deleted.
- platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.cpp:
(WebCore::MediaSourceClientGStreamerMSE::abort):
(WebCore::MediaSourceClientGStreamerMSE::resetParserState):
- platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp:
(WebCore::SourceBufferPrivateGStreamer::appendParsingFailed):
- platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.h:
Tools:
Updated AbortableTaskQueue tests:
Added test: AbortedBySyncTaskHandler.
Renamed test: AbortDuringSyncTask -> AbortBeforeSyncTaskRun (in
order to avoid confusion with the new test).
Added checks for the correct destruction of response objects.
- TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp:
(TestWebKitAPI::FancyResponse::FancyResponse):
(TestWebKitAPI::FancyResponse::~FancyResponse):
(TestWebKitAPI::TEST):
LayoutTests:
Removed timeout expectations for
media/media-source/media-source-error-crash.html
Added expectations for mediasource-invalid-codec.html for Mac, where
WebM is not supported.
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
- platform/mac/imported/w3c/web-platform-tests/media-source/mediasource-invalid-codec-expected.txt: Added.
- 3:10 AM Changeset in webkit [238891] by
-
- 9 edits1 delete in trunk
[Mac] HEAD requests changed to GET after 301, 302, and 303 redirections (http/tests/xmlhttprequest/head-redirection.html)
https://bugs.webkit.org/show_bug.cgi?id=114965
Patch by Rob Buis <rbuis@igalia.com> on 2018-12-05
Reviewed by Frédéric Wang.
LayoutTests/imported/w3c:
Update test expectations.
- web-platform-tests/fetch/api/redirect/redirect-method-expected.txt:
- web-platform-tests/fetch/api/redirect/redirect-method-worker-expected.txt:
Source/WebCore:
HEAD requests should not be changed to GET after 303 redirects, see [1].
This was fixed earlier for GTK [2].
Behavior matches Firefox and Chrome.
[1] http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-21#section-7.4
[2] https://bugs.webkit.org/show_bug.cgi?id=110127
Tests: web-platform-tests/fetch/api/redirect/redirect-method.html
web-platform-tests/fetch/api/redirect/redirect-method-worker.html
http/tests/xmlhttprequest/head-redirection.html
- platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::willSendRequest):
Source/WebKit:
HEAD requests should not be changed to GET after 303 redirects, see [1].
This was fixed earlier for GTK [2].
Behavior matches Firefox and Chrome.
[1] http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-21#section-7.4
[2] https://bugs.webkit.org/show_bug.cgi?id=110127
Tests: web-platform-tests/fetch/api/redirect/redirect-method.html
web-platform-tests/fetch/api/redirect/redirect-method-worker.html
http/tests/xmlhttprequest/head-redirection.html
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):
LayoutTests:
Update these since we now expect to pass head-redirection.html here.
- platform/ios/TestExpectations:
- platform/mac/http/tests/xmlhttprequest/head-redirection-expected.txt: Removed.
- 1:26 AM Changeset in webkit [238890] by
-
- 5 edits in trunk
Align with Fetch on data: URLs
https://bugs.webkit.org/show_bug.cgi?id=182325
Patch by Rob Buis <rbuis@igalia.com> on 2018-12-05
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Update improved test expectations.
- web-platform-tests/fetch/api/basic/scheme-data.any-expected.txt:
- web-platform-tests/fetch/api/basic/scheme-data.any.worker-expected.txt:
Source/WebCore:
Do not accept data URLs that do not contain a comma
character, as specified in the relevant specs [1, 2].
Behavior matches Firefox and Chrome.
Test: web-platform-tests/fetch/api/basic/scheme-data.any.html
[1] https://tools.ietf.org/html/rfc2397
[2] https://fetch.spec.whatwg.org/#data-url-processor
- platform/network/DataURLDecoder.cpp:
(WebCore::DataURLDecoder::parseMediaType):
(WebCore::DataURLDecoder::DecodeTask::DecodeTask):
(WebCore::DataURLDecoder::DecodeTask::process):
(WebCore::DataURLDecoder::createDecodeTask):
(WebCore::DataURLDecoder::decode):
- 12:26 AM Changeset in webkit [238889] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix.
Patch by Frederic Wang <fwang@igalia.com> on 2018-12-05
- page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm: Add missing header.
- 12:17 AM Changeset in webkit [238888] by
-
- 6 edits in trunk
[css-grid] Crash on debug changing the style of a positioned element
https://bugs.webkit.org/show_bug.cgi?id=191473
Reviewed by Dean Jackson and Zalan Bujtas.
Source/WebCore:
When an box becomes {out-of,in}-flow, it may be re-parented and it may become a grid
item. In that case, we must mark the RenderGrid as dirty, so that the grid items
placement logic is executed again.
Test: fast/css-grid-layout/grid-crash-out-of-flow-positioned-element.html
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::childFlowStateChangesAndAffectsParentBlock): Consider the case of a box's new parent being a grid container.
LayoutTests:
Regression test to ensure that the grid placement logic is executed
when a positioned item becomes a grid item.
- fast/css-grid-layout/grid-crash-out-of-flow-positioned-element-expected.txt:
- fast/css-grid-layout/grid-crash-out-of-flow-positioned-element.html:
- TestExpectations: Remove a Skip entry, since the test doesn't crash anymore.