Timeline
Jun 17, 2017:
- 8:57 PM Changeset in webkit [218462] by
-
- 2 edits in trunk/Source/WebCore
Addressing post-review comment after r218456.
https://bugs.webkit.org/show_bug.cgi?id=173509
Reviewed by Darin Adler.
- dom/Document.cpp:
(WebCore::Document::destroyRenderTree):
- 6:36 PM Changeset in webkit [218461] by
-
- 3 edits in trunk/Source/WebCore
DOMQuad::getBounds() should return a Ref<>
https://bugs.webkit.org/show_bug.cgi?id=173517
Reviewed by Simon Fraser.
DOMQuad::getBounds() should return a Ref<> as it cannot return
null.
- dom/DOMQuad.cpp:
(WebCore::DOMQuad::getBounds):
- dom/DOMQuad.h:
- 5:10 PM Changeset in webkit [218460] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed, follow-up build fix after r218457.
- UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
(WebKit::WebPaymentCoordinatorProxy::platformCanMakePaymentsWithActiveCard):
- 4:55 PM Changeset in webkit [218459] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed, follow-up build fix after r218457.
- UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
(WebKit::WebPaymentCoordinatorProxy::platformCanMakePaymentsWithActiveCard):
- 3:34 PM Changeset in webkit [218458] by
-
- 12 edits6 adds in trunk
Implement DOMQuad
https://bugs.webkit.org/show_bug.cgi?id=163534
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Implement DOMQuad per https://drafts.fxtf.org/geometry/#DOMQuad.
- web-platform-tests/css/geometry-1/DOMQuad-001-expected.txt: Tests against an older version
of the spec, so some failures.
- web-platform-tests/css/geometry-1/DOMQuad-002-expected.txt: All tests pass other than a NaN
propagation issue which needs spec clarification.
- web-platform-tests/css/geometry-1/structured-serialization-expected.txt:
Source/WebCore:
Implement DOMQuad per https://drafts.fxtf.org/geometry/#DOMQuad, other than serialization
which requires some bindings changes.
web-platform-tests/css/geometry-1/DOMRect-001.html tests against an older version of the spec,
so has some failures. DOMQuad-002.html passes, other than a NaN propagation issue that requires
spec clarification.
- CMakeLists.txt:
- DerivedSources.make:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSDOMQuadCustom.cpp: Added.
(WebCore::JSDOMQuad::getBounds):
- bindings/scripts/CodeGenerator.pm:
(IsSerializableDOMType):
(IsSerializableAttribute):
- dom/DOMPoint.h:
- dom/DOMQuad.cpp: Added.
(WebCore::DOMQuad::DOMQuad):
(WebCore::DOMQuad::getBounds):
- dom/DOMQuad.h: Added.
(WebCore::DOMQuad::create):
(WebCore::DOMQuad::fromRect):
(WebCore::DOMQuad::fromQuad):
(WebCore::DOMQuad::p1):
(WebCore::DOMQuad::p2):
(WebCore::DOMQuad::p3):
(WebCore::DOMQuad::p4):
- dom/DOMQuad.idl: Added.
- dom/DOMQuadInit.h: Added.
- dom/DOMQuadInit.idl: Added.
LayoutTests:
Implement DOMQuad per https://drafts.fxtf.org/geometry/#DOMQuad.
- js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
- platform/mac/js/dom/global-constructors-attributes-expected.txt:
- 1:55 PM Changeset in webkit [218457] by
-
- 103 edits in trunk/Source
Use WTF::Function instead of std::function in WebKit2/
https://bugs.webkit.org/show_bug.cgi?id=173504
Reviewed by Darin Adler.
Use WTF::Function instead of std::function in WebKit2/ to avoid
unnecessary copying.
Source/WebCore:
- Modules/applepay/PaymentCoordinator.cpp:
(WebCore::PaymentCoordinator::canMakePaymentsWithActiveCard):
(WebCore::PaymentCoordinator::openPaymentSetup):
- Modules/applepay/PaymentCoordinator.h:
- Modules/applepay/PaymentCoordinatorClient.h:
- loader/EmptyClients.cpp:
- loader/NetscapePlugInStreamLoader.cpp:
(WebCore::NetscapePlugInStreamLoader::willSendRequest):
- loader/NetscapePlugInStreamLoader.h:
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::willSendRequest):
- loader/ResourceLoader.h:
Source/WebKit/mac:
- Plugins/Hosted/HostedNetscapePluginStream.h:
- Plugins/Hosted/HostedNetscapePluginStream.mm:
(WebKit::HostedNetscapePluginStream::willSendRequest):
- Plugins/WebNetscapePluginStream.h:
- Plugins/WebNetscapePluginStream.mm:
(WebNetscapePluginStream::willSendRequest):
- WebCoreSupport/WebPaymentCoordinatorClient.h:
- WebCoreSupport/WebPaymentCoordinatorClient.mm:
(WebPaymentCoordinatorClient::canMakePaymentsWithActiveCard):
(WebPaymentCoordinatorClient::openPaymentSetup):
Source/WebKit/win:
- Plugins/PluginStream.cpp:
(WebCore::PluginStream::willSendRequest):
- Plugins/PluginStream.h:
Source/WebKit2:
- DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::getSandboxExtensionsForBlobFiles):
- DatabaseProcess/DatabaseProcess.h:
- NetworkProcess/cache/NetworkCacheData.h:
- NetworkProcess/cache/NetworkCacheFileSystem.h:
- Platform/IPC/Connection.cpp:
(IPC::Connection::installIncomingSyncMessageCallback):
- Platform/IPC/Connection.h:
- Platform/IPC/glib/GSocketMonitor.h:
- Platform/Logging.h:
- Shared/API/APIObject.h:
- Shared/AsyncRequest.cpp:
(WebKit::AsyncRequest::AsyncRequest):
(WebKit::AsyncRequest::setAbortHandler):
- Shared/AsyncRequest.h:
- Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:
(WebKit::CompositingRunLoop::CompositingRunLoop):
- Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h:
- Shared/WebContextMenuItemData.h:
- UIProcess/API/APIDownloadClient.h:
(API::DownloadClient::willSendRequest):
- UIProcess/API/APIIconLoadingClient.h:
(API::IconLoadingClient::getLoadDecisionForIcon):
- UIProcess/API/APIUIClient.h:
(API::UIClient::createNewPageAsync):
- UIProcess/API/C/WKPage.cpp:
(toGenericCallbackFunction):
- UIProcess/API/Cocoa/WKWebView.mm:
- UIProcess/API/mac/WKView.mm:
(-[WKView maybeInstallIconLoadingClient]):
- UIProcess/AcceleratedDrawingAreaProxy.cpp:
(WebKit::AcceleratedDrawingAreaProxy::dispatchAfterEnsuringDrawing):
- UIProcess/AcceleratedDrawingAreaProxy.h:
- UIProcess/ApplePay/WebPaymentCoordinatorProxy.h:
- UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
(WebKit::WebPaymentCoordinatorProxy::platformCanMakePaymentsWithActiveCard):
(WebKit::WebPaymentCoordinatorProxy::platformOpenPaymentSetup):
- UIProcess/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm:
(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):
- UIProcess/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm:
(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::performKeyboardInteractions):
- UIProcess/Cocoa/IconLoadingDelegate.h:
- UIProcess/Cocoa/IconLoadingDelegate.mm:
(WebKit::IconLoadingDelegate::IconLoadingClient::getLoadDecisionForIcon):
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::tryAppLink):
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::createNewPageCommon):
(WebKit::UIDelegate::UIClient::createNewPageAsync):
- UIProcess/Cocoa/ViewGestureController.cpp:
(WebKit::ViewGestureController::SnapshotRemovalTracker::start):
- UIProcess/Cocoa/ViewGestureController.h:
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::prepareForMoveToWindow):
- UIProcess/Databases/DatabaseProcessProxy.cpp:
(WebKit::DatabaseProcessProxy::fetchWebsiteData):
(WebKit::DatabaseProcessProxy::deleteWebsiteData):
(WebKit::DatabaseProcessProxy::deleteWebsiteDataForOrigins):
- UIProcess/Databases/DatabaseProcessProxy.h:
- UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::dispatchAfterEnsuringDrawing):
- UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::start):
(WebKit::DrawingAreaProxyImpl::dispatchAfterEnsuringDrawing):
- UIProcess/DrawingAreaProxyImpl.h:
- UIProcess/GenericCallback.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::fetchWebsiteData):
(WebKit::NetworkProcessProxy::deleteWebsiteData):
(WebKit::NetworkProcessProxy::deleteWebsiteDataForOrigins):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/PageClient.h:
- UIProcess/Plugins/PlugInAutoStartProvider.cpp:
(WebKit::PlugInAutoStartProvider::setAutoStartOriginsTableWithItemsPassingTest):
- UIProcess/Plugins/PlugInAutoStartProvider.h:
- UIProcess/Plugins/PluginProcessManager.cpp:
(WebKit::PluginProcessManager::fetchWebsiteData):
(WebKit::PluginProcessManager::deleteWebsiteData):
(WebKit::PluginProcessManager::deleteWebsiteDataForHostNames):
- UIProcess/Plugins/PluginProcessManager.h:
- UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::fetchWebsiteData):
(WebKit::PluginProcessProxy::deleteWebsiteData):
(WebKit::PluginProcessProxy::deleteWebsiteDataForHostNames):
- UIProcess/Plugins/PluginProcessProxy.h:
- UIProcess/ProcessAssertion.h:
- UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::backForwardListState):
- UIProcess/WebBackForwardList.h:
- UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::setCookieObserverCallback):
(WebKit::WebCookieManagerProxy::cookiesDidChange):
- UIProcess/WebCookieManagerProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setInitialFocus):
(WebKit::WebPageProxy::validateCommand):
(WebKit::WebPageProxy::sessionState):
(WebKit::WebPageProxy::runJavaScriptInMainFrame):
(WebKit::WebPageProxy::getRenderTreeExternalRepresentation):
(WebKit::WebPageProxy::getSourceForFrame):
(WebKit::WebPageProxy::getContentsAsString):
(WebKit::WebPageProxy::getBytecodeProfile):
(WebKit::WebPageProxy::getSamplingProfilerOutput):
(WebKit::WebPageProxy::isWebProcessResponsive):
(WebKit::WebPageProxy::getSelectionOrContentsAsString):
(WebKit::WebPageProxy::createNewPage):
(WebKit::WebPageProxy::getMarkedRangeAsync):
(WebKit::WebPageProxy::getSelectedRangeAsync):
(WebKit::WebPageProxy::characterIndexForPointAsync):
(WebKit::WebPageProxy::firstRectForCharacterRangeAsync):
(WebKit::WebPageProxy::takeSnapshot):
(WebKit::WebPageProxy::installActivityStateChangeCompletionHandler):
(WebKit::WebPageProxy::callAfterNextPresentationUpdate):
(WebKit::WebPageProxy::getLoadDecisionForIcon):
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::isResponsive):
- UIProcess/WebProcessProxy.h:
- UIProcess/WebsiteData/WebsiteDataStore.h:
- UIProcess/gtk/AcceleratedBackingStoreX11.cpp:
(WebKit::XDamageNotifier::add):
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::requestPasswordForQuickLookDocument):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::selectWithGesture):
(WebKit::WebPageProxy::updateSelectionWithTouches):
(WebKit::WebPageProxy::requestAutocorrectionData):
(WebKit::WebPageProxy::applyAutocorrection):
(WebKit::WebPageProxy::executeEditCommand):
(WebKit::WebPageProxy::selectTextWithGranularityAtPoint):
(WebKit::WebPageProxy::selectPositionAtBoundaryWithDirection):
(WebKit::WebPageProxy::moveSelectionAtBoundaryWithDirection):
(WebKit::WebPageProxy::selectPositionAtPoint):
(WebKit::WebPageProxy::beginSelectionInDirection):
(WebKit::WebPageProxy::updateSelectionWithExtentPoint):
(WebKit::WebPageProxy::updateSelectionWithExtentPointAndBoundary):
(WebKit::WebPageProxy::requestDictationContext):
(WebKit::WebPageProxy::requestAutocorrectionContext):
(WebKit::WebPageProxy::getSelectionContext):
(WebKit::WebPageProxy::selectWithTwoTouches):
(WebKit::WebPageProxy::requestRectsForGranularityWithSelectionOffset):
(WebKit::WebPageProxy::requestRectsAtSelectionOffsetWithText):
(WebKit::WebPageProxy::moveSelectionByOffset):
(WebKit::WebPageProxy::focusNextAssistedNode):
(WebKit::WebPageProxy::didRequestPasswordForQuickLookDocumentInMainFrame):
- UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
- UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::dispatchAfterEnsuringDrawing):
- UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
- UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
(WebKit::TiledCoreAnimationDrawingAreaProxy::dispatchAfterEnsuringDrawing):
- UIProcess/mac/WKTextFinderClient.mm:
- UIProcess/mac/WebContextMenuProxyMac.mm:
(-[WKSelectionHandlerWrapper initWithSelectionHandler:]):
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::attributedSubstringForCharacterRangeAsync):
(WebKit::WebPageProxy::fontAtSelection):
- WebProcess/ApplePay/WebPaymentCoordinator.cpp:
(WebKit::WebPaymentCoordinator::canMakePaymentsWithActiveCard):
(WebKit::WebPaymentCoordinator::openPaymentSetup):
- WebProcess/ApplePay/WebPaymentCoordinator.h:
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::Stream::willSendRequest):
- WebProcess/WebPage/DrawingArea.cpp:
(WebKit::DrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
- WebProcess/WebPage/DrawingArea.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::markLayersVolatile):
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::markLayersVolatile):
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::markAllLayersVolatile):
- WebProcess/WebProcess.h:
- 1:37 PM Changeset in webkit [218456] by
-
- 2 edits in trunk/Source/WebCore
Demote the "we have navigated away" check to an assertion.
https://bugs.webkit.org/show_bug.cgi?id=173509
Reviewed by Simon Fraser.
Now that the expected behavior is that the render tree can't get to the page cache, it's ok to assert.
TODO: We should also have view() check removed at some point.
- dom/Document.cpp:
(WebCore::Document::destroyRenderTree):
- 1:03 PM Changeset in webkit [218455] by
-
- 8 edits in trunk/Source
Fix CMake build
Source/WebCore:
- PlatformMac.cmake:
- bindings/js/ScriptGlobalObject.cpp:
Source/WebKit2:
- CMakeLists.txt:
- NetworkProcess/capture/NetworkCaptureEvent.cpp:
- PlatformGTK.cmake:
- PlatformWPE.cmake:
- 12:50 PM Changeset in webkit [218454] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, rolling out r218438.
https://bugs.webkit.org/show_bug.cgi?id=173515
Caused imported/w3c/web-platform-tests/media-
source/mediasource* tests to fail (Requested by smfr on
#webkit).
Reverted changeset:
"[MSE] Seeking or entering fullscreen can cause extreme CPU
usage"
https://bugs.webkit.org/show_bug.cgi?id=173505
http://trac.webkit.org/changeset/218438
- 8:49 AM Changeset in webkit [218453] by
-
- 2 edits in trunk/Source/WebKit2
Tried to fix non-iOS builds.
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
- 7:13 AM Changeset in webkit [218452] by
-
- 4 edits in trunk
ArrayBuffer constructor needs to create subclass structures before its buffer
https://bugs.webkit.org/show_bug.cgi?id=173510
Reviewed by Yusuke Suzuki.
JSTests:
- test262.yaml:
Source/JavaScriptCore:
- runtime/JSArrayBufferConstructor.cpp:
(JSC::constructArrayBuffer):
- 6:02 AM Changeset in webkit [218451] by
-
- 5 edits2 adds in trunk
Crash due to infinite recursion via FrameSelection::updateAppearanceAfterLayout
https://bugs.webkit.org/show_bug.cgi?id=173468
Reviewed by Ryosuke Niwa.
Source/WebCore:
Test: editing/selection/updateAppearanceAfterLayout-recursion.html
Calling FrameSelection::updateAppearanceAfterLayout() from Document::resolveStyle is unsafe
because it may cause another call to resolveStyle. We have some cases where the style
is still unclean when updateAppearanceAfterLayout() is called. This can lead to infinite
recursion.
The test case is not the common stack seen in CrashTracer (couldn't quit replicate it) but
the updateAppearanceAfterLayout/resolveStyle recursion is the same.
- dom/Document.cpp:
(WebCore::Document::resolveStyle):
Normally selection appearance update is done in post-layout but not all style resolutions schedule a layout.
Invoke it asynchronously in that case instead of the previous synchronous call.
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::FrameSelection):
(WebCore::FrameSelection::updateAppearanceAfterLayout):
(WebCore::FrameSelection::scheduleAppearanceUpdateAfterStyleChange):
(WebCore::FrameSelection::appearanceUpdateTimerFired):
(WebCore::FrameSelection::updateAppearanceAfterLayoutOrStyleChange):
- editing/FrameSelection.h:
LayoutTests:
- editing/selection/updateAppearanceAfterLayout-recursion-expected.txt: Added.
- editing/selection/updateAppearanceAfterLayout-recursion.html: Added.
- 5:31 AM Changeset in webkit [218450] by
-
- 2 edits in trunk/LayoutTests
[Win] Update expectations for layout tests.
https://bugs.webkit.org/show_bug.cgi?id=172437
Unreviewed test gardening, update test expectations for failing tests.
- platform/win/TestExpectations:
- 3:52 AM Changeset in webkit [218449] by
-
- 11 edits in trunk
ArrayPrototype methods should use JSValue::toLength for non-Arrays.
https://bugs.webkit.org/show_bug.cgi?id=173506
JSTests:
Reviewed by Ryosuke Niwa.
Re-baseline tests.
- ChakraCore/test/Function/apply3.baseline-jsc:
- test262.yaml:
Source/JavaScriptCore:
Reviewed by Ryosuke Niwa.
This patch changes the result of unshift if old length +
unshift.arguments.length > (2 53) - 1 to be a type error. Also,
the getLength function, which was always incorrect to use, has
been removed. Additionally, some cases where we were using a
constant for (2 53) - 1 have been replaced with
maxSafeInteger()
- interpreter/Interpreter.cpp:
(JSC::sizeOfVarargs):
- runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncToLocaleString):
(JSC::arrayProtoFuncPop):
(JSC::arrayProtoFuncPush):
(JSC::arrayProtoFuncReverse):
(JSC::arrayProtoFuncShift):
(JSC::arrayProtoFuncSlice):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncUnShift):
(JSC::arrayProtoFuncIndexOf):
(JSC::arrayProtoFuncLastIndexOf):
- runtime/JSArrayInlines.h:
(JSC::getLength): Deleted.
- runtime/JSCJSValue.cpp:
(JSC::JSValue::toLength):
- runtime/NumberConstructor.cpp:
(JSC::numberConstructorFuncIsSafeInteger):
LayoutTests:
Unreviewed test gardening.
- 12:54 AM Changeset in webkit [218448] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening. Remove duplicate entries for tests.
- platform/win/TestExpectations:
- 12:47 AM Changeset in webkit [218447] by
-
- 2 edits in trunk/Source/WebCore
Fix Mac CMake build.
- PlatformMac.cmake:
- 12:21 AM Changeset in webkit [218446] by
-
- 44 edits2 adds in trunk
REGRESSION(r209495): materiauxlaverdure.com fails to load
https://bugs.webkit.org/show_bug.cgi?id=173301
<rdar://problem/32624850>
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
Rebaselined the tests that are now passing.
- web-platform-tests/cssom/CSSNamespaceRule-expected.txt:
- web-platform-tests/cssom/serialize-values-expected.txt:
Source/WebCore:
The bug was caused by WebKit wrapping CSS string values with single quotation marks instead of
double quotation marks as spec'ed in https://drafts.csswg.org/cssom/#serialize-a-string and
implemented in Firefox and Chrome.
The website eval's the computed value of the
contentCSS property with the value'{name: "flat"}'
after stripping single quotation marks from both ends. Prior to r209495, WebKit serialized this CSS value
in single quotations without escaping double quotations. After r209495, double quotations are escaped
with backslashes as'{name: \"flat\"}'. As a result,evalis invoked with{name: \"flat\"}
after stripping single quotations from both ends, which resulted in an exception.
Chrome and Firefox don't encounter this exception despite of the fact they escape double quotations
as well because serialize with double quotations as"{name: \"flat\"}". Because there is no code
to strip double quotations, eval is invoked with the same string, resulting in the entire value as
being parsed as string, instead of an object with a single key "name" with the value of "flat" as
was the case in WebKit prior to r209495. While this behavior was most certainly not the intent of
the website author, Chrome and Firefox don't encounter an exception and the website continues to work.
This patch aligns WebKit's behavior to that of the CSS OM specification, Firefox, and Chrome by
serializing CSS string values using double quotation marks instead of single quotation marks.
Note: inline change log comments are added below for every call site of serializeString for clarity.
Test: fast/css/getPropertyValue-serialization-with-double-quotes.html
- css/CSSBasicShapes.cpp:
(WebCore::buildPathString): Use double quotation marks in path(~) of shapes.
- css/CSSMarkup.cpp:
(WebCore::serializeString):
(WebCore::serializeURL): Use double quotation marks to serialize URLs.
(WebCore::serializeAsStringOrCustomIdent): Use double quotation marks to serialize strings. We still avoid
using wrapping the value with double quotations when the value can be an identifier. See r209495.
(WebCore::serializeFontFamily): Ditto for font-family names such as "San Francisco".
- css/CSSMarkup.h:
- css/CSSNamespaceRule.cpp:
(WebCore::CSSNamespaceRule::cssText): Use double quotation marks to serialize namespace URIs.
- css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText): Use double quotation marks to serialize
the separators; e.g. counter(sectionNumber, ".") to produce "1.".
- css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText): Use double quotation marks to serialize attribute values.
- css/parser/CSSParserToken.cpp:
(WebCore::CSSParserToken::serialize): Use double quotation marks to serialize strings in @support.
- editing/EditingStyle.cpp:
(WebCore::StyleChange::extractTextStyles): Updated to strip double quotation marks in font family names to
maintain the compatibility with old versions of Microsoft Outlook.
- html/HTMLElement.cpp:
(WebCore::HTMLElement::mapLanguageAttributeToLocale): Use double quotations marks to serialize the value
of the lang content attribute. It doesn't matter which one is used here because it's only a temporary value
only fed into the CSS parser to set the equivalent CSS value from the content attribute.
LayoutTests:
Rebaselined the existing tests and added a new regression test for serializing CSS properties and values.
- accessibility/mac/alt-for-css-content-expected.txt:
- accessibility/mac/webkit-alt-for-css-content-expected.txt:
- editing/pasteboard/cjk-line-height-expected.txt:
- fast/css/alt-inherit-initial-expected.txt:
- fast/css/alt-inherit-initial.html:
- fast/css/content-language-comma-separated-list-expected.txt:
- fast/css/content-language-empty-expected.txt:
- fast/css/content-language-only-whitespace-expected.txt:
- fast/css/content-language-with-whitespace-expected.txt:
- fast/css/counters/counter-cssText-expected.txt:
- fast/css/counters/counter-cssText.html:
- fast/css/font-family-trailing-bracket-gunk-expected.txt:
- fast/css/font-family-trailing-bracket-gunk.html:
- fast/css/getComputedStyle/computed-style-font-family-expected.txt:
- fast/css/getComputedStyle/computed-style-properties-expected.txt:
- fast/css/getComputedStyle/computed-style-properties.html:
- fast/css/getComputedStyle/font-family-fallback-reset-expected.txt:
- fast/css/getComputedStyle/font-family-fallback-reset.html:
- fast/css/lang-mapped-to-webkit-locale-expected.txt:
- fast/css/lang-mapped-to-webkit-locale.xhtml:
- fast/css/serialization-with-double-quotes-expected.txt: Added.
- fast/css/serialization-with-double-quotes.html: Added.
- fast/css/uri-token-parsing-expected.txt:
- fast/css/uri-token-parsing.html:
- fast/inspector-support/cssURLQuotes-expected.txt:
- fast/inspector-support/style-expected.txt:
- fast/text/font-stretch-parse-expected.txt:
- fast/text/font-stretch-parse.html:
- fast/text/font-style-parse-expected.txt:
- fast/text/font-style-parse.html:
- fast/text/font-weight-parse-expected.txt:
- fast/text/font-weight-parse.html:
- media/controls/track-menu.html:
- platform/mac-elcapitan/fast/css/getComputedStyle/computed-style-font-family-expected.txt:
- platform/mac-elcapitan/fast/text/font-stretch-parse-expected.txt:
- platform/mac-elcapitan/fast/text/font-style-parse-expected.txt:
- platform/mac-elcapitan/fast/text/font-weight-parse-expected.txt:
- 12:21 AM Changeset in webkit [218445] by
-
- 11 edits2 moves in trunk/Source/WebKit2
[GTK] Rename WebContextMenuItemGtk as WebContextMenuItemGlib
https://bugs.webkit.org/show_bug.cgi?id=173469
Reviewed by Michael Catanzaro.
Now that we switched to GAction this is actually a glib implementation, we keep the GtkAction support only for
backwards compatibility. We could rename the file and make the GtkAction action conditional to the GTK+ port.
- PlatformGTK.cmake:
- Shared/glib/WebContextMenuItemGlib.cpp: Renamed from Source/WebKit2/Shared/gtk/WebContextMenuItemGtk.cpp.
(WebKit::gtkStockIDFromContextMenuAction):
(WebKit::WebContextMenuItemGlib::WebContextMenuItemGlib):
(WebKit::WebContextMenuItemGlib::~WebContextMenuItemGlib):
(WebKit::WebContextMenuItemGlib::buildActionName):
(WebKit::WebContextMenuItemGlib::createActionIfNeeded):
- Shared/glib/WebContextMenuItemGlib.h: Renamed from Source/WebKit2/Shared/gtk/WebContextMenuItemGtk.h.
- UIProcess/API/gtk/WebKitContextMenu.cpp:
(webkitContextMenuPopulate):
- UIProcess/API/gtk/WebKitContextMenuActions.cpp:
(webkitContextMenuActionGetForContextMenuItem):
- UIProcess/API/gtk/WebKitContextMenuActionsPrivate.h:
- UIProcess/API/gtk/WebKitContextMenuItem.cpp:
(webkitContextMenuItemCreate):
(webkitContextMenuItemToWebContextMenuItemGlib):
(webkit_context_menu_item_new):
(webkit_context_menu_item_new_from_gaction):
(webkit_context_menu_item_new_from_stock_action):
(webkit_context_menu_item_new_from_stock_action_with_label):
(webkit_context_menu_item_new_with_submenu):
(webkit_context_menu_item_new_separator):
- UIProcess/API/gtk/WebKitContextMenuItemPrivate.h:
- UIProcess/API/gtk/WebKitContextMenuPrivate.h:
- UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewPopulateContextMenu):
- UIProcess/gtk/WebContextMenuProxyGtk.cpp:
(WebKit::WebContextMenuProxyGtk::append):
(WebKit::WebContextMenuProxyGtk::buildMenu):
(WebKit::WebContextMenuProxyGtk::populate):
- UIProcess/gtk/WebContextMenuProxyGtk.h:
Jun 16, 2017:
- 11:28 PM Changeset in webkit [218444] by
-
- 28 edits in trunk
[Cocoa] Some declarations have missing or incorrect availability attributes
https://bugs.webkit.org/show_bug.cgi?id=173508
Reviewed by Tim Horton.
Source/WebKit2:
- UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h: Removed a redundant attribute.
In all of the below files, added missing availability attributes for declarations that have
not appeared yet in any GM SDK, and fixed availability attributes for declarations that
have already appeared in the macOS 10.12.3 and iOS 10.3 SDKs.
- UIProcess/API/Cocoa/WKBackForwardListItemPrivate.h:
- UIProcess/API/Cocoa/WKHTTPCookieStore.h:
- UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
- UIProcess/API/Cocoa/WKPreferences.h: Also fixed capitalization in a comment.
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Also removed unnecessary conditionals.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _draggableElementAtPosition:]): Prepended an underscore to this private method’s name.
(-[WKWebView _requestDraggableElementAtPosition:completionBlock:]): Ditto.
- UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
- UIProcess/API/Cocoa/WKWebViewPrivate.h: Also updated for renames.
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/API/Cocoa/_WKActivatedElementInfo.h:
- UIProcess/API/Cocoa/_WKAutomationSessionDelegate.h:
- UIProcess/API/Cocoa/_WKDiagnosticLoggingDelegate.h:
- UIProcess/API/Cocoa/_WKGeolocationCoreLocationProvider.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.h:
- UIProcess/API/Cocoa/_WKUserContentExtensionStorePrivate.h:
- UIProcess/API/Cocoa/_WKUserContentFilterPrivate.h:
- UIProcess/API/Cocoa/_WKWebsitePolicies.h:
- UIProcess/_WKWebViewPrintFormatter.h:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInEditingDelegate.h:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInRangeHandle.h:
Tools:
- TestWebKitAPI/Tests/ios/PositionInformationTests.mm:
(TestWebKitAPI::TEST): Updated for renames.
- 11:07 PM Changeset in webkit [218443] by
-
- 2 edits in trunk/LayoutTests
[Win] Update expectations for layout tests.
https://bugs.webkit.org/show_bug.cgi?id=172437
Unreviewed test gardening, update test expectations for failing tests.
- platform/win/TestExpectations:
- 10:47 PM Changeset in webkit [218442] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening. Update test expectations for failing tests.
- platform/win/TestExpectations:
- 8:42 PM Changeset in webkit [218441] by
-
- 4 edits in trunk/Source/WebKit2
[WebRTC] CrashTracer: Regression : com.apple.WebKit.Networking at WebKit: WebKit::LibWebRTCSocketClient::sendTo
https://bugs.webkit.org/show_bug.cgi?id=173501
Patch by Youenn Fablet <youenn@apple.com> on 2017-06-16
Reviewed by Eric Carlson.
When a libwebrtc socket fails to be created in the network process,
the network process sends back a close message, but it keeps it in a map.
If the web process sends a message dedicated to this socket, we will try
processing it and calling the socket which is null, hence the cache.
This patch makes it so that if the socket is null, it is not added to the map.
- NetworkProcess/webrtc/LibWebRTCSocketClient.cpp:
(WebKit::LibWebRTCSocketClient::LibWebRTCSocketClient):
- NetworkProcess/webrtc/NetworkRTCProvider.cpp:
(WebKit::NetworkRTCProvider::createSocket):
(WebKit::NetworkRTCProvider::createUDPSocket):
(WebKit::NetworkRTCProvider::createServerTCPSocket):
(WebKit::NetworkRTCProvider::createClientTCPSocket):
- NetworkProcess/webrtc/NetworkRTCProvider.h:
- 7:58 PM Changeset in webkit [218440] by
-
- 21 edits9 adds in trunk
Web Inspector: Instrument 2D/WebGL canvas contexts in the backend
https://bugs.webkit.org/show_bug.cgi?id=172623
<rdar://problem/32415986>
Reviewed by Devin Rousso and Joseph Pecoraro.
Source/JavaScriptCore:
This patch adds a basic Canvas protocol. It includes Canvas and related
types and events for monitoring the lifetime of canvases in the page.
- CMakeLists.txt:
- DerivedSources.make:
- inspector/protocol/Canvas.json: Added.
- inspector/scripts/codegen/generator.py:
(Generator.stylized_name_for_enum_value):
Add special handling for Canvas.ContextType protocol enumeration,
so that "canvas-2d" and "webgl" map toCanvas2DandWebGL.
Source/WebCore:
Test: inspector/canvas/create-canvas-contexts.html
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/Document.cpp:
(WebCore::Document::getCSSCanvasElement):
Instrument creation of CSS canvases. This merely registers the canvas
element with InspectorCanvasAgent and stores the name (identifier passed
to getCSSCanvasContext) for later use. It isn't until the context is
actually created that the frontend receives a notification.
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext2d):
(WebCore::HTMLCanvasElement::getContextWebGL):
Instrument creation of 2D and WebGL canvas contexts.
- inspector/InspectorAllInOne.cpp:
- inspector/InspectorCanvasAgent.cpp: Added.
New backend agent for canvas inspection. Canvas creation and destruction
are continuously monitored by the agent, regardless of the presence of
a frontend. This is necessary since there is no way to retrieve the
rendering contexts for with a given frame once they've been created.
(WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
(WebCore::InspectorCanvasAgent::didCreateFrontendAndBackend):
(WebCore::InspectorCanvasAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorCanvasAgent::discardAgent):
Unregister canvas observers to prevent dangling agent pointer.
(WebCore::InspectorCanvasAgent::enable):
Dispatch events for existing canvases, now that the frontend exists.
(WebCore::InspectorCanvasAgent::disable):
(WebCore::InspectorCanvasAgent::frameNavigated):
(WebCore::InspectorCanvasAgent::didCreateCSSCanvas):
Register the name/identifier associated with the CSS canvas, so that it
can be retrieved and associated with the rendering context later.
(WebCore::InspectorCanvasAgent::didCreateCanvasRenderingContext):
(WebCore::InspectorCanvasAgent::canvasDestroyed):
Removes the canvas from the agent, and queues it for notifying the
frontend during the next event loop.
(WebCore::InspectorCanvasAgent::canvasDestroyedTimerFired):
(WebCore::InspectorCanvasAgent::clearCanvasData):
(WebCore::InspectorCanvasAgent::getCanvasEntry):
(WebCore::InspectorCanvasAgent::buildObjectForCanvas):
- inspector/InspectorCanvasAgent.h: Added.
- inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didCommitLoadImpl):
(WebCore::InspectorInstrumentation::didCreateCSSCanvasImpl):
(WebCore::InspectorInstrumentation::didCreateCanvasRenderingContextImpl):
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didCreateCSSCanvas):
(WebCore::InspectorInstrumentation::didCreateCanvasRenderingContext):
These instrumentation points should not fast return when no frontend
is attached.
- inspector/InstrumentingAgents.cpp:
(WebCore::InstrumentingAgents::reset):
- inspector/InstrumentingAgents.h:
(WebCore::InstrumentingAgents::inspectorCanvasAgent):
(WebCore::InstrumentingAgents::setInspectorCanvasAgent):
Plumbing for the new agent.
Source/WebInspectorUI:
- UserInterface/Base/Main.js:
(WebInspector.loaded):
- UserInterface/Controllers/CanvasManager.js: Added.
New frontend manager for the Canvas domain.
(WebInspector.CanvasManager):
(WebInspector.CanvasManager.prototype.get canvases):
(WebInspector.CanvasManager.prototype.canvasAdded):
(WebInspector.CanvasManager.prototype.canvasRemoved):
(WebInspector.CanvasManager.prototype._mainResourceDidChange):
- UserInterface/Main.html:
New files.
- UserInterface/Models/Canvas.js: Added.
(WebInspector.Canvas):
(WebInspector.Canvas.fromPayload):
(WebInspector.Canvas.displayNameForContextType):
Get displayable text "2D" or "WebGL" based on context type.
(WebInspector.Canvas.resetUniqueDisplayNameNumbers):
Called by CanvasManager when canvases are cleared.
(WebInspector.Canvas.prototype.get identifier):
(WebInspector.Canvas.prototype.get contextType):
(WebInspector.Canvas.prototype.get frame):
(WebInspector.Canvas.prototype.get cssCanvasName):
For CSS canvases, the identifier passed to getCSSCanvasContext.
(WebInspector.Canvas.prototype.get displayName):
Get displayable canvas name. The name depends on how the canvas was
created, and the information available:
- getCSSCanvasContext: "CSS Canvas <identifier>"
- getContext: "Canvas #<DOM id attribute value>"
- Otherwise: "Canvas 1", "Canvas 2", ...
(WebInspector.Canvas.saveIdentityToCookie):
- UserInterface/Protocol/CanvasObserver.js: Added.
(WebInspector.CanvasObserver.prototype.canvasAdded):
(WebInspector.CanvasObserver.prototype.canvasRemoved):
(WebInspector.CanvasObserver):
- UserInterface/Test.html:
- UserInterface/Test/Test.js:
(WebInspector.loaded):
LayoutTests:
Test that CanvasAgent dispatches events for canvas lifecycle events.
- inspector/canvas/create-canvas-contexts-expected.txt: Added.
- inspector/canvas/create-canvas-contexts.html: Added.
- 7:39 PM Changeset in webkit [218439] by
-
- 7 edits in trunk/Source
Add a WebKit2 setting to control whether media documents should automatically enter fullscreen
https://bugs.webkit.org/show_bug.cgi?id=173503
Patch by Antoine Quint <Antoine Quint> on 2017-06-16
Reviewed by Tim Horton.
Source/WebCore:
New WebCore setting to specify whether a media document should automatically enter fullscreen.
- page/Settings.in:
Source/WebKit2:
New WebKit2 setting to specify whether a media document should automatically enter fullscreen.
- Shared/WebPreferencesDefinitions.h:
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _setMediaDocumentEntersFullscreenAutomatically:]):
(-[WKPreferences _mediaDocumentEntersFullscreenAutomatically]):
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- 7:20 PM Changeset in webkit [218438] by
-
- 2 edits in trunk/Source/WebCore
[MSE] Seeking or entering fullscreen can cause extreme CPU usage
https://bugs.webkit.org/show_bug.cgi?id=173505
Reviewed by Tim Horton.
When support for painting MSE to WebGL was added in r217185, the implementation of
SourceBufferPrivateAVFObjC::isReadyForMoreSamples() was modified to support asking
the decompression session if it was ready. That change, however, caused an extreme
performance regression in the normal playback path, where WebKit will effectively
append samples endlessly to the AVSampleBufferDisplayLayer, which admirably enqueued
each of them for decoding. Eventually, the cost of iterating over the CMBufferQueue
overwhelmed the cost of decoding, and caused the extreme lag seen when seeking.
Make sure to property query the AVSampleBufferDisplayLayer for isReadyForMoreMediaData
before enqueuing.
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::isReadyForMoreSamples):
- 6:19 PM Changeset in webkit [218437] by
-
- 38 edits4 deletes in trunk
[WebIDL] Remove custom bindings for HTMLDocument
https://bugs.webkit.org/show_bug.cgi?id=173444
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/html/dom/dynamic-markup-insertion/closing-the-input-stream/document.close-01-expected.txt:
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/document.write-01-expected.txt:
- web-platform-tests/html/dom/dynamic-markup-insertion/document-writeln/document.writeln-01-expected.txt:
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-01-expected.txt:
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-02-expected.txt:
Update now passing results.
Source/WebCore:
- bindings/js/JSDOMBindingSecurity.cpp:
(WebCore::canAccessDocument):
(WebCore::BindingSecurity::shouldAllowAccessToFrame):
(WebCore::BindingSecurity::shouldAllowAccessToDOMWindow):
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::showModalDialog):
Pass ExecState by reference to window accessors.
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::incumbentDOMWindow):
(WebCore::activeDOMWindow):
(WebCore::firstDOMWindow):
(WebCore::callerDocument):
- bindings/js/JSDOMWindowBase.h:
Pass ExecState by reference to window accessors and add callerDocument.
- bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::getOwnPropertySlot): Deleted.
(WebCore::JSHTMLDocument::all): Deleted.
(WebCore::JSHTMLDocument::setAll): Deleted.
(WebCore::findCallingDocument): Deleted.
(WebCore::JSHTMLDocument::open): Deleted.
(WebCore::documentWrite): Deleted.
(WebCore::JSHTMLDocument::write): Deleted.
Remove custom bindings.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateCallWith):
Add support CallWith=CallerDocument
- bindings/scripts/IDLAttributes.json:
Remove CallerWindow, which has not been supported for a while. CallerDocument, despite
having it's support removed in the past, was still listed, so keep it.
- bindings/scripts/test/JS/JSTestObj.cpp:
Update test results.
- dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createHTMLDocument):
Update for new signature of Document.write().
- dom/Document.h:
- dom/Document.idl:
- dom/Document.cpp:
(WebCore::Document::open):
Add DOMWindow returning overload that calls through to the DOMWindow.
Add return value and currently not utilized parameters to the Document returning overload.
Update to return exceptions as specified.
(WebCore::Document::close):
Update to return exceptions as specified.
(WebCore::Document::write):
(WebCore::Document::writeln):
Update to take a Vector<String> argument and the caller Document first
as per convention and return exceptions as specified.
(WebCore::Document::bgColor):
(WebCore::Document::setBgColor):
(WebCore::Document::fgColor):
(WebCore::Document::setFgColor):
(WebCore::Document::alinkColor):
(WebCore::Document::setAlinkColor):
(WebCore::Document::linkColorForBindings):
(WebCore::Document::setLinkColorForBindings):
(WebCore::Document::vlinkColor):
(WebCore::Document::setVlinkColor):
(WebCore::Document::clear):
(WebCore::Document::captureEvents):
(WebCore::Document::releaseEvents):
Move from HTMLDocument.
- html/HTMLDocument.cpp:
(WebCore::HTMLDocument::bgColor): Deleted.
(WebCore::HTMLDocument::setBgColor): Deleted.
(WebCore::HTMLDocument::fgColor): Deleted.
(WebCore::HTMLDocument::setFgColor): Deleted.
(WebCore::HTMLDocument::alinkColor): Deleted.
(WebCore::HTMLDocument::setAlinkColor): Deleted.
(WebCore::HTMLDocument::linkColor): Deleted.
(WebCore::HTMLDocument::setLinkColor): Deleted.
(WebCore::HTMLDocument::vlinkColor): Deleted.
(WebCore::HTMLDocument::setVlinkColor): Deleted.
(WebCore::HTMLDocument::clear): Deleted.
(WebCore::HTMLDocument::captureEvents): Deleted.
(WebCore::HTMLDocument::releaseEvents): Deleted.
- html/HTMLDocument.h:
- html/HTMLDocument.idl:
Moved operations and attributes to Document.
- inspector/DOMPatchSupport.cpp:
(WebCore::DOMPatchSupport::patchDocument):
Update for new signature of Document.write().
- page/DOMWindow.cpp:
(WebCore::DOMWindow::postMessage):
(WebCore::DOMWindow::focus):
- page/DOMWindow.h:
Use the term incumbentWindow, matching IDL, and so not to be confused
with the callerWindow, which is slightly different.
Source/WebKit/mac:
- DOM/DOMHTMLDocument.mm:
(-[DOMHTMLDocument linkColor]):
(-[DOMHTMLDocument setLinkColor:]):
(-[DOMHTMLDocument write:]):
(-[DOMHTMLDocument writeln:]):
Update for new signature of write/writeln and rename of linkColor to linkColorForBindings.
Source/WebKit/win:
- DOMHTMLClasses.cpp:
(DOMHTMLDocument::write):
(DOMHTMLDocument::writeln):
Update for new signature of write/writeln.
Source/WebKit2:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDocument.cpp:
(webkit_dom_html_document_get_link_color):
(webkit_dom_html_document_set_link_color):
Update for rename of linkColor to linkColorForBindings.
LayoutTests:
- dom/xhtml/level2/html/HTMLDocument17-expected.txt:
- dom/xhtml/level2/html/HTMLDocument18-expected.txt:
- dom/xhtml/level2/html/HTMLDocument19-expected.txt:
- dom/xhtml/level2/html/HTMLDocument20-expected.txt:
- dom/xhtml/level2/html/HTMLDocument21-expected.txt:
Update test results for correct exception being thrown.
- fast/dom/frame-deleted-in-document-open-expected.txt: Removed.
- fast/dom/frame-deleted-in-document-open.html: Removed.
- http/tests/security/isolatedWorld/document-open-expected.txt: Removed.
- http/tests/security/isolatedWorld/document-open.html: Removed.
Remove two tests that were testing the behavior of document.open using javascript
to call the window.open operation. This is not how it is specified and no
longer how it is implemented.
- 6:10 PM Changeset in webkit [218436] by
-
- 4 edits in trunk
Fix Mac CMake build.
.:
- Source/cmake/WebKitFS.cmake:
Add new DerivedSources/WTF directory.
Source/WTF:
- wtf/PlatformMac.cmake:
Generate MachExceptionsServer.h
- 5:55 PM Changeset in webkit [218435] by
-
- 4 edits in trunk/Source
Cleanup: WebContextMenuClient::searchWithGoogle() should parse URL using URL { URL { }, ... }
instead of URL { ParsedURLString, ... }
https://bugs.webkit.org/show_bug.cgi?id=173495
<rdar://problem/32827445>
Reviewed by Alex Christensen.
URL(ParsedURLString, ...) should only be used with a string that was the result of URL::string().
Otherwise, it will cause an assertion failure if the canonicalized URL differs from the string.
Although it is unlikely that the hardcoded string in WebContextMenuClient::searchWithGoogle()
would differ from the canonicalized URL it is best practice to use URL(URL(), ...) to
parse an arbitrary string that looks like a URL.
Also modernize the code using C++14 idioms.
Source/WebKit/win:
- WebCoreSupport/WebContextMenuClient.cpp:
(WebContextMenuClient::searchWithGoogle):
Source/WebKit2:
- WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
(WebKit::WebContextMenuClient::searchWithGoogle):
- 5:50 PM Changeset in webkit [218434] by
-
- 5 edits in trunk/Source/WebCore
Remove header OptionSet.h from FrameLoaderTypes.h
https://bugs.webkit.org/show_bug.cgi?id=173489
Reviewed by Joseph Pecoraro.
Although the header FrameLoaderTypes.h defines exactly one enum class, ReloadOption, whose
enumerators conform the power of two prerequisite for parameterizing an OptionSet for it
FrameLoaderTypes.h does not actually make use of the functionality provided by header
OptionSet.h. And not all source files that include FrameLoaderTypes.h need to use an OptionSet.
- loader/DocumentLoader.h: Include <wtf/OptionSet.h>.
- loader/FrameLoader.h: Ditto.
- loader/FrameLoaderTypes.h: Remove header <wtf/OptionSet.h>.
- replay/UserInputBridge.h: Include <wtf/Forward.h>.
- 5:33 PM Changeset in webkit [218433] by
-
- 29 edits12 adds in trunk
[iOS DnD] Upstream iOS drag and drop implementation into OpenSource WebKit
https://bugs.webkit.org/show_bug.cgi?id=173366
<rdar://problem/32767014>
Reviewed by Tim Horton.
Source/JavaScriptCore:
Introduce ENABLE_DATA_INTERACTION and ENABLE_DRAG_SUPPORT to FeatureDefines.xcconfig.
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
Moves all drag and drop logic previously hidden behind WebKitAdditions into the open source repository, along
with unit test pages in TestWebKitAPI. Also removes all #includes and #imports of dragging-related files in
WebKitAdditions from the open source repository.
This initial upstreaming phase is only concerned with moving code out of WebKitAdditions, and attempts to
preserve the code as-is, with the exception of trivial style changes so that the open source linter passes.
Future patches will remove the DATA_INTERACTION feature flag altogether and unobscure all variable and function
names referencing "data interaction".
No change in behavior from the internal build.
- Configurations/FeatureDefines.xcconfig:
- page/ios/EventHandlerIOS.mm:
(WebCore::EventHandler::createDraggingDataTransfer):
(WebCore::EventHandler::eventLoopHandleMouseDragged):
(WebCore::EventHandler::tryToBeginDataInteractionAtPoint):
- platform/ios/DragImageIOS.mm:
(WebCore::dragImageSize):
(WebCore::scaleDragImage):
(WebCore::createDragImageFromImage):
(WebCore::deleteDragImage):
(WebCore::createDragImageForLink):
(WebCore::createDragImageIconForCachedImageFilename):
(WebCore::platformAdjustDragImageForDeviceScaleFactor):
(WebCore::createDragImageForSelection):
(WebCore::dissolveDragImageToFraction):
- platform/ios/PasteboardIOS.mm:
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::setDragImage):
(WebCore::Pasteboard::createForDragAndDrop):
- platform/mac/DragDataMac.mm:
(WebCore::rtfPasteboardType):
(WebCore::rtfdPasteboardType):
(WebCore::stringPasteboardType):
(WebCore::urlPasteboardType):
(WebCore::htmlPasteboardType):
(WebCore::colorPasteboardType):
(WebCore::pdfPasteboardType):
(WebCore::tiffPasteboardType):
(WebCore::DragData::asFilenames):
(WebCore::DragData::containsURL):
(rtfPasteboardType): Deleted.
(rtfdPasteboardType): Deleted.
(stringPasteboardType): Deleted.
(urlPasteboardType): Deleted.
(htmlPasteboardType): Deleted.
(colorPasteboardType): Deleted.
(pdfPasteboardType): Deleted.
(tiffPasteboardType): Deleted.
Source/WebCore/PAL:
Introduce ENABLE_DATA_INTERACTION and ENABLE_DRAG_SUPPORT to FeatureDefines.xcconfig.
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
Move pieces of iOS WebKit1 drag and drop implementation into OpenSource. No change in behavior.
- Configurations/FeatureDefines.xcconfig:
- WebCoreSupport/WebDragClient.mm:
(WebDragClient::useLegacyDragClient):
(WebDragClient::willPerformDragDestinationAction):
(WebDragClient::dragSourceActionMaskForPoint):
(WebDragClient::willPerformDragSourceAction):
(WebDragClient::startDrag):
(WebDragClient::beginDrag):
(WebDragClient::declareAndWriteDragImage):
(WebDragClient::declareAndWriteAttachment):
(WebDragClient::didConcludeEditDrag):
- WebView/WebView.mm:
(-[WebView _setDataInteractionData:textIndicator:atClientPosition:anchorPoint:action:]):
(-[WebView _getDataInteractionData]):
(-[WebView dragDataForSession:client:global:operation:]):
(-[WebView _enteredDataInteraction:client:global:operation:]):
(-[WebView _updatedDataInteraction:client:global:operation:]):
(-[WebView _exitedDataInteraction:client:global:operation:]):
(-[WebView _performDataInteraction:client:global:operation:]):
(-[WebView _tryToPerformDataInteraction:client:global:operation:]):
(-[WebView _endedDataInteraction:global:]):
(-[WebView _didConcludeEditDataInteraction]):
(floatRectsForCGRectArray): Deleted.
(-[WebView _createImageWithPlatterForImage:boundingRect:contentScaleFactor:clippingRects:]): Deleted.
- WebView/WebViewData.h:
- WebView/WebViewData.mm:
(-[WebViewPrivate dealloc]):
- WebView/WebViewPrivate.h:
Source/WebKit2:
Move pieces of iOS WebKit2 drag and drop implementation into OpenSource. No change in behavior.
- Configurations/FeatureDefines.xcconfig:
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::setDragImage):
(WebKit::WebPageProxy::setPromisedDataForImage):
(WebKit::WebPageProxy::setPromisedDataForAttachment):
(WebKit::WebPageProxy::setDragCaretRect):
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(longPressActionDelayAfterLift):
(-[WKContentView webViewUIDelegate]):
(-[WKContentView setupDataInteractionDelegates]):
(-[WKContentView teardownDataInteractionDelegates]):
(-[WKContentView _startDataInteractionWithImage:withIndicatorData:atClientPosition:anchorPoint:action:]):
(-[WKContentView _didHandleStartDataInteractionRequest:]):
(uiImageForImage):
(shouldUseTextIndicatorToCreatePreviewForDragAction):
(-[WKContentView dragPreviewForImage:frameInRootViewCoordinates:clippingRectsInFrameCoordinates:backgroundColor:]):
(-[WKContentView dragPreviewForCurrentDataInteractionState]):
(-[WKContentView performDeferredActionAtDragOrigin]):
(-[WKContentView cancelDeferredActionAtDragOrigin]):
(-[WKContentView computeClientAndGlobalPointsForDropSession:outClientPoint:outGlobalPoint:]):
(dropOperationForWebCoreDragOperation):
(-[WKContentView dragDataForDropSession:dragDestinationAction:]):
(-[WKContentView cleanUpDragSourceSessionState]):
(extractItemProvidersFromDragItems):
(extractItemProvidersFromDropSession):
(-[WKContentView _didConcludeEditDataInteraction:]):
(-[WKContentView _didPerformDataInteractionControllerOperation:]):
(-[WKContentView _transitionDragPreviewToImageIfNecessary:]):
(-[WKContentView _didChangeDataInteractionCaretRect:currentRect:]):
(-[WKContentView _dragDestinationActionForDropSession:]):
(positionInformationMayStartDataInteraction):
(-[WKContentView currentDragOrDropSession]):
(-[WKContentView _dragInteraction:prepareForSession:completion:]):
(-[WKContentView dragInteraction:itemsForBeginningSession:]):
(-[WKContentView _api_dragInteraction:previewForLiftingItem:session:]):
(-[WKContentView dragInteraction:sessionWillBegin:]):
(-[WKContentView _api_dragInteraction:session:didEndWithOperation:]):
(-[WKContentView dragInteraction:previewForCancellingItem:withDefault:]):
(-[WKContentView _api_dragInteraction:item:willAnimateCancelWithAnimator:]):
(-[WKContentView dropInteraction:canHandleSession:]):
(-[WKContentView _api_dropInteraction:sessionDidEnter:]):
(-[WKContentView _api_dropInteraction:sessionDidUpdate:]):
(-[WKContentView dropInteraction:sessionDidExit:]):
(-[WKContentView dropInteraction:performDrop:]):
(-[WKContentView dropInteraction:previewForDroppingItem:withDefault:]):
(-[WKContentView dropInteraction:sessionDidEnd:]):
(-[WKContentView _simulateDataInteractionEntered:]):
(-[WKContentView _simulateDataInteractionUpdated:]):
(-[WKContentView _simulateDataInteractionEnded:]):
(-[WKContentView _simulateDataInteractionPerformOperation:]):
(-[WKContentView _simulateDataInteractionSessionDidEnd:]):
(-[WKContentView _simulateWillBeginDataInteractionWithSession:]):
(-[WKContentView _simulatedItemsForSession:]):
(-[WKContentView _simulatePrepareForDataInteractionSession:completion:]):
- WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
(WebKit::convertCGImageToBitmap):
(WebKit::WebDragClient::startDrag):
(WebKit::WebDragClient::declareAndWriteDragImage):
(WebKit::WebDragClient::didConcludeEditDrag):
(WebKit::WebDragClient::declareAndWriteAttachment):
Source/WTF:
Define ENABLE_DRAG_SUPPORT as 1 by default and 0 for iOS, and define ENABLE_DATA_INTERACTION as 0 by default.
These are overridden to both be 1 for iOS 11+ in the FeatureDefines.xcconfig within each individual project.
- wtf/Platform.h:
Tools:
Move test pages and pieces of DataInteractionSimulator hidden behind WebKitAdditions into TestWebKitAPI. No
change in behavior.
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/autofocus-contenteditable.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/background-image-link-and-input.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/contenteditable-and-textarea.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/div-and-large-image.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/file-uploading.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/image-and-contenteditable.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/image-and-textarea.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/link-and-input.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/link-and-target-div.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/prevent-operation.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/prevent-start.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/textarea-to-input.html: Added.
- TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[MockDragDropSession initWithItems:location:window:]):
(-[MockDragDropSession allowsMoveOperation]):
(-[MockDragDropSession isRestrictedToDraggingApplication]):
(-[MockDragDropSession hasItemsConformingToTypeIdentifiers:]):
(-[MockDragDropSession canLoadObjectsOfClass:]):
(-[MockDragDropSession canLoadObjectsOfClasses:]):
(-[MockDragDropSession items]):
(-[MockDragDropSession setItems:]):
(-[MockDragDropSession locationInView:]):
(-[MockDataOperationSession initWithProviders:location:window:]):
(-[MockDataOperationSession session]):
(-[MockDataOperationSession isLocal]):
(-[MockDataOperationSession progress]):
(-[MockDataOperationSession setProgressIndicatorStyle:]):
(-[MockDataOperationSession progressIndicatorStyle]):
(-[MockDataOperationSession operationMask]):
(-[MockDataOperationSession localDragSession]):
(-[MockDataOperationSession hasItemsConformingToTypeIdentifier:]):
(-[MockDataOperationSession canCreateItemsOfClass:]):
(-[MockDataOperationSession loadObjectsOfClass:completion:]):
(-[MockDataInteractionSession initWithWindow:]):
(-[MockDataInteractionSession localOperationMask]):
(-[MockDataInteractionSession externalOperationMask]):
(-[MockDataInteractionSession session]):
(-[DataInteractionSimulator _advanceProgress]):
- 5:29 PM Changeset in webkit [218432] by
-
- 3 edits2 adds in trunk
WebRTC sockets should be closed at destruction time if not closed explicitly
https://bugs.webkit.org/show_bug.cgi?id=173479
Patch by Youenn Fablet <youenn@apple.com> on 2017-06-16
Reviewed by Eric Carlson.
Source/WebKit2:
- WebProcess/Network/webrtc/LibWebRTCSocket.cpp:
(WebKit::LibWebRTCSocket::~LibWebRTCSocket):
(WebKit::LibWebRTCSocket::Close):
LayoutTests:
- webrtc/datachannel/multiple-connections-expected.txt: Added.
- webrtc/datachannel/multiple-connections.html: Added.
- 5:27 PM Changeset in webkit [218431] by
-
- 7 edits2 adds in trunk
addTransceiver should trigger mid generation in the SDP
https://bugs.webkit.org/show_bug.cgi?id=173452
Patch by Youenn Fablet <youenn@apple.com> on 2017-06-16
Reviewed by Alex Christensen.
Source/WebCore:
Test: webrtc/video-addTransceiver.html
Adding support for recvonly SDP based on call to addTransceiver.
Using offer_to_receive options of libwebrtc for that purpose.
Making sure that addTransceiver and using a real track afterwards is working too.
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::enqueueReplaceTrackTask): notify the backend that a track is added in case the sender has no track.
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::shouldOfferAllowToReceiveAudio): Detect whether some audio mid should be recvonly.
(WebCore::LibWebRTCMediaEndpoint::shouldOfferAllowToReceiveVideo): Detect whether some video mid should be recvonly.
(WebCore::LibWebRTCMediaEndpoint::doCreateOffer):
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
- Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.h:
LayoutTests:
- webrtc/routines.js:
(createConnections):
- webrtc/video-addTransceiver-expected.txt: Added.
- webrtc/video-addTransceiver.html: Added.
- 5:20 PM Changeset in webkit [218430] by
-
- 2 edits in trunk/Source/WebKit
Fix Visual Studio 2017 64-bit build after r218258
https://bugs.webkit.org/show_bug.cgi?id=173308
- PlatformWin.cmake:
We still need the enable_language(ASM_MASM) even if we explicitly call ml64 with VS2017.
Otherwise CMake complains about a missing variable CMAKE_ASM_MASM_COMPILE_OBJECT.
- 4:50 PM Changeset in webkit [218429] by
-
- 4 edits in trunk/LayoutTests
Clean-up lint-test-expectation errors
Unreviewed test gardening
- platform/ios-wk1/TestExpectations:
- platform/ios-wk2/TestExpectations:
- platform/win/TestExpectations:
- 4:49 PM Changeset in webkit [218428] by
-
- 2 edits in trunk/Source/WebCore
WebCore::LibWebRTCMediaEndpoint::gatherStatsForLogging is crashing
https://bugs.webkit.org/show_bug.cgi?id=173493
Patch by Youenn Fablet <youenn@apple.com> on 2017-06-16
Reviewed by Eric Carlson.
Speculative preventive fix.
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::gatherStatsForLogging):
- 4:43 PM Changeset in webkit [218427] by
-
- 4 edits in trunk
Show punycode to user if a URL has dotless i or j followed by diacritic dot
https://bugs.webkit.org/show_bug.cgi?id=173431
Reviewed by Darin Adler.
Source/WebCore:
Covered by new API tests.
- platform/mac/WebCoreNSURLExtras.mm:
(WebCore::isLookalikeCharacter):
(WebCore::allCharactersInIDNScriptWhiteList):
(WebCore::createStringWithEscapedUnsafeCharacters):
Tools:
- TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
(TestWebKitAPI::TEST):
- 4:16 PM Changeset in webkit [218426] by
-
- 3 edits2 adds in trunk
[iOS] Switching cameras in a WebRTC call makes black frames being sent
https://bugs.webkit.org/show_bug.cgi?id=173486
Patch by Youenn Fablet <youenn@apple.com> on 2017-06-16
Reviewed by Eric Carlson.
Source/WebCore:
Test: webrtc/video-replace-muted-track.html
- platform/mediastream/mac/RealtimeOutgoingVideoSource.cpp:
(WebCore::RealtimeOutgoingVideoSource::updateBlackFramesSending):
Ensuring the timer is stopped if needed.
(WebCore::RealtimeOutgoingVideoSource::initializeFromSource):
Calling updateBlackFramesSending to stop sending frame if needed.
LayoutTests:
- webrtc/video-replace-muted-track-expected.txt: Added.
- webrtc/video-replace-muted-track.html: Added.
- 4:15 PM Changeset in webkit [218425] by
-
- 1 edit1 delete in trunk/LayoutTests
Remove a test that was accidentally checked in with r218408.
Unreviewed test gardening.
- webrtc/datachannel/test.html: Removed.
- 4:13 PM Changeset in webkit [218424] by
-
- 2 edits in trunk/LayoutTests
Marked imported/w3c/web-platform-tests/IndexedDB/large-nested-cloning.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=173487
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 4:10 PM Changeset in webkit [218423] by
-
- 5 edits in trunk
Remove replaceTrack restriction about video resolution
https://bugs.webkit.org/show_bug.cgi?id=173490
Patch by Youenn Fablet <youenn@apple.com> on 2017-06-16
Reviewed by Eric Carlson.
Source/WebCore:
Covered by updated tests.
- platform/mediastream/mac/RealtimeOutgoingVideoSource.cpp:
(WebCore::RealtimeOutgoingVideoSource::setSource):
LayoutTests:
- webrtc/video-replace-track-expected.txt:
- webrtc/video-replace-track.html:
- 3:56 PM Changeset in webkit [218422] by
-
- 3 edits in trunk/Source/WebCore
Handle timeout of prepareForPictureInPictureStopWithCompletionHandler.
https://bugs.webkit.org/show_bug.cgi?id=173462
rdar://problem/32128170
Patch by Jeremy Jones <jeremyj@apple.com> on 2017-06-16
Reviewed by Jer Noble.
No new tests because no effect on the DOM.
If WebVideoFullscreenInterfaceAVKit::prepareForPictureInPictureStopWithCompletionHandler doesn't respond fast enough,
the caller will timeout and call will/didStopPictureInPicture.
This is getting fullscreen state confused.
This change keeps state consistent by handling will/didStopPictureInPicture possibly being called before
prepareForPictureInPictureStopWithCompletionHandler calls its callback.
- platform/ios/WebVideoFullscreenInterfaceAVKit.h:
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::willStopPictureInPicture):
(WebVideoFullscreenInterfaceAVKit::didStopPictureInPicture):
(WebVideoFullscreenInterfaceAVKit::prepareForPictureInPictureStopWithCompletionHandler):
(WebVideoFullscreenInterfaceAVKit::watchdogTimerFired):
- 3:46 PM Changeset in webkit [218421] by
-
- 6 edits1 copy in trunk/Source/WebCore
Make builds faster after r218371
https://bugs.webkit.org/show_bug.cgi?id=173453
Reviewed by Tim Horton.
Remove #includes from .h files.
No new tests because there is no behavior change.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj: Add new .cpp file, and sort the project file
- platform/graphics/FontFamilySpecificationNull.cpp: Copied from Source/WebCore/platform/graphics/FontFamilySpecificationNull.h.
(WebCore::FontFamilySpecificationNull::fontRanges):
- platform/graphics/FontFamilySpecificationNull.h:
(WebCore::FontFamilySpecificationNull::fontRanges): Deleted.
- platform/graphics/cocoa/FontFamilySpecificationCoreText.cpp:
(WebCore::FontFamilySpecificationCoreText::FontFamilySpecificationCoreText):
(WebCore::FontFamilySpecificationCoreText::~FontFamilySpecificationCoreText):
- platform/graphics/cocoa/FontFamilySpecificationCoreText.h:
(WebCore::FontFamilySpecificationCoreText::FontFamilySpecificationCoreText): Deleted.
- 3:35 PM Changeset in webkit [218420] by
-
- 2 edits in trunk/LayoutTests
Marked multiple imported/w3c/web-platform-tests/IndexedDB as flaky.
https://bugs.webkit.org/show_bug.cgi?id=172834
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 3:32 PM Changeset in webkit [218419] by
-
- 12 edits1 add in trunk
[WK2] Add WKProcessPool SPI to efficiently reset all plugin load client policies
https://bugs.webkit.org/show_bug.cgi?id=173472
<rdar://problem/28858817>
Reviewed by Brady Eidson.
Source/WebCore:
Add PluginLoadClientPolicyMaximum value to PluginLoadClientPolicy enumeration
to facilitate input value validation on API side.
- plugins/PluginData.h:
Source/WebKit2:
Add WKProcessPool SPI to efficiently reset all plugin load client policies:
[WKProcessPool _resetPluginLoadClientPolicies]. This new SPI clears all
existing policies and then sets all of them with new values, with a
minimal amount of IPC.
To achieve this, clients would previously have to call
- WKContextClearPluginClientPolicies() which would cause a broadcast IPC to every WebContent process.
- WKContextSetPluginLoadClientPolicy() repeatedly to add each policy one by one. Each call to WKContextSetPluginLoadClientPolicy() would cause a broadcast IPC to every WebContent process.
The new SPI does the same job with a single broadcast IPC to every WebContent
process.
- UIProcess/API/Cocoa/WKProcessPool.mm:
(isPluginLoadClientPolicyAcceptable):
(toPluginLoadClientPoliciesHashMap):
(policiesHashMapToDictionary):
(-[WKProcessPool _resetPluginLoadClientPolicies:]):
(-[WKProcessPool _pluginLoadClientPolicies]):
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::setPluginLoadClientPolicy):
(WebKit::WebProcessPool::resetPluginLoadClientPolicies):
- UIProcess/WebProcessPool.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::resetPluginLoadClientPolicies):
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
Tools:
Add API test coverage.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/PluginLoadClientPolicies.mm: Added.
(TEST):
- 3:28 PM Changeset in webkit [218418] by
-
- 2 edits in trunk/Source/WebKit2
[WK2][macOS] Expand sandbox to better support video playback on mac mini
https://bugs.webkit.org/show_bug.cgi?id=173492
<rdar://problem/32804073>
Reviewed by Alex Christensen.
Hardware differences in Mac Mini's require some different IOKit preferences to be accessible.
- WebProcess/com.apple.WebProcess.sb.in:
- 2:59 PM Changeset in webkit [218417] by
-
- 15 edits2 adds in trunk
[iOS] Do not pause playing video when application resigns active state.
https://bugs.webkit.org/show_bug.cgi?id=173474
Reviewed by Tim Horton.
Source/WebCore:
Test: media/video-inactive-playback.html
Separate out the concept of "inactive" playback from "process background" playback.
Move the implementation of applicationDidEnterBackground() from MediaSessionManagerIOS
into it's superclass, PlatformMediaSessionManager, and add a new set of restrictions
for "InactiveProcessPlaybackRestricted" and "SuspendedUnderLockPlaybackRestricted".
Leave the default restriction set for iOS as "BackgroundProcessPlaybackRestricted" and
"SuspendedUnderLockPlaybackRestricted", to preserve the existing behavior of suspending
playback when switching apps or when locking the device.
- platform/audio/PlatformMediaSession.cpp:
(WebCore::interruptionName):
- platform/audio/PlatformMediaSession.h:
- platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::applicationWillBecomeInactive):
(WebCore::PlatformMediaSessionManager::applicationDidBecomeActive):
(WebCore::PlatformMediaSessionManager::applicationDidEnterBackground):
(WebCore::PlatformMediaSessionManager::applicationWillEnterForeground):
(WebCore::PlatformMediaSessionManager::applicationWillEnterBackground): Deleted.
(WebCore::PlatformMediaSessionManager::applicationDidEnterForeground): Deleted.
- platform/audio/PlatformMediaSessionManager.h:
- platform/audio/ios/MediaSessionManagerIOS.h:
- platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::MediaSessionManageriOS::resetRestrictions):
(-[WebMediaSessionHelper applicationDidBecomeActive:]):
(-[WebMediaSessionHelper applicationWillResignActive:]):
(WebCore::MediaSessionManageriOS::applicationDidEnterBackground): Deleted.
(WebCore::MediaSessionManageriOS::applicationWillEnterForeground): Deleted.
- testing/Internals.cpp:
(WebCore::Internals::applicationWillBecomeInactive):
(WebCore::Internals::applicationDidBecomeActive):
(WebCore::Internals::applicationWillEnterForeground):
(WebCore::Internals::applicationDidEnterBackground):
(WebCore::Internals::setMediaSessionRestrictions):
(WebCore::Internals::applicationDidEnterForeground): Deleted.
(WebCore::Internals::applicationWillEnterBackground): Deleted.
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- media/video-background-playback-expected.txt:
- media/video-background-playback.html:
- media/video-background-tab-playback-expected.txt:
- media/video-background-tab-playback.html:
- media/video-inactive-playback-expected.txt: Added.
- media/video-inactive-playback.html: Added.
- 2:43 PM Changeset in webkit [218416] by
-
- 3 edits2 adds in trunk
REGRESSION (r213126): Sync XHR needs partition for cache and credentials
https://bugs.webkit.org/show_bug.cgi?id=173496
<rdar://problem/31943596>
Reviewed by Darin Adler.
Source/WebCore:
Test: http/tests/security/sync-xhr-partition.html
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::createRequest):
LayoutTests:
- http/tests/security/sync-xhr-partition-expected.txt: Added.
- http/tests/security/sync-xhr-partition.html: Added.
- 2:32 PM Changeset in webkit [218415] by
-
- 3 edits2 adds in trunk
[JSC] Add fast path for Object.assign
https://bugs.webkit.org/show_bug.cgi?id=173416
Reviewed by Mark Lam.
JSTests:
- stress/object-assign-changing-properties.js: Added.
(shouldBe):
(throw.new.Error.let.source.get x):
(throw.new.Error):
(shouldBe.let.source.get x):
(shouldBe.let.target.set x):
(shouldBe.let.target.get x):
- stress/object-assign-proxy.js: Added.
(shouldBe):
(throw.new.Error.let.handler.get order):
Source/JavaScriptCore:
In Object.assign implementation, we need to ensure that given key is still enumerable own key.
This seems duplicate look up. And we want to avoid this. However, we still need to perform this
check in the face of Proxy. Proxy can observe that this check is done correctly.
In almost all the cases, the above check is duplicate to the subsequent Get operation.
In this patch, we perform this check. But at that time, we investigateisTaintedByOpaqueObject().
If it is false, we can say that getOwnPropertySlot is pure. In that case, we can just retrieve the
value by callingslot.getValue().
This further improves performance of Object.assign.
baseline patched
object-assign.es6 363.6706+-6.4381 324.1769+-6.9624 definitely 1.1218x faster
- runtime/ObjectConstructor.cpp:
(JSC::objectConstructorAssign):
- 2:12 PM Changeset in webkit [218414] by
-
- 2 edits in trunk/Source/JavaScriptCore
Intermittent crash running Internal/Tests/InternalJSTests/Regress/radar-24300617.js
https://bugs.webkit.org/show_bug.cgi?id=173488
Reviewed by Filip Pizlo.
ClonedArguments lazily sets its callee and interator properties and it used its own inline
code to initialize its butterfly. This means that these lazily set properties can have
bogus values in those slots. Instead, let's use the standard BUtterfly:tryCreate() method
to create the butterfly as it clears out of line properties.
- runtime/ClonedArguments.cpp:
(JSC::ClonedArguments::createEmpty):
- 2:08 PM Changeset in webkit [218413] by
-
- 2 edits in trunk/LayoutTests
Marked imported/w3c/web-platform-tests/fetch/nosniff/importscripts.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=173432
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 2:02 PM Changeset in webkit [218412] by
-
- 22 edits in trunk/Source/JavaScriptCore
Interpreter methods for mapping between Opcode and OpcodeID need not be instance methods.
https://bugs.webkit.org/show_bug.cgi?id=173491
Reviewed by Keith Miller.
The implementation are based on static data. There's no need to get the
interpreter instance. Hence, we can make these methods static and avoid doing
unnecessary work to compute the interpreter this pointer.
Also removed the unused isCallBytecode method.
- bytecode/BytecodeBasicBlock.cpp:
(JSC::BytecodeBasicBlock::computeImpl):
- bytecode/BytecodeDumper.cpp:
(JSC::BytecodeDumper<Block>::printGetByIdOp):
(JSC::BytecodeDumper<Block>::printGetByIdCacheStatus):
(JSC::BytecodeDumper<Block>::dumpBytecode):
(JSC::BytecodeDumper<Block>::dumpBlock):
- bytecode/BytecodeLivenessAnalysis.cpp:
(JSC::BytecodeLivenessAnalysis::dumpResults):
- bytecode/BytecodeLivenessAnalysisInlines.h:
(JSC::BytecodeLivenessPropagation<DerivedAnalysis>::stepOverInstruction):
- bytecode/BytecodeRewriter.cpp:
(JSC::BytecodeRewriter::adjustJumpTargetsInFragment):
- bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::computeFromLLInt):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finishCreation):
(JSC::CodeBlock::propagateTransitions):
(JSC::CodeBlock::finalizeLLIntInlineCaches):
(JSC::CodeBlock::hasOpDebugForLineAndColumn):
(JSC::CodeBlock::usesOpcode):
(JSC::CodeBlock::valueProfileForBytecodeOffset):
(JSC::CodeBlock::arithProfileForPC):
(JSC::CodeBlock::insertBasicBlockBoundariesForControlFlowProfiler):
- bytecode/PreciseJumpTargets.cpp:
(JSC::getJumpTargetsForBytecodeOffset):
(JSC::computePreciseJumpTargetsInternal):
(JSC::findJumpTargetsForBytecodeOffset):
- bytecode/PreciseJumpTargetsInlines.h:
(JSC::extractStoredJumpTargetsForBytecodeOffset):
- bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedCodeBlock::applyModification):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit):
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- interpreter/Interpreter.cpp:
(JSC::Interpreter::Interpreter):
(JSC::Interpreter::isOpcode):
(): Deleted.
- interpreter/Interpreter.h:
(JSC::Interpreter::getOpcode): Deleted.
(JSC::Interpreter::getOpcodeID): Deleted.
(JSC::Interpreter::isCallBytecode): Deleted.
- interpreter/InterpreterInlines.h:
(JSC::Interpreter::getOpcode):
(JSC::Interpreter::getOpcodeID):
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
- jit/JITOpcodes.cpp:
(JSC::JIT::emitNewFuncCommon):
(JSC::JIT::emitNewFuncExprCommon):
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emitSlow_op_put_by_val):
(JSC::JIT::privateCompilePutByVal):
- jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emitSlow_op_put_by_val):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::llint_trace_operand):
(JSC::LLInt::llint_trace_value):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- profiler/ProfilerBytecodeSequence.cpp:
(JSC::Profiler::BytecodeSequence::BytecodeSequence):
- 1:48 PM Changeset in webkit [218411] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, rolling out r218402 and r218404.
https://bugs.webkit.org/show_bug.cgi?id=173494
Seems to have mysteriously broken the build in bizarre ways
(Requested by thorton on #webkit).
Reverted changesets:
"Include a few widespread WTF headers in WebCorePrefix.h"
https://bugs.webkit.org/show_bug.cgi?id=173481
http://trac.webkit.org/changeset/218402
"Fix the Windows build after r218402"
http://trac.webkit.org/changeset/218404
- 1:41 PM Changeset in webkit [218410] by
-
- 3 edits in trunk/LayoutTests
Adjusted test expectations for media/track/track-in-band-cues-added-once.html.
https://bugs.webkit.org/show_bug.cgi?id=142152
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 1:34 PM Changeset in webkit [218409] by
-
- 4 edits in trunk
REGRESSION (r218015) IconLoaders for already-cached resources expect to be asynchronous, no longer are.
<rdar://problem/32817519> and https://bugs.webkit.org/show_bug.cgi?id=173478
Reviewed by Daniel Bates.
Source/WebCore:
Covered by API test.
Being synchronous is actually better as it's resolved another issue or two.
But only if we can actually deliver the data without crashing first.
So let's do that.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::didGetLoadDecisionForIcon): Put the IconLoader in the set of active icon loaders
before actually starting the icon loading.
Tools:
- TestWebKitAPI/Tests/WebKit2Cocoa/IconLoadingDelegate.mm:
- 1:24 PM Changeset in webkit [218408] by
-
- 9 edits2 copies3 adds in trunk/LayoutTests
Make some WebRTC tests easier to debug when failing
https://bugs.webkit.org/show_bug.cgi?id=173480
Patch by Youenn Fablet <youenn@apple.com> on 2017-06-16
Reviewed by Eric Carlson.
- webrtc/captureCanvas-webrtc-expected.txt:
- webrtc/captureCanvas-webrtc.html: Splitting test in smaller tests.
- webrtc/datachannel/basic-expected.txt:
- webrtc/datachannel/basic-tcp-expected.txt: Added.
- webrtc/datachannel/basic-tcp.html: Test from basic.html
- webrtc/datachannel/basic.html: Moving TCP specifict test and other creation tests to their own files.
- webrtc/datachannel/bufferedAmountLowThreshold.html: Removing console log message in case of unhandled promise.
- webrtc/datachannel/creation-expected.txt:
- webrtc/datachannel/creation.html: Test from basic.html
- webrtc/datachannel/filter-ice-candidate-expected.txt:
- webrtc/datachannel/filter-ice-candidate.html: Exchanging the tests.
- webrtc/video-stats.html: Improving test that timestamp is milliseconds and not microseconds.
- 1:22 PM Changeset in webkit [218407] by
-
- 3 edits in trunk/Source/WebCore
Don't use WebCore Timer from code that runs in the UI process.
https://bugs.webkit.org/show_bug.cgi?id=173460
rdar://problem/32750731
Patch by Jeremy Jones <jeremyj@apple.com> on 2017-06-16
Reviewed by Jer Noble.
If a WebCore Timer is fired from the WebKit2 UI process, it will
create a web thread, which can cause a crash in this instance.
It was also causing the timer to be called back on the wrong thread.
- platform/ios/WebVideoFullscreenInterfaceAVKit.h:
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::WebVideoFullscreenInterfaceAVKit):
- 1:09 PM Changeset in webkit [218406] by
-
- 2 edits in trunk/Tools
DRT fails to reset page visibility between tests
https://bugs.webkit.org/show_bug.cgi?id=173485
Reviewed by Alexey Proskuryakov.
DRT fails to reset page visibility between tests and relies on tests calling testRunner.resetPageVisibility().
Fix this to address flakiness.
I confirmed this by commenting out the call to testRunner.resetPageVisibility() in
fast/events/page-visibility-onvisibilitychange.html and running the test in a loop.
The test became flaky without the DRT change and was no longer flaky with the DRT
change.
WebKitTestRunner already does this.
- DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentStateBeforeTesting):
- 12:55 PM Changeset in webkit [218405] by
-
- 3 edits in trunk/Source/WebKit2
[WK2][iOS][macOS] Extend the sandbox to allow reading of AVFoundation's VideoPerformanceHUD preference
https://bugs.webkit.org/show_bug.cgi?id=173476
<rdar://problem/31594568>
Reviewed by Alex Christensen.
Update the sandbox to permit WebContent process to read the AVFoundation preferences for the performance HUD.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- WebProcess/com.apple.WebProcess.sb.in:
- 12:51 PM Changeset in webkit [218404] by
-
- 2 edits in trunk/Source/WebCore
Fix the Windows build after r218402
- WebCorePrefix.h:
I typed #import instead of #include on auto-pilot, and ... it mostly worked!
Except Windows.
- 12:48 PM Changeset in webkit [218403] by
-
- 2 edits in trunk/Source/WebCore
Hide inline captions in fullscreen. Remove fullscreen captions when no longer needed.
https://bugs.webkit.org/show_bug.cgi?id=173482
Patch by Jeremy Jones <jeremyj@apple.com> on 2017-06-16
Reviewed by Eric Carlson.
Hide the inline captions while they are presenting to fullscreen.
Remove the text track representation as soon as it is no longer needed.
This allows the text track to render properly when returning to inline.
- html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::updateTextTrackRepresentation):
- 12:44 PM Changeset in webkit [218402] by
-
- 2 edits in trunk/Source/WebCore
Include a few widespread WTF headers in WebCorePrefix.h
https://bugs.webkit.org/show_bug.cgi?id=173481
Reviewed by Alex Christensen.
- WebCorePrefix.h:
These are four of the headers that contribute the most pre-processed
source to the WebCore build. They (and their dependents) change infrequently
enough that a world rebuild of WebCore when they change seems like an
acceptable tradeoff for the ~9% reduction in WebCore build time that I
measure from this change.
- 12:20 PM Changeset in webkit [218401] by
-
- 2 edits in trunk/Tools
Implement basic authentication in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=173443
Reviewed by Tim Horton.
- MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController webView:didReceiveAuthenticationChallenge:completionHandler:]):
- 11:55 AM Changeset in webkit [218400] by
-
- 7 edits2 adds in trunk
REGRESSION: AirPlay placard is not shown when in fullscreen
https://bugs.webkit.org/show_bug.cgi?id=173447
<rdar://problem/32803773>
Patch by Antoine Quint <Antoine Quint> on 2017-06-16
Reviewed by Jon Lee.
Source/WebCore:
We only allowed a placard to be set on inline controls, but that was an oversight: placards
should be displayed in fullscreen as well. As such, we move the "placard" property up from
InlineMediaControls to MediaControls, and update the layout() logic in MacOSFullscreenMediaControls
to display a placard.
Test: media/modern-media-controls/placard-support/placard-support-airplay-fullscreen.html
- Modules/modern-media-controls/controls/inline-media-controls.js:
(InlineMediaControls):
(InlineMediaControls.prototype.layout):
(InlineMediaControls.prototype.get placard): Deleted.
(InlineMediaControls.prototype.set placard): Deleted.
- Modules/modern-media-controls/controls/macos-fullscreen-media-controls.js:
(MacOSFullscreenMediaControls.prototype.layout):
- Modules/modern-media-controls/controls/media-controls.js:
(MediaControls.prototype.get placard):
(MediaControls.prototype.set placard):
(MediaControls.prototype.placardPreventsControlsBarDisplay):
(MediaControls.prototype.layout):
- Modules/modern-media-controls/media/placard-support.js:
(PlacardSupport.prototype._updatePlacard):
(PlacardSupport):
LayoutTests:
Add a new test to check that we display the AirPlay placard on macOS in fullscreen.
- media/modern-media-controls/placard-support/placard-support-airplay-fullscreen-expected.txt: Added.
- media/modern-media-controls/placard-support/placard-support-airplay-fullscreen.html: Added.
- platform/ios-simulator/TestExpectations:
- 11:46 AM Changeset in webkit [218399] by
-
- 14 edits2 adds in trunk
[WebRTC] Removing a MediaStreamTrack from a MediaStream reports no recording to WebKit clients
https://bugs.webkit.org/show_bug.cgi?id=173398
<rdar://problem/32592961>
Reviewed by Eric Carlson.
Source/WebCore:
API Test: Tests/WebKit2/MediaStreamTrackDetached.mm
Move the definition of a MediaStream as a MediaProducer from the stream itself to its constituent
MediaStreamTracks. This ensures that, even if a MediaStreamTrack is removed from its stream, the
document (and thus the clients) are notified that media capture is still occurring.
Though MediaStream is no longer a MediaProducer, it still uses the MediaProducer's state concept
to determine when to fire events. However it's mediaState() implementation will be moved into
MediaStreamTrack, and will instead simply bitwise-or together each of it's track's mediaState().
The MediaStream notifies the document that its state has changed asynchronously, so do the same
for MediaStreamTrack (which reduces the number of calls to the client when changes all occur
during a single run loop).
Because the MediaStreamTrackPrivate may be started externally (not by the MediaStreamTrack directly),
add a new client method that notifies observers when the track has been started, and the
MediaStreamTrack will use this notification to update the document with it's new mediaState().
- Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::MediaStream):
(WebCore::MediaStream::~MediaStream):
(WebCore::MediaStream::mediaState):
(WebCore::MediaStream::statusDidChange):
(WebCore::MediaStream::characteristicsChanged):
(WebCore::MediaStream::pageMutedStateDidChange): Deleted.
- Modules/mediastream/MediaStream.h:
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::MediaStreamTrack):
(WebCore::MediaStreamTrack::~MediaStreamTrack):
(WebCore::MediaStreamTrack::pageMutedStateDidChange):
(WebCore::MediaStreamTrack::mediaState):
(WebCore::MediaStreamTrack::trackStarted):
(WebCore::MediaStreamTrack::configureTrackRendering):
(WebCore::MediaStreamTrack::stop):
(WebCore::MediaStreamTrack::document):
- Modules/mediastream/MediaStreamTrack.h:
(WebCore::MediaStreamTrack::source):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
- platform/mediastream/MediaStreamPrivate.cpp:
(WebCore::MediaStreamPrivate::trackStarted):
- platform/mediastream/MediaStreamPrivate.h:
- platform/mediastream/MediaStreamTrackPrivate.cpp:
(WebCore::MediaStreamTrackPrivate::sourceStarted):
- platform/mediastream/MediaStreamTrackPrivate.h:
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::start):
- platform/mediastream/RealtimeMediaSource.h:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2/MediaStreamTrackDetached.mm: Added.
(-[MediaStreamTrackDetachedUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
(-[MediaStreamTrackDetachedUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
(-[MediaStreamTrackDetachedUIDelegate _webView:mediaCaptureStateDidChange:]):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit2/mediastreamtrack-detached.html: Added.
- 10:42 AM Changeset in webkit [218398] by
-
- 5 edits3 adds in trunk
Backdrop blur missing in media controls bar on Sierra
https://bugs.webkit.org/show_bug.cgi?id=173451
Patch by Antoine Quint <Antoine Quint> on 2017-06-16
Reviewed by Simon Fraser.
Source/WebCore:
On Sierra, we need to enforce a stacking context on controls bars to guarantee that
the backdrop filters on the BackgroundTint are applied correctly.
Test: media/modern-media-controls/controls-bar/controls-bar-stacking-context.html
- Modules/modern-media-controls/controls/controls-bar.css:
(.controls-bar):
LayoutTests:
Add a new test that checks that a ControlsBar establishes a stacking context.
- media/modern-media-controls/controls-bar/controls-bar-stacking-context-expected.txt: Added.
- media/modern-media-controls/controls-bar/controls-bar-stacking-context.html: Added.
- platform/ios-simulator/TestExpectations:
- platform/mac/TestExpectations:
- 10:40 AM Changeset in webkit [218397] by
-
- 14 edits2 deletes in trunk
Unreviewed, rolling out r218375.
The API test MediaStreamTrackDetached is still timing out
after the patch
Reverted changeset:
"[WebRTC] Removing a MediaStreamTrack from a MediaStream
reports no recording to WebKit clients"
https://bugs.webkit.org/show_bug.cgi?id=173398
http://trac.webkit.org/changeset/218375
- 10:20 AM Changeset in webkit [218396] by
-
- 3 edits in trunk/Source/WebCore
REGRESSION: Media control glyphs appear to invert colors when video is dragged
https://bugs.webkit.org/show_bug.cgi?id=173455
rdar://problem/32726887
Reviewed by Tim Horton.
Masks on composited layers were not correctly painted in drag images, because RenderLayer::paintLayerContents()
failed to pass the PaintBehaviorFlattenCompositingLayers flag down through the mask drawing code, causing
RenderBox::paintMaskImages() to fall into the composited mask code path.
Fix by making a local copy of PaintBehavior, and setting the PaintBehaviorFlattenCompositingLayers and PaintBehaviorSnapshotting
bits on it as appropriate, and passing it into paintMaskForFragments() and paintChildClippingMaskForFragments(). This is similar
to code above.
Can't test drag images.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::paintChildClippingMaskForFragments):
- rendering/RenderLayer.h:
- 9:47 AM Changeset in webkit [218395] by
-
- 21 edits7 deletes in trunk
Unreviewed, rolling out r218376.
The patch cause multiple Layout Test Crashes.
Reverted changeset:
"Web Inspector: Instrument 2D/WebGL canvas contexts in the
backend"
https://bugs.webkit.org/show_bug.cgi?id=172623
http://trac.webkit.org/changeset/218376
- 9:34 AM Changeset in webkit [218394] by
-
- 2 edits in trunk/LayoutTests
[GTK] Layout Test fast/events/tabindex-focus-blur-all.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=145171
Unreviewed gardening.
Recently, this test case results in flaky crash, no flaky timeout.
Patch by Fujii Hironori <Fujii Hironori> on 2017-06-16
- platform/gtk/TestExpectations: Marked it Crash Pass.
- 9:12 AM Changeset in webkit [218393] by
-
- 14 edits in trunk/Source
Use the term icon instead of favicon
https://bugs.webkit.org/show_bug.cgi?id=173400
Patch by Daniel Bates <dabates@apple.com> on 2017-06-16
Reviewed by Alex Christensen.
Source/WebCore:
- inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::cachedResourceContent):
(WebCore::InspectorPageAgent::cachedResourceType):
- loader/LinkLoader.cpp:
(WebCore::createLinkPreloadResourceClient):
- loader/ResourceLoadInfo.cpp:
(WebCore::toResourceType):
- loader/SubresourceLoader.cpp:
(WebCore::logResourceLoaded):
- loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::CachedRawResource):
- loader/cache/CachedRawResource.h:
(isType):
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::defaultPriorityForResourceType):
- loader/cache/CachedResource.h:
(WebCore::CachedResource::isMainOrMediaOrIconOrRawResource):
(WebCore::CachedResource::ignoreForRequestCount):
(WebCore::CachedResource::isMainOrMediaOrFaviconOrRawResource): Deleted.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::createResource):
(WebCore::CachedResourceLoader::requestIcon):
(WebCore::contentTypeFromResourceType):
(WebCore::CachedResourceLoader::checkInsecureContent):
(WebCore::CachedResourceLoader::allowedByContentSecurityPolicy):
(WebCore::CachedResourceLoader::determineRevalidationPolicy):
(WebCore::CachedResourceLoader::requestFavicon): Deleted.
- loader/cache/CachedResourceLoader.h:
- loader/icon/IconLoader.cpp:
(WebCore::IconLoader::startLoading):
Source/WebKit2:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::maximumBufferingTime):
- 9:08 AM Changeset in webkit [218392] by
-
- 2 edits in trunk/Source/JavaScriptCore
REGRESSION(r166799): LogsPageMessagesToSystemConsoleEnabled corrupts non-ASCII characters
https://bugs.webkit.org/show_bug.cgi?id=173470
Reviewed by Joseph Pecoraro.
ConsoleClient::printConsoleMessageWithArguments() incorrectly uses
const char* overload of StringBuilder::append() that assummes Latin1
encoding, not UTF8.
- runtime/ConsoleClient.cpp:
(JSC::ConsoleClient::printConsoleMessageWithArguments):
- 8:34 AM Changeset in webkit [218391] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r215188?): Test platform/gtk/fast/forms/menulist-typeahead-find.html is failing
https://bugs.webkit.org/show_bug.cgi?id=171492
Unreviewed gardening.
- platform/gtk/TestExpectations: The fixes needed for the test to pass
have landed, so the test can be unskipped.
- 7:35 AM Changeset in webkit [218390] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
Updated Spanish translation for WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=173465
Patch by Daniel Mustieles <daniel.mustieles@gmail.com> on 2017-06-16
Rubber-stamped by Michael Catanzaro.
- es.po:
- 7:17 AM Changeset in webkit [218389] by
-
- 3 edits1 delete in trunk/Source/WebKit2
[GTK][WPE] Remove WKCookieManagerSoup
https://bugs.webkit.org/show_bug.cgi?id=173467
Reviewed by Michael Catanzaro.
It's unused.
- PlatformGTK.cmake:
- PlatformWPE.cmake:
- UIProcess/API/C/soup/WKCookieManagerSoup.cpp: Removed.
- UIProcess/API/C/soup/WKCookieManagerSoup.h: Removed.
- 7:16 AM Changeset in webkit [218388] by
-
- 3 edits in trunk/Source/WebCore
WebKit does not honor closed caption stroke width.
https://bugs.webkit.org/show_bug.cgi?id=173402
Reviewed by Eric Carlson.
WebKit currently has an upper limit on the stroke width returned from MACaptionAppearanceCopyFontDescriptorWithStrokeForStyle.
Since only half the stroke is visible because the stroke is drawn before the fill, double the stroke width from
MediaAccessibility to get the correct visual stroke width. Also, the stroke width returned from this function should not be
interpreted as CSS points, but as CSS pixels.
- html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::updateTextStrokeStyle):
- page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::captionStrokeWidthForFont):
- 4:24 AM Changeset in webkit [218387] by
-
- 2 edits in trunk/LayoutTests
[GTK] Layout Test fast/canvas/webgl/tex-image-and-sub-image-2d-with-video.html makes the subsequent test case flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=173459
Unreviewed gardening.
Patch by Fujii Hironori <Fujii Hironori> on 2017-06-16
- platform/gtk/TestExpectations: Marked it Skip.
- 3:13 AM Changeset in webkit [218386] by
-
- 4 edits in trunk/Source/WebKit2
Unreviewed. Remove wrong headers check from some GTK+ API files.
Remove the WEBKIT_WEB_EXTENSION_H_INSIDE check since these are not actually shared.
- UIProcess/API/gtk/WebKitEditorState.h:
- UIProcess/API/gtk/WebKitOptionMenu.h:
- UIProcess/API/gtk/WebKitPrintCustomWidget.h:
- 3:03 AM Changeset in webkit [218385] by
-
- 2 edits in trunk/LayoutTests
[WPE] fast/animation gardening
Unreviewed gardening.
fast/animation tests are flaky, report and mark.
fast/animation/height-auto-transition-computed-value.html is not really failing, unmark.
storage/domstorage/sessionstorage/set-item-synchronous-keydown.html
depends on event injection in WTR that is not implemented in WPE
yet, reported and marked as failing.
- platform/wpe/TestExpectations:
- 12:36 AM Changeset in webkit [218384] by
-
- 2 edits in trunk/Source/WebCore
[Win] WebKit renders scrollbar wrong at 125% scale.
https://bugs.webkit.org/show_bug.cgi?id=173363
Reviewed by Darin Adler.
Scrollbars are drawn with the GDI function DrawThemeBackground. Sometimes, the GDI clip
rectangle will be too small since we clamp a FloatRect to integer values when setting the
GDI clip rectangle.
- platform/graphics/win/GraphicsContextWin.cpp:
(WebCore::GraphicsContextPlatformPrivate::clip):