Timeline



Mar 10, 2019:

11:20 PM Changeset in webkit [242699] by Ross Kirsling
  • 25 edits
    2 adds
    1 delete in trunk

Invalid flags in a RegExp literal should be an early SyntaxError
https://bugs.webkit.org/show_bug.cgi?id=195514

Reviewed by Darin Adler.

JSTests:

  • test262/expectations.yaml:

Mark 4 test cases as passing.

  • stress/regexp-syntax-error-invalid-flags.js:
  • stress/regress-161995.js: Removed.

Update existing test, merging in an older test for the same behavior.

Source/JavaScriptCore:

Currently we're throwing a *runtime* SyntaxError; this should occur at parse time.

12.2.8.1 Static Semantics: Early Errors

PrimaryExpression : RegularExpressionLiteral

  • It is a Syntax Error if BodyText of RegularExpressionLiteral cannot be recognized using the goal symbol Pattern of the ECMAScript RegExp grammar specified in 21.2.1.
  • It is a Syntax Error if FlagText of RegularExpressionLiteral contains any code points other than "g", "i", "m", "s", "u", or "y", or if it contains the same code point more than once.

In fixing this, let's also move flag handling from runtime/ to yarr/.

  • yarr/YarrSyntaxChecker.cpp:

(JSC::Yarr::checkSyntax):
Check flags before checking pattern.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • bytecompiler/NodesCodegen.cpp:

(JSC::RegExpNode::emitBytecode):

  • inspector/ContentSearchUtilities.cpp:

(Inspector::ContentSearchUtilities::findMagicComment):

  • runtime/CachedTypes.cpp:
  • runtime/RegExp.cpp:

(JSC::RegExp::RegExp):
(JSC::RegExp::createWithoutCaching):
(JSC::RegExp::create):
(JSC::regExpFlags): Deleted.

  • runtime/RegExp.h:
  • runtime/RegExpCache.cpp:

(JSC::RegExpCache::lookupOrCreate):
(JSC::RegExpCache::ensureEmptyRegExpSlow):

  • runtime/RegExpCache.h:
  • runtime/RegExpConstructor.cpp:

(JSC::toFlags):
(JSC::regExpCreate):
(JSC::constructRegExp):

  • runtime/RegExpKey.h:

(JSC::RegExpKey::RegExpKey):
(WTF::HashTraits<JSC::RegExpKey>::constructDeletedValue):
(WTF::HashTraits<JSC::RegExpKey>::isDeletedValue):
(): Deleted.

  • runtime/RegExpPrototype.cpp:

(JSC::regExpProtoFuncCompile):

  • testRegExp.cpp:

(parseRegExpLine):

  • yarr/RegularExpression.cpp:

(JSC::Yarr::RegularExpression::Private::compile):

  • yarr/YarrFlags.cpp: Added.

(JSC::Yarr::parseFlags):

  • yarr/YarrFlags.h: Added.
  • yarr/YarrInterpreter.h:

(JSC::Yarr::BytecodePattern::ignoreCase const):
(JSC::Yarr::BytecodePattern::multiline const):
(JSC::Yarr::BytecodePattern::sticky const):
(JSC::Yarr::BytecodePattern::unicode const):
(JSC::Yarr::BytecodePattern::dotAll const):

  • yarr/YarrPattern.cpp:

(JSC::Yarr::YarrPattern::compile):
(JSC::Yarr::YarrPattern::YarrPattern):
(JSC::Yarr::YarrPattern::dumpPattern):

  • yarr/YarrPattern.h:

(JSC::Yarr::YarrPattern::global const):
(JSC::Yarr::YarrPattern::ignoreCase const):
(JSC::Yarr::YarrPattern::multiline const):
(JSC::Yarr::YarrPattern::sticky const):
(JSC::Yarr::YarrPattern::unicode const):
(JSC::Yarr::YarrPattern::dotAll const):
Move flag handling to Yarr and modernize API.

Source/WebCore:

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneDeserializer::readTerminal):
Consume YarrFlags.

11:04 PM Changeset in webkit [242698] by commit-queue@webkit.org
  • 23 edits in trunk

Add a WKContentRuleList variant that uses copied memory instead of mmap'd shared memory for class A containerized apps
https://bugs.webkit.org/show_bug.cgi?id=195511
<rdar://problem/44873269>

Patch by Alex Christensen <achristensen@webkit.org> on 2019-03-10
Reviewed by Darin Adler.

Source/WebKit:

  • NetworkProcess/NetworkContentRuleListManager.cpp:

(WebKit::NetworkContentRuleListManager::addContentRuleLists):

  • NetworkProcess/NetworkContentRuleListManager.h:
  • NetworkProcess/cache/NetworkCacheFileSystem.cpp:

(WebKit::NetworkCache::pathRegisteredAsUnsafeToMemoryMapForTesting):
(WebKit::NetworkCache::registerPathAsUnsafeToMemoryMapForTesting):
(WebKit::NetworkCache::isSafeToUseMemoryMapForPath):

  • NetworkProcess/cache/NetworkCacheFileSystem.h:
  • Shared/WebCompiledContentRuleList.cpp:

(WebKit::WebCompiledContentRuleList::usesCopiedMemory const):
(WebKit::WebCompiledContentRuleList::conditionsApplyOnlyToDomain const):
(WebKit::WebCompiledContentRuleList::filtersWithoutConditionsBytecode const):
(WebKit::WebCompiledContentRuleList::filtersWithConditionsBytecode const):
(WebKit::WebCompiledContentRuleList::topURLFiltersBytecode const):
(WebKit::WebCompiledContentRuleList::actions const):

  • Shared/WebCompiledContentRuleList.h:
  • Shared/WebCompiledContentRuleListData.cpp:

(WebKit::WebCompiledContentRuleListData::size const):
(WebKit::WebCompiledContentRuleListData::dataPointer const):
(WebKit::WebCompiledContentRuleListData::encode const):
(WebKit::WebCompiledContentRuleListData::decode):

  • Shared/WebCompiledContentRuleListData.h:

(WebKit::WebCompiledContentRuleListData::WebCompiledContentRuleListData):

  • UIProcess/API/APIContentRuleList.cpp:

(API::ContentRuleList::usesCopiedMemory const):

  • UIProcess/API/APIContentRuleList.h:
  • UIProcess/API/APIContentRuleListStore.cpp:

(API::getData):
(API::decodeContentRuleListMetaData):
(API::ContentRuleListStore::readContentsOfFile):
(API::MappedOrCopiedData::dataPointer const):
(API::openAndMapOrCopyContentRuleList):
(API::compiledToFile):
(API::createExtension):
(API::ContentRuleListStore::lookupContentRuleList):
(API::ContentRuleListStore::compileContentRuleList):
(API::ContentRuleListStore::getContentRuleListSource):
(API::openAndMapContentRuleList): Deleted.

  • UIProcess/API/APIContentRuleListStore.h:
  • UIProcess/API/Cocoa/APIContentRuleListStoreCocoa.mm:

(API::ContentRuleListStore::readContentsOfFile):

  • UIProcess/API/Cocoa/WKContentRuleListStore.mm:

(+[WKContentRuleListStore _registerPathAsUnsafeToMemoryMapForTesting:]):

  • UIProcess/API/Cocoa/WKContentRuleListStorePrivate.h:
  • UIProcess/API/Cocoa/_WKUserContentFilter.mm:

(-[_WKUserContentFilter usesCopiedMemory]):

  • UIProcess/API/Cocoa/_WKUserContentFilterPrivate.h:
  • WebProcess/UserContent/WebUserContentController.cpp:

(WebKit::WebUserContentController::addContentRuleLists):

  • WebProcess/UserContent/WebUserContentController.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_hostFileDescriptor):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WKContentExtensionStore.mm:

(-[TestSchemeHandlerSubresourceShouldBeBlocked webView:startURLSchemeTask:]):
(-[TestSchemeHandlerSubresourceShouldBeBlocked webView:stopURLSchemeTask:]):
(TEST_F):

8:41 PM Changeset in webkit [242697] by jiewen_tan@apple.com
  • 10 edits in trunk/Source/WebKit

Optimizing loads when creating new pages
https://bugs.webkit.org/show_bug.cgi?id=195516
<rdar://problem/48738086>

Reviewed by Darin Adler.

This patch adds hooks in WebPageProxy::createNewPage to optimize loads, and moves the creationParameters
of API::NavigationAction from UI clients to WebPageProxy::createNewPage. Also, we now pass the whole
API::NavigationAction to the load optimizer instead of the request within.

  • UIProcess/API/APINavigationAction.h:
  • UIProcess/API/APIUIClient.h:

(API::UIClient::createNewPage):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

  • UIProcess/API/glib/WebKitUIClient.cpp:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::tryOptimizingLoad):
(WebKit::tryInterceptNavigation):
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):

  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::UIClient::createNewPage):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::tryOptimizingLoad):
(WebKit::WebPageProxy::createNewPage):

  • UIProcess/WebPageProxy.h:
8:32 PM Changeset in webkit [242696] by timothy_horton@apple.com
  • 24 edits
    7 adds in trunk

Add SPI to retrieve the set of text inputs in a given rect, and later focus one
https://bugs.webkit.org/show_bug.cgi?id=195499

Reviewed by Darin Adler.

Source/WebCore:

New API tests: WebKit.RequestTextInputContext and WebKit.FocusTextInputContext

  • WebCore.xcodeproj/project.pbxproj:
  • dom/Document.cpp:

(WebCore::Document::identifierForElement):
(WebCore::Document::elementWithIdentifier):
(WebCore::Document::identifiedElementWasRemovedFromDocument):

  • dom/Document.h:

Add a mechanism where Document will vend an ObjectIdentifier for a given
element, and can (if possible) retrieve that element later.

  • dom/Element.cpp:

(WebCore::Element::removedFromAncestor):
If an Element has an identifier created for it, inform Document to remove
it from the identifier map when the element is detached.

(WebCore::Element::createElementIdentifier):

  • dom/Element.h:
  • dom/ElementIdentifier.h: Added.
  • dom/ElementRareData.cpp:
  • dom/ElementRareData.h:

(WebCore::ElementRareData::hasElementIdentifier const):
(WebCore::ElementRareData::setHasElementIdentifier):
(WebCore::ElementRareData::ElementRareData):
Store a bit indicating if the Element has had a identifier created for it,
so that we can avoid a hash lookup on every Element removal.

  • dom/Node.h:
  • html/HTMLTextFormControlElement.h:

Source/WebKit:

  • Scripts/webkit/messages.py:
  • Shared/TextInputContext.cpp: Added.

(IPC::ArgumentCoder<WebKit::TextInputContext>::encode):
(IPC::ArgumentCoder<WebKit::TextInputContext>::decode):

  • Shared/TextInputContext.h: Added.

(WebKit::TextInputContext::operator== const):
Add TextInputContext, which represents a minimal set of information
about a text field.

  • Sources.txt:
  • SourcesCocoa.txt:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _requestTextInputContextsInRect:completionHandler:]):
(-[WKWebView _focusTextInputContext:completionHandler:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

Add SPI that allows clients to asynchronously request text input
contexts for a given rect, and later focus a given context.

  • UIProcess/API/Cocoa/_WKTextInputContext.h: Added.
  • UIProcess/API/Cocoa/_WKTextInputContext.mm: Added.

(-[_WKTextInputContext _initWithTextInputContext:]):
(-[_WKTextInputContext boundingRect]):
(-[_WKTextInputContext _textInputContext]):
(-[_WKTextInputContext isEqual:]):
(-[_WKTextInputContext hash]):
(-[_WKTextInputContext copyWithZone:]):

  • UIProcess/API/Cocoa/_WKTextInputContextInternal.h: Added.

Add an SPI object that exposes a read-only window on a TextInputContext to clients.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::textInputContextsInRect):
(WebKit::WebPageProxy::focusTextInputContext):

  • UIProcess/WebPageProxy.h:

Plumbing from WKWebView<->WebPage.

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::elementRectInWindowCoordinates):
(WebKit::isEditableTextInputElement):
(WebKit::WebPage::textInputContextsInRect):
Search the DOM for text input contexts: <input type='text'> (or other
form fields that fall back on text field behavior), <textarea>, and
contenteditable roots. Store the WebPage, Document, and Element identifiers
so that we can find the element again later.

(WebKit::WebPage::focusTextInputContext):
Find the element for a given (web page, document, element) triple and focus it,
if it's still available.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm: Added.

(-[WKWebView synchronouslyRequestTextInputContextsInRect:]):
(-[WKWebView synchronouslyFocusTextInputContext:]):
(applyStyle):
(applyIframe):
(TEST):
Add some tests for this SPI.

7:54 PM Changeset in webkit [242695] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit

iOS: Using ⌥ to scroll horizontally is no different than arrow key
https://bugs.webkit.org/show_bug.cgi?id=195268
<rdar://problem/48326682>

Reviewed by Brent Fulgham.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView keyboardScrollViewAnimator:distanceForIncrement:inDirection:]):
(-[WKContentView keyboardScrollViewAnimator:distanceForIncrement:]): Deleted.

  • UIProcess/ios/WKKeyboardScrollingAnimator.h:
  • UIProcess/ios/WKKeyboardScrollingAnimator.mm:

(-[WKKeyboardScrollingAnimator keyboardScrollForEvent:]):
(-[WKKeyboardScrollViewAnimator setDelegate:]):
(-[WKKeyboardScrollViewAnimator distanceForIncrement:inDirection:]):
(-[WKKeyboardScrollViewAnimator distanceForIncrement:]): Deleted.
Add a direction parameter to -distanceForIncrement:, so the client
can return a different page/document size based on the scrolling axis.
Adopt it both in the default implementation and in WKContentViewInteraction.
Make the option key scroll by page when scrolling horizontally, like it
does when scrolling vertically.

7:36 PM Changeset in webkit [242694] by Fujii Hironori
  • 8 edits in trunk

[WTF] Align assumption in RunLoopWin to the other platform's RunLoop
https://bugs.webkit.org/show_bug.cgi?id=181151

Source/WTF:

Reviewed by Don Olmstead.

This patch fixes RunLoop in Windows to align it to the implementations in the other platforms
to use RunLoop more aggressively.

  • wtf/RunLoop.h:

(WTF::RunLoop::Timer::Timer):

  • wtf/win/MainThreadWin.cpp:

(initializeMainThreadPlatform): Call RunLoop::registerRunLoopMessageWindowClass.

  • wtf/win/RunLoopWin.cpp:

(WTF::RunLoop::wndProc):
(WTF::RunLoop::iterate):
(WTF::RunLoop::stop):
PostQuitMessage is only available in the RunLoop's thread. We should post a message and call
it inside this task.

(WTF::RunLoop::registerRunLoopMessageWindowClass):
Changed the return type from bool to void, and added RELEASE_ASSERT to check the return value of RegisterClass.

(WTF::RunLoop::~RunLoop):
When the RunLoop's thread is freed, its associated window is freed. We do not need to do here.

(WTF::RunLoop::TimerBase::timerFired):
(WTF::RunLoop::TimerBase::TimerBase):
(WTF::RunLoop::TimerBase::start):
(WTF::RunLoop::TimerBase::stop):
(WTF::RunLoop::TimerBase::isActive const):
(WTF::RunLoop::TimerBase::secondsUntilFire const):
(WTF::generateTimerID): Deleted.
We can use TimerBase's pointer as ID since it is uintptr_t.

Tools:

Patch by Yusuke Suzuki <Yusuke Suzuki> on 2019-03-10
Reviewed by Don Olmstead.

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/PlatformWin.cmake:

Enable TestWTF RunLoop tests in all platforms.

  • TestWebKitAPI/Tests/WTF/RunLoop.cpp:

(TestWebKitAPI::DerivedOneShotTimer::DerivedOneShotTimer):
(TestWebKitAPI::DerivedOneShotTimer::fired):
(TestWebKitAPI::TEST):
Only a few platforms support nested RunLoop.

(TestWebKitAPI::DerivedRepeatingTimer::DerivedRepeatingTimer):
(TestWebKitAPI::DerivedRepeatingTimer::fired):

7:33 PM SVG properties edited by Said Abou-Hallawa
(diff)
7:20 PM SVG properties edited by Said Abou-Hallawa
(diff)
5:27 PM Changeset in webkit [242693] by david_quesada@apple.com
  • 4 edits in trunk

ASSERT(m_downloads.isEmpty()) fails in DownloadProxyMap::~DownloadProxyMap()
https://bugs.webkit.org/show_bug.cgi?id=152480

Reviewed by Chris Dumez.

Source/WebKit:

  • UIProcess/Downloads/DownloadProxyMap.cpp:

(WebKit::DownloadProxyMap::downloadFinished):

If the DownloadProxy is holding the last reference to the process pool, then
invalidating the proxy will cause the process pool, the network process proxy,
and this DownloadProxyMap to deallocate. Ensure that doesn't happen until this
method has done everything it wants to do to clean up.

Tools:

Add a unit test based on Daniel Bates's test case that starts a download, ensures
there are no additional references to the process pool besides the one held by
the download, waits for the download to finish (in the sense that the
DownloadProxyMap is done tracking the DownloadProxy), and doesn't crash. For good
measure, also check that the process pool has been deallocated at the end of the
test. The test wouldn't be meaningful if the process pool were still alive.

  • TestWebKitAPI/Tests/WebKitCocoa/Download.mm:

(-[WaitUntilDownloadCanceledDelegate _downloadDidStart:]):
(-[WaitUntilDownloadCanceledDelegate _downloadDidCancel:]):

The download will be canceled because the delegate does not implement the
method to decide the download's destination, so this is where we know the
DownloadProxyMap is done with the DownloadProxy.

(TEST):

5:13 PM Changeset in webkit [242692] by bshafiei@apple.com
  • 7 edits in tags/Safari-608.1.8.1/Source

Versioning.

5:11 PM Changeset in webkit [242691] by bshafiei@apple.com
  • 1 copy in tags/Safari-608.1.8.1

New tag.

4:49 PM Changeset in webkit [242690] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

Fix some misleading function and variable names in WKContentViewInteraction.mm
https://bugs.webkit.org/show_bug.cgi?id=195536

Reviewed by Tim Horton.

  • UIProcess/ios/WKContentViewInteraction.mm:

(shouldDeferZoomingToSelectionWhenRevealingFocusedElement):

Rename shouldZoomToRevealSelectionRect to shouldDeferZoomingToSelectionWhenRevealingFocusedElement; this
function is used to determine whether we should zoom to the selection rect when revealing the focused element,
and therefore affects whether we need to defer zooming until we get selection information.

(rectToRevealWhenZoomingToFocusedElement):
(-[WKContentView _elementDidFocus:userIsInteracting:blurPreviousNode:changingActivityState:userObject:]):

Rename shouldShowKeyboard to shouldShowInputView; this boolean indicates whether we should show not only the
keyboard, but other UI for user input such as date and select pickers.

(-[WKContentView _didReceiveEditorStateUpdateAfterFocus]):
(shouldZoomToRevealSelectionRect): Deleted.

1:08 PM Changeset in webkit [242689] by Alan Bujtas
  • 8 edits in trunk

[ContentChangeObserver] Fix failing test cases
https://bugs.webkit.org/show_bug.cgi?id=195524
<rdar://problem/48745101>

Reviewed by Simon Fraser.

Source/WebCore:

  1. Do not start DOM timer install observation when we already detected change at touchstart.
  2. hasPendingActivity() should only care about ContentChangeObserver flags.
  3. Do not try to notify the client when we are in the mouseMoved dispatch call (currently it could happen

when a timer gets intalled and removed right away).

  • page/ios/ContentChangeObserver.cpp:

(WebCore::ContentChangeObserver::adjustObservedState):
(WebCore::ContentChangeObserver::isNotifyContentChangeAllowed const): Deleted.

  • page/ios/ContentChangeObserver.h:

(WebCore::ContentChangeObserver::hasPendingActivity const):
(WebCore::ContentChangeObserver::isObservationTimeWindowActive const):

LayoutTests:

They've been failing ever since the 32ms fixed time window was introduced.

  • fast/events/touch/ios/content-observation/click-instead-of-hover-simple.html:
  • fast/events/touch/ios/content-observation/stuck-with-hover-state.html:
11:10 AM Changeset in webkit [242688] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Mark two tests as failing after r242624
https://bugs.webkit.org/show_bug.cgi?id=195531

Unreviewed test gardening.

These tests are failing:
accessibility/mac/selection-notification-focus-change.html [ Failure ]
compositing/video/video-clip-change-src.html [ ImageOnlyFailure ]

  • platform/mac-wk2/TestExpectations:
11:03 AM Changeset in webkit [242687] by Simon Fraser
  • 25 edits in trunk/Source

ScrollingTree should have the final say on where layers go
https://bugs.webkit.org/show_bug.cgi?id=195507

Reviewed by Antti Koivisto.

Source/WebCore:

Main thread layer flushing can race with scrolling tree layer changes on macOS, causing
flashing as layers jump around sometimes. We go to some lengths to avoid this by trying
not to touch properties on layers that are being interacted with (scrollableArea->setIsUserScroll in
updateScrollPositionAfterAsyncScroll()), but that's fragile.

This patch adds ScrollingTree::applyScrollingTreeLayerPositions(), which enters
ScrollingTree::applyLayerPositions() on the main thread/UI process. This traverses
the tree allowing each node to run their layer positioning logic.

For macOS WK2, this is called from TiledCoreAnimationDrawingArea::flushLayers() after flushCompositingStateIncludingSubframes().
For macOS WK2 with UI-side compositing, RemoteLayerTreeDrawingAreaProxy::commitLayerTree()
calls m_webPageProxy.scrollingCoordinatorProxy()->applyScrollingTreeLayerPositions().
iOS WK2 is unchanged, using viewportChangedViaDelegatedScrolling() which does the same thing, allowing
for the dynamic viewport changes that happen when zooming on iOS.

Testing this requires infrastructure that we don't have yet.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::applyScrollingTreeLayerPositions):

  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::applyScrollingTreeLayerPositions):

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::handleWheelEvent):
(WebCore::ScrollingTree::commitTreeState):
(WebCore::ScrollingTree::applyLayerPositions):
(WebCore::ScrollingTree::applyLayerPositionsRecursive):

  • page/scrolling/ScrollingTree.h:
  • page/scrolling/ScrollingTreeFrameHostingNode.cpp:

(WebCore::ScrollingTreeFrameHostingNode::applyLayerPositions):

  • page/scrolling/ScrollingTreeFrameHostingNode.h:
  • page/scrolling/ScrollingTreeNode.h:
  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::applyLayerPositions):

  • page/scrolling/ScrollingTreeScrollingNode.h:
  • page/scrolling/cocoa/ScrollingTreeFixedNode.h:
  • page/scrolling/cocoa/ScrollingTreeFixedNode.mm:

(WebCore::ScrollingTreeFixedNode::relatedNodeScrollPositionDidChange):

  • page/scrolling/cocoa/ScrollingTreeStickyNode.h:
  • page/scrolling/cocoa/ScrollingTreeStickyNode.mm:

(WebCore::ScrollingTreeStickyNode::applyLayerPositions):
(WebCore::ScrollingTreeStickyNode::relatedNodeScrollPositionDidChange):

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::applyLayerPositions):

Source/WebKit:

  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):

  • UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::applyScrollingTreeLayerPositions):

  • UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::flushLayers):

10:13 AM Changeset in webkit [242686] by Darin Adler
  • 2 edits in trunk/Source/WebKit

[Cocoa] Code signing fails because services are copied into XPCServices after the framework is signed
https://bugs.webkit.org/show_bug.cgi?id=195523

Reviewed by Dan Bernstein.

  • WebKit.xcodeproj/project.pbxproj: Make symbolic links while building the WebKit

framework instead of copying in the services after the framework is built.

Mar 9, 2019:

11:20 PM SVG properties edited by Said Abou-Hallawa
(diff)
10:46 PM SVG properties edited by Said Abou-Hallawa
(diff)
9:52 PM Changeset in webkit [242685] by Simon Fraser
  • 2 edits in trunk/LayoutTests

[iOS Simulator] LayoutTest/scrollingcoordinator/ios/nested-fixed-layer-positions.html is flaky fail
https://bugs.webkit.org/show_bug.cgi?id=171628

Unreviewed test gardening.

I can't reproduce flakiness for this test. Let's see if it's fixed.

  • platform/ios-wk2/TestExpectations:
9:52 PM Changeset in webkit [242684] by Simon Fraser
  • 3 edits in trunk/LayoutTests

[ios-simulator WK2] LayoutTest scrollingcoordinator/ios/non-stable-viewport-scroll.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=168924

Unreviewed test gardening.

Let's try a new expectation for this test (it's non-flakey for me for 100 iterations).

  • platform/ios-wk2/TestExpectations:
  • scrollingcoordinator/ios/non-stable-viewport-scroll-expected.txt:
9:52 PM Changeset in webkit [242683] by Simon Fraser
  • 2 edits
    2 adds in trunk/LayoutTests

Add a test for scrolling tree adjustment of fixed layers (r242601)
https://bugs.webkit.org/show_bug.cgi?id=195521

Reviewed by Sam Weinig.

This test sets the "unstable" scrolling state (as if the user is actively scrolling) and scrolls,
then changes style to trigger a scrolling tree commit with a changed offset for a fixed layer.
The test shows the wrong fixed layer position before r242601.

Helpers are added to UIHelper to do the scroll, and to wrap setTimeout in an async function.
Sadly we have to wait about 120ms for the scrollbars to fade out.

  • resources/ui-helper.js:

(window.UIHelper.async.delayFor):
(window.UIHelper.async.immediateScrollTo):
(window.UIHelper.async.immediateUnstableScrollTo):

  • scrollingcoordinator/ios/ui-scroll-fixed-expected.html: Added.
  • scrollingcoordinator/ios/ui-scroll-fixed.html: Added.
9:43 PM Changeset in webkit [242682] by Wenson Hsieh
  • 3 edits
    2 adds in trunk

REGRESSION (r242551): Sporadic hangs when tapping to change selection on iOS
https://bugs.webkit.org/show_bug.cgi?id=195475
<rdar://problem/48721153>

Reviewed by Chris Dumez.

Source/WebKit:

r242551 refactored synchronous autocorrection context requests to send an async IPC message and then use
waitForAndDispatchImmediately, instead of calling sendSync. However, this exposes a couple of existing issues in
the implementation of waitForAndDispatchImmediately that causes sporadic IPC deadlocks when changing selection.

First, passing in InterruptWaitingIfSyncMessageArrives when synchronously waiting for an IPC message currently
does not fulfill its intended behavior of interrupting waiting when a sync message arrives. This is because sync
IPC messages, by default, may be dispatched while the receiver is waiting for a sync reply. This means that the
logic in Connection::SyncMessageState::processIncomingMessage to dispatch an incoming sync message on the main
thread will attempt to handle the incoming message by enqueueing it on the main thread, and then waking up the
client runloop (i.e. signaling m_waitForSyncReplySemaphore). This works in the case of sendSync since the sync
reply semaphore is used to block the main thread, but in the case of waitForAndDispatchImmediately, a different
m_waitForMessageCondition is used instead, so SyncMessageState::processIncomingMessage will only enqueue the
incoming sync message on the main thread, and not actually invoke it.

To fix this first issue, observe that there is pre-existing logic to enqueue the incoming message and signal
m_waitForMessageCondition in Connection::processIncomingMessage. This codepath is currently not taken because we
end up bailing early in the call to SyncMessageState::processIncomingMessage. Instead, we can move this early
return further down in the function, such that if there is an incoming sync message and we're waiting with the
InterruptWaitingIfSyncMessageArrives option, we will correctly enqueue the incoming message, wake the runloop,
and proceed to handle the incoming message.

The second issue is more subtle; consider the scenario in which we send a sync message A from the web process to
the UI process, and simultaneously, in the UI process, we schedule some work to be done on the main thread.
Let's additionally suppose that this scheduled work will send an IPC message B to the web process and
synchronously wait for a reply (in the case of this particular bug, this is the sync autocorrection context
request). What happens upon receiving sync message A is that the IPC thread in the UI process will schedule A on
the main thread; however, before the scheduled response to A is invoked, we will first invoke previously
scheduled work that attempts to block synchronously until a message B is received. In summary:

  1. (Web process) sends sync IPC message A to UI process.
  2. (UI process) schedules some main runloop task that will block synchronously on IPC message B.
  3. (UI process) receives sync IPC message A and schedules A on the main runloop.
  4. (UI process) carry out the task scheduled in (2) and block on B.

...and then, the UI process and web process are now deadlocked because the UI process is waiting for B to
arrive, but the web process can't send B because it's waiting for a reply for IPC message A! To fix this second
deadlock, we first make an important observation: when using sendSync, we don't run into this problem because
immediately before sending sync IPC, we will attempt to handle any incoming sync IPC messages that have been
queued up. However, when calling waitForAndDispatchImmediately, we don't have this extra step, so a deadlock may
occur in the manner described above. To fix this, we make waitForAndDispatchImmediately behave more like
sendSync, by handling all incoming sync messages prior to blocking on an IPC response.

Test: editing/selection/ios/change-selection-by-tapping.html

  • Platform/IPC/Connection.cpp:

(IPC::Connection::waitForMessage):
(IPC::Connection::processIncomingMessage):

LayoutTests:

Add a new layout test that taps to change selection 20 times in a contenteditable area and additionally
disables IPC timeout, to ensure that any IPC deadlocks will result in the test failing due to timing out.

  • editing/selection/ios/change-selection-by-tapping-expected.txt: Added.
  • editing/selection/ios/change-selection-by-tapping.html: Added.
9:29 PM Changeset in webkit [242681] by aestes@apple.com
  • 16 edits in trunk/Source

[Apple Pay] CanMakePaymentsWithActiveCard and OpenPaymentSetup should be async messages
https://bugs.webkit.org/show_bug.cgi?id=195526
<rdar://problem/48745636>

Reviewed by Chris Dumez.

Source/WebCore:

  • Modules/applepay/PaymentCoordinatorClient.h:
  • loader/EmptyClients.cpp:
  • testing/MockPaymentCoordinator.cpp:

(WebCore::MockPaymentCoordinator::canMakePaymentsWithActiveCard):
(WebCore::MockPaymentCoordinator::openPaymentSetup):

  • testing/MockPaymentCoordinator.h:

Source/WebKit:

  • Shared/ApplePay/WebPaymentCoordinatorProxy.cpp:

(WebKit::WebPaymentCoordinatorProxy::canMakePaymentsWithActiveCard):
(WebKit::WebPaymentCoordinatorProxy::openPaymentSetup):

  • Shared/ApplePay/WebPaymentCoordinatorProxy.h:
  • Shared/ApplePay/WebPaymentCoordinatorProxy.messages.in:
  • WebProcess/ApplePay/WebPaymentCoordinator.cpp:

(WebKit::WebPaymentCoordinator::canMakePaymentsWithActiveCard):
(WebKit::WebPaymentCoordinator::openPaymentSetup):
(WebKit::generateCanMakePaymentsWithActiveCardReplyID): Deleted.
(WebKit::generateOpenPaymentSetupReplyID): Deleted.
(WebKit::WebPaymentCoordinator::canMakePaymentsWithActiveCardReply): Deleted.
(WebKit::WebPaymentCoordinator::openPaymentSetupReply): Deleted.

  • WebProcess/ApplePay/WebPaymentCoordinator.h:
  • WebProcess/ApplePay/WebPaymentCoordinator.messages.in:

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebPaymentCoordinatorClient.h:
  • WebCoreSupport/WebPaymentCoordinatorClient.mm:

(WebPaymentCoordinatorClient::canMakePaymentsWithActiveCard):
(WebPaymentCoordinatorClient::openPaymentSetup):

9:28 PM Changeset in webkit [242680] by aestes@apple.com
  • 3 edits in trunk/Source/WebKit

[iOS] Remove unneeded entitlements and sandbox allowances from the Networking service
https://bugs.webkit.org/show_bug.cgi?id=195527

Reviewed by Eric Carlson.

  • Configurations/Network-iOS.entitlements:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
8:48 PM Changeset in webkit [242679] by Alan Bujtas
  • 3 edits
    2 adds in trunk

[ContentChangeObserver] Click event fires immediately on hover menu at seriouseats.com
https://bugs.webkit.org/show_bug.cgi?id=195520
<rdar://problem/48740098>

Reviewed by Simon Fraser.

Source/WebCore:

Unfortunately seriouseats has a 300ms hover intent delay to deal with accidental menupane pop-ups. This page also hides this
non-fixed width menupane using absolute positioning and negative left.

Test: fast/events/touch/ios/content-observation/move-content-from-offscreen.html

  • page/ios/ContentChangeObserver.cpp:

(WebCore::ContentChangeObserver::didInstallDOMTimer):
(WebCore::ContentChangeObserver::StyleChangeScope::~StyleChangeScope):
(WebCore::ContentChangeObserver::StyleChangeScope::isConsideredHidden const): Content auhtors tend to use x - 1 values (where x = 10y)

LayoutTests:

  • fast/events/touch/ios/content-observation/move-content-from-offscreen-expected.txt: Added.
  • fast/events/touch/ios/content-observation/move-content-from-offscreen.html: Added.
8:34 PM Changeset in webkit [242678] by Chris Dumez
  • 7 edits in trunk/Source/WebKit

Use modern async IPC with reply for device orientation permission
https://bugs.webkit.org/show_bug.cgi?id=195529

Reviewed by Ryosuke Niwa.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::requestDeviceOrientationAndMotionAccess):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::shouldAllowDeviceOrientationAndMotionAccess):
(WebKit::nextDeviceOrientationAndMotionPermissionCallbackID): Deleted.
(WebKit::WebPage::didReceiveDeviceOrientationAndMotionAccessDecision): Deleted.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
7:26 PM Changeset in webkit [242677] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Add assertions to help debug crash under DOMWindowExtension::suspendForPageCache()
https://bugs.webkit.org/show_bug.cgi?id=195488

Reviewed by Ryosuke Niwa.

Try and figure out how the document can be detached from its frame while we're suspending
DOMWindowExtensions.

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::willDetachDocumentFromFrame):
(WebCore::DOMWindow::suspendForPageCache):

  • page/DOMWindow.h:
6:25 PM Changeset in webkit [242676] by Chris Dumez
  • 26 edits in trunk/Source

Simplify DOMWindowProperty code / handling
https://bugs.webkit.org/show_bug.cgi?id=195495

Reviewed by Ryosuke Niwa.

DOMWindowProperty code was unnecessarily complex because DOMWindowExtension inherited
from it and DOMWindowExtension needs a lot of information about the global object's
lifetime to communicate to the injected bbundle client. This subclassing is also
very confusing because a DOMWindowExtension is not a *property* on the Window object.

This patch updates DOMWindowExtension to stop subclassing DOMWindowProperty and
moves all the complexity from DOMWindowProperty to DOMWindowExtension.
DOMWindowProperty is now a very simple base class which merely has a WeakPtr to
the window and getters for the window and the frame.

  • Modules/indexeddb/DOMWindowIndexedDatabase.cpp:

(WebCore::DOMWindowIndexedDatabase::DOMWindowIndexedDatabase):
(WebCore::DOMWindowIndexedDatabase::indexedDB):

  • Modules/indexeddb/DOMWindowIndexedDatabase.h:

There is no reason for DOMWindowIndexedDatabase to move its IDBFactory to a
separate data member which in PageCache. Script do not run while in PageCache.
Also, frames are nulled out while in the PageCache so the indexedDB() getter
would return null anyway while in PageCache.

  • css/StyleMedia.idl:
  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::setDOMApplicationCache):
Store a WeakPtr to the DOMApplicationCache for safety.

(WebCore::ApplicationCacheHost::dispatchDOMEvent):
Do not fire events on the DOMApplicationCache if it is frameless to maintain
previous behavior. Previously, the DOMApplicationCache would have been nulled
out when detached from its frame so we would not have fired events.

  • loader/appcache/ApplicationCacheHost.h:
  • loader/appcache/DOMApplicationCache.cpp:
  • loader/appcache/DOMApplicationCache.h:

Remove some unnecessary complexity. The ApplicationCacheHost is owned by the
DocumentLoader, which changes on navigation. There is therefore no reason to
null out the DOMApplicationCache on the ApplicationCacheHost when its gets
detached from its frame or enters PageCache.

  • page/BarProp.idl:
  • page/DOMSelection.idl:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::willDestroyCachedFrame):
(WebCore::DOMWindow::willDestroyDocumentInFrame):
(WebCore::DOMWindow::willDetachDocumentFromFrame):
(WebCore::DOMWindow::registerExtension):
(WebCore::DOMWindow::unregisterExtension):

(WebCore::DOMWindow::resetDOMWindowProperties): Removed.
Stop clearing some of the DOMWindow's properties when the document gets destroyed or when
the Window for the initial empty document gets reused on navigation. I think we used to
need this because DOMWindowProperty used to hold pointers to their frame. However, this
is no longer the case nowadays as DOMWindowProperty objects get their frame from their
Window.

(WebCore::DOMWindow::resetUnlessSuspendedForDocumentSuspension):
(WebCore::DOMWindow::suspendForPageCache):
(WebCore::DOMWindow::resumeFromPageCache):

  • page/DOMWindow.h:
  • page/DOMWindowExtension.cpp:

(WebCore::DOMWindowExtension::DOMWindowExtension):
(WebCore::DOMWindowExtension::~DOMWindowExtension):
(WebCore::DOMWindowExtension::frame const):
(WebCore::DOMWindowExtension::suspendForPageCache):
(WebCore::DOMWindowExtension::resumeFromPageCache):
(WebCore::DOMWindowExtension::willDestroyGlobalObjectInCachedFrame):
(WebCore::DOMWindowExtension::willDestroyGlobalObjectInFrame):
(WebCore::DOMWindowExtension::willDetachGlobalObjectFromFrame):

  • page/DOMWindowExtension.h:
  • page/DOMWindowProperty.cpp:

(WebCore::DOMWindowProperty::DOMWindowProperty):

  • page/DOMWindowProperty.h:

(WebCore::DOMWindowProperty::window const):

  • page/History.idl:
  • page/Location.idl:
  • page/Navigator.cpp:

(WebCore::Navigator::plugins):
(WebCore::Navigator::mimeTypes):

  • page/PerformanceNavigation.idl:
  • page/PerformanceTiming.idl:
  • page/Screen.idl:
  • page/VisualViewport.cpp:

(WebCore::VisualViewport::scriptExecutionContext const):

  • plugins/DOMMimeTypeArray.idl:
  • plugins/DOMPluginArray.idl:
4:09 PM Changeset in webkit [242675] by Alan Bujtas
  • 6 edits
    2 adds in trunk

[ContentChangeObserver] Start observing for content change between touchEnd and mouseMoved start
https://bugs.webkit.org/show_bug.cgi?id=195510
<rdar://problem/48735695>

Reviewed by Simon Fraser.

Source/WebCore:

This patch covers the observation of async changes triggered by touchStart/touchEnd (animations, timers, style recalcs).

Test: fast/events/touch/ios/content-observation/visibility-change-after-touch-end.html

  • page/ios/ContentChangeObserver.cpp:

(WebCore::ContentChangeObserver::didCancelTouchEvent):
(WebCore::ContentChangeObserver::adjustObservedState):

  • page/ios/ContentChangeObserver.h:

(WebCore::ContentChangeObserver::setIsInBetweenTouchEndAndMouseMoved):
(WebCore::ContentChangeObserver::isInBetweenTouchEndAndMouseMoved const):
(WebCore::ContentChangeObserver::isObservingContentChanges const):

Source/WebKit:

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::cancelPotentialTapInFrame):

LayoutTests:

  • fast/events/touch/ios/content-observation/visibility-change-after-touch-end-expected.txt: Added.
  • fast/events/touch/ios/content-observation/visibility-change-after-touch-end.html: Added.
9:29 AM Changeset in webkit [242674] by rmorisset@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Compilation can be shrunk by 8 bytes
https://bugs.webkit.org/show_bug.cgi?id=195500

Reviewed by Mark Lam.

  • profiler/ProfilerCompilation.cpp:

(JSC::Profiler::Compilation::Compilation):

  • profiler/ProfilerCompilation.h:
9:25 AM Changeset in webkit [242673] by rmorisset@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

BinarySwitch can be shrunk by 8 bytes
https://bugs.webkit.org/show_bug.cgi?id=195493

Reviewed by Mark Lam.

  • jit/BinarySwitch.cpp:

(JSC::BinarySwitch::BinarySwitch):

  • jit/BinarySwitch.h:
9:24 AM Changeset in webkit [242672] by rmorisset@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

AsyncStackTrace can be shrunk by 8 bytes
https://bugs.webkit.org/show_bug.cgi?id=195491

Reviewed by Mark Lam.

  • inspector/AsyncStackTrace.h:

Mar 8, 2019:

10:28 PM Changeset in webkit [242671] by Kocsen Chung
  • 7 edits in branches/safari-607.1.40.0-branch/Source

Versioning.

9:43 PM SVG properties edited by Said Abou-Hallawa
(diff)
7:02 PM SVG properties edited by Said Abou-Hallawa
(diff)
6:59 PM SVG properties edited by Said Abou-Hallawa
(diff)
6:35 PM Changeset in webkit [242670] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Make it clearer which data is protected by the two locks in ScrollingTree
https://bugs.webkit.org/show_bug.cgi?id=195501

Reviewed by Tim Horton.

Gather ScrollingTree member variables into two structs, and name the struct
members and the locks to make it clear which data is protected by each lock.

We only need to protect data read by multiple threads; these are the scrolling
thread, the event handling thread (which runs ThreadedScrollingTree::tryToHandleWheelEvent()),
and the main thread, which pokes various bits of pin/rubber-banding state.
Ideally the main thread would always push data to the scrolling thread via a commit,
but that's not what happens now.

Suspiciously, ScrollingTree::shouldHandleWheelEventSynchronously() uses the root node,
so should probably hold a lock shared with the scrolling thread (webkit.org/b/195502).

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
(WebCore::ScrollingTree::commitTreeState):
(WebCore::ScrollingTree::setAsyncFrameOrOverflowScrollingEnabled):
(WebCore::ScrollingTree::setMainFrameScrollPosition):
(WebCore::ScrollingTree::eventTrackingTypeForPoint):
(WebCore::ScrollingTree::isRubberBandInProgress):
(WebCore::ScrollingTree::setMainFrameIsRubberBanding):
(WebCore::ScrollingTree::isScrollSnapInProgress):
(WebCore::ScrollingTree::setMainFrameIsScrollSnapping):
(WebCore::ScrollingTree::setMainFramePinState):
(WebCore::ScrollingTree::setCanRubberBandState):
(WebCore::ScrollingTree::setScrollPinningBehavior):
(WebCore::ScrollingTree::scrollPinningBehavior):
(WebCore::ScrollingTree::willWheelEventStartSwipeGesture):
(WebCore::ScrollingTree::latchedNode):
(WebCore::ScrollingTree::setLatchedNode):
(WebCore::ScrollingTree::clearLatchedNode):
(WebCore::ScrollingTree::scrollingTreeAsText):
(WebCore::ScrollingTree::touchActionDataAtPoint const):
(WebCore::ScrollingTree::mainFrameScrollPosition): Deleted.
(WebCore::ScrollingTree::mainFrameLayoutViewport): Deleted.
(WebCore::ScrollingTree::rubberBandsAtLeft): Deleted.
(WebCore::ScrollingTree::rubberBandsAtRight): Deleted.
(WebCore::ScrollingTree::rubberBandsAtBottom): Deleted.
(WebCore::ScrollingTree::rubberBandsAtTop): Deleted.

  • page/scrolling/ScrollingTree.h:

(WebCore::ScrollingTree::hasLatchedNode const):

  • page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:

(WebCore::ScrollingTreeScrollingNodeDelegateMac::stretchAmount):

  • platform/graphics/FloatPoint.h:

(WebCore::FloatPoint::isZero const):

6:35 PM Changeset in webkit [242669] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Share some code that sets CALayer positions
https://bugs.webkit.org/show_bug.cgi?id=195485

Reviewed by Zalan Bujtas.

Share some code between ScrollingTreeStickyNode and ScrollingTreeFixedNode that sets the position
of a CALayer given the top-left location.

  • page/scrolling/cocoa/ScrollingTreeFixedNode.mm:

(WebCore::ScrollingTreeFixedNode::relatedNodeScrollPositionDidChange):
(WebCore::ScrollingTreeFixedNodeInternal::operator*): Deleted.

  • page/scrolling/cocoa/ScrollingTreeStickyNode.mm:

(WebCore::ScrollingTreeStickyNode::relatedNodeScrollPositionDidChange):
(WebCore::ScrollingTreeStickyNodeInternal::operator*): Deleted.

  • platform/graphics/cocoa/WebCoreCALayerExtras.h:
  • platform/graphics/cocoa/WebCoreCALayerExtras.mm:

(-[CALayer _web_setLayerTopLeftPosition:]):

6:14 PM Changeset in webkit [242668] by bshafiei@apple.com
  • 1 copy in tags/Safari-607.1.40.0.7

Tag Safari-607.1.40.0.7.

5:10 PM Changeset in webkit [242667] by mark.lam@apple.com
  • 3 edits
    1 add in trunk

Stack overflow crash in JSC::JSObject::hasInstance.
https://bugs.webkit.org/show_bug.cgi?id=195458
<rdar://problem/48710195>

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/stack-overflow-in-custom-hasInstance.js: Added.

Source/JavaScriptCore:

  • runtime/JSObject.cpp:

(JSC::JSObject::hasInstance):

4:59 PM Changeset in webkit [242666] by Chris Dumez
  • 4 edits in trunk/Source/WebKit

Enable ProcessAssertions on iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=195479

Reviewed by Alexey Proskuryakov.

Enable ProcessAssertions on iOS Simulator. We have some layout tests timing out in the
iOS Simulator due to the WebContent process suspending. Turning on ProcessAssertions in
the iOS Simulator seems to make those tests pass.

  • UIProcess/ProcessAssertion.cpp:
  • UIProcess/ProcessAssertion.h:
  • UIProcess/ios/ProcessAssertionIOS.mm:
4:53 PM Changeset in webkit [242665] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

[ iOS Simulator ] REGRESSION (r237087) Layout Test fast/viewport/ios/*-width-viewport-after-changing-view-scale.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=195341

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
4:30 PM Changeset in webkit [242664] by Chris Dumez
  • 57 edits
    20 adds in trunk

Add support for Device Orientation / Motion permission API
https://bugs.webkit.org/show_bug.cgi?id=195329
<rdar://problem/47645367>

Reviewed by Geoffrey Garen.

Source/WebCore:

Add support for Device Orientation / Motion permission API:

Pages can add event listeners for 'deviceorientation' / 'devicemotion' events but
such events will not be fired until the page's JavaScript calls
DeviceOrientationEvent.requestPermission() / DeviceMotionEvent.requestPermission()
and the user grants the request.

The feature is currently behind an experimental feature flag, off by default.

Tests: fast/device-orientation/device-motion-request-permission-denied.html

fast/device-orientation/device-motion-request-permission-granted.html
fast/device-orientation/device-motion-request-permission-user-gesture.html
fast/device-orientation/device-orientation-request-permission-denied.html
fast/device-orientation/device-orientation-request-permission-granted.html
fast/device-orientation/device-orientation-request-permission-user-gesture.html

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/DeviceMotionEvent.h:
  • dom/DeviceMotionEvent.idl:
  • dom/DeviceOrientationAndMotionAccessController.cpp: Added.

(WebCore::DeviceOrientationAndMotionAccessController::DeviceOrientationAndMotionAccessController):
(WebCore::DeviceOrientationAndMotionAccessController::shouldAllowAccess):
(WebCore::DeviceOrientationAndMotionAccessController::setAccessState):

  • dom/DeviceOrientationAndMotionAccessController.h: Added.

(WebCore::DeviceOrientationAndMotionAccessController::accessState const):

  • dom/DeviceOrientationEvent.h:
  • dom/DeviceOrientationEvent.idl:
  • dom/DeviceOrientationOrMotionEvent.cpp: Added.

(WebCore::DeviceOrientationOrMotionEvent::requestPermission):

  • dom/DeviceOrientationOrMotionEvent.h: Added.
  • dom/DeviceOrientationOrMotionEvent.idl: Added.
  • dom/DeviceOrientationOrMotionPermissionState.h: Added.
  • dom/DeviceOrientationOrMotionPermissionState.idl: Added.
  • dom/Document.cpp:

(WebCore::Document::deviceOrientationAndMotionAccessController):

  • dom/Document.h:
  • dom/Event.cpp:
  • dom/MessagePort.cpp:
  • dom/Microtasks.cpp:
  • page/ChromeClient.h:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::deviceOrientationController const):
(WebCore::DOMWindow::deviceMotionController const):
(WebCore::DOMWindow::isAllowedToUseDeviceMotionOrientation const):
(WebCore::DOMWindow::isAllowedToAddDeviceMotionOrientationListener const):
(WebCore::DOMWindow::startListeningForDeviceOrientationIfNecessary):
(WebCore::DOMWindow::stopListeningForDeviceOrientationIfNecessary):
(WebCore::DOMWindow::startListeningForDeviceMotionIfNecessary):
(WebCore::DOMWindow::stopListeningForDeviceMotionIfNecessary):
(WebCore::DOMWindow::removeEventListener):
(WebCore::DOMWindow::removeAllEventListeners):

  • page/DOMWindow.h:
  • page/DeviceController.cpp:

(WebCore::DeviceController::hasDeviceEventListener const):

  • page/DeviceController.h:
  • page/Settings.yaml:

Source/WebKit:

Add support for Device Orientation / Motion permission API:

This adds new SPI to WKUIDelegatePrivate, until we can make this API.

  • Shared/WebPreferences.yaml:
  • UIProcess/API/APIUIClient.h:

(API::UIClient::shouldAllowDeviceOrientationAndMotionAccess):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

  • UIProcess/API/C/WKPageUIClient.h:
  • UIProcess/API/Cocoa/WKUIDelegate.h:
  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::shouldAllowDeviceOrientationAndMotionAccess):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::requestDeviceOrientationAndMotionAccess):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::shouldAllowDeviceOrientationAndMotionAccess):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::nextDeviceOrientationAndMotionPermissionCallbackID):
(WebKit::WebPage::shouldAllowDeviceOrientationAndMotionAccess):
(WebKit::WebPage::didReceiveDeviceOrientationAndMotionAccessDecision):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Tools:

Add test infrastructure to help test the Device Orientation / Motion permission API.

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setShouldAllowDeviceOrientationAndMotionAccess):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::shouldAllowDeviceOrientationAndMotionAccess):
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::handleDeviceOrientationAndMotionAccessRequest):

  • WebKitTestRunner/TestController.h:

(WTR::TestController::setShouldAllowDeviceOrientationAndMotionAccess):

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):

LayoutTests:

Add layout test coverage.

  • TestExpectations:
  • fast/device-orientation/device-motion-request-permission-denied-expected.txt: Added.
  • fast/device-orientation/device-motion-request-permission-denied.html: Added.
  • fast/device-orientation/device-motion-request-permission-granted-expected.txt: Added.
  • fast/device-orientation/device-motion-request-permission-granted.html: Added.
  • fast/device-orientation/device-motion-request-permission-user-gesture-expected.txt: Added.
  • fast/device-orientation/device-motion-request-permission-user-gesture.html: Added.
  • fast/device-orientation/device-orientation-request-permission-denied-expected.txt: Added.
  • fast/device-orientation/device-orientation-request-permission-denied.html: Added.
  • fast/device-orientation/device-orientation-request-permission-granted-expected.txt: Added.
  • fast/device-orientation/device-orientation-request-permission-granted.html: Added.
  • fast/device-orientation/device-orientation-request-permission-user-gesture-expected.txt: Added.
  • fast/device-orientation/device-orientation-request-permission-user-gesture.html: Added.
  • http/tests/events/device-orientation-motion-non-secure-context.html:
  • http/tests/events/device-orientation-motion-secure-context-expected.txt:
  • http/tests/events/device-orientation-motion-secure-context.html:
  • platform/ios-wk2/TestExpectations:
  • platform/ios/http/tests/events/device-orientation-motion-non-secure-context-expected.txt:
  • platform/ios/http/tests/events/device-orientation-motion-secure-context-expected.txt:
4:17 PM Changeset in webkit [242663] by rmorisset@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

IntegerCheckCombiningPhase::Range can be shrunk by 8 bytes
https://bugs.webkit.org/show_bug.cgi?id=195487

Reviewed by Saam Barati.

  • dfg/DFGIntegerCheckCombiningPhase.cpp:
3:58 PM Changeset in webkit [242662] by beidson@apple.com
  • 3 edits in trunk/Source/WebKit

Have the UIProcess take the UnboundedNetworking assertion when downloads are in progress.
https://bugs.webkit.org/show_bug.cgi?id=195468

Reviewed by Andy Estes.

  • UIProcess/Downloads/DownloadProxyMap.cpp:

(WebKit::DownloadProxyMap::DownloadProxyMap):
(WebKit::DownloadProxyMap::createDownloadProxy): If this is the first download, and the process has the entitlement,

take the assertion.

(WebKit::DownloadProxyMap::downloadFinished):
(WebKit::DownloadProxyMap::processDidClose):

  • UIProcess/Downloads/DownloadProxyMap.h:
3:51 PM Changeset in webkit [242661] by Alan Bujtas
  • 4 edits
    2 adds in trunk

[ContentChangeObserver] Expand "isConsideredClickable" to descendants
https://bugs.webkit.org/show_bug.cgi?id=195478
<rdar://problem/48724935>

Reviewed by Simon Fraser.

Source/WebCore:

In StyleChangeScope we try to figure out whether newly visible content should stick (menu panes etc) by checking if it is clickable.
This works fine as long as all the visible elements are gaining new renderers through this style update processs.
However when an element becomes visible by a change other than display: (not)none, it's not sufficient to just check the element itself,
since it might not respond to click at all, while its descendants do.
A concrete example is a max-height value change on usps.com, where the max-height is on a container (menu pane).
This container itself is not clickable while most of its children are (menu items).

Test: fast/events/touch/ios/content-observation/clickable-content-is-inside-a-container.html

  • page/ios/ContentChangeObserver.cpp:

(WebCore::ContentChangeObserver::StyleChangeScope::StyleChangeScope):
(WebCore::ContentChangeObserver::StyleChangeScope::~StyleChangeScope):
(WebCore::ContentChangeObserver::StyleChangeScope::isConsideredHidden const):
(WebCore::ContentChangeObserver::StyleChangeScope::isConsideredClickable const):
(WebCore::isConsideredHidden): Deleted.

  • page/ios/ContentChangeObserver.h:

LayoutTests:

  • fast/events/touch/ios/content-observation/clickable-content-is-inside-a-container-expected.txt: Added.
  • fast/events/touch/ios/content-observation/clickable-content-is-inside-a-container.html: Added.
3:31 PM Changeset in webkit [242660] by rmorisset@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

TypeLocation can be shrunk by 8 bytes
https://bugs.webkit.org/show_bug.cgi?id=195483

Reviewed by Mark Lam.

  • bytecode/TypeLocation.h:

(JSC::TypeLocation::TypeLocation):

3:24 PM Changeset in webkit [242659] by rmorisset@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

GetByIdStatus can be shrunk by 16 bytes
https://bugs.webkit.org/show_bug.cgi?id=195480

Reviewed by Saam Barati.

8 bytes from reordering fields
8 more bytes by making the enum State only use 1 byte.

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::GetByIdStatus):

  • bytecode/GetByIdStatus.h:
3:20 PM Changeset in webkit [242658] by sbarati@apple.com
  • 1 edit
    1 add in trunk/Tools

Add a compare-results script to compare benchmark results
https://bugs.webkit.org/show_bug.cgi?id=195486
<rdar://problem/48723397>

Reviewed by Geoffrey Garen.

This patch adds a script to compare benchmark results using Welch's two-tailed t test.
Initially, this patch only reasons about PLT5/JetStream2/Speedometer2. It will be easy
to extend it to learn about our other benchmarks.

  • Scripts/compare-results: Added.

(readJSONFile):
(detectJetStream2):
(JetStream2Results):
(detectSpeedometer2):
(Speedometer2Results):
(detectPLT5):
(PLT5Results):
(detectBenchmark):
(biggerIsBetter):
(ttest):
(getOptions):
(main):

3:19 PM Changeset in webkit [242657] by rmorisset@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

PutByIdVariant can be shrunk by 8 bytes
https://bugs.webkit.org/show_bug.cgi?id=195482

Reviewed by Mark Lam.

  • bytecode/PutByIdVariant.h:

(JSC::PutByIdVariant::PutByIdVariant):

2:12 PM Changeset in webkit [242656] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[ContentChangeObserver] Cleanup adjustObservedState
https://bugs.webkit.org/show_bug.cgi?id=195470
<rdar://problem/48717823>

Reviewed by Simon Fraser.

This is in preparation for introducing an observation window from touchStart -> mouseMoved.

  1. Cancel pending activities (future timers, pending stylesheet recalcs) when visible content change is detected.
  2. The fixed time window takes care of notifying the client -timers, style recalcs during the window should not signal themselves.
  3. Reset m_isObservingPendingStyleRecalc at StartedStyleRecalc instead of EndedStyleRecalc.
  • page/ios/ContentChangeObserver.cpp:

(WebCore::ContentChangeObserver::domTimerExecuteDidFinish):
(WebCore::ContentChangeObserver::styleRecalcDidStart):
(WebCore::ContentChangeObserver::styleRecalcDidFinish):
(WebCore::ContentChangeObserver::adjustObservedState):

  • page/ios/ContentChangeObserver.h:

(WebCore::ContentChangeObserver::hasPendingActivity const):
(WebCore::ContentChangeObserver::isObservationTimeWindowActive const):

1:59 PM Changeset in webkit [242655] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, follow-up after r242568

Robin pointed that calculation of numberOfChildren and nonEmptyIndex is unnecessary.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

1:11 PM Changeset in webkit [242654] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[ContentChangeObserver] Add StartedDOMTimerExecution and StartedStyleRecalc
https://bugs.webkit.org/show_bug.cgi?id=195463
<rdar://problem/48714762>

Reviewed by Simon Fraser.

This is in preparation for introducing m_isObservingContentChanges flag to track observing state across events (touchStart -> mouseMoved).

  • page/ios/ContentChangeObserver.cpp:

(WebCore::ContentChangeObserver::domTimerExecuteDidStart):
(WebCore::ContentChangeObserver::styleRecalcDidStart):
(WebCore::ContentChangeObserver::styleRecalcDidFinish):
(WebCore::ContentChangeObserver::setShouldObserveNextStyleRecalc):
(WebCore::ContentChangeObserver::adjustObservedState):

  • page/ios/ContentChangeObserver.h:

(WebCore::ContentChangeObserver::isObservingPendingStyleRecalc const):
(WebCore::ContentChangeObserver::isObservingStyleRecalc const): Deleted.

12:52 PM Changeset in webkit [242653] by Stephanie Lewis
  • 5 edits in trunk/Tools

Ensure old tab state is cleared between iterations of run-benchmark
https://bugs.webkit.org/show_bug.cgi?id=195393
<rdar://problem/46885583>

Reviewed by Dewei Zhu.

a) ensure the default to restore state is not set
b) terminate Safari correctly
c) Set the system default to ignore Persistent State in Safari

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:

(OSXBrowserDriver): fix terminate processes to call terminate before killing.
(OSXBrowserDriver.prepare_env):
(OSXBrowserDriver.restore_env):
(OSXBrowserDriver.close_browsers):
(OSXBrowserDriver._terminate_processes):

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py: add bundle id

(OSXChromeDriver):
(OSXChromeCanaryDriver):

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py: ditto

(OSXFirefoxDriver):
(OSXFirefoxNightlyDriver):

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py: add preferences to not restore state, bundle id

(OSXSafariDriver):
(OSXSafariDriver.prepare_env):

11:54 AM Changeset in webkit [242652] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

Add assertions to help debug a WebProcessCache crash
https://bugs.webkit.org/show_bug.cgi?id=195469

Reviewed by Brady Eidson.

I suspect the process's registrableDomain in null when evictProcess() gets
called, thus crashing when lookup it up in the HashMap. Confirm this and
how this could happen via assertions.

  • UIProcess/WebProcessCache.cpp:

(WebKit::WebProcessCache::evictProcess):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::didStartProvisionalLoadForMainFrame):

11:51 AM Changeset in webkit [242651] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

AX: AOM accessibleclick does not work on iOS
https://bugs.webkit.org/show_bug.cgi?id=195423
<rdar://problem/48682110>

Reviewed by Joanmarie Diggs.

Return this value of this method so it can be surfaced to a higher level.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper _accessibilityActivate]):

11:33 AM Changeset in webkit [242650] by ysuzuki@apple.com
  • 52 edits in trunk/Source/JavaScriptCore

[JSC] We should have more WithoutTransition functions which are usable for JSGlobalObject initialization
https://bugs.webkit.org/show_bug.cgi?id=195447

Reviewed by Filip Pizlo.

This patch reduces # of unnecessary structure transitions in JSGlobalObject initialization to avoid unnecessary allocations
caused by Structure transition. One example is WeakBlock allocation for StructureTransitionTable.
To achieve this, we (1) add putDirectNonIndexAccessorWithoutTransition and putDirectNativeIntrinsicGetterWithoutTransition
to add accessor properties without transition, and (2) add NameAdditionMode::WithoutStructureTransition mode to InternalFunction::finishCreation
to use putDirectWithoutTransition instead of putDirect.

  • inspector/JSInjectedScriptHostPrototype.cpp:

(Inspector::JSInjectedScriptHostPrototype::finishCreation):

  • inspector/JSJavaScriptCallFramePrototype.cpp:

(Inspector::JSJavaScriptCallFramePrototype::finishCreation):

  • runtime/ArrayConstructor.cpp:

(JSC::ArrayConstructor::finishCreation):

  • runtime/AsyncFunctionConstructor.cpp:

(JSC::AsyncFunctionConstructor::finishCreation):

  • runtime/AsyncGeneratorFunctionConstructor.cpp:

(JSC::AsyncGeneratorFunctionConstructor::finishCreation):

  • runtime/BigIntConstructor.cpp:

(JSC::BigIntConstructor::finishCreation):

  • runtime/BooleanConstructor.cpp:

(JSC::BooleanConstructor::finishCreation):

  • runtime/DateConstructor.cpp:

(JSC::DateConstructor::finishCreation):

  • runtime/ErrorConstructor.cpp:

(JSC::ErrorConstructor::finishCreation):

  • runtime/FunctionConstructor.cpp:

(JSC::FunctionConstructor::finishCreation):

  • runtime/FunctionPrototype.cpp:

(JSC::FunctionPrototype::finishCreation):
(JSC::FunctionPrototype::addFunctionProperties):
(JSC::FunctionPrototype::initRestrictedProperties):

  • runtime/FunctionPrototype.h:
  • runtime/GeneratorFunctionConstructor.cpp:

(JSC::GeneratorFunctionConstructor::finishCreation):

  • runtime/InternalFunction.cpp:

(JSC::InternalFunction::finishCreation):

  • runtime/InternalFunction.h:
  • runtime/IntlCollatorConstructor.cpp:

(JSC::IntlCollatorConstructor::finishCreation):

  • runtime/IntlDateTimeFormatConstructor.cpp:

(JSC::IntlDateTimeFormatConstructor::finishCreation):

  • runtime/IntlNumberFormatConstructor.cpp:

(JSC::IntlNumberFormatConstructor::finishCreation):

  • runtime/IntlPluralRulesConstructor.cpp:

(JSC::IntlPluralRulesConstructor::finishCreation):

  • runtime/JSArrayBufferConstructor.cpp:

(JSC::JSGenericArrayBufferConstructor<sharingMode>::finishCreation):

  • runtime/JSArrayBufferPrototype.cpp:

(JSC::JSArrayBufferPrototype::finishCreation):

  • runtime/JSGenericTypedArrayViewConstructorInlines.h:

(JSC::JSGenericTypedArrayViewConstructor<ViewClass>::finishCreation):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/JSObject.cpp:

(JSC::JSObject::putDirectNonIndexAccessorWithoutTransition):
(JSC::JSObject::putDirectNativeIntrinsicGetterWithoutTransition):

  • runtime/JSObject.h:
  • runtime/JSPromiseConstructor.cpp:

(JSC::JSPromiseConstructor::finishCreation):

  • runtime/JSTypedArrayViewConstructor.cpp:

(JSC::JSTypedArrayViewConstructor::finishCreation):

  • runtime/JSTypedArrayViewPrototype.cpp:

(JSC::JSTypedArrayViewPrototype::finishCreation):

  • runtime/MapConstructor.cpp:

(JSC::MapConstructor::finishCreation):

  • runtime/MapPrototype.cpp:

(JSC::MapPrototype::finishCreation):

  • runtime/NativeErrorConstructor.cpp:

(JSC::NativeErrorConstructorBase::finishCreation):

  • runtime/NullGetterFunction.h:
  • runtime/NullSetterFunction.h:
  • runtime/NumberConstructor.cpp:

(JSC::NumberConstructor::finishCreation):

  • runtime/ObjectConstructor.cpp:

(JSC::ObjectConstructor::finishCreation):

  • runtime/ProxyConstructor.cpp:

(JSC::ProxyConstructor::finishCreation):

  • runtime/RegExpConstructor.cpp:

(JSC::RegExpConstructor::finishCreation):

  • runtime/RegExpPrototype.cpp:

(JSC::RegExpPrototype::finishCreation):

  • runtime/SetConstructor.cpp:

(JSC::SetConstructor::finishCreation):

  • runtime/SetPrototype.cpp:

(JSC::SetPrototype::finishCreation):

  • runtime/StringConstructor.cpp:

(JSC::StringConstructor::finishCreation):

  • runtime/SymbolConstructor.cpp:

(JSC::SymbolConstructor::finishCreation):

  • runtime/WeakMapConstructor.cpp:

(JSC::WeakMapConstructor::finishCreation):

  • runtime/WeakSetConstructor.cpp:

(JSC::WeakSetConstructor::finishCreation):

  • wasm/js/WebAssemblyCompileErrorConstructor.cpp:

(JSC::WebAssemblyCompileErrorConstructor::finishCreation):

  • wasm/js/WebAssemblyInstanceConstructor.cpp:

(JSC::WebAssemblyInstanceConstructor::finishCreation):

  • wasm/js/WebAssemblyLinkErrorConstructor.cpp:

(JSC::WebAssemblyLinkErrorConstructor::finishCreation):

  • wasm/js/WebAssemblyMemoryConstructor.cpp:

(JSC::WebAssemblyMemoryConstructor::finishCreation):

  • wasm/js/WebAssemblyModuleConstructor.cpp:

(JSC::WebAssemblyModuleConstructor::finishCreation):

  • wasm/js/WebAssemblyRuntimeErrorConstructor.cpp:

(JSC::WebAssemblyRuntimeErrorConstructor::finishCreation):

  • wasm/js/WebAssemblyTableConstructor.cpp:

(JSC::WebAssemblyTableConstructor::finishCreation):

11:18 AM Changeset in webkit [242649] by Tadeu Zagallo
  • 3 edits
    1 add in trunk

op_check_tdz does not def its argument
https://bugs.webkit.org/show_bug.cgi?id=192880
<rdar://problem/46221598>

Reviewed by Saam Barati.

JSTests:

  • microbenchmarks/let-for-in.js: Added.

(foo):

Source/JavaScriptCore:

This prevented the for-in loop optimization in the bytecode generator, since
the analysis sees a redefinition of the loop variable.

  • bytecode/BytecodeUseDef.h:

(JSC::computeDefsForBytecodeOffset):

11:15 AM Changeset in webkit [242648] by Kocsen Chung
  • 2 edits in branches/safari-607.1.40.0-branch/Source/WebKit

Cherry-pick r242629. rdar://problem/48716549

Crash under RemoteLayerTreePropertyApplier::applyProperties
https://bugs.webkit.org/show_bug.cgi?id=195448
<rdar://problem/48588226>

Reviewed by Simon Fraser.

  • UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm: (WebKit::RemoteLayerTreeHost::updateLayerTree): Under some currently-unknown circumstances, the UI process is receiving commits referring to layers that it does not know about. One understood case of this was fixed in r241899, but there seem to be cases remaining that are not understood. Also, add a release log so that we can identify any downstream effects.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242629 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:12 AM Changeset in webkit [242647] by Kocsen Chung
  • 7 edits in branches/safari-607.1.40.0-branch/Source

Versioning.

11:01 AM Changeset in webkit [242646] by beidson@apple.com
  • 5 edits in trunk/Source/WebKit

Rename AssertionState::Download.
https://bugs.webkit.org/show_bug.cgi?id=195465

Reviewed by Andy Estes.

It's (currently) about uploads and downloads.
Let's call it "UnboundedNetworking"

  • NetworkProcess/Downloads/DownloadMap.cpp:

(WebKit::DownloadMap::add):

  • UIProcess/ProcessAssertion.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::didSetAssertionState):

  • UIProcess/ios/ProcessAssertionIOS.mm:

(WebKit::flagsForState):
(WebKit::reasonForState):

10:34 AM Changeset in webkit [242645] by Simon Fraser
  • 2 edits in trunk/Source/WebKit

[macOS UI-side compositing] Mouse handling can trigger a crash before we have a scrolling tree root
https://bugs.webkit.org/show_bug.cgi?id=195467

Reviewed by Antti Koivisto.

When launching MiniBrowser with UI-side compositing enabled in a state where the window
appears under the mouse, we can hit RemoteScrollingTree::handleMouseEvent() for a mouseEnter
event before we have a scrolling tree root node, so add a null check.

  • UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp:

(WebKit::RemoteScrollingTree::handleMouseEvent):

10:24 AM Changeset in webkit [242644] by Truitt Savell
  • 2 edits in trunk/LayoutTests

(r242595) Layout Tests in imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/* are failing
https://bugs.webkit.org/show_bug.cgi?id=195466

Unreviewed test gardening.

  • platform/mac/TestExpectations:
10:13 AM Changeset in webkit [242643] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

REGRESSION(r242624): [GTK] New rAF code path assumes AC mode
https://bugs.webkit.org/show_bug.cgi?id=195459

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2019-03-08
Reviewed by Žan Doberšek.

  • WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:

(WebKit::DrawingAreaCoordinatedGraphics::scheduleCompositingLayerFlush):
The refresh monitor now calls scheduleLayerFlush() but when AC
mode is disabled this method does nothing, so setNeedsDisplay()
needs to be called instead.

9:32 AM Changeset in webkit [242642] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test http/tests/referrer-policy-iframe/no-referrer/cross-origin-http-http.html is failing
https://bugs.webkit.org/show_bug.cgi?id=195461

Unreviewed test gardening.

  • platform/win/TestExpectations:
9:02 AM Changeset in webkit [242641] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

imported/w3c/web-platform-tests/FileAPI/reading-data-section/filereader_error.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=195441
<rdar://problem/43437394>

Reviewed by Alexey Proskuryakov.

FileReader is an ActiveDOMObject, which means that FileReader::stop() gets called when
its script execution context is about to get destroyed. FileReader::stop() sets m_state
to DONE. FileReader::abort() would schedule an asynchronous task and then ASSERT that
m_state is not DONE, which would hit if FileReader::stop() had been called in between
the task being scheduled and its execution. To address the issue, have the task abort
early if isContextStopped() returns true.

Also replace calls to setPendingActivity() / unsetPendingActivity() with a
PendingActivity data member as mismatched call to those can lead to leaks.

  • fileapi/FileReader.cpp:

(WebCore::FileReader::canSuspendForDocumentSuspension const):
No reason not to suspend if there is no pending read.

(WebCore::FileReader::stop):
(WebCore::FileReader::readInternal):
(WebCore::FileReader::abort):
(WebCore::FileReader::didFinishLoading):
(WebCore::FileReader::didFail):

  • fileapi/FileReader.h:
3:57 AM Changeset in webkit [242640] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

GLContextEGL: desired EGL config should search for 8-bit components by default
https://bugs.webkit.org/show_bug.cgi?id=195413

Reviewed by Carlos Garcia Campos.

The EGL config search in GLContextEGL should by default look for
RGBA8888 configurations while allowing RGB565 as an alternative.
This prevents from accidentally landing on an RGBA1010102
configuration that is available with some graphics stacks, and which is
not expected in e.g. window snapshotting that's done for layout test
output comparison.

  • platform/graphics/egl/GLContextEGL.cpp:

(WebCore::GLContextEGL::getEGLConfig): EGL config search should by
default request 8-bit color channels.

3:26 AM Changeset in webkit [242639] by magomez@igalia.com
  • 2 edits in trunk/Source/WebCore

Use a thread safe refcounter for FilterOperation.
https://bugs.webkit.org/show_bug.cgi?id=194149

Reviewed by Carlos Garcia Campos.

Use a thread safe refcounter for FilterOperation.

  • platform/graphics/filters/FilterOperation.h:
2:18 AM Changeset in webkit [242638] by Diego Pino Garcia
  • 2 edits in trunk/Tools

[GTK] Several InputMethodFilter tests are failing
https://bugs.webkit.org/show_bug.cgi?id=195408

Reviewed by Carlos Garcia Campos.

  • TestWebKitAPI/Tests/WebKit/gtk/InputMethodFilter.cpp:

Regressed in r241751.
Hexadecimal values of keycodes are expressed now in upper letters.
Composited characters should be cast to UTF8 strings.

(TestWebKitAPI::TEST):

Mar 7, 2019:

11:11 PM Changeset in webkit [242637] by tpopela@redhat.com
  • 3 edits in trunk/Tools

[GTK] Make Tools/gtkdoc python3 compatible
https://bugs.webkit.org/show_bug.cgi?id=195359

Reviewed by Carlos Garcia Campos.

  • gtkdoc/generate-gtkdoc:

ConfigParser was reworked in Python 3.2 so we have adapt the code to
work with Python 2 and 3.
(get_gtkdoc_module_paths):
The iteritems() was removed in Python 3, so let's use items() that's
available in Python 2 and 3.
(get_generator_for_config):

  • gtkdoc/gtkdoc.py:

(GTKDoc._run_command):
The sys.stdout.write() is expecting str in Python 3 and not bytes
(that are coming from stdout.encode()). Use sys.stdout.buffer.write()
for passing the bytes there.

10:17 PM Changeset in webkit [242636] by ysuzuki@apple.com
  • 12 edits in trunk/Source

[JSC] Make more fields lazy in JSGlobalObject
https://bugs.webkit.org/show_bug.cgi?id=195449

Reviewed by Mark Lam.

Source/JavaScriptCore:

This patch makes more fields lazy-allocated in JSGlobalObject to save memory.

  1. Some minor structures like moduleRecordStructure.
  2. Some functions like parseInt / parseFloat. While they are eagerly created in JIT mode anyway to materialize NumberConstructor, we can lazily allocate them in non JIT mode.
  3. ArrayBuffer constructor. While it is eagerly allocated in WebCore, we can make lazily allocated in JSC.
  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):

  • runtime/JSArrayBufferPrototype.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::parseIntFunction const):
(JSC::JSGlobalObject::parseFloatFunction const):
(JSC::JSGlobalObject::evalFunction const):
(JSC::JSGlobalObject::strictEvalActivationStructure const):
(JSC::JSGlobalObject::moduleRecordStructure const):
(JSC::JSGlobalObject::moduleNamespaceObjectStructure const):
(JSC::JSGlobalObject::proxyObjectStructure const):
(JSC::JSGlobalObject::callableProxyObjectStructure const):
(JSC::JSGlobalObject::proxyRevokeStructure const):
(JSC::JSGlobalObject::arrayBufferConstructor const):
(JSC::JSGlobalObject::arrayBufferPrototype const):
(JSC::JSGlobalObject::arrayBufferStructure const):

  • runtime/ProxyObject.h:
  • runtime/StrictEvalActivation.cpp:

(JSC::StrictEvalActivation::StrictEvalActivation):

  • runtime/StrictEvalActivation.h:
  • wasm/js/JSWebAssemblyMemory.cpp:

(JSC::JSWebAssemblyMemory::buffer):

  • wasm/js/WebAssemblyModuleConstructor.cpp:

(JSC::webAssemblyModuleCustomSections):

Source/WebCore:

Use arrayBufferConstructor() since getDirect does not work with lazy property.

  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSDOMGlobalObject::addBuiltinGlobals):

10:11 PM Changeset in webkit [242635] by Alan Bujtas
  • 4 edits
    2 adds in trunk

Source/WebCore:
[ContentChangeObserver][REGRESSION] Check if visibility change happens while dispatching mouseMoved
https://bugs.webkit.org/show_bug.cgi?id=195421
<rdar://problem/48682004>

Reviewed by Simon Fraser.

Visibility change might be triggered synchronously while dispatching mouseMoved event.

Test: fast/events/touch/ios/content-observation/visibility-change-happens-while-in-mousemoved.html

  • page/ios/ContentChangeObserver.cpp:

(WebCore::ContentChangeObserver::mouseMovedDidStart):
(WebCore::ContentChangeObserver::mouseMovedDidFinish):
(WebCore::ContentChangeObserver::isNotifyContentChangeAllowed const):

  • page/ios/ContentChangeObserver.h:

(WebCore::ContentChangeObserver::isObservingContentChanges const):

LayoutTests:
[ContentChangeObserver] Check if visibility change happens while dispatching mouseMoved
https://bugs.webkit.org/show_bug.cgi?id=195421
<rdar://problem/48682004>

Reviewed by Simon Fraser.

  • fast/events/touch/ios/content-observation/visibility-change-happens-while-in-mousemoved-expected.txt: Added.
  • fast/events/touch/ios/content-observation/visibility-change-happens-while-in-mousemoved.html: Added.
10:08 PM Changeset in webkit [242634] by Alan Bujtas
  • 4 edits
    2 adds in trunk

[ContentChangeObserver] Check if max-height change triggers visible content change.
https://bugs.webkit.org/show_bug.cgi?id=195417
<rdar://problem/48680631>

Reviewed by Simon Fraser.

Source/WebCore:

A fixed max-height non-zero value could indicate visible content change. usps.com uses this technique to show menu panes.

Test: fast/events/touch/ios/content-observation/visibility-change-is-max-height-change.html

  • page/ios/ContentChangeObserver.cpp:

(WebCore::isConsideredHidden):
(WebCore::ContentChangeObserver::StyleChangeScope::StyleChangeScope):
(WebCore::ContentChangeObserver::StyleChangeScope::~StyleChangeScope):
(WebCore::elementImplicitVisibility): Deleted.

  • page/ios/ContentChangeObserver.h:

LayoutTests:

  • fast/events/touch/ios/content-observation/visibility-change-is-max-height-change-expected.txt: Added.
  • fast/events/touch/ios/content-observation/visibility-change-is-max-height-change.html: Added.
8:51 PM Changeset in webkit [242633] by ysuzuki@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix failing EWS build for ios-sim

  • page/ios/ContentChangeObserver.cpp:

(WebCore::ContentChangeObserver::touchEventDidStart):

8:39 PM Changeset in webkit [242632] by Fujii Hironori
  • 2 edits in trunk/Tools

[Win] Remove -DUCHAR_TYPE=wchar_t stopgap and learn to live with char16_t.
https://bugs.webkit.org/show_bug.cgi?id=195346
<rdar://problem/48667048>

Unreviewed build fix for clang-cl.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(setApplicationId): Replaced calling String::charactersWithNullTermination with String::wideCharacters to get wchar_t.

8:28 PM Changeset in webkit [242631] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE] Adopt new AVSampleBufferDisplayLayer SPI
https://bugs.webkit.org/show_bug.cgi?id=195445
<rdar://problem/48480516>

Reviewed by Jer Noble.

No new tests, no functional change.

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC): Only register for
kCMSampleBufferConsumerNotification_BufferConsumed notiication when
-[AVSampleBufferDisplayLayer prerollDecodeWithCompletionHandler:] isn't available.
(WebCore::SourceBufferPrivateAVFObjC::~SourceBufferPrivateAVFObjC): Ditto, for unregistering.
(WebCore::SourceBufferPrivateAVFObjC::enqueueSample): Use
-[AVSampleBufferDisplayLayer prerollDecodeWithCompletionHandler:] when possible.

8:24 PM Changeset in webkit [242630] by Alan Bujtas
  • 4 edits
    2 adds in trunk

[ContentChangeObserver] Click event fires immediately on hover menu at Ebbets.com
https://bugs.webkit.org/show_bug.cgi?id=195397

Reviewed by Simon Fraser.

Source/WebCore:

This patch introduces TouchEventScope to track changes triggered by touch start.

Test: fast/events/touch/ios/content-observation/visibility-change-on-touch-start-simple.html

  • page/ios/ContentChangeObserver.cpp:

(WebCore::ContentChangeObserver::touchEventDidStart):
(WebCore::ContentChangeObserver::touchEventDidFinish):
(WebCore::ContentChangeObserver::mouseMovedDidStart):
(WebCore::ContentChangeObserver::mouseMovedDidFinish):
(WebCore::ContentChangeObserver::adjustObservedState):
(WebCore::ContentChangeObserver::TouchEventScope::TouchEventScope):
(WebCore::ContentChangeObserver::TouchEventScope::~TouchEventScope):

  • page/ios/ContentChangeObserver.h:

(WebCore::ContentChangeObserver::isObservingContentChanges const):

LayoutTests:

  • fast/events/touch/ios/content-observation/visibility-change-on-touch-start-simple-expected.txt: Added.
  • fast/events/touch/ios/content-observation/visibility-change-on-touch-start-simple.html: Added.
7:26 PM Changeset in webkit [242629] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

Crash under RemoteLayerTreePropertyApplier::applyProperties
https://bugs.webkit.org/show_bug.cgi?id=195448
<rdar://problem/48588226>

Reviewed by Simon Fraser.

  • UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::updateLayerTree):
Under some currently-unknown circumstances, the UI process is receiving
commits referring to layers that it does not know about.
One understood case of this was fixed in r241899, but there seem to be
cases remaining that are not understood.
Also, add a release log so that we can identify any downstream effects.

7:21 PM Changeset in webkit [242628] by Alan Bujtas
  • 6 edits
    2 adds in trunk

[ContentChangeObserver] Introduce fixed duration content observation
https://bugs.webkit.org/show_bug.cgi?id=195295
<rdar://problem/48579913>

Reviewed by Simon Fraser.

Source/WebCore:

Some pages have a runloop-like scheduling setup where the content triggering change happens at a nested timer firing.
This patch helps finding cases like that using a 32ms long fixed window. Currently nested timers get dropped on the floor and
we stop observing for content changes before they even get fired.

Test: fast/events/touch/ios/content-observation/visibility-change-happens-on-timer-hops.html

  • page/ios/ContentChangeObserver.cpp:

(WebCore::ContentChangeObserver::ContentChangeObserver):
(WebCore::ContentChangeObserver::startContentObservationForDuration):
(WebCore::ContentChangeObserver::completeDurationBasedContentObservation):
(WebCore::ContentChangeObserver::didInstallDOMTimer):
(WebCore::ContentChangeObserver::didRemoveDOMTimer):
(WebCore::ContentChangeObserver::domTimerExecuteDidStart):
(WebCore::ContentChangeObserver::domTimerExecuteDidFinish):
(WebCore::ContentChangeObserver::styleRecalcDidStart):
(WebCore::ContentChangeObserver::styleRecalcDidFinish):
(WebCore::ContentChangeObserver::cancelPendingActivities):
(WebCore::ContentChangeObserver::didSuspendActiveDOMObjects):
(WebCore::ContentChangeObserver::willDetachPage):
(WebCore::ContentChangeObserver::contentVisibilityDidChange):
(WebCore::ContentChangeObserver::setShouldObserveNextStyleRecalc):
(WebCore::ContentChangeObserver::adjustObservedState):
(WebCore::ContentChangeObserver::StyleChangeScope::StyleChangeScope):
(WebCore::ContentChangeObserver::StyleChangeScope::~StyleChangeScope):
(WebCore::ContentChangeObserver::clearTimersAndReportContentChange): Deleted.

  • page/ios/ContentChangeObserver.h:

(WebCore::ContentChangeObserver::clearObservedDOMTimers):
(WebCore::ContentChangeObserver::isObservingContentChanges const):
(WebCore::ContentChangeObserver::hasPendingActivity const):

Source/WebKit:

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::handleSyntheticClick):
(WebKit::WebPage::completePendingSyntheticClickForContentChangeObserver):

LayoutTests:

  • fast/events/touch/ios/content-observation/visibility-change-happens-on-timer-hops-expected.txt: Added.
  • fast/events/touch/ios/content-observation/visibility-change-happens-on-timer-hops.html: Added.
6:54 PM Changeset in webkit [242627] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Remove merging must handle values into proven types in CFA
https://bugs.webkit.org/show_bug.cgi?id=195444

Reviewed by Saam Barati.

Previously, we are merging must handle values as a proven constant in CFA. This is OK as long as this proven AbstractValue is blurred by merging the other legit AbstractValues
from the successors. But let's consider the following code, this is actually generated DFG graph from the attached test in r242626.

Block #2 (loop header) succ #3, #4
...
1: ForceOSRExit
...
2: JSConstant(0)
3: SetLocal(@2, loc6)
...
4: Branch(#3, #4)

Block #3 (This is OSR entry target) pred #2, #3, must handle value for loc6 => JSConstant(Int32, 31)
...
5: GetLocal(loc6)
6: StringFromCharCode(@5)
...

Block #3 is OSR entry target. So we have must handle value for loc6 and it is Int32 constant 31. Then we merge this constant as a proven value in #3's loc6 AbstractValue.
If the value from #2 blurs the value, it is OK. However, #2 has ForceOSRExit. So must handle value suddenly becomes the only source of loc6 in #3. Then we use this constant
as a proven value. But this is not expected behavior since must handle value is just a snapshot of the locals when we kick off the concurrent compilation. In the above example,
we assume that loop index is an constant 31, but it is wrong, and OSR entry fails. Because there is no strong assumption that the must handle value is the proven type or value,
we should not merge it in CFA.

Since (1) this is just an optimization, (2) type information is already propagated in prediction injection phase, and (3) the must handle value does not show the performance
progression in r211461 and we no longer see type misprediction in marsaglia-osr-entry.js, this patch simply removes must handle value type widening in CFA.

  • dfg/DFGCFAPhase.cpp:

(JSC::DFG::CFAPhase::run):
(JSC::DFG::CFAPhase::performBlockCFA):
(JSC::DFG::CFAPhase::injectOSR): Deleted.

5:53 PM Changeset in webkit [242626] by ysuzuki@apple.com
  • 4 edits
    2 adds in trunk

[JSC] StringFromCharCode fast path should accept 0xff in DFG and FTL
https://bugs.webkit.org/show_bug.cgi?id=195429

Reviewed by Saam Barati.

JSTests:

  • stress/must-handled-values-should-not-be-used-as-proven-constants-in-cfa.js: Added.

(foo):

  • stress/string-from-char-code-255.js: Added.

Source/JavaScriptCore:

We can create single characters without allocation up to 0xff character code. But currently, DFGSpeculativeJIT and FTLLowerDFGToB3 go to the slow path
for 0xff case. On the other hand, DFG DoesGC phase says GC won't happen if the child is int32 constant and it is <= 0xff. So, if you have String.fromCharCode(0xff),
this breaks the assumption in DFG DoesGC. The correct fix is changing the check in DFGSpeculativeJIT and FTLLowerDFGToB3 from AboveOrEqual to Above.
Note that ThunkGenerators's StringFromCharCode thunk was correct.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileFromCharCode):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode):

5:35 PM Changeset in webkit [242625] by Fujii Hironori
  • 2 edits in trunk/Source/WebKit

[WinCairo][WebKit] Nothing is drawn after Web process crashed
https://bugs.webkit.org/show_bug.cgi?id=195399

Reviewed by Alex Christensen.

PageClientImpl::viewSize returned 0x0 size after Web process
crashed. Restored the original implementation using GetClientRect
(Bug 52175).

  • UIProcess/win/PageClientImpl.cpp:

(WebKit::PageClientImpl::viewSize):

4:52 PM Changeset in webkit [242624] by commit-queue@webkit.org
  • 38 edits
    1 move
    1 add
    1 delete in trunk

requestAnimationFrame should execute before the next frame
https://bugs.webkit.org/show_bug.cgi?id=177484

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-03-07
Reviewed by Simon Fraser.

Source/WebCore:

This change fixes two issues with animation timing:

  1. Calling the requestAnimationFrame callbacks would have happened when the DisplayLink fires. This may have happened even if the frame is missed and no display is committed.
  1. Style changes and layout triggered by script could trigger painting at more than 60fps. CoreAnimation commits could happen at more than 60fps, although WindowServer will throttle those, and only some will be shown on the screen.

This change introduces a new paint scheduling model where painting is
driven by a "RenderingUpdateScheduler", which only triggers paints once
per 16.7ms frame.

Code that previously scheduled a compositing layer flush now schedules a
"RenderingUpdate", and that update is driven by a DisplayRefreshMonitor
callback. When the render happens, we service requestAnimationFrame callbacks,
Web Animations and intersection observations per the "Update the rendering"
step of the HTML Event Loop specification
<https://html.spec.whatwg.org/multipage/webappapis.html#update-the-rendering>.

In the future, more rendering steps will be added to this code.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • accessibility/mac/AXObjectCacheMac.mm:

Fix layout tests by adding null check.

  • animation/DocumentAnimationScheduler.cpp: Removed.
  • animation/DocumentAnimationScheduler.h: Removed.
  • animation/DocumentTimeline.cpp:

(WebCore::DocumentTimeline::DocumentTimeline):
(WebCore::DocumentTimeline::updateThrottlingState):
(WebCore::DocumentTimeline::resumeAnimations):
(WebCore::DocumentTimeline::liveCurrentTime const):
(WebCore::DocumentTimeline::currentTime):
(WebCore::DocumentTimeline::animationTimingDidChange):
(WebCore::DocumentTimeline::scheduleAnimationResolution):
(WebCore::DocumentTimeline::unscheduleAnimationResolution):
(WebCore::DocumentTimeline::updateAnimationsAndSendEvents):
(WebCore::DocumentTimeline::internalUpdateAnimationsAndSendEvents):
(WebCore::DocumentTimeline::scheduleNextTick):
(WebCore::DocumentTimeline::updateListOfElementsWithRunningAcceleratedAnimationsForElement):
Simplify this function by handling the case of no-animations separately.

(WebCore::DocumentTimeline::resolveAnimationsForElement):
Simplify the loop and delete hasPendingAcceleratedAnimations because it
is initialized to true and is not changed inside the loop.

(WebCore::DocumentTimeline::scheduleAnimationResolutionIfNeeded): Deleted.
(WebCore::DocumentTimeline::animationResolutionTimerFired): Deleted.

  • animation/DocumentTimeline.h:
  • dom/Document.cpp:

(WebCore::Document::resolveStyle):
There is no need to force update in resolveStyle(). notifyFlushRequired()
will be called eventually which will scheduleRenderingUpdate().

(WebCore::Document::prepareForDestruction):
(WebCore::Document::updateAnimationsAndSendEvents):
(WebCore::Document::serviceRequestAnimationFrameCallbacks):
(WebCore::Document::windowScreenDidChange):
(WebCore::Document::updateIntersectionObservations):
(WebCore::Document::scheduleForcedIntersectionObservationUpdate): Deleted.
(WebCore::Document::animationScheduler): Deleted.

  • dom/Document.h:

(WebCore::Document::numberOfIntersectionObservers const):

  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::serviceRequestAnimationFrameCallbacks):
(WebCore::ScriptedAnimationController::scheduleAnimation):
(WebCore::ScriptedAnimationController::animationTimerFired):
(WebCore::ScriptedAnimationController::serviceScriptedAnimations): Deleted.
(WebCore::ScriptedAnimationController::documentAnimationSchedulerDidFire): Deleted.

  • dom/ScriptedAnimationController.h:
  • page/FrameView.cpp:

(WebCore::FrameView::viewportContentsChanged):

  • page/IntersectionObserver.cpp:

(WebCore::IntersectionObserver::observe):

  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::layoutIfNeeded):
(WebCore::Page::renderingUpdate):
(WebCore::Page::renderingUpdateScheduler):
(WebCore::Page::willDisplayPage): Deleted.
(WebCore::Page::addDocumentNeedingIntersectionObservationUpdate): Deleted.
(WebCore::Page::updateIntersectionObservations): Deleted.
(WebCore::Page::scheduleForcedIntersectionObservationUpdate): Deleted.

  • page/Page.h:
  • page/PageOverlayController.cpp:

(WebCore::PageOverlayController::didChangeViewExposedRect):
(WebCore::PageOverlayController::notifyFlushRequired):

  • page/ResourceUsageData.h:

Include header files that become missing because of adding
RenderingUpdateScheduler.cpp.

  • page/RenderingUpdateScheduler.cpp: Added.

(WebCore::RenderingUpdateScheduler::RenderingUpdateScheduler):
(WebCore::RenderingUpdateScheduler::scheduleRenderingUpdate):
(WebCore::RenderingUpdateScheduler::startTimer):
(WebCore::RenderingUpdateScheduler::clearTimer):
(WebCore::RenderingUpdateScheduler::windowScreenDidChange):
(WebCore::RenderingUpdateScheduler::createDisplayRefreshMonitor const):
(WebCore::RenderingUpdateScheduler::displayRefreshFired):

  • page/RenderingUpdateScheduler.h: Added.

(WebCore::RenderingUpdateScheduler::create):

  • page/ios/ContentChangeObserver.h:

Include header files that become missing because of adding
RenderingUpdateScheduler.cpp.

  • page/mac/ServicesOverlayController.mm:

(WebCore::ServicesOverlayController::Highlight::notifyFlushRequired):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::scheduleLayerFlushNow):

Source/WebKit:

Replace the calls to Page::layoutIfNeeded() and willDisplayPage() by
a single call to Page::renderingUpdate(). This new function implements
"Update the rendering" step of the HTML Event Loop specification
<https://html.spec.whatwg.org/multipage/webappapis.html#update-the-rendering>.

  • WebProcess/WebPage/AcceleratedDrawingArea.cpp:

(WebKit::AcceleratedDrawingArea::updateBackingStoreState):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp:

(WebKit::LayerTreeHost::layerFlushTimerFired):

  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::display):

  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::flushLayers):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::layoutIfNeeded):
(WebKit::WebPage::renderingUpdate):
(WebKit::WebPage::willDisplayPage): Deleted.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::flushLayers):

Source/WebKitLegacy/mac:

  • WebView/WebView.mm:

(-[WebView _viewWillDrawInternal]):
Call Page::renderingUpdate() which implements "Update the rendering"
step of the HTML Event Loop specification.

Source/WebKitLegacy/win:

  • WebView.cpp:

(WebView::updateBackingStore):
(WebView::flushPendingGraphicsLayerChangesSoon):
(WebView::flushPendingGraphicsLayerChanges):
Call Page::renderingUpdate() which implements "Update the rendering"
step of the HTML Event Loop specification.

Source/WTF:

Add trace points for the page RenderingUpdate.

  • wtf/SystemTracing.h:

Tools:

Add trace points for the page RenderingUpdate.

  • Tracing/SystemTracePoints.plist:

LayoutTests:

There is a slight difference between the actual DRT and the expected DRT
due to animation timing change. But these two tests are not animating
correctly if they are opened in Safari with web animation turned on.

  • animations/animation-multiple-callbacks-timestamp.html:

Fix variable names used by an error message.

  • animations/no-style-recalc-during-accelerated-animation-expected.txt:
  • animations/no-style-recalc-during-accelerated-animation.html:

One extra styleReclc was incurred due to the document styleRecalcTimer.
I think this timer is not needed anymore. I will look at removing it in
a separate patch.

4:44 PM Changeset in webkit [242623] by youenn@apple.com
  • 2 edits in trunk/Source/ThirdParty/libwebrtc

Skip compilation of unused audio device files for Mac and iOS
https://bugs.webkit.org/show_bug.cgi?id=195412

Reviewed by Eric Carlson.

Stop compiling audio_device_mac.cc, audio_mixer_manager_mac.cc and voice_processing_audio_unit.mm
as unused in WebKit.

  • libwebrtc.xcodeproj/project.pbxproj:
4:40 PM Changeset in webkit [242622] by Nikita Vasilyev
  • 11 edits in trunk/Source/WebInspectorUI

Web Inspector: Styles: overridden CSS property should have go-to button to jump to effective property
https://bugs.webkit.org/show_bug.cgi?id=185930
<rdar://problem/40506252>

Reviewed by Matt Baker.

Introduce a new experimental jump to effective property button. The button is a small arrow button
next to an overridden CSS property. Clicking the button scrolls to the effective CSS property and
selects it.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Base/Setting.js:
  • UserInterface/Models/CSSProperty.js:

(WI.CSSProperty):
(WI.CSSProperty.prototype.update):
(WI.CSSProperty.prototype.get overridingProperty):
(WI.CSSProperty.prototype.set overridingProperty):

  • UserInterface/Models/DOMNodeStyles.js:

(WI.DOMNodeStyles.prototype._markOverriddenProperties):

  • UserInterface/Views/SettingsTabContentView.js:

(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:

(.spreadsheet-style-declaration-editor .property.overridden .select-effective-property):
(.spreadsheet-style-declaration-editor .property.overridden:hover .select-effective-property,):
(.spreadsheet-style-declaration-editor .property.overridden:hover .select-effective-property::after,):
(@media (prefers-color-scheme: dark)):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:

(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertySelectByProperty):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:

(WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetCSSStyleDeclarationEditorSelectProperty):

  • UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:

(WI.SpreadsheetRulesStyleDetailsPanel.prototype.spreadsheetCSSStyleDeclarationSectionSelectProperty):

  • UserInterface/Views/SpreadsheetStyleProperty.js:

(WI.SpreadsheetStyleProperty.prototype.updateStatus):

4:36 PM Changeset in webkit [242621] by Alan Bujtas
  • 21 edits
    10 moves
    1 add in trunk

[ContentChangeObserver] Add a setting to be able to turn content change observation on/off
https://bugs.webkit.org/show_bug.cgi?id=195353
<rdar://problem/48626394>

Reviewed by Simon Fraser.

Source/WebCore:

Move content observation tests to a dedicated directory.

Tests: fast/events/touch/ios/content-observation/click-instead-of-hover-simple.html

fast/events/touch/ios/content-observation/hover-when-style-change-is-async.html
fast/events/touch/ios/content-observation/stuck-with-hover-state.html
fast/events/touch/ios/content-observation/style-recalc-schedule-and-force-relalc.html
fast/events/touch/ios/content-observation/visibility-change-happens-at-the-second-timer.html

  • page/Settings.yaml:
  • page/ios/ContentChangeObserver.cpp:

(WebCore::ContentChangeObserver::didInstallDOMTimer):
(WebCore::ContentChangeObserver::isNotifyContentChangeAllowed const):

  • page/ios/ContentChangeObserver.h:

(WebCore::ContentChangeObserver::isNotifyContentChangeAllowed const): Deleted.

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::resetToConsistentState):

Source/WebKit:

  • Shared/WebPreferences.yaml:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetContentChangeObserverEnabled):
(WKPreferencesGetContentChangeObserverEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _contentChangeObserverEnabled]):
(-[WKPreferences _setContentChangeObserverEnabled:]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::handleSyntheticClick):

Source/WebKitLegacy/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences contentChangeObserverEnabled]):
(-[WebPreferences setContentChangeObserverEnabled:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Tools:

  • WebKitTestRunner/ios/TestControllerIOS.mm:

(WTR::TestController::platformResetPreferencesToConsistentValues):

LayoutTests:

  • fast/events/touch/ios/content-observation/click-instead-of-hover-simple-expected.txt: Renamed from LayoutTests/fast/events/touch/ios/click-instead-of-hover-simple-expected.txt.
  • fast/events/touch/ios/content-observation/click-instead-of-hover-simple.html: Renamed from LayoutTests/fast/events/touch/ios/click-instead-of-hover-simple.html.
  • fast/events/touch/ios/content-observation/hover-when-style-change-is-async-expected.txt: Renamed from LayoutTests/fast/events/touch/ios/hover-when-style-change-is-async-expected.txt.
  • fast/events/touch/ios/content-observation/hover-when-style-change-is-async.html: Renamed from LayoutTests/fast/events/touch/ios/hover-when-style-change-is-async.html.
  • fast/events/touch/ios/content-observation/stuck-with-hover-state-expected.txt: Renamed from LayoutTests/fast/events/touch/ios/stuck-with-hover-state-expected.txt.
  • fast/events/touch/ios/content-observation/stuck-with-hover-state.html: Renamed from LayoutTests/fast/events/touch/ios/stuck-with-hover-state.html.
  • fast/events/touch/ios/content-observation/style-recalc-schedule-and-force-relalc-expected.txt: Renamed from LayoutTests/fast/events/touch/ios/style-recalc-schedule-and-force-relalc-expected.txt.
  • fast/events/touch/ios/content-observation/style-recalc-schedule-and-force-relalc.html: Renamed from LayoutTests/fast/events/touch/ios/style-recalc-schedule-and-force-relalc.html.
  • fast/events/touch/ios/content-observation/visibility-change-happens-at-the-second-timer-expected.txt: Renamed from LayoutTests/fast/events/touch/ios/visibility-change-happens-at-the-second-timer-expected.txt.
  • fast/events/touch/ios/content-observation/visibility-change-happens-at-the-second-timer.html: Renamed from LayoutTests/fast/events/touch/ios/visibility-change-happens-at-the-second-timer.html.
4:23 PM Changeset in webkit [242620] by wilander@apple.com
  • 2 edits in trunk/Source/WebCore

Make sure an empty host matches the internal representation "nullOrigin" in WebCore::RegistrableDomain::matches()
https://bugs.webkit.org/show_bug.cgi?id=195435

Reviewed by Brent Fulgham.

No new tests. Tests are currently failing and will pass again with
this patch.

WebCore::RegistrableDomain::matches() is a quick way to compare a
RegistrableDomain with a URL. Since RegistrableDomain represents the
empty host as "nullOrigin," a URL with an empty host needs to match
that representation in WebCore::RegistrableDomain::matches().
Failure to do so caused debug assertions in fast/ layout tests after
https://trac.webkit.org/changeset/242603/webkit.

  • platform/RegistrableDomain.h:

(WebCore::RegistrableDomain::matches const):

4:18 PM Changeset in webkit [242619] by Justin Fan
  • 5 edits in trunk/Source/WebCore

Unreviewed build fixes since MTLClampToBorderColor is only supported on macOS.

  • Modules/webgpu/GPUSamplerDescriptor.idl:
  • platform/graphics/gpu/GPUSamplerDescriptor.h:
  • platform/graphics/gpu/cocoa/GPUProgrammablePassEncoderMetal.mm: Forgot include.
  • platform/graphics/gpu/cocoa/GPUSamplerMetal.mm:

(WebCore::mtlAddressModeForAddressMode):
(WebCore::tryCreateMtlSamplerState):
(WebCore::mtlBorderColorForBorderColor): Deleted.

4:10 PM Changeset in webkit [242618] by Kocsen Chung
  • 5 edits in tags/Safari-608.1.8/Source/WebCore

Cherry-pick r242601. rdar://problem/48518959

[iOS WK] REGRESSION (r242132): Fixed position banners flicker and move when scrolling (Apple, Tesla, YouTube, Reddit)
https://bugs.webkit.org/show_bug.cgi?id=195396
rdar://problem/48518959

Reviewed by Antti Koivisto.

r242132 introduced two issues that contributed to jumpiness of position:fixed layers when scrolling.

First, ScrollingTreeScrollingNode::wasScrolledByDelegatedScrolling() would early return if the scroll position
hadn't changed. It also needs to check the supplied layoutViewport (if any), but in some cases running the
notifyRelatedNodesAfterScrollPositionChange() code is necessary even without a scroll position change:
if the web process has committed new scrolling tree state (e.g. with new fixed constraints) since
the last call, we have to run the layer positioning code to have fixed layers re-adjust their position relative
to the root. This was the primary bug fix.

Secondly, a layer tree commit can give ScrollingTreeFrameScrollingNode a new layout viewport, but we need to
adjust this by the scrolling tree's current scroll position in case it gets used before the next scroll.

Currently no way to test this, as it's very timing-dependent.

  • page/scrolling/ScrollingTreeFrameScrollingNode.cpp: (WebCore::ScrollingTreeFrameScrollingNode::commitStateBeforeChildren): (WebCore::ScrollingTreeFrameScrollingNode::scrollPositionAndLayoutViewportMatch):
  • page/scrolling/ScrollingTreeFrameScrollingNode.h:
  • page/scrolling/ScrollingTreeScrollingNode.cpp: (WebCore::ScrollingTreeScrollingNode::scrollPositionAndLayoutViewportMatch): (WebCore::ScrollingTreeScrollingNode::wasScrolledByDelegatedScrolling):
  • page/scrolling/ScrollingTreeScrollingNode.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242601 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3:50 PM Changeset in webkit [242617] by Ross Kirsling
  • 2 edits in trunk/LayoutTests

[WinCairo] Unreviewed test gardening.

  • platform/wincairo/TestExpectations:
3:30 PM Changeset in webkit [242616] by aestes@apple.com
  • 14 edits
    6 adds in trunk/Source

[Apple Pay] Untangle PKPaymentAuthorizationViewController from WebPaymentCoordinatorProxy
https://bugs.webkit.org/show_bug.cgi?id=195349
<rdar://problem/48625510>

Reviewed by Alex Christensen.

Source/WebCore/PAL:

Moved soft-linking of PKPaymentErrorDomain from WebPaymentCoordinatorProxy to here and used
a more descriptive platform macro.

  • pal/cocoa/PassKitSoftLink.h:
  • pal/cocoa/PassKitSoftLink.mm:

Source/WebKit:

Introduced PaymentAuthorizationPresenter and WKPaymentAuthorizationDelegate to encapsulate
PKPaymentAuthorizationViewController and its delegate. Taught WebPaymentCoordinatorProxy to
interact with PaymentAuthorizationPresenter rather than PKPAVC directly.

These changes will allow us to swap out PKPaymentAuthorizationViewController with PKPaymentAuthorizationController in a follow-on patch.

  • Platform/cocoa/PaymentAuthorizationPresenter.h: Added. Defined the abstract interface for

payment authorization presenters that use PKPA(V)C.

  • Platform/cocoa/PaymentAuthorizationPresenter.mm: Added.

(WebKit::toPKPaymentAuthorizationStatus): Moved from WebPaymentCoordinatorProxyCocoa.mm.
(WebKit::toPKPaymentErrorCode): Ditto.
(WebKit::toNSError): Ditto.
(WebKit::toNSErrors): Ditto.
(WebKit::toPKShippingMethods): Ditto.
(WebKit::PaymentAuthorizationPresenter::completeMerchantValidation): Added. Implements the
logic previously in WebPaymentCoordinatorProxy::platformCompleteMerchantValidation.
(WebKit::PaymentAuthorizationPresenter::completePaymentMethodSelection): Ditto for
WebPaymentCoordinatorProxy::platformCompletePaymentMethodSelection.
(WebKit::PaymentAuthorizationPresenter::completePaymentSession): Ditto for
(WebKit::PaymentAuthorizationPresenter::completeShippingContactSelection): Ditto for
WebPaymentCoordinatorProxy::platformCompletePaymentSession.
(WebKit::PaymentAuthorizationPresenter::completeShippingMethodSelection): Ditto for
WebPaymentCoordinatorProxy::platformCompleteShippingMethodSelection.

  • Platform/cocoa/PaymentAuthorizationViewController.h: Added. Defined a subclass of PaymentAuthorizationPresenter for PKPaymentAuthorizationViewController.
  • Platform/cocoa/PaymentAuthorizationViewController.mm: Added.

(-[WKPaymentAuthorizationViewControllerDelegate initWithPresenter:]): Added a PKPAVC
delegate that's a subclass of WKPaymentAuthorizationDelegate.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewControllerDidFinish:]):
Called -[WKPaymentAuthorizationDelegate _didFinish].
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didAuthorizePayment:handler:]): Called
-[WKPaymentAuthorizationDelegate _didAuthorizePayment:completion:].
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingMethod:handler:]): Called
-[WKPaymentAuthorizationDelegate _didSelectShippingMethod:completion:].
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingContact:handler:]): Called
-[WKPaymentAuthorizationDelegate _didSelectShippingContact:completion:].
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectPaymentMethod:handler:]): Called
-[WKPaymentAuthorizationDelegate _didSelectPaymentMethod:completion:].
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:willFinishWithError:]):
Called -[WKPaymentAuthorizationDelegate _willFinishWithError:].
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didRequestMerchantSession:]): Called
-[WKPaymentAuthorizationDelegate _didRequestMerchantSession:].

  • Platform/cocoa/WKPaymentAuthorizationDelegate.h: Added.
  • Platform/cocoa/WKPaymentAuthorizationDelegate.mm: Added.

(-[WKPaymentAuthorizationDelegate summaryItems]): Added a summaryItems getter.
(-[WKPaymentAuthorizationDelegate shippingMethods]): Ditto for shippingMethods.
(-[WKPaymentAuthorizationDelegate completeMerchantValidation:error:]): Called
_didRequestMerchantSessionCompletion then set it to nil.
(-[WKPaymentAuthorizationDelegate completePaymentMethodSelection:]): Ditto for
_didSelectPaymentMethodCompletion.
(-[WKPaymentAuthorizationDelegate completePaymentSession:errors:didReachFinalState:]): Ditto
for _didAuthorizePaymentCompletion.
(-[WKPaymentAuthorizationDelegate completeShippingContactSelection:summaryItems:shippingMethods:errors:]):
Ditto for _didSelectShippingContactCompletion.
(-[WKPaymentAuthorizationDelegate completeShippingMethodSelection:]): Ditto for
_didSelectShippingMethodCompletion.
(-[WKPaymentAuthorizationDelegate invalidate]): If there's an outstanding authorization
callback, called -completePaymentSession:errors:didReachFinalState: with a state of
PKPaymentAuthorizationStatusFailure.
(-[WKPaymentAuthorizationDelegate _initWithPresenter:]):
(-[WKPaymentAuthorizationDelegate _didAuthorizePayment:completion:]): Added. Implements the
logic previously in WKPaymentAuthorizationViewControllerDelegate.
(-[WKPaymentAuthorizationDelegate _didFinish]): Ditto.
(-[WKPaymentAuthorizationDelegate _didRequestMerchantSession:]): Ditto.
(-[WKPaymentAuthorizationDelegate _didSelectPaymentMethod:completion:]): Ditto.
(-[WKPaymentAuthorizationDelegate _didSelectShippingContact:completion:]): Ditto.
(toShippingMethod): Moved from WebPaymentCoordinatorProxyCocoa.mm.
(-[WKPaymentAuthorizationDelegate _didSelectShippingMethod:completion:]): Added. Implements
the logic previously in WKPaymentAuthorizationViewControllerDelegate.
(-[WKPaymentAuthorizationDelegate _willFinishWithError:]): Ditto.

  • Shared/ApplePay/WebPaymentCoordinatorProxy.cpp:

(WebKit::WebPaymentCoordinatorProxy::presenterWillValidateMerchant): To conform to
PaymentAuthorizationPresenter::Client, renamed from validateMerchant.
(WebKit::WebPaymentCoordinatorProxy::presenterDidAuthorizePayment): Renamed from
didAuthorizePayment.
(WebKit::WebPaymentCoordinatorProxy::presenterDidFinish): Moved logic here that previously
existed in WKPaymentAuthorizationViewControllerDelegate.
(WebKit::WebPaymentCoordinatorProxy::presenterDidSelectShippingMethod): Renamed from
didSelectShippingMethod.
(WebKit::WebPaymentCoordinatorProxy::presenterDidSelectShippingContact): Renamed from
didSelectShippingContact.
(WebKit::WebPaymentCoordinatorProxy::presenterDidSelectPaymentMethod): Renamed from
didSelectPaymentMethod.
(WebKit::WebPaymentCoordinatorProxy::validateMerchant): Renamed to
presenterWillValidateMerchant.
(WebKit::WebPaymentCoordinatorProxy::didAuthorizePayment): Renamed to
presenterDidAuthorizePayment.
(WebKit::WebPaymentCoordinatorProxy::didSelectShippingMethod): Renamed to
presenterDidSelectShippingMethod.
(WebKit::WebPaymentCoordinatorProxy::didSelectShippingContact): Renamed to
presenterDidSelectShippingContact.
(WebKit::WebPaymentCoordinatorProxy::didSelectPaymentMethod): Renamed to
didSelectPaymentMethod.

  • Shared/ApplePay/WebPaymentCoordinatorProxy.h: Changed WebPaymentCoordinatorProxy to

subclass PaymentAuthorizationPresenter::Client.

  • Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.h: Removed WKPaymentAuthorizationViewControllerDelegate interface and declared some helper functions

needed by PaymentAuthorizationPresenter.

  • Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:

(WebKit::toPKPaymentSummaryItemType): Removed static keyword.
(WebKit::toDecimalNumber): Ditto.
(WebKit::toPKPaymentSummaryItem): Ditto.
(WebKit::toPKPaymentSummaryItems): Ditto.
(WebKit::toPKShippingMethod): Ditto.
(WebKit::WebPaymentCoordinatorProxy::platformPaymentRequest): Changed to call
m_authorizationPresenter.
(WebKit::WebPaymentCoordinatorProxy::platformCompletePaymentSession): Ditto.
(WebKit::WebPaymentCoordinatorProxy::platformCompleteMerchantValidation): Ditto.
(WebKit::WebPaymentCoordinatorProxy::platformCompleteShippingMethodSelection): Ditto.
(WebKit::WebPaymentCoordinatorProxy::platformCompleteShippingContactSelection): Ditto.
(WebKit::WebPaymentCoordinatorProxy::platformCompletePaymentMethodSelection): Ditto.
(-[WKPaymentAuthorizationViewControllerDelegate initWithPaymentCoordinatorProxy:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate invalidate]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:willFinishWithError:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didRequestMerchantSession:]): Deleted.
(toShippingMethod): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didAuthorizePayment:handler:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectPaymentMethod:handler:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingMethod:handler:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingContact:handler:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didAuthorizePayment:completion:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingMethod:completion:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectPaymentMethod:completion:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingContact:completion:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewControllerDidFinish:]): Deleted.
(WebKit::toPKPaymentAuthorizationStatus): Moved to PaymentAuthorizationPresenter.mm.
(WebKit::toPKPaymentErrorCode): Ditto.
(WebKit::toNSError): Ditto.
(WebKit::toNSErrors): Ditto.

  • Shared/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm:

(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI): Changed to present a
PaymentAuthorizationPresenter rather than a PKPAVC.
(WebKit::WebPaymentCoordinatorProxy::hidePaymentUI): Changed to dismiss a
PaymentAuthorizationPresenter rather than a PKPAVC.

  • Shared/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm:

(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI): Ditto.
(WebKit::WebPaymentCoordinatorProxy::hidePaymentUI): Ditto.

  • SourcesCocoa.txt:
  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::paymentCoordinatorAuthorizationPresenter): Added. Returns a new
PaymentAuthorizationViewController.

  • WebKit.xcodeproj/project.pbxproj:
3:03 PM Changeset in webkit [242615] by Justin Fan
  • 30 edits
    6 copies
    1 add in trunk

[Web GPU] GPUSampler implementation
https://bugs.webkit.org/show_bug.cgi?id=195427
<rdar://problem/48686011>

Reviewed by Dean Jackson.

Source/WebCore:

Implement ability to create GPUSamplers and use them as pipeline resource bindings.

Test: texture-triangle-strip.html updated.

Add symbols to project:

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Sources.txt:
  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/WebCoreBuiltinNames.h:

GPUSampler creation:

  • Modules/webgpu/GPUSamplerDescriptor.idl: Added.
  • Modules/webgpu/WebGPUDevice.cpp:

(WebCore::WebGPUDevice::createSampler const): Added.

  • Modules/webgpu/WebGPUDevice.h:
  • Modules/webgpu/WebGPUDevice.idl:
  • Modules/webgpu/WebGPUSampler.cpp: Added.

(WebCore::WebGPUSampler::create):
(WebCore::WebGPUSampler::WebGPUSampler):

  • Modules/webgpu/WebGPUSampler.h: Added.

(WebCore::WebGPUSampler::sampler const):

  • Modules/webgpu/WebGPUSampler.idl: Added.
  • platform/graphics/gpu/GPUDevice.cpp:

(WebCore::GPUDevice::tryCreateSampler const): Added.

  • platform/graphics/gpu/GPUDevice.h:
  • platform/graphics/gpu/GPUSampler.h: Added.

(WebCore::GPUSampler::platformSampler const):

  • platform/graphics/gpu/GPUSamplerDescriptor.h: Added.
  • platform/graphics/gpu/cocoa/GPUSamplerMetal.mm: Added.

(WebCore::mtlAddressModeForAddressMode):
(WebCore::mtlBorderColorForBorderColor):
(WebCore::mtlMinMagFilterForFilterMode):
(WebCore::mtlMipFilterForFilterMode):
(WebCore::tryCreateMtlSamplerState):
(WebCore::GPUSampler::tryCreate):
(WebCore::GPUSampler::GPUSampler):

Move GPUCompareFunction to Utils for shared use.

  • platform/graphics/gpu/GPUCompareFunction.h:
  • platform/graphics/gpu/GPUUtils.h:
  • platform/graphics/gpu/cocoa/GPURenderPipelineMetal.mm:

(WebCore::tryCreateMtlDepthStencilState):
(WebCore::validateAndConvertDepthCompareFunctionToMtl): Deleted.

  • platform/graphics/gpu/cocoa/GPUUtilsMetal.mm:

(WebCore::platformTextureFormatForGPUTextureFormat):
(WebCore::platformCompareFunctionForGPUCompareFunction):

Expand bind groups to accept GPUSamplers:

  • Modules/webgpu/WebGPUBindGroupBinding.h:
  • Modules/webgpu/WebGPUBindGroupBinding.idl:
  • Modules/webgpu/WebGPUBindGroupDescriptor.cpp:

(WebCore::WebGPUBindGroupDescriptor::asGPUBindGroupDescriptor const):

  • platform/graphics/gpu/GPUBindGroupBinding.h:
  • platform/graphics/gpu/GPUProgrammablePassEncoder.h:
  • platform/graphics/gpu/cocoa/GPUProgrammablePassEncoderMetal.mm:

(WebCore::GPUProgrammablePassEncoder::setBindGroup):
(WebCore::GPUProgrammablePassEncoder::setResourceAsBufferOnEncoder):
(WebCore::GPUProgrammablePassEncoder::setResourceAsSamplerOnEncoder): Added.
(WebCore::GPUProgrammablePassEncoder::setResourceAsTextureOnEncoder):

Misc:

  • Modules/webgpu/WebGPUTexture.cpp: Missing includes.
  • Modules/webgpu/WebGPUTexture.h:
  • Modules/webgpu/WebGPUSwapChain.cpp: Removed extra include.

LayoutTests:

Update texture-triangle-strip to use a GPUSampler provided through bindings instead of creating one in shader.

  • webgpu/texture-triangle-strip.html:
3:01 PM Changeset in webkit [242614] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Follow up refactoring in try-finally code after r242591.
https://bugs.webkit.org/show_bug.cgi?id=195428

Reviewed by Saam Barati.

  1. Added some comments in emitFinallyCompletion() to describe each completion case.
  2. Converted CatchEntry into a struct.
  3. Renamed variable hasBreaksOrContinuesNotCoveredByJumps to hasBreaksOrContinuesThatEscapeCurrentFinally to be more clear about its purpose.
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::emitOutOfLineExceptionHandler):
(JSC::BytecodeGenerator::emitFinallyCompletion):

  • bytecompiler/BytecodeGenerator.h:
2:41 PM Changeset in webkit [242613] by sbarati@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

CompactVariableMap::Handle's copy operator= leaks the previous data
https://bugs.webkit.org/show_bug.cgi?id=195398

Reviewed by Yusuke Suzuki.

The copy constructor was just assigning |this| to the new value,
forgetting to decrement the ref count of the thing pointed to by
the |this| handle. Based on Yusuke's suggestion, this patch refactors
the move constructor, move operator=, and copy operator= to use the
swap() primitive and the copy constructor primitive.

  • parser/VariableEnvironment.cpp:

(JSC::CompactVariableMap::Handle::Handle):
(JSC::CompactVariableMap::Handle::swap):
(JSC::CompactVariableMap::Handle::operator=): Deleted.

  • parser/VariableEnvironment.h:

(JSC::CompactVariableMap::Handle::Handle):
(JSC::CompactVariableMap::Handle::operator=):

2:17 PM Changeset in webkit [242612] by youenn@apple.com
  • 4 edits
    2 adds in trunk/LayoutTests

REGRESSION: ( r231040 ) Layout Test http/tests/security/xss-DENIED-xsl-external-entity.xml is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=189724
<rdar://problem/48422520>

Reviewed by Geoffrey Garen.

Copy the flaky test into a new test for which we use DumpJSConsoleLogInStdErr.
This should make the new test no longer flaky in WK1.
Run this new test for WK1 only and run the original test for WK2 only.

  • TestExpectations:
  • http/tests/security/xss-DENIED-xsl-external-entity-no-logging-expected.txt: Added.
  • http/tests/security/xss-DENIED-xsl-external-entity-no-logging.xml: Added.
  • platform/ios-wk1/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/wk2/TestExpectations:
1:50 PM Changeset in webkit [242611] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Regression(r242580) WebKit.NetworkProcessCrashWithPendingConnection API is crashing on iOS debug
https://bugs.webkit.org/show_bug.cgi?id=195416

Reviewed by Antti Koivisto.

Drop ASSERT_NOT_REACHED() in WebPage::didCompletePageTransition() when the tree is still frozen due to
LayerTreeFreezeReason::ProcessSuspended. As demonstrated by this API test, nothing prevents a load from
completing and WebPage::didCompletePageTransition() to get called *after* WebProcess::prepareToSuspend()
has been called. From the logging during the test, I can tell that WebProcess::processDidResume() gets
called later on and the LayerTreeFreezeReason::ProcessSuspended freezing reason gets dropped, as expected.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didCompletePageTransition):

1:49 PM Changeset in webkit [242610] by Chris Dumez
  • 7 edits in trunk/Source/WebKit

Clean up / simplify ProcessAssertion code
https://bugs.webkit.org/show_bug.cgi?id=195394

Reviewed by Geoffrey Garen.

Clean up / simplify ProcessAssertion code to facilitate its maintenance and make it
less error-prone.

  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog):

  • UIProcess/ProcessAssertion.cpp:

(WebKit::ProcessAssertion::ProcessAssertion):
(WebKit::ProcessAssertion::setState):

  • UIProcess/ProcessAssertion.h:

(WebKit::ProcessAssertion::Client::~Client):
(WebKit::ProcessAssertion::setClient):
(WebKit::ProcessAssertion::client):

  • UIProcess/ProcessThrottler.cpp:

(WebKit::ProcessThrottler::didConnectToProcess):

  • UIProcess/ProcessThrottler.h:
  • UIProcess/ios/ProcessAssertionIOS.mm:

(-[WKProcessAssertionBackgroundTaskManager dealloc]):
(-[WKProcessAssertionBackgroundTaskManager addAssertionNeedingBackgroundTask:]):
(-[WKProcessAssertionBackgroundTaskManager removeAssertionNeedingBackgroundTask:]):
(-[WKProcessAssertionBackgroundTaskManager _notifyAssertionsOfImminentSuspension]):
(-[WKProcessAssertionBackgroundTaskManager _releaseBackgroundTask]):
(-[WKProcessAssertionBackgroundTaskManager _updateBackgroundTask]):
(WebKit::ProcessAssertion::ProcessAssertion):
(WebKit::ProcessAssertion::processAssertionWasInvalidated):
(WebKit::ProcessAssertion::setState):
(WebKit::ProcessAndUIAssertion::updateRunInBackgroundCount):
(WebKit::ProcessAndUIAssertion::ProcessAndUIAssertion):
(WebKit::ProcessAndUIAssertion::~ProcessAndUIAssertion):
(WebKit::ProcessAndUIAssertion::processAssertionWasInvalidated):
(WebKit::ProcessAndUIAssertion::setState):
(WebKit::ProcessAndUIAssertion::uiAssertionWillExpireImminently):

1:46 PM SVG properties edited by Said Abou-Hallawa
(diff)
1:44 PM Changeset in webkit [242609] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Unreviewed, rolling out r242297.
https://bugs.webkit.org/show_bug.cgi?id=195430

Broke Microsoft Visio. (Requested by dydz on #webkit).

Reverted changeset:

"[iOS] Turn mouse event simulation on by default"
https://bugs.webkit.org/show_bug.cgi?id=195218
https://trac.webkit.org/changeset/242297

1:43 PM Changeset in webkit [242608] by sihui_liu@apple.com
  • 2 edits in trunk/Source/WebCore

Crash in com.apple.WebCore: WebCore::IDBTransaction::pendingOperationTimerFired + 72
https://bugs.webkit.org/show_bug.cgi?id=195214
<rdar://problem/48461116>

Reviewed by Geoffrey Garen.

When IDBTransaction is ready to commit, a commit operation would be schedule to
m_pendingTransactionOperationQueue. If connection to IDBServer is lost, pending operations are moved to
m_transactionOperationsInProgressQueue and will be completed with TransactionOperation::doComplete. doComplete
executes complete function of the operation, clears the complete function, and then removes the operation from
m_transactionOperationsInProgressQueue. In doComplete, we do early return when complete function is null,
since the doComplete could be invoked twice due to the race conditions between receiving "operation complete"
message from server and client-side abort.

However, commit operation does not have a complete function because it should be the last operation of
transaction and it gets removed from queue in its perform function. A commit operation would not be removed from
m_transactionOperationsInProgressQueue because of the early return. It would be removed from
m_transactionOperationMap, which may hold the last ref to the commit operation, in
IDBTransaction::connectionClosedFromServer. In this case, when pendingOperationTimerFired is called later, the
commit operation left in m_transactionOperationsInProgressQueue would be used and found to be freed. We should
not use null check of complete function to decide whether an operation is completed.

  • Modules/indexeddb/client/TransactionOperation.h:

(WebCore::IDBClient::TransactionOperation::doComplete):

1:42 PM SVG properties edited by Said Abou-Hallawa
(diff)
1:41 PM SVG properties edited by Said Abou-Hallawa
(diff)
1:35 PM Changeset in webkit [242607] by Kocsen Chung
  • 4 edits in tags/Safari-608.1.8/Source

Revert r242297. rdar://problem/48686655

1:34 PM SVG properties edited by Said Abou-Hallawa
(diff)
1:25 PM SVG properties edited by Said Abou-Hallawa
(diff)
12:40 PM Changeset in webkit [242606] by Devin Rousso
  • 5 edits in trunk

Web Inspector: Protocol: add type checking when commands are called via invoke
https://bugs.webkit.org/show_bug.cgi?id=195310
<rdar://problem/48588679>

Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackend.Command.prototype.invoke.deliverFailure): Added.
(InspectorBackend.Command.prototype.invoke):
(InspectorBackend.Command.prototype._invokeWithArguments):

LayoutTests:

  • inspector/protocol/inspector-backend-invocation-return-value.html:
  • inspector/protocol/inspector-backend-invocation-return-value-expected.txt:
12:19 PM SVG properties created by Said Abou-Hallawa
12:18 PM WikiStart edited by Said Abou-Hallawa
(diff)
12:17 PM WikiStart edited by Said Abou-Hallawa
(diff)
11:43 AM Changeset in webkit [242605] by Tadeu Zagallo
  • 5 edits in trunk/Source/JavaScriptCore

Lazily decode cached bytecode
https://bugs.webkit.org/show_bug.cgi?id=194810

Reviewed by Saam Barati.

Like lazy parsing, we should pause at code block boundaries. Instead
of always eagerly decoding UnlinkedFunctionExecutable's UnlinkedCodeBlocks,
we store their offsets in the executable and lazily decode them on the next
call to unlinkedCodeBlockFor.

  • bytecode/UnlinkedFunctionExecutable.cpp:

(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
(JSC::UnlinkedFunctionExecutable::~UnlinkedFunctionExecutable):
(JSC::UnlinkedFunctionExecutable::visitChildren):
(JSC::UnlinkedFunctionExecutable::unlinkedCodeBlockFor):
(JSC::UnlinkedFunctionExecutable::decodeCachedCodeBlocks):

  • bytecode/UnlinkedFunctionExecutable.h:
  • runtime/CachedTypes.cpp:

(JSC::Decoder::Decoder):
(JSC::Decoder::~Decoder):
(JSC::Decoder::create):
(JSC::Decoder::offsetOf):
(JSC::Decoder::cacheOffset):
(JSC::Decoder::ptrForOffsetFromBase):
(JSC::Decoder::handleForEnvironment const):
(JSC::Decoder::setHandleForEnvironment):
(JSC::Decoder::addFinalizer):
(JSC::VariableLengthObject::isEmpty const):
(JSC::CachedWriteBarrier::isEmpty const):
(JSC::CachedFunctionExecutable::unlinkedCodeBlockForCall const):
(JSC::CachedFunctionExecutable::unlinkedCodeBlockForConstruct const):
(JSC::CachedFunctionExecutable::decode const):
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
(JSC::decodeCodeBlockImpl):
(JSC::isCachedBytecodeStillValid):
(JSC::decodeFunctionCodeBlock):

  • runtime/CachedTypes.h:

(JSC::Decoder::vm):

11:24 AM Changeset in webkit [242604] by Devin Rousso
  • 9 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION(r242118): WI.ScopeBar missing background
https://bugs.webkit.org/show_bug.cgi?id=195299

Reviewed by Joseph Pecoraro.

Rework the way color, background-color, and border-color are set for WI.ScopeBar to
use CSS variables instead. Divides the variables into three categories:

  • default: these are the values that the WI.ScopeBar would use normally
  • override: these are values that take precidence over the default (e.g. set by other elements)
    • falls back to default when no value is set
  • actual: this is the resulting value that will be used when displaying
    • this way, other elements can "mirror" the styling of the WI.ScopeBar
  • UserInterface/Views/ScopeBar.css:

(.scope-bar):
(.scope-bar > li):
(.scope-bar > li::before):
(.scope-bar > li:matches(.selected, :hover)):
(.scope-bar > li:not(.selected):hover::after):
(.scope-bar > li.selected:active::after):
(.scope-bar > li.multiple > select):
(body[dir=ltr] .scope-bar > li.multiple > select):
(body[dir=rtl] .scope-bar > li.multiple > select):
(.scope-bar > li.multiple:not(.selected) > select): Added.
(.scope-bar > li.multiple > .arrows):
(.scope-bar > li::before): Deleted.
(.scope-bar.default-item-selected > li.multiple.selected::before): Deleted.
(.scope-bar > li:matches(.selected, :hover)::before): Deleted.
(.scope-bar > li.selected:active::before): Deleted.
(.scope-bar > li.multiple.selected > select): Deleted.
(body[dir=ltr] .scope-bar > li.multiple > .arrows): Deleted.
(body[dir=rtl] .scope-bar > li.multiple > .arrows): Deleted.
(.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows): Deleted.
(.scope-bar > li:matches(.selected, :active)): Deleted.
(@media (prefers-color-scheme: dark)): Deleted.
Switch to using ::after since ::before is more commonly used.

  • UserInterface/Views/MultipleScopeBarItem.js:

(WI.MultipleScopeBarItem.prototype._handleMouseDown):
Drive-by: fix the <select> alignment by re-firing the "mousedown" event on it.

  • UserInterface/Views/AuditTestGroupContentView.js:

(WI.AuditTestGroupContentView.prototype.layout):

  • UserInterface/Views/AuditTestGroupContentView.css:

(.content-view.audit-test-group > header > nav > .scope-bar > li):
(.content-view.audit-test-group > header > nav > .scope-bar > li:not(:hover, .selected)):
(.content-view.audit-test-group > header > nav > .scope-bar > li > img): Added.
(.content-view.audit-test-group > header > nav > .scope-bar > li.pass > img): Added.
(.content-view.audit-test-group > header > nav > .scope-bar > li.warn > img): Added.
(.content-view.audit-test-group > header > nav > .scope-bar > li.fail > img): Added.
(.content-view.audit-test-group > header > nav > .scope-bar > li.error > img): Added.
(.content-view.audit-test-group > header > nav > .scope-bar > li.unsupported > img): Added.
(.content-view.audit-test-group > section > .audit-test-case:first-child, .content-view.audit-test-group > section > .audit-test-case.filtered ~ .audit-test-case:not(.filtered), .content-view.audit-test-group > section > .audit-test-group + .audit-test-case, .content-view.audit-test-group > section > .audit-test-case + .audit-test-group): Added.
(.content-view.audit-test-group > section > .audit-test-case:not(.filtered) ~ .audit-test-case:not(.filtered)): Added.
(.content-view.audit-test-group > header > nav > .scope-bar > li::before): Deleted.
(.content-view.audit-test-group > header > nav > .scope-bar > li.pass::before): Deleted.
(.content-view.audit-test-group > header > nav > .scope-bar > li.warn::before): Deleted.
(.content-view.audit-test-group > header > nav > .scope-bar > li.fail::before): Deleted.
(.content-view.audit-test-group > header > nav > .scope-bar > li.error::before): Deleted.
(.content-view.audit-test-group > header > nav > .scope-bar > li.unsupported::before): Deleted.
(.content-view.audit-test-group > section > .audit-test-case:first-child, .content-view.audit-test-group > section > .audit-test-group + .audit-test-case, .content-view.audit-test-group > section > .audit-test-case + .audit-test-group): Deleted.
Replace the ::before image with an actual <img> now that the WI.ScopeBar itself uses
a pseudo-element for the background styling.

  • UserInterface/Views/LogContentView.js:

(WI.LogContentView):

  • UserInterface/Views/LogContentView.css:

(.log-scope-bar > li:not(.unread) > .indicator): Added.
(.log-scope-bar > li.unread > .indicator): Added.
(.log-scope-bar > li.unread:hover > .indicator): Added.
(.log-scope-bar > li.unread.errors > .indicator): Added.
(.log-scope-bar > li.unread.warnings > .indicator): Added.
(.log-scope-bar > li.unread.logs > .indicator): Added.
(.log-scope-bar > li.unread::before): Deleted.
(body[dir=ltr] .log-scope-bar > li.unread::before): Deleted.
(body[dir=rtl] .log-scope-bar > li.unread::before): Deleted.
(.log-scope-bar > li.unread:hover::before): Deleted.
(.log-scope-bar > li.unread.errors::before): Deleted.
(.log-scope-bar > li.unread.warnings::before): Deleted.
(.log-scope-bar > li.unread.logs::before): Deleted.
Replace the ::before unread indicator with an actual <div> now that the WI.ScopeBar
itself uses a pseudo-element for the background styling.

  • UserInterface/Views/TimelineRecordingContentView.css:

(.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected):
(.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple): Deleted.
(.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple .arrows): Deleted.

  • UserInterface/Views/CanvasSidebarPanel.js:

(WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
Drive-by: fix typo.

11:16 AM Changeset in webkit [242603] by wilander@apple.com
  • 20 edits
    2 adds in trunk

Resource Load Statistics: Log first-party navigations with link decoration
https://bugs.webkit.org/show_bug.cgi?id=195301
<rdar://problem/48569971>

Reviewed by Brent Fulgham.

Source/WebCore:

Test: http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration.html

This patch adds two new members to WebCore::ResourceLoadStatistics:

  • topFrameLinkDecorationsFrom, a set of domains
  • gotLinkDecorationFromPrevalentResource, a boolean state
  • loader/ResourceLoadStatistics.cpp:

(WebCore::ResourceLoadStatistics::encode const):
(WebCore::ResourceLoadStatistics::decode):
(WebCore::ResourceLoadStatistics::toString const):
(WebCore::ResourceLoadStatistics::merge):

  • loader/ResourceLoadStatistics.h:

Source/WebKit:

This patch adds a call to the network process' resource load statistics to
log cross-site navigations with link decoration. The logging checks if the
source of the navigation is a prevalent resource and if so, sets the
appropriate flag for the destination.

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::ResourceLoadStatisticsDatabaseStore::ResourceLoadStatisticsDatabaseStore):
(WebKit::ResourceLoadStatisticsDatabaseStore::createSchema):
(WebKit::ResourceLoadStatisticsDatabaseStore::logSubresourceRedirect):
(WebKit::ResourceLoadStatisticsDatabaseStore::logCrossSiteLoadWithLinkDecoration):

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
  • NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:

(WebKit::ResourceLoadStatisticsMemoryStore::logCrossSiteLoadWithLinkDecoration):

  • NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h:
  • NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::logCrossSiteLoadWithLinkDecoration):

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::committedCrossSiteLoadWithLinkDecoration):

This now receives a completion handler. This is in preparation for
test cases where we need to log such an event and wait for it to
finish before continuing.

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::committedCrossSiteLoadWithLinkDecoration):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didCommitLoadForFrame):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::committedCrossSiteLoadWithLinkDecoration):

  • UIProcess/WebProcessPool.h:

LayoutTests:

  • http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration-expected.txt: Added.
  • http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration.html: Added.
11:11 AM Changeset in webkit [242602] by Devin Rousso
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: CSS: there should be a way to inline-replace a variable with it's value
https://bugs.webkit.org/show_bug.cgi?id=195335

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/InlineSwatch.js:

(WI.InlineSwatch):
(WI.InlineSwatch.prototype.didDismissPopover):
(WI.InlineSwatch.prototype._swatchElementClicked):
(WI.InlineSwatch.prototype._swatchElementClicked.optionsForType): Added.
Shift-clicking a variable swatch replaces the text with the variable's value.
Drive-by: try to create a readonly swatch for the variable's value (e.g. a color indicator).

  • UserInterface/Views/SpreadsheetStyleProperty.js:

(WI.SpreadsheetStyleProperty.prototype._createInlineSwatch):
If the value of a variable swatch changes, re-render the value.

  • UserInterface/Views/CodeMirrorTextMarkers.js:

(createCodeMirrorTextMarkers):
(createCodeMirrorColorTextMarkers):
(createCodeMirrorGradientTextMarkers):
(createCodeMirrorBezierTextMarkers):
(createCodeMirrorSpringTextMarkers):
Refactor function parameters for more flexibility.

  • Localizations/en.lproj/localizedStrings.js:
10:03 AM Changeset in webkit [242601] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

[iOS WK] REGRESSION (r242132): Fixed position banners flicker and move when scrolling (Apple, Tesla, YouTube, Reddit)
https://bugs.webkit.org/show_bug.cgi?id=195396
rdar://problem/48518959

Reviewed by Antti Koivisto.

r242132 introduced two issues that contributed to jumpiness of position:fixed layers when scrolling.

First, ScrollingTreeScrollingNode::wasScrolledByDelegatedScrolling() would early return if the scroll position
hadn't changed. It also needs to check the supplied layoutViewport (if any), but in some cases running the
notifyRelatedNodesAfterScrollPositionChange() code is necessary even without a scroll position change:
if the web process has committed new scrolling tree state (e.g. with new fixed constraints) since
the last call, we have to run the layer positioning code to have fixed layers re-adjust their position relative
to the root. This was the primary bug fix.

Secondly, a layer tree commit can give ScrollingTreeFrameScrollingNode a new layout viewport, but we need to
adjust this by the scrolling tree's current scroll position in case it gets used before the next scroll.

Currently no way to test this, as it's very timing-dependent.

  • page/scrolling/ScrollingTreeFrameScrollingNode.cpp:

(WebCore::ScrollingTreeFrameScrollingNode::commitStateBeforeChildren):
(WebCore::ScrollingTreeFrameScrollingNode::scrollPositionAndLayoutViewportMatch):

  • page/scrolling/ScrollingTreeFrameScrollingNode.h:
  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::scrollPositionAndLayoutViewportMatch):
(WebCore::ScrollingTreeScrollingNode::wasScrolledByDelegatedScrolling):

  • page/scrolling/ScrollingTreeScrollingNode.h:
9:46 AM Changeset in webkit [242600] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] Disable permissive call logging in sandbox
https://bugs.webkit.org/show_bug.cgi?id=195288
<rdar://problem/47683804>

Reviewed by Brent Fulgham.

As on macOS, we should enable strict call filtering in sandbox on iOS.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
9:40 AM Changeset in webkit [242599] by youenn@apple.com
  • 13 edits
    3 adds in trunk/Source

Introduce a quota manager for Cache API/Service Worker/IDB storage
https://bugs.webkit.org/show_bug.cgi?id=195283

Reviewed by Chris Dumez.

Source/WebCore:

Introduce a generic quota manager and quota users to be used in Network Process.
Quota manager/users are scoped by client origin.
Quota manager is used to check for quota by an entity wanting to execute a storage task of a given taskSize.
Quota manager will check the current space used by all its quota users.
If the size + taskSize is above quota, it will call a function to try extend the quota.
In the meantime, the task (and all tasks that may be added) are queued.

Once the new quota is received, the quota manager will either allow or disallow the first task in the queue.
The quota manager will try to execute as many tasks as possible with the provided quota.
If some tasks are remaining and quota limit is hit, the quota manager will compute the space needed for all remaining requests
and do another quota extension request.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • page/ClientOrigin.h:
  • storage/StorageQuotaManager.cpp: Added.

(WebCore::StorageQuotaManager::~StorageQuotaManager):
(WebCore::StorageQuotaManager::spaceUsage const):
(WebCore::StorageQuotaManager::requestSpace):
(WebCore::StorageQuotaManager::askForMoreSpace):
(WebCore::StorageQuotaManager::processPendingRequests):

  • storage/StorageQuotaManager.h: Added.

(WebCore::StorageQuotaManager::StorageQuotaManager):
(WebCore::StorageQuotaManager::addUser):
(WebCore::StorageQuotaManager::removeUser):

  • storage/StorageQuotaUser.h: Added.

Source/WebKit:

Remove quota handling from Cache API storage and use StorageQuotaManager/StorageQuotaUser.
CacheStorage::Caches becomes a quota user and has a StorageQuotaManager to check for space for any cache API write task.
NetworkProcess is responsible to manage the quota managers.
Quota managers will go through network process to ask UIProcess for quota extension.

Remove pending callback handling from CacheStorage since they are queued in QuotaManager now.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::~NetworkProcess):
(WebKit::NetworkProcess::destroySession):
(WebKit::NetworkProcess::cacheStorageRootPath):
(WebKit::NetworkProcess::setCacheStorageParameters):
(WebKit::NetworkProcess::storageQuotaManager):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::from):
(WebKit::CacheStorage::Engine::Engine):
(WebKit::CacheStorage::Engine::readCachesFromDisk):

  • NetworkProcess/cache/CacheStorageEngine.h:
  • NetworkProcess/cache/CacheStorageEngineCache.cpp:

(WebKit::CacheStorage::Cache::put):

  • NetworkProcess/cache/CacheStorageEngineCache.h:
  • NetworkProcess/cache/CacheStorageEngineCaches.cpp:

(WebKit::CacheStorage::Caches::Caches):
(WebKit::CacheStorage::Caches::~Caches):
(WebKit::CacheStorage::Caches::requestSpace):
(WebKit::CacheStorage::Caches::writeRecord):

  • NetworkProcess/cache/CacheStorageEngineCaches.h:
9:22 AM Changeset in webkit [242598] by wilander@apple.com
  • 29 edits
    3 adds in trunk

Resource Load Statistics: Make it possible to purge only script-accessible cookies
https://bugs.webkit.org/show_bug.cgi?id=195383
<rdar://problem/48570136>

Reviewed by Brent Fulgham.

Source/WebCore:

Test: http/tests/resourceLoadStatistics/delete-script-accessible-cookies.html

This patch provides the ability to purge all script-accessible cookies while leaving
HttpOnly cookies in place.

  • loader/CookieJar.h:

Added boolean enum IncludeHttpOnlyCookies for use as function parameter.

  • platform/network/NetworkStorageSession.h:
  • platform/network/cocoa/NetworkStorageSessionCocoa.mm:

(WebCore::NetworkStorageSession::deleteCookiesForHostnames):

Support for the new IncludeHttpOnlyCookies flag.

  • platform/network/curl/NetworkStorageSessionCurl.cpp:

(WebCore::NetworkStorageSession::deleteCookiesForHostnames):

Stubbed out the new function and added a FIXME comment.

  • platform/network/soup/NetworkStorageSessionSoup.cpp:

(WebCore::NetworkStorageSession::deleteCookiesForHostnames):

Stubbed out the new function and added a FIXME comment.

Source/WebKit:

This patch provides the ability to purge all script-accessible cookies while leaving
HttpOnly cookies in place.

  • NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:

(WebKit::ResourceLoadStatisticsStore::removeDataRecords):

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::deleteWebsiteDataForRegistrableDomainsInAllPersistentDataStores):

Support for a new boolean flag on whether or not to include HttpOnly Cookies.

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::deleteWebsiteDataForRegistrableDomainsInAllPersistentDataStores):

Support for a new boolean flag on whether or not to include HttpOnly Cookies.

(WebKit::NetworkProcess::deleteCookiesForTesting):

Test infrastructure.

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/NetworkSession.cpp:

(WebKit::NetworkSession::deleteWebsiteDataForRegistrableDomainsInAllPersistentDataStores):

Support for a new boolean flag on whether or not to include HttpOnly Cookies.

  • NetworkProcess/NetworkSession.h:
  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:

(WKWebsiteDataStoreStatisticsDeleteCookiesForTesting):

Test infrastructure.

  • UIProcess/API/C/WKWebsiteDataStoreRef.h:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::deleteCookiesForTesting):

Test infrastructure.

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::deleteCookiesForTesting):

Test infrastructure.

  • UIProcess/WebsiteData/WebsiteDataStore.h:

Tools:

This patch adds test infrastructure to purge only script-accessible cookies,
including a new testRunner function called statisticsDeleteCookiesForHost().git a

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::statisticsDeleteCookiesForHost):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::statisticsDeleteCookiesForHost):

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

LayoutTests:

  • http/tests/cookies/resources/set-http-only-cookie.php: Added.
  • http/tests/resourceLoadStatistics/delete-script-accessible-cookies-expected.txt: Added.
  • http/tests/resourceLoadStatistics/delete-script-accessible-cookies.html: Added.
9:17 AM Changeset in webkit [242597] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit

REGRESSION(r242364): [WPE] Do not stop the compositing run loop update timer on suspend
https://bugs.webkit.org/show_bug.cgi?id=195410

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2019-03-07
Reviewed by Žan Doberšek.

Calling CompositingRunLoop::stopUpdates() on suspend is leaving the threaded compositor in an inconsistent
state, failing to resume and stopping the updates forever. This is causing timeouts in WPE layout tests. Instead
of calling stopUpdates(), a new suspend() is called, that stops the update timer, without changing the current
updae tha compositing state. A new method resume() is also added to schedule an update if needed.

  • Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:

(WebKit::CompositingRunLoop::suspend): Set state as suspended and stop the update timer.
(WebKit::CompositingRunLoop::resume): Set state as not suspended and start the update timer if it was scheduled
while suspended.
(WebKit::CompositingRunLoop::scheduleUpdate): Do not start the update timer when suspended.
(WebKit::CompositingRunLoop::compositionCompleted): Ditto.
(WebKit::CompositingRunLoop::updateCompleted): Ditto.
(WebKit::CompositingRunLoop::updateTimerFired): Add an assert to ensure the update timer is not fired while suspended.

  • Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h:
  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::ThreadedCompositor::suspend): Call CompositingRunLoop::suspend() instead of stopUpdates().
(WebKit::ThreadedCompositor::resume): Call CompositingRunLoop::resume().

2:16 AM Changeset in webkit [242596] by mark.lam@apple.com
  • 33 edits in trunk/Source

Exception is a JSCell, not a JSObject.
https://bugs.webkit.org/show_bug.cgi?id=195392

Reviewed by Saam Barati.

Source/JavaScriptCore:

Exception is a VM implementation construct to carry a stack trace for the point
where it is thrown from. As a reminder, an Exception is needed because:

  1. JS code can throw primitives as well that are non-cells.
  2. Error objects capture the stack trace at the point where they are constructed, which is not always the same as the point where they are thrown (if they are thrown).

Hence, Exception should not be visible to JS code, and therefore should not be a
JSObject. Hence, it should not inherit from JSDestructibleObject.

This patch changes the following:

  1. Exception now inherits directly from JSCell instead.
  1. Places where we return an Exception masquerading as a JSObject* are now updated to return a nullptr when we encounter an exception.
  1. We still return Exception* as JSValue or EncodedJSValue when we encounter an exception in functions that return JSValue or EncodedJSValue. This is because the number that implements the following pattern is too numerous:

return throw<Some Error>(...)

We'll leave these as is for now.

  • bytecode/CodeBlock.h:

(JSC::ScriptExecutable::prepareForExecution):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::executeProgram):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeModuleProgram):

  • jit/JITOperations.cpp:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::setUpCall):

  • runtime/ConstructData.cpp:

(JSC::construct):

  • runtime/Error.cpp:

(JSC::throwConstructorCannotBeCalledAsFunctionTypeError):
(JSC::throwTypeError):
(JSC::throwSyntaxError):

  • runtime/Error.h:

(JSC::throwRangeError):

  • runtime/Exception.cpp:

(JSC::Exception::createStructure):

  • runtime/Exception.h:
  • runtime/ExceptionHelpers.cpp:

(JSC::throwOutOfMemoryError):
(JSC::throwStackOverflowError):
(JSC::throwTerminatedExecutionException):

  • runtime/ExceptionHelpers.h:
  • runtime/FunctionConstructor.cpp:

(JSC::constructFunction):
(JSC::constructFunctionSkippingEvalEnabledCheck):

  • runtime/IntlPluralRules.cpp:

(JSC::IntlPluralRules::resolvedOptions):

  • runtime/JSGenericTypedArrayViewConstructorInlines.h:

(JSC::constructGenericTypedArrayViewWithArguments):

  • runtime/JSObject.h:
  • runtime/ObjectConstructor.cpp:

(JSC::objectConstructorSeal):
(JSC::objectConstructorFreeze):

  • runtime/ProgramExecutable.cpp:

(JSC::ProgramExecutable::initializeGlobalProperties):

  • runtime/RegExpConstructor.cpp:

(JSC::regExpCreate):
(JSC::constructRegExp):

  • runtime/ScriptExecutable.cpp:

(JSC::ScriptExecutable::newCodeBlockFor):
(JSC::ScriptExecutable::prepareForExecutionImpl):

  • runtime/ScriptExecutable.h:
  • runtime/ThrowScope.cpp:

(JSC::ThrowScope::throwException):

  • runtime/ThrowScope.h:

(JSC::ThrowScope::throwException):
(JSC::throwException):

  • runtime/VM.cpp:

(JSC::VM::throwException):

  • runtime/VM.h:

Source/WebCore:

  • bridge/objc/objc_utility.h:
  • bridge/objc/objc_utility.mm:

(JSC::Bindings::throwError):

  • bridge/runtime_object.cpp:

(JSC::Bindings::RuntimeObject::throwInvalidAccessError):

  • bridge/runtime_object.h:

Source/WebKit:

  • WebProcess/Plugins/Netscape/JSNPObject.cpp:

(WebKit::JSNPObject::throwInvalidAccessError):

  • WebProcess/Plugins/Netscape/JSNPObject.h:
1:28 AM Changeset in webkit [242595] by commit-queue@webkit.org
  • 93 edits
    14 copies
    2 moves
    230 adds
    1 delete in trunk/LayoutTests

Update WPT tests for embedded content
https://bugs.webkit.org/show_bug.cgi?id=194770

Patch by Frederic Wang <fwang@igalia.com> on 2019-03-07
Reviewed by Rob Buis.

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/html/semantics/embedded-content/META.yml: Added.
  • web-platform-tests/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html: Added.
  • web-platform-tests/html/semantics/embedded-content/image-maps/image-map-processing-model/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log.
  • web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/media-elements/audio_loop_base-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/audio_loop_base.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy-attribute-redirect-on-load.https.sub-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy-attribute.https.sub-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy-attribute.https.sub.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy.https.sub-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy.https.sub.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy.https.sub.html.headers: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-default-feature-policy.https.sub-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-default-feature-policy.https.sub.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-disabled-by-feature-policy.https.sub-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-disabled-by-feature-policy.https.sub.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-disabled-by-feature-policy.https.sub.html.headers: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-supported-by-feature-policy-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-supported-by-feature-policy.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-with-broken-track-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-with-broken-track.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/error-codes/error-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/error-codes/error.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/error-codes/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log.
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_canplay.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_canplay_noautoplay.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_canplaythrough.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_canplaythrough_noautoplay.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_loadeddata.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_loadeddata_noautoplay.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_loadedmetadata.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_loadedmetadata_noautoplay.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_loadstart.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_loadstart_noautoplay.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_order_canplay_canplaythrough.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_order_canplay_playing.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_order_loadedmetadata_loadeddata.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_order_loadstart_progress.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_pause.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_pause_noautoplay-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_pause_noautoplay.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_play.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_play_noautoplay-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_play_noautoplay.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_playing.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_playing_noautoplay.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_progress.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_progress_noautoplay.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_timeupdate.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_timeupdate_noautoplay.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLMediaElement/crossOrigin-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLMediaElement/crossOrigin.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLMediaElement/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/activeCues.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/addCue.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/removeCue.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/constructor-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/constructor.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCueList/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackList/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TrackEvent/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/autoplay-overrides-preload.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/load-events-networkState-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/load-events-networkState.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/load-removes-queued-error-event-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/load-removes-queued-error-event.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-insert-before-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-insert-before.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-moved-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-moved.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-remove-addEventListener.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-remove-no-listener-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-remove-no-listener.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-remove-onerror.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-audio-constructor-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-audio-constructor-no-src-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-audio-constructor-no-src.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-audio-constructor.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-in-sync-event-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-in-sync-event.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-fragment-into-document-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-fragment-into-document.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-into-document-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-into-document.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-into-iframe-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-into-iframe.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-parent-into-document-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-parent-into-document.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-in-div-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-in-div.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-in-namespace-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-in-namespace.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-networkState-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-networkState.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-not-in-document-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-not-in-document.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-load-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-load.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-pause-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-pause-networkState-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-pause-networkState.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-pause.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-play-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-play.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-remove-from-document-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-remove-from-document-networkState-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-remove-from-document-networkState.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-remove-from-document.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-remove-src-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-remove-src.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-in-namespace-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-in-namespace.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-networkState-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-networkState.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-not-in-document-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-not-in-document.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-control-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-control.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-insert-br-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-insert-br.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-insert-source-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-insert-source.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-insert-text-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-insert-text.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-remove-source-after-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-remove-source-after.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-remove-source-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-remove-source.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-remove-text-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-remove-text.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-remove-source-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-remove-source.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-remove-src-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-remove-src.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-source-media-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-source-media.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resources/delayed-broken-video.py: Added.

(main):

  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log.
  • web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/w3c-import.log: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/location-of-the-media-resource/currentSrc-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/location-of-the-media-resource/currentSrc.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/location-of-the-media-resource/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log.
  • web-platform-tests/html/semantics/embedded-content/media-elements/mime-types/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/media-elements/networkState_during_loadstart.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/networkState_during_progress-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/networkState_during_progress.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/offsets-into-the-media-resource/currentTime-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/offsets-into-the-media-resource/currentTime.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/offsets-into-the-media-resource/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/media-elements/paused_false_during_play.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/paused_true_during_pause-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/paused_true_during_pause.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/pause-remove-from-document-networkState.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/play-in-detached-document.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay-hidden.optional.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/media-elements/readyState_during_canplay.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/readyState_during_canplaythrough.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/readyState_during_loadeddata.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/readyState_during_loadedmetadata.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/readyState_during_playing.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-currentTime-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-currentTime.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-max-value-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-max-value.htm: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-negative-time-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-negative-time.htm: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/seeking/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/w3c-import.log.
  • web-platform-tests/html/semantics/embedded-content/media-elements/user-interface/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/media-elements/video_loop_base-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/video_loop_base.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/resources/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/svg/intrinsicsize/intrinsicsize-svg-image.tentative-expected.html: Added.
  • web-platform-tests/html/semantics/embedded-content/svg/intrinsicsize/intrinsicsize-svg-image.tentative.html: Added.
  • web-platform-tests/html/semantics/embedded-content/svg/intrinsicsize/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/w3c-import.log.
  • web-platform-tests/html/semantics/embedded-content/the-area-element/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log.
  • web-platform-tests/html/semantics/embedded-content/the-area-element/support/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/the-area-element/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_constructor-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_constructor.html:
  • web-platform-tests/html/semantics/embedded-content/the-audio-element/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/the-embed-element/document-getters-return-null-for-cross-origin-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-embed-element/document-getters-return-null-for-cross-origin.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-04-expected.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-04.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-embed-element/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/the-frame-element/document-getters-return-null-for-cross-origin-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-frame-element/document-getters-return-null-for-cross-origin.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-frame-element/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log.
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/content_document_changes_only_after_load_matures.html:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/cross_origin_parentage.sub.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/cross_origin_parentage.html.
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/document-getters-return-null-for-cross-origin-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/document-getters-return-null-for-cross-origin.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-allow-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-allow.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-allowfullscreen-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-allowfullscreen.html:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-nosrc-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-nosrc.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_javascript_url_01-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_javascript_url_01.htm:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_remove_src-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_remove_src.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-1-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-1.html:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-2-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-2.html:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-3-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-3.html:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_allow_downloads_without_user_activation.sub.tentative-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_allow_downloads_without_user_activation.sub.tentative.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_block_downloads_without_user_activation.sub.tentative-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_block_downloads_without_user_activation.sub.tentative.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads_without_user_activation.sub.tentative-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads_without_user_activation.sub.tentative.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_block_downloads_without_user_activation.sub.tentative-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_block_downloads_without_user_activation.sub.tentative.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/src-repeated-in-ancestor.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/download_stash.py: Added.

(main):

  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/iframe-that-checks-contentDocument.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/iframe_sandbox_download_helper.js: Added.

(StreamDownloadFinishDelay):
(DownloadVerifyDelay):
(VerifyDownload):
(AssertDownloadSuccess):
(AssertDownloadFailure):

  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/load-into-the-iframe.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/404-response-with-actual-image-data-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/404-response-with-actual-image-data.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/404-response-with-actual-image-data.py: Added.

(main):

  • web-platform-tests/html/semantics/embedded-content/the-img-element/Image-constructor.html:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/available-images-expected.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/available-images-onload-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/available-images-onload.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/available-images.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/current-pixel-density/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-iframe.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-path-changes-svg.tentative-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-path-changes-svg.tentative.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-path-changes.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-picture-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-picture.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-svg.tentative-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-svg.tentative.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-with-quick-attach-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-with-quick-attach-svg.tentative-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-with-quick-attach-svg.tentative.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-with-quick-attach.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/decode/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-object-element/w3c-import.log.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/img.complete-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/img.complete.html:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/intrinsicsize/intrinsicsize-with-responsive-images.tentative-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/intrinsicsize/intrinsicsize-with-responsive-images.tentative.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/intrinsicsize/intrinsicsize-without-unsized-media.tentative.https.sub-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/intrinsicsize/intrinsicsize-without-unsized-media.tentative.https.sub.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/intrinsicsize/intrinsicsize-without-unsized-media.tentative.https.sub.html.headers: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/intrinsicsize/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCueList/w3c-import.log.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/invalid-src.html:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/ismap/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/null-image-source-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/null-image-source.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/relevant-mutations.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/resources/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-display-none-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-display-none.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-quirks-mode-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-quirks-mode.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-standards-mode-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-standards-mode.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-width-1000px-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-width-1000px.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute.html: Removed.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/sizes-dynamic-001-expected.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/sizes-dynamic-001.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/sizes-dynamic-002-expected.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/sizes-dynamic-002.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/support/parse-a-sizes-attribute.js: Added.

(check):
(onload):

  • web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/support/sizes-iframed.sub.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/sizes-iframed.sub.html.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/support/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/w3c-import.log.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/srcset-media-dynamic-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/srcset-media-dynamic.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/update-the-image-data/fail-to-resolve-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/update-the-image-data/fail-to-resolve.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/update-the-image-data/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/the-object-element/document-getters-return-null-for-cross-origin-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-object-element/document-getters-return-null-for-cross-origin.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-object-element/object-events.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-object-element/object-fallback-failed-cross-origin-navigation.sub-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-object-element/object-fallback-failed-cross-origin-navigation.sub.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-object-element/object-setcustomvalidity-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-object-element/object-setcustomvalidity.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-object-element/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/the-video-element/intrinsic_sizes-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-video-element/intrinsic_sizes.htm: Added.
  • web-platform-tests/html/semantics/embedded-content/the-video-element/intrinsicsize/intrinsicsize-without-unsized-media.tentative.https.sub.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-video-element/intrinsicsize/intrinsicsize-without-unsized-media.tentative.https.sub.html.headers: Added.
  • web-platform-tests/html/semantics/embedded-content/the-video-element/intrinsicsize/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/resources/w3c-import.log.
  • web-platform-tests/html/semantics/embedded-content/the-video-element/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log.

LayoutTests:

  • TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_allow_downloads_without_user_activation.sub.tentative-expected.txt: Added.
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_block_downloads_without_user_activation.sub.tentative-expected.txt: Added.
  • tests-options.json:
12:41 AM Changeset in webkit [242594] by Devin Rousso
  • 10 edits in trunk/Source/WebCore

Web Inspector: Canvas: lazily create the agent
https://bugs.webkit.org/show_bug.cgi?id=195241

Reviewed by Joseph Pecoraro.

No functionality change.

  • html/canvas/CanvasRenderingContext.h:
  • html/canvas/CanvasRenderingContext.cpp:

(WebCore::CanvasRenderingContext::instances): Added.
(WebCore::CanvasRenderingContext::instancesMutex): Added.
(WebCore::CanvasRenderingContext::CanvasRenderingContext):
(WebCore::CanvasRenderingContext::~CanvasRenderingContext):

  • html/canvas/WebGLProgram.h:
  • html/canvas/WebGLProgram.cpp:

(WebCore::WebGLProgram::instances): Added.
(WebCore::WebGLProgram::instancesMutex): Added.
(WebCore::WebGLProgram::WebGLProgram):
(WebCore::WebGLProgram::~WebGLProgram):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::~WebGLRenderingContextBase):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::createLazyAgents):

  • inspector/agents/InspectorCanvasAgent.h:
  • inspector/agents/InspectorCanvasAgent.cpp:

(WebCore::InspectorCanvasAgent::enable):
(WebCore::InspectorCanvasAgent::disable):
(WebCore::InspectorCanvasAgent::frameNavigated):
(WebCore::InspectorCanvasAgent::didCreateCanvasRenderingContext):
(WebCore::InspectorCanvasAgent::canvasDestroyed):
(WebCore::InspectorCanvasAgent::didCreateProgram):
(WebCore::InspectorCanvasAgent::willDeleteProgram):
(WebCore::InspectorCanvasAgent::bindCanvas): Added.
(WebCore::InspectorCanvasAgent::canvasDestroyedTimerFired):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didCreateCanvasRenderingContext):
(WebCore::InspectorInstrumentation::didCreateProgram):
(WebCore::InspectorInstrumentation::willDeleteProgram):

12:06 AM Changeset in webkit [242593] by commit-queue@webkit.org
  • 10 edits
    1 delete in trunk

Unreviewed, rolling out r242354.
https://bugs.webkit.org/show_bug.cgi?id=195402

breaks layout tests in all configurations (Requested by
zdobersek on #webkit).

Reverted changeset:

"[WPE] Enable web process sandbox"
https://bugs.webkit.org/show_bug.cgi?id=195169
https://trac.webkit.org/changeset/242354

Mar 6, 2019:

11:31 PM Changeset in webkit [242592] by Ross Kirsling
  • 55 edits
    1 copy in trunk

[Win] Remove -DUCHAR_TYPE=wchar_t stopgap and learn to live with char16_t.
https://bugs.webkit.org/show_bug.cgi?id=195346

Reviewed by Fujii Hironori.

.:

  • Source/cmake/OptionsJSCOnly.cmake:
  • Source/cmake/OptionsWin.cmake:

Stop compiling with -DUCHAR_TYPE=wchar_t.

Source/JavaScriptCore:

  • jsc.cpp:

(currentWorkingDirectory):
(fetchModuleFromLocalFileSystem):

  • runtime/DateConversion.cpp:

(JSC::formatDateTime):
Use wchar helpers as needed.

Source/WebCore:

  • platform/graphics/win/FontCacheWin.cpp:

(WebCore::appendLinkedFonts):
(WebCore::getLinkedFonts):
(WebCore::FontCache::systemFallbackForCharacters):
(WebCore::FontCache::fontFromDescriptionAndLogFont):
(WebCore::createGDIFont):
(WebCore::FontCache::getFontSelectionCapabilitiesInFamily):

  • platform/graphics/win/FontCustomPlatformDataCairo.cpp:

(WebCore::FontCustomPlatformData::fontPlatformData):

  • platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:

(WebCore::GlyphPage::fill):

  • platform/graphics/win/IconWin.cpp:

(WebCore::Icon::createIconForFiles):

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::mimeTypeCache):
(WebCore::MediaPlayerPrivateMediaFoundation::startCreateMediaSource):

  • platform/graphics/win/UniscribeController.cpp:

(WebCore::UniscribeController::itemizeShapeAndPlace):
(WebCore::UniscribeController::shape):

  • platform/network/win/DownloadBundleWin.cpp:

(WebCore::DownloadBundle::appendResumeData):
(WebCore::DownloadBundle::extractResumeData):

  • platform/text/win/LocaleWin.cpp:

(WebCore::LCIDFromLocaleInternal):
(WebCore::LCIDFromLocale):
(WebCore::LocaleWin::getLocaleInfoString):

  • platform/win/BString.cpp:

(WebCore::BString::BString):

  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::getWebLocData):
(WebCore::createGlobalData):
(WebCore::getFileDescriptorData):
(WebCore::getURL):
(WebCore::getCFData):
(WebCore::setCFData):

  • platform/win/DragDataWin.cpp:

(WebCore::DragData::asFilenames const):

  • platform/win/DragImageWin.cpp:

(WebCore::createDragImageIconForCachedImageFilename):
(WebCore::dragLabelFont):

  • platform/win/MIMETypeRegistryWin.cpp:

(WebCore::mimeTypeForExtension):
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):

  • platform/win/PasteboardWin.cpp:

(WebCore::Pasteboard::read):
(WebCore::filesystemPathFromUrlOrTitle):
(WebCore::Pasteboard::writeURLToDataObject):
(WebCore::createGlobalImageFileDescriptor):
(WebCore::createGlobalHDropContent):

  • platform/win/SSLKeyGeneratorWin.cpp:

(WebCore::signedPublicKeyAndChallengeString):

  • platform/win/SharedBufferWin.cpp:

(WebCore::SharedBuffer::createFromReadingFile):

  • rendering/RenderThemeWin.cpp:

(WebCore::fillFontDescription):
Use wchar helpers as needed.

Source/WebKit:

  • Platform/IPC/win/ConnectionWin.cpp:

(IPC::Connection::createServerAndClientIdentifiers):

  • Platform/win/ModuleWin.cpp:

(WebKit::Module::load):

  • UIProcess/Launcher/win/ProcessLauncherWin.cpp:

(WebKit::ProcessLauncher::launchProcess):

  • UIProcess/win/WebContextMenuProxyWin.cpp:

(WebKit::createMenuItem):

  • UIProcess/win/WebView.cpp:

(WebKit::WebView::setToolTip):

  • WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:

(WebKit::InjectedBundle::initialize):
Use wchar helpers as needed.

Source/WebKitLegacy/win:

  • COMPropertyBag.h:

(HashType>::GetPropertyInfo):
(HashType>::LoadObject):

  • DOMCoreClasses.cpp:

(DOMNode::addEventListener):
(DOMNode::removeEventListener):
(DOMWindow::addEventListener):
(DOMWindow::removeEventListener):
(DOMElement::font):

  • DOMHTMLClasses.cpp:

(DOMHTMLInputElement::setValueForUser):
(DOMHTMLInputElement::replaceCharactersInRange):

  • Plugins/PluginDatabaseWin.cpp:

(WebCore::addPluginPathsFromRegistry):
(WebCore::PluginDatabase::getPluginPathsInDirectories const):
(WebCore::addMozillaPluginDirectories):
(WebCore::addWindowsMediaPlayerPluginDirectory):
(WebCore::addAdobeAcrobatPluginDirectory):
(WebCore::addJavaPluginDirectory):
(WebCore::safariPluginsDirectory):
(WebCore::addMacromediaPluginDirectories):

  • Plugins/PluginPackageWin.cpp:

(WebCore::getVersionInfo):
(WebCore::PluginPackage::fetchInfo):
(WebCore::PluginPackage::load):

  • Plugins/PluginViewWin.cpp:

(WebCore::PluginView::handlePostReadFile):

  • WebCoreSupport/WebChromeClient.cpp:

(WebChromeClient::runOpenPanel):

  • WebCoreSupport/WebEditorClient.cpp:

(WebEditorClient::checkSpellingOfString):
(WebEditorClient::checkGrammarOfString):

  • WebCoreSupport/WebInspectorClient.cpp:

(WebInspectorFrontendClient::updateWindowTitle):

  • WebLocalizableStrings.cpp:

(LocalizedString::operator LPCTSTR const):

  • WebView.cpp:

(createContextMenuFromItems):
(WebView::setToolTip):
Use wchar helpers as needed.

Source/WTF:

  • wtf/PlatformWin.cmake:
  • wtf/text/AtomicString.h:

(WTF::AtomicString::AtomicString):

  • wtf/text/WTFString.h:

(WTF::String::String):

  • wtf/text/win/StringWin.cpp: Added.

(WTF::String::wideCharacters const): Renamed from WTF::stringToNullTerminatedWChar.

  • wtf/text/win/WCharStringExtras.h:

(WTF::ucharFrom):
(WTF::wcharFrom):
(WTF::stringToNullTerminatedWChar): Deleted.
(WTF::wcharToString): Deleted.
(WTF::nullTerminatedWCharToString): Deleted.
Add static_assert-guarded reinterpret_cast wrappers for going between UChar* and wchar_t*.
Move existing to/from-String helpers into the String (and AtomicString) class(es).

  • wtf/win/FileSystemWin.cpp:

(WTF::FileSystemImpl::getFindData):
(WTF::FileSystemImpl::getFinalPathName):
(WTF::FileSystemImpl::createSymbolicLink):
(WTF::FileSystemImpl::deleteFile):
(WTF::FileSystemImpl::deleteEmptyDirectory):
(WTF::FileSystemImpl::moveFile):
(WTF::FileSystemImpl::pathByAppendingComponent):
(WTF::FileSystemImpl::fileSystemRepresentation):
(WTF::FileSystemImpl::makeAllDirectories):
(WTF::FileSystemImpl::pathGetFileName):
(WTF::FileSystemImpl::storageDirectory):
(WTF::FileSystemImpl::generateTemporaryPath):
(WTF::FileSystemImpl::openTemporaryFile):
(WTF::FileSystemImpl::openFile):
(WTF::FileSystemImpl::hardLinkOrCopyFile):
(WTF::FileSystemImpl::deleteNonEmptyDirectory):

  • wtf/win/LanguageWin.cpp:

(WTF::localeInfo):

  • wtf/win/PathWalker.cpp:

(WTF::PathWalker::PathWalker):
Use wchar helpers as needed.

Tools:

  • TestWebKitAPI/Tests/WTF/StringOperators.cpp:

(TestWebKitAPI::TEST):
Delete wchar tests -- these are MSVC-only and we won't be using String::operator+ going forward anyway.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(findFontFallback):
(addFontFallbackIfPresent):
(removeFontFallbackIfPresent):
(main):

  • TestWebKitAPI/win/PlatformUtilitiesWin.cpp:

(TestWebKitAPI::Util::moduleDirectory):
(TestWebKitAPI::Util::createInjectedBundlePath):
Use wchar helpers as needed.

9:09 PM Changeset in webkit [242591] by mark.lam@apple.com
  • 6 edits in trunk

Fix incorrect handling of try-finally completion values.
https://bugs.webkit.org/show_bug.cgi?id=195131
<rdar://problem/46222079>

Reviewed by Saam Barati and Yusuke Suzuki.

JSTests:

Added many permutations of new test case to test-finally.js. test-finally.js has
been run on Chrome and Firefox as a sanity check, and we confirmed that all the
tests passes there as well.

  • stress/test-finally.js:

Source/JavaScriptCore:

Consider the following:

function foo() { line 1

try {

return 42; line 3

} finally {

for (var j = 0; j < 1; j++) { line 5

try {

throw ; line 7

} finally {

continue; line 9

}

}

} line 11

}
var result = foo();

With the current (before fix) code base, result will be the exception object thrown
at line 7. The expected result should be 42, returned at line 3.

The bug is that we were previously only using one set of completion type and
value registers for the entire function. This is inadequate because the outer
try-finally needs to preserve its own completion type and value ({ Return, 42 }
in this case) in order to be able to complete correctly.

One might be deceived into thinking that the above example should complete with
the exception thrown at line 7. However, according to Section 13.15.8 of the
ECMAScript spec, the 'continue' in the finally at line 9 counts as an abrupt
completion. As a result, it overrides the throw from line 7. After the continue,
execution resumes at the top of the loop at line 5, followed by a normal completion
at line 11.

Also according to Section 13.15.8, given that the completion type of the outer
finally is normal, the resultant completion of the outer try-finally should be
the completion of the outer try block i.e. { Return, 42 }.

This patch makes the following changes:

  1. Fix handling of finally completion to use a unique set of completion type and value registers for each FinallyContext.
  1. Move the setting of Throw completion type to the out of line exception handler. This makes the mainline code slightly less branchy.
  1. Introduce emitOutOfLineCatchHandler(), emitOutOfLineFinallyHandler(), and emitOutOfLineExceptionHandler() to make it clearer that these are not emitting bytecode inline. Also, these make it clearer when we're emitting a handler for a catch vs a finally.
  1. Allocate the FinallyContext on the stack instead of as a member of the heap allocated ControlFlowScope. This simplifies its life-cycle management and reduces the amount of needed copying.
  1. Update emitFinallyCompletion() to propagate the completion type and value to the outer FinallyContext when needed.
  1. Fix emitJumpIf() to use the right order of operands. Previously, we were only using it to do op_stricteq and op_nstricteq comparisons. So, the order wasn't important. We now use it to also do op_beloweq comparisons. Hence, the order needs to be corrected.
  1. Remove the unused CompletionType::Break and Continue. These are encoded with the jumpIDs of the jump targets instead.

Relevant specifications:
Section 13.15.8: https://www.ecma-international.org/ecma-262/9.0/index.html#sec-try-statement-runtime-semantics-evaluation
Section 6.3.2.4: https://www.ecma-international.org/ecma-262/9.0/index.html#sec-updateempty

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::FinallyContext::FinallyContext):
(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::pushFinallyControlFlowScope):
(JSC::BytecodeGenerator::popFinallyControlFlowScope):
(JSC::BytecodeGenerator::emitOutOfLineCatchHandler):
(JSC::BytecodeGenerator::emitOutOfLineFinallyHandler):
(JSC::BytecodeGenerator::emitOutOfLineExceptionHandler):
(JSC::BytecodeGenerator::emitEnumeration):
(JSC::BytecodeGenerator::emitJumpViaFinallyIfNeeded):
(JSC::BytecodeGenerator::emitReturnViaFinallyIfNeeded):
(JSC::BytecodeGenerator::emitFinallyCompletion):
(JSC::BytecodeGenerator::emitJumpIf):
(JSC::BytecodeGenerator::emitCatch): Deleted.
(JSC::BytecodeGenerator::allocateCompletionRecordRegisters): Deleted.
(JSC::BytecodeGenerator::releaseCompletionRecordRegisters): Deleted.

  • bytecompiler/BytecodeGenerator.h:

(JSC::FinallyContext::completionTypeRegister const):
(JSC::FinallyContext::completionValueRegister const):
(JSC::ControlFlowScope::ControlFlowScope):
(JSC::BytecodeGenerator::emitLoad):
(JSC::BytecodeGenerator::CompletionRecordScope::CompletionRecordScope): Deleted.
(JSC::BytecodeGenerator::CompletionRecordScope::~CompletionRecordScope): Deleted.
(JSC::BytecodeGenerator::completionTypeRegister const): Deleted.
(JSC::BytecodeGenerator::completionValueRegister const): Deleted.
(JSC::BytecodeGenerator::emitSetCompletionType): Deleted.
(JSC::BytecodeGenerator::emitSetCompletionValue): Deleted.

  • bytecompiler/NodesCodegen.cpp:

(JSC::TryNode::emitBytecode):

8:32 PM Changeset in webkit [242590] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Elements: highlight the node when hovering event listeners sorted by node
https://bugs.webkit.org/show_bug.cgi?id=195368

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

(WI.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners.generateGroupsByNode):

8:15 PM Changeset in webkit [242589] by mitz@apple.com
  • 9 copies
    1 add in releases/Apple/Safari Technology Preview 77

Added a tag for Safari Technology Preview release 77.

7:21 PM Changeset in webkit [242588] by Devin Rousso
  • 5 edits in trunk

Web Inspector: DOM Debugger: event breakpoints still fire when breakpoints are disabled
https://bugs.webkit.org/show_bug.cgi?id=195377
<rdar://problem/48651645>

Reviewed by Joseph Pecoraro and Matt Baker.

Source/WebCore:

Test: inspector/dom-debugger/event-listener-breakpoints.html

  • inspector/agents/InspectorDOMDebuggerAgent.cpp:

(WebCore::InspectorDOMDebuggerAgent::willHandleEvent):
(WebCore::InspectorDOMDebuggerAgent::willFireTimer):
(WebCore::InspectorDOMDebuggerAgent::willFireAnimationFrame):

LayoutTests:

  • inspector/dom-debugger/event-listener-breakpoints.html:
  • inspector/dom-debugger/event-listener-breakpoints-expected.txt:
7:11 PM Changeset in webkit [242587] by Wenson Hsieh
  • 6 edits
    2 adds in trunk

Crash when attempting to change input type while dismissing datalist suggestions
https://bugs.webkit.org/show_bug.cgi?id=195384
<rdar://problem/48563718>

Reviewed by Brent Fulgham.

Source/WebCore:

When closing a datalist suggestion menu, WebPageProxy sends a message to WebPage instructing it to tell its
active datalist suggestions picker to close. However, for a myriad of reasons, the suggestions picker (kept
alive by its text input type) may have already gone away by this point. To mitigate this, make WebPage weakly
reference its active datalist suggestions picker.

Test: fast/forms/datalist/change-input-type-after-closing-datalist-suggestions.html

  • platform/DataListSuggestionPicker.h:

Make DataListSuggestionPicker capable of being weakly referenced. Additionally, fix some minor preexisting
issues in this header (#imports instead of #includes, as well as an unnecessary include of IntRect.h).

Source/WebKit:

See WebCore ChangeLog for more details.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setActiveDataListSuggestionPicker):
(WebKit::WebPage::didSelectDataListOption):
(WebKit::WebPage::didCloseSuggestions):

  • WebProcess/WebPage/WebPage.h:

Turn m_activeDataListSuggestionPicker from a raw pointer into a WeakPtr.

LayoutTests:

Add a new layout test to exercise this scenario.

  • fast/forms/datalist/change-input-type-after-closing-datalist-suggestions-expected.txt: Added.
  • fast/forms/datalist/change-input-type-after-closing-datalist-suggestions.html: Added.
7:03 PM Changeset in webkit [242586] by Ryan Haddad
  • 2 edits in trunk/Source/WebCore

Remove an unneeded assert that was added with r242113
https://bugs.webkit.org/show_bug.cgi?id=195391

Reviewed by Simon Fraser.

Many layout tests are failing ASSERT(m_mediaBufferingIsSuspended). Since m_mediaBufferingIsSuspended is
protected by an 'if' statement directly afterwards, the assertion should be safe to remove.

  • page/Page.cpp:

(WebCore::Page::resumeAllMediaBuffering):

6:03 PM Changeset in webkit [242585] by sbarati@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

JSScript should keep the cache file locked for the duration of its existence and should truncate the cache when it is out of date
https://bugs.webkit.org/show_bug.cgi?id=195186

Reviewed by Keith Miller.

This patch makes it so that JSScript will keep its bytecode cache file
locked as long as the JSScript is alive. This makes it obvious that it's
safe to update that file, as it will only be used in a single VM, across
all processes, at a single time. We may be able to extend this in the future
if we can atomically update it across VMs/processes. However, we're choosing
more restricted semantics now as it's always easier to extend these semantics
in the future opposed to having to support the more flexible behavior
up front.

This patch also:

  • Adds error messages if writing the cache fails. We don't expect this to fail, but previously we would say we cached it even if write() fails.
  • Removes the unused m_moduleKey field.
  • Makes calling cacheBytecodeWithError with an already non-empty cache file fail. In the future, we should extend this to just fill in the parts of the cache that are not present. But we don't have the ability to do that yet, so we just result in an error for now.
  • API/JSScript.mm:

(-[JSScript dealloc]):
(-[JSScript readCache]):
(-[JSScript init]):
(-[JSScript writeCache:]):

  • API/JSScriptInternal.h:
  • API/tests/testapi.mm:

(testCacheFileIsExclusive):
(testCacheFileFailsWhenItsAlreadyCached):
(testObjectiveCAPI):

5:44 PM Changeset in webkit [242584] by Alan Coon
  • 1 copy in tags/Safari-607.1.40.0.6

Tag Safari-607.1.40.0.6.

5:36 PM Changeset in webkit [242583] by Alan Coon
  • 2 edits in tags/Safari-608.1.8/Source/WebKit

Cherry-pick r242579. rdar://problem/48651255

Add gettid to allowed syscalls on Mac
https://bugs.webkit.org/show_bug.cgi?id=195386
<rdar://problem/48651255>

Reviewed by Brent Fulgham.

  • WebProcess/com.apple.WebProcess.sb.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242579 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5:02 PM Changeset in webkit [242582] by Justin Fan
  • 3 edits in trunk/Source/WebCore

Unreviewed build fix. Replace a forward declaration with an include.

  • Modules/webgpu/WebGPUTextureView.cpp:
  • Modules/webgpu/WebGPUTextureView.h:
4:51 PM Changeset in webkit [242581] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKitLegacy

WebKitLegacy does not need to generate an export file for i386 anymore
https://bugs.webkit.org/show_bug.cgi?id=195380

Patch by Sam Weinig <sam@webkit.org> on 2019-03-06
Reviewed by Dan Bernstein.

Source/WebKitLegacy:

  • WebKitLegacy.xcodeproj/project.pbxproj:

Update and simplify the "Generate Export Files" phase now that we don't need
separate export files for i386 and x86_64.

Source/WebKitLegacy/mac:

  • Configurations/WebKitLegacy.xcconfig:

Simplify EXPORTED_SYMBOLS_FILE down to just a single path to a generated file.
It still needs to be generated, since we are concatenating the shared exports
file with a macOS or iOS specific one.

  • WebKit.mac.exp:

Remove i386 specific symbols that we were previously stripping.

4:43 PM Changeset in webkit [242580] by Chris Dumez
  • 7 edits in trunk/Source/WebKit

[iOS] ProcessDidResume() IPC should be sent upon resuming when ProcessWillSuspendImminently() IPC was sent
https://bugs.webkit.org/show_bug.cgi?id=195382
<rdar://problem/48642739>

Reviewed by Geoffrey Garen.

ProcessDidResume() IPC should be sent upon resuming when ProcessWillSuspendImminently() IPC was sent. Previously,
we only send ProcessDidResume() to the WebProcess if PrepareToSuspend() was sent, not when the more urgent
ProcessWillSuspendImminently() IPC was sent.

This mismatch has lead to bugs because the WebProcess does not know it got resumed and failed to unfreeze the
layers it froze upon suspension.

  • UIProcess/ProcessAssertion.h:

(WebKit::ProcessAssertionClient::~ProcessAssertionClient):

  • UIProcess/ProcessThrottler.cpp:

(WebKit::ProcessThrottler::updateAssertion):
(WebKit::ProcessThrottler::uiAssertionWillExpireImminently):
(WebKit::ProcessThrottler::assertionWillExpireImminently): Deleted.

  • UIProcess/ProcessThrottler.h:
  • UIProcess/ios/ProcessAssertionIOS.mm:

(-[WKProcessAssertionBackgroundTaskManager _notifyClientsOfImminentSuspension]):
(WebKit::ProcessAssertion::~ProcessAssertion):
(WebKit::ProcessAndUIAssertion::~ProcessAndUIAssertion):
(WebKit::ProcessAndUIAssertion::setClient):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didCompletePageTransition):
Revert change that was landed in r242098 to work around this ProcessThrottler bug.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::applicationWillEnterForeground):
Revert change that was landed in r242554 to work around this ProcessThrottler bug.

4:38 PM Changeset in webkit [242579] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Add gettid to allowed syscalls on Mac
https://bugs.webkit.org/show_bug.cgi?id=195386
<rdar://problem/48651255>

Reviewed by Brent Fulgham.

  • WebProcess/com.apple.WebProcess.sb.in:
4:13 PM Changeset in webkit [242578] by Matt Baker
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: system accent color follow-ups
https://bugs.webkit.org/show_bug.cgi?id=195190

Reviewed by Devin Rousso.

  • UserInterface/Views/ButtonToolbarItem.css:

(.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated)):
(@media (prefers-color-scheme: dark)):
(.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated)): Deleted.
Drop pressed toolbar button style. It's extremely subtle and not worth the hassle.

  • UserInterface/Views/LogContentView.css:

(.console-messages:focus .console-item.selected::after):
(@media (prefers-color-scheme: dark)):

  • UserInterface/Views/ScopeBar.css:

(.scope-bar > li.selected:active::before):

  • UserInterface/Views/TimelineRecordBar.css:

(.timeline-record-bar.selected > .segment):

4:09 PM Changeset in webkit [242577] by Matt Baker
  • 3 edits in trunk/Source/WebInspectorUI

REGRESSION: Elements tab: Uncaught Exception: No node with given id found
https://bugs.webkit.org/show_bug.cgi?id=194299
<rdar://problem/47828647>

Reviewed by Devin Rousso.

When removing the selection, TreeOutline subclasses should have more
control over which item becomes selected after the selection is removed.
DOMTreeOutline should track the items that are being removed, and prevent
them or their descendants from becoming selected.

  • UserInterface/Views/DOMTreeOutline.js:

(WI.DOMTreeOutline):
(WI.DOMTreeOutline.prototype.ondelete):
(WI.DOMTreeOutline.prototype.canSelectTreeElement):

  • UserInterface/Views/TreeOutline.js:

(WI.TreeOutline.prototype.selectionControllerLastSelectableItem):
(WI.TreeOutline.prototype.selectionControllerPreviousSelectableItem):
(WI.TreeOutline.prototype.selectionControllerNextSelectableItem):
(WI.TreeOutline.prototype.canSelectTreeElement):

4:06 PM Changeset in webkit [242576] by chris.reid@sony.com
  • 11 edits in trunk/Source/JavaScriptCore

Followups to (r242306): Use LockHolder instead of std::lock_guard on Remote Inspector Locks
https://bugs.webkit.org/show_bug.cgi?id=195381

Reviewed by Mark Lam.

Replacing std::lock_guard uses in Remote Inspector with WTF::LockHolder.
Also using = { } for struct initialization instead of memeset.

  • inspector/remote/RemoteConnectionToTarget.cpp:
  • inspector/remote/RemoteInspector.cpp:
  • inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:
  • inspector/remote/cocoa/RemoteInspectorCocoa.mm:
  • inspector/remote/cocoa/RemoteInspectorXPCConnection.mm:
  • inspector/remote/glib/RemoteInspectorGlib.cpp:
  • inspector/remote/playstation/RemoteInspectorPlayStation.cpp:
  • inspector/remote/playstation/RemoteInspectorSocketClientPlayStation.cpp:
  • inspector/remote/playstation/RemoteInspectorSocketPlayStation.cpp:
  • inspector/remote/playstation/RemoteInspectorSocketServerPlayStation.cpp:
3:57 PM Changeset in webkit [242575] by Justin Fan
  • 47 edits
    6 moves
    3 adds
    2 deletes in trunk

[Web GPU] GPUTexture and GPUTextureView updates, and related GPUBindGroup updates
https://bugs.webkit.org/show_bug.cgi?id=195347

Reviewed by Dean Jackson.

Source/WebCore:

Implement the ability to display image data as a GPUTexture in the rendering pipeline. Improve GPUTexture and
GPUTextureView implementations. Rename various bind group classes to GPU* to match API.

Test: webgpu/texture-triangle-strip.html

  • Modules/webgpu/WebGPUBindGroupDescriptor.cpp:

(WebCore::WebGPUBindGroupDescriptor::asGPUBindGroupDescriptor const): Update to validate GPUTextureView resources.

  • Modules/webgpu/WebGPUCommandBuffer.cpp: Move instead of copy the converted view objects.

(WebCore::WebGPUCommandBuffer::copyBufferToTexture):
(WebCore::WebGPUCommandBuffer::copyTextureToBuffer):
(WebCore::WebGPUCommandBuffer::copyTextureToTexture):

  • Modules/webgpu/WebGPUCommandBuffer.h:

(WebCore::WebGPUCommandBuffer::commandBuffer const): No longer returns const so used resources can be registered on it.

  • Modules/webgpu/WebGPUDevice.cpp:

(WebCore::WebGPUDevice::createBindGroupLayout const): Rename WebGPUBindGroupLayoutDescriptor and replace unnecessary rvalue reference.

  • Modules/webgpu/WebGPUDevice.h: Ditto.
  • Modules/webgpu/WebGPUDevice.idl: Ditto.
  • Modules/webgpu/WebGPUProgrammablePassEncoder.cpp:

(WebCore::WebGPUProgrammablePassEncoder::setBindGroup const):

  • Modules/webgpu/WebGPUProgrammablePassEncoder.h:
  • Modules/webgpu/WebGPUQueue.cpp:

(WebCore::WebGPUQueue::submit):

  • Modules/webgpu/WebGPURenderPassDescriptor.cpp:

(WebCore::WebGPURenderPassDescriptor::asGPURenderPassDescriptor const):

  • Modules/webgpu/WebGPUTexture.cpp:

(WebCore::WebGPUTexture::~WebGPUTexture): Clean up any resources created for and from this WebGPUTexture.
(WebCore::WebGPUTexture::createDefaultTextureView): Now returns an empty object other than null on failure.
(WebCore::WebGPUTexture::destroy):
(WebCore::WebGPUTexture::destroyImpl):

  • Modules/webgpu/WebGPUTexture.h: Keep a list of any views created from this texture.
  • Modules/webgpu/WebGPUTexture.idl: Enable destroy.
  • Modules/webgpu/WebGPUTextureView.cpp:

(WebCore::WebGPUTextureView::create):
(WebCore::WebGPUTextureView::WebGPUTextureView):
(WebCore::WebGPUTextureView::destroy):

  • Modules/webgpu/WebGPUTextureView.h:

(WebCore::WebGPUTextureView::~WebGPUTextureView): Clean up any resources backing this WebGPUTextureView.
(WebCore::WebGPUTextureView::texture const):
(WebCore::WebGPUTextureView::texture): Deleted.

  • platform/graphics/gpu/GPUBindGroupLayout.h:
  • platform/graphics/gpu/GPUCommandBuffer.h:

(WebCore::GPUCommandBuffer::usedTextures const): Keep a list of all texture resources that will be used by this command buffer on submit.
(WebCore::GPUCommandBuffer::isEncodingPass const): Added to prevent multiple pass encoders from being active on one command buffer.
(WebCore::GPUCommandBuffer::setIsEncodingPass):
(WebCore::GPUCommandBuffer::useTexture):

  • platform/graphics/gpu/GPUDevice.cpp:

(WebCore::GPUDevice::tryCreateBindGroupLayout const):

  • platform/graphics/gpu/GPUDevice.h:
  • platform/graphics/gpu/GPUPipelineLayout.cpp:

(WebCore::GPUPipelineLayout::GPUPipelineLayout):

  • platform/graphics/gpu/GPUProgrammablePassEncoder.cpp:

(WebCore::GPUProgrammablePassEncoder::GPUProgrammablePassEncoder):

  • platform/graphics/gpu/GPUProgrammablePassEncoder.h:

(WebCore::GPUProgrammablePassEncoder::setVertexBuffer):
(WebCore::GPUProgrammablePassEncoder::setFragmentBuffer):
(): Deleted.

  • platform/graphics/gpu/GPUQueue.h:
  • platform/graphics/gpu/GPURenderPassEncoder.h:
  • platform/graphics/gpu/GPUTexture.h:

(WebCore::GPUTexture::isReadOnly const):
(WebCore::GPUTexture::destroy):

  • platform/graphics/gpu/cocoa/GPUBindGroupLayoutMetal.mm:

(WebCore::MTLDataTypeForBindingType):
(WebCore::GPUBindGroupLayout::tryCreate):

  • platform/graphics/gpu/cocoa/GPUCommandBufferMetal.mm:

(WebCore::GPUCommandBuffer::create):
(WebCore::GPUCommandBuffer::~GPUCommandBuffer): Ensure blitEncoder is ended before releasing it.
(WebCore::GPUCommandBuffer::endBlitEncoding):
(WebCore::GPUCommandBuffer::copyBufferToTexture): Ensure textures are marked for usage before submission occurs.
(WebCore::GPUCommandBuffer::copyTextureToBuffer):
(WebCore::GPUCommandBuffer::copyTextureToTexture):

  • platform/graphics/gpu/cocoa/GPUDeviceMetal.mm:

(WebCore::GPUDevice::create):
(WebCore::GPUDevice::GPUDevice):

  • platform/graphics/gpu/cocoa/GPUProgrammablePassEncoderMetal.mm:

(WebCore::GPUProgrammablePassEncoder::endPass):
(WebCore::GPUProgrammablePassEncoder::setBindGroup): Now supports texture resources.
(WebCore::GPUProgrammablePassEncoder::setResourceAsBufferOnEncoder): Just moved.
(WebCore::GPUProgrammablePassEncoder::setResourceAsTextureOnEncoder):

  • platform/graphics/gpu/cocoa/GPUQueueMetal.mm:

(WebCore::GPUQueue::submit): Ensures destroyed GPUTextures are not submitted.

  • platform/graphics/gpu/cocoa/GPURenderPassEncoderMetal.mm:

(WebCore::GPURenderPassEncoder::tryCreate): Ensure any other encoders are ended before attempting to activate a new one.
(WebCore::GPURenderPassEncoder::platformPassEncoder const):
(WebCore::GPURenderPassEncoder::endPass): Invalidates the MTLCommandEncoder upon success.
(WebCore::GPURenderPassEncoder::setPipeline):
(WebCore::GPURenderPassEncoder::setVertexBuffers):
(WebCore::GPURenderPassEncoder::draw):
(WebCore::GPURenderPassEncoder::useResource):
(WebCore::GPURenderPassEncoder::setVertexBuffer):
(WebCore::GPURenderPassEncoder::setFragmentBuffer):

  • platform/graphics/gpu/cocoa/GPUSwapChainMetal.mm:

(WebCore::GPUSwapChain::getNextTexture):

  • platform/graphics/gpu/cocoa/GPUTextureMetal.mm:

(WebCore::storageModeForPixelFormatAndSampleCount):

Always create MTLStorageModePrivate textures on macOS, as Web GPU doesn't provide CPU access to textures anyway.

(WebCore::tryCreateMtlTextureDescriptor):
(WebCore::GPUTexture::create):
(WebCore::GPUTexture::GPUTexture):
(WebCore::GPUTexture::tryCreateDefaultTextureView): Renamed from createDefaultTextureView.

Update files and symbols in project:

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Modules/streams/WebGPUBindGroupLayoutDescriptor.h: Removed.
  • Modules/webgpu/GPUBindGroupLayoutBinding.h: Renamed from Source/WebCore/platform/graphics/gpu/GPUBindGroupLayoutBinding.h.
  • Modules/webgpu/GPUBindGroupLayoutBinding.idl: Renamed from Source/WebCore/Modules/webgpu/WebGPUBindGroupLayoutBinding.idl.
  • Modules/webgpu/GPUBindGroupLayoutDescriptor.h: Renamed from Source/WebCore/platform/graphics/gpu/GPUBindGroupLayoutDescriptor.h.
  • Modules/webgpu/GPUBindGroupLayoutDescriptor.idl: Renamed from Source/WebCore/Modules/webgpu/WebGPUBindGroupLayoutDescriptor.idl.
  • Modules/webgpu/GPUShaderStageBit.h: Renamed from Source/WebCore/Modules/webgpu/WebGPUShaderStageBit.h.
  • Modules/webgpu/GPUShaderStageBit.idl: Renamed from Source/WebCore/Modules/webgpu/WebGPUShaderStageBit.idl.
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/WebCoreBuiltinNames.h:

LayoutTests:

  • webgpu/blit-commands.html:
  • webgpu/resources/blue-checkered.png: Added.
  • webgpu/texture-triangle-strip-expected.html: Added. Draw a reference for blue-checkered.png with Canvas2D.
  • webgpu/texture-triangle-strip.html: Added. Draw blue-checkered.png as a texture on a Web GPU quad.

Renaming updates, no change in behavior:

  • webgpu/bind-groups.html:
  • webgpu/buffer-resource-triangles.html:
  • webgpu/pipeline-layouts.html:
  • webgpu/render-pipelines.html:
3:43 PM Changeset in webkit [242574] by Kocsen Chung
  • 7 edits in branches/safari-607.1.40.1-branch/Source

Versioning.

3:40 PM Changeset in webkit [242573] by Kocsen Chung
  • 2 edits in tags/Safari-608.1.8/Source/WebKit

Cherry-pick r242570. rdar://problem/48647263

[macOS] Sandbox call violation causes WebContent process to crash
https://bugs.webkit.org/show_bug.cgi?id=195379
<rdar://problem/48647263>

Reviewed by Brent Fulgham.

A new call needs to be added to the allow list in the WebContent process' sandbox.

  • WebProcess/com.apple.WebProcess.sb.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242570 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3:36 PM Changeset in webkit [242572] by Kocsen Chung
  • 1 copy in tags/Safari-608.1.8

Tag Safari-608.1.8.

3:08 PM Changeset in webkit [242571] by mmaxfield@apple.com
  • 12 edits
    3 copies
    3 adds in trunk/Source/WebCore

[WHLSL] Pack and unpack data at entry points and exit points
https://bugs.webkit.org/show_bug.cgi?id=193877

Reviewed by Dean Jackson.

This implements the bulk of the rest of the Metal code generation piece.
Specifically, this patch adds support for the packing and unpacking steps
at the beginning of the entry point functions and all returns from those
functions. It does this by creating an object, EntryPointScaffolding, that
knows how to emit all the helper types, packing / unpacking code, and the
function signature. This patch also accepts parts of the
PipelineStateDescriptor so we know the data layout we should be packing and
unpacking.

This is the last patch before enough of the compiler is present that we can
start testing it. The next patch will start porting the test suite.

  • Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.cpp:

(WebCore::WHLSL::Metal::attributeForSemantic):
(WebCore::WHLSL::Metal::EntryPointScaffolding::EntryPointScaffolding):
(WebCore::WHLSL::Metal::EntryPointScaffolding::mappedBindGroups const):
(WebCore::WHLSL::Metal::EntryPointScaffolding::resourceHelperTypes):
(WebCore::WHLSL::Metal::EntryPointScaffolding::resourceSignature):
(WebCore::WHLSL::Metal::EntryPointScaffolding::builtInsSignature):
(WebCore::WHLSL::Metal::EntryPointScaffolding::mangledInputPath):
(WebCore::WHLSL::Metal::EntryPointScaffolding::mangledOutputPath):
(WebCore::WHLSL::Metal::EntryPointScaffolding::unpackResourcesAndNamedBuiltIns):
(WebCore::WHLSL::Metal::VertexEntryPointScaffolding::VertexEntryPointScaffolding):
(WebCore::WHLSL::Metal::VertexEntryPointScaffolding::helperTypes):
(WebCore::WHLSL::Metal::VertexEntryPointScaffolding::signature):
(WebCore::WHLSL::Metal::VertexEntryPointScaffolding::unpack):
(WebCore::WHLSL::Metal::VertexEntryPointScaffolding::pack):
(WebCore::WHLSL::Metal::FragmentEntryPointScaffolding::FragmentEntryPointScaffolding):
(WebCore::WHLSL::Metal::FragmentEntryPointScaffolding::helperTypes):
(WebCore::WHLSL::Metal::FragmentEntryPointScaffolding::signature):
(WebCore::WHLSL::Metal::FragmentEntryPointScaffolding::unpack):
(WebCore::WHLSL::Metal::FragmentEntryPointScaffolding::pack):
(WebCore::WHLSL::Metal::ComputeEntryPointScaffolding::ComputeEntryPointScaffolding):
(WebCore::WHLSL::Metal::ComputeEntryPointScaffolding::helperTypes):
(WebCore::WHLSL::Metal::ComputeEntryPointScaffolding::signature):
(WebCore::WHLSL::Metal::ComputeEntryPointScaffolding::unpack):
(WebCore::WHLSL::Metal::ComputeEntryPointScaffolding::pack):
(WebCore::WHLSL::Metal::EntryPointScaffolding::helperTypes): Deleted.
(WebCore::WHLSL::Metal::EntryPointScaffolding::signature): Deleted.
(WebCore::WHLSL::Metal::EntryPointScaffolding::unpack): Deleted.
(WebCore::WHLSL::Metal::EntryPointScaffolding::pack): Deleted.

  • Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.h:

(WebCore::WHLSL::Metal::EntryPointScaffolding::parameterVariables):

  • Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp:

(WebCore::WHLSL::Metal::FunctionDeclarationWriter::toString):
(WebCore::WHLSL::Metal::FunctionDeclarationWriter::visit):
(WebCore::WHLSL::Metal::FunctionDefinitionWriter::FunctionDefinitionWriter):
(WebCore::WHLSL::Metal::FunctionDefinitionWriter::generateNextVariableName):
(WebCore::WHLSL::Metal::FunctionDefinitionWriter::visit):
(WebCore::WHLSL::Metal::FunctionDefinitionWriter::constantExpressionString):
(WebCore::WHLSL::Metal::RenderFunctionDefinitionWriter::RenderFunctionDefinitionWriter):
(WebCore::WHLSL::Metal::RenderFunctionDefinitionWriter::takeVertexMappedBindGroups):
(WebCore::WHLSL::Metal::RenderFunctionDefinitionWriter::takeFragmentMappedBindGroups):
(WebCore::WHLSL::Metal::RenderFunctionDefinitionWriter::createEntryPointScaffolding):
(WebCore::WHLSL::Metal::ComputeFunctionDefinitionWriter::ComputeFunctionDefinitionWriter):
(WebCore::WHLSL::Metal::ComputeFunctionDefinitionWriter::takeMappedBindGroups):
(WebCore::WHLSL::Metal::ComputeFunctionDefinitionWriter::createEntryPointScaffolding):
(WebCore::WHLSL::Metal::sharedMetalFunctions):
(WebCore::WHLSL::Metal::metalFunctions):

  • Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.h:
  • Modules/webgpu/WHLSL/Metal/WHLSLMappedBindings.h: Copied from Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLMetalCodeGenerator.h.
  • Modules/webgpu/WHLSL/Metal/WHLSLMetalCodeGenerator.cpp:

(WebCore::WHLSL::Metal::generateMetalCodeShared):
(WebCore::WHLSL::Metal::generateMetalCode):

  • Modules/webgpu/WHLSL/Metal/WHLSLMetalCodeGenerator.h:
  • Modules/webgpu/WHLSL/WHLSLIntrinsics.h:

(WebCore::WHLSL::Intrinsics::float2Type const):

  • Modules/webgpu/WHLSL/WHLSLPipelineDescriptor.h: Added.
  • Modules/webgpu/WHLSL/WHLSLPrepare.cpp: Added.

(WebCore::WHLSL::prepareShared):
(WebCore::WHLSL::prepare):

  • Modules/webgpu/WHLSL/WHLSLPrepare.h: Copied from Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLMetalCodeGenerator.h.
  • Modules/webgpu/WHLSL/WHLSLSemanticMatcher.cpp: Added.

(WebCore::WHLSL::findEntryPoint):
(WebCore::WHLSL::matchMode):
(WebCore::WHLSL::matchResources):
(WebCore::WHLSL::matchInputsOutputs):
(WebCore::WHLSL::isAcceptableFormat):
(WebCore::WHLSL::matchVertexAttributes):
(WebCore::WHLSL::matchColorAttachments):
(WebCore::WHLSL::matchDepthAttachment):
(WebCore::WHLSL::matchSemantics):

  • Modules/webgpu/WHLSL/WHLSLSemanticMatcher.h: Copied from Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.cpp.
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
3:08 PM Changeset in webkit [242570] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[macOS] Sandbox call violation causes WebContent process to crash
https://bugs.webkit.org/show_bug.cgi?id=195379
<rdar://problem/48647263>

Reviewed by Brent Fulgham.

A new call needs to be added to the allow list in the WebContent process' sandbox.

  • WebProcess/com.apple.WebProcess.sb.in:
2:57 PM Changeset in webkit [242569] by sbarati@apple.com
  • 6 edits
    1 add in trunk

Air::reportUsedRegisters must padInterference
https://bugs.webkit.org/show_bug.cgi?id=195303
<rdar://problem/48270343>

Reviewed by Keith Miller.

JSTests:

  • stress/optional-def-arg-width-should-be-both-early-and-late-use.js: Added.

Source/JavaScriptCore:

reportUsedRegisters uses reg liveness to eliminate loads/moves into dead
registers. However, liveness can report incorrect results in certain
scenarios when considering liveness at instruction boundaries. For example,
it can go wrong when an Inst has a LateUse of a register and the following
Inst has an EarlyDef of that same register. Such a scenario could lead us
to incorrectly say the register is not live-in to the first Inst. Pad
interference inserts Nops between such instruction boundaries that cause
this issue.

The test with this patch fixes the issue in reportUsedRegisters. This patch
also conservatively makes it so that lowerAfterRegAlloc calls padInterference
since it also reasons about liveness.

  • b3/air/AirLowerAfterRegAlloc.cpp:

(JSC::B3::Air::lowerAfterRegAlloc):

  • b3/air/AirPadInterference.h:
  • b3/air/AirReportUsedRegisters.cpp:

(JSC::B3::Air::reportUsedRegisters):

  • b3/testb3.cpp:

(JSC::B3::testReportUsedRegistersLateUseNotDead):
(JSC::B3::run):

2:34 PM Changeset in webkit [242568] by ysuzuki@apple.com
  • 3 edits
    1 add in trunk

[JSC] AI should not propagate AbstractValue relying on constant folding phase
https://bugs.webkit.org/show_bug.cgi?id=195375

Reviewed by Saam Barati.

JSTests:

  • stress/make-rope-should-not-propagate-constant-folded-value-in-ai.js: Added.

(let.array):

Source/JavaScriptCore:

MakeRope rule in AI attempts to propagate the node, which will be produced after constant folding phase runs.
This is wrong since we do not guarantee that constant folding phase runs after AI runs (e.g. DFGSpeculativeJIT
and FTLLowerDFGToB3 run AI). This results in the bug that the value produced at runtime is different from the
proven constant value in AI. In the attached test, AI says the value is SpecStringIdent while the resulted value
at runtime is SpecStringVar, resulting in wrong MakeRope code. This patch removes the path propagating the node
relying on constant folding phase.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

2:28 PM Changeset in webkit [242567] by Joseph Pecoraro
  • 9 edits in trunk/Source/WebInspectorUI

Web Inspector: CPU Usage Timeline - Allow clicking a bar in the overview to select a tight time range around it
https://bugs.webkit.org/show_bug.cgi?id=195321

Reviewed by Devin Rousso.

  • UserInterface/Models/Timeline.js:

(WI.Timeline.prototype.closestRecordTo):
Helper to get the closest record to a timestamp.

  • UserInterface/Views/CPUTimelineOverviewGraph.css:

(.timeline-overview-graph.cpu > .stacked-column-chart):
(.timeline-overview-graph.cpu > .stacked-column-chart > svg > rect.selected):
Style a selected record with the active color.

  • UserInterface/Views/CPUTimelineOverviewGraph.js:

(WI.CPUTimelineOverviewGraph):
(WI.CPUTimelineOverviewGraph.prototype.get samplingRatePerSecond):
(WI.CPUTimelineOverviewGraph.prototype.reset):
(WI.CPUTimelineOverviewGraph.prototype.layout):
(WI.CPUTimelineOverviewGraph.prototype.updateSelectedRecord):
(WI.CPUTimelineOverviewGraph.prototype._graphPositionForMouseEvent):
(WI.CPUTimelineOverviewGraph.prototype._handleGraphMouseClick):
A click in the overview which hits a rect triggers a selection of
the associated timeline record.

  • UserInterface/Views/StackedColumnChart.js:

(WI.StackedColumnChart.prototype.addColumnSet):
(WI.StackedColumnChart.prototype.layout):
Allow setting an additional class name with a column set.
It will set the class name on each rect in that column.

  • UserInterface/Views/TimelineOverview.js:

(WI.TimelineOverview.prototype._recordSelected):
When selecting a CPU record, make a selection range of 2 neighboring
columns in each direction.

  • UserInterface/Views/TimelineRuler.js:

(WI.TimelineRuler.prototype._handleClick):
When a sub-element has handled the click stop further event propagation.

  • UserInterface/Views/TimelineOverviewGraph.js:

(WI.TimelineOverviewGraph.prototype.get selected):
Drive-by style fix.

2:28 PM Changeset in webkit [242566] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: TimelineOverview clicks do not always behave as expected
https://bugs.webkit.org/show_bug.cgi?id=195319

Reviewed by Devin Rousso.

  • UserInterface/Views/TimelineRuler.js:

(WI.TimelineRuler.prototype._shouldIgnoreMicroMovement):
(WI.TimelineRuler.prototype._handleMouseDown):
(WI.TimelineRuler.prototype._handleMouseMove):
Ignore moves that haven't gone more than 4px. Once the threshold is
passed allow all moves. This improves the click behavior since
previously click would never re-dispatch if there was any movement.

1:42 PM Changeset in webkit [242565] by Kocsen Chung
  • 2 edits in branches/safari-607-branch/Source/WebKit

Cherry-pick r242554. rdar://problem/48647490

REGRESSION (r238490): YouTube.com: Returning PiP to Safari after sleeping device loses page
https://bugs.webkit.org/show_bug.cgi?id=195364
<rdar://problem/48538837>

Reviewed by Geoffrey Garen.

Make sure we unset the LayerTreeFreezeReason::ProcessSuspended layer tree freeze reason
when WebPage::applicationWillEnterForeground() is called. This restores pre-r238490
behavior and addresses the issue with PiP on youtube.com.

  • WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::applicationWillEnterForeground):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242554 268f45cc-cd09-0410-ab3c-d52691b4dbfc

1:05 PM Changeset in webkit [242564] by Antti Koivisto
  • 5 edits
    2 adds in trunk

[iOS] Basic hit testing for content overlapping fast-scrollable overflow
https://bugs.webkit.org/show_bug.cgi?id=195360

Reviewed by Simon Fraser.

Source/WebKit:

  • UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm:

(WebKit::RemoteLayerTreeHost::makeNode):

Use new UIView subclass for tiled layer hosting (so we know they have content even when contents property is nil).

  • UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.h:
  • UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:

(collectDescendantViewsAtPoint):

Factor collection step into a function.
Do basic skipping of event-transparent layers.

(-[UIView _web_findDescendantViewAtPoint:withEvent:]):

To handle overlap cases, find the scroll view that has the deepest non-transparent view hit as its descendant.

(-[UIView _web_recursiveFindDescendantInteractibleViewAtPoint:withEvent:]): Deleted.

LayoutTests:

  • fast/scrolling/ios/overflow-scroll-overlap-expected.txt: Added.
  • fast/scrolling/ios/overflow-scroll-overlap.html: Added.
12:45 PM Changeset in webkit [242563] by Kocsen Chung
  • 2 edits in branches/safari-607.1.40.0-branch/Source/WebKit

Cherry-pick r242554. rdar://problem/48647488

REGRESSION (r238490): YouTube.com: Returning PiP to Safari after sleeping device loses page
https://bugs.webkit.org/show_bug.cgi?id=195364
<rdar://problem/48538837>

Reviewed by Geoffrey Garen.

Make sure we unset the LayerTreeFreezeReason::ProcessSuspended layer tree freeze reason
when WebPage::applicationWillEnterForeground() is called. This restores pre-r238490
behavior and addresses the issue with PiP on youtube.com.

  • WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::applicationWillEnterForeground):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242554 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:38 PM Changeset in webkit [242562] by Joseph Pecoraro
  • 11 edits
    2 adds in trunk

Web Inspector: CPU Usage Timeline - Statistics and Sources sections
https://bugs.webkit.org/show_bug.cgi?id=195202

Reviewed by Devin Rousso.

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:

New strings.

  • UserInterface/Base/Utilities.js:

(Map.prototype.getOrInitialize):
Helper to get and if not found initialize with a value.

  • UserInterface/Views/CPUTimelineView.css:

(.timeline-view.cpu > .content > .overview > .chart > .container.stats):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table > tr > th):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table > tr > td.number):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table > tr > td.label):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table .show-more):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table .filter):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table .filter:hover):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table .active):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table .active + .active):
(@media (prefers-color-scheme: dark)):
Colors for the statistics sections.

  • UserInterface/Views/CPUTimelineView.js:

(WI.CPUTimelineView):
(WI.CPUTimelineView.prototype.reset):
(WI.CPUTimelineView.prototype.clear):
(WI.CPUTimelineView.prototype._clearStatistics):
(WI.CPUTimelineView.prototype._clearSources):
Updates for additional sections.
Include a cache of the statisiticsData so we can relayout parts of the UI and
avoid an entire UI update.

(WI.CPUTimelineView.prototype.initialLayout):
(WI.CPUTimelineView.prototype._layoutBreakdownChart):
(WI.CPUTimelineView.prototype._layoutStatisticsAndSources):
(WI.CPUTimelineView.prototype._layoutStatisticsSection.createEllipsisElement):
(WI.CPUTimelineView.prototype._layoutStatisticsSection):
(WI.CPUTimelineView.prototype._layoutSourcesSection.firstNonNativeCallFrame):
(WI.CPUTimelineView.prototype._layoutSourcesSection.keyForSourceCodeLocation):
(WI.CPUTimelineView.prototype._layoutSourcesSection.labelForLocation):
(WI.CPUTimelineView.prototype._layoutSourcesSection.createEllipsisElement):
(WI.CPUTimelineView.prototype._layoutSourcesSection):
Extract layouts into helper methods to avoid an enormous layout method.

(WI.CPUTimelineView.prototype._computeSamplingData.incrementTypeCount):
(WI.CPUTimelineView.prototype._computeSamplingData):
Compute additional data when going through script events.

(WI.CPUTimelineView.prototype._resetSourcesFilters):
(WI.CPUTimelineView.prototype._addSourcesFilter):
(WI.CPUTimelineView.prototype._removeSourcesFilter):
(WI.CPUTimelineView.prototype._updateSourcesFilters):
Helpers for updating the source filters.

(WI.CPUTimelineView.prototype._createTableRow):
(WI.CPUTimelineView.prototype._insertTableRow):
Helpers for creating rows in the statistics / sources tables.

LayoutTests:

  • inspector/unit-tests/map-utilities-expected.txt: Added.
  • inspector/unit-tests/map-utilities.html: Added.
  • inspector/unit-tests/set-utilities-expected.txt:
  • inspector/unit-tests/set-utilities.html:
12:18 PM Changeset in webkit [242561] by Wenson Hsieh
  • 7 edits in trunk/Source

Move RenderObject::isTransparentOrFullyClippedRespectingParentFrames() to RenderLayer
https://bugs.webkit.org/show_bug.cgi?id=195300

Reviewed by Simon Fraser.

Source/WebCore:

Move isTransparentOrFullyClippedRespectingParentFrames() from RenderObject to RenderLayer, since this function
asks questions about RenderLayers rather than their renderers. No change in behavior.

  • rendering/RenderLayer.cpp:

(WebCore::enclosingFrameRenderLayer):
(WebCore::parentLayerCrossFrame):

Some static helpers currently in RenderObject that walk up the layer hierarchy through subframes are redundant
with static helpers in RenderLayer. Now that isTransparentOrFullyClippedRespectingParentFrames exists in
RenderLayer, simply use this existing helper instead and split logic to grab the enclosing layer around the
owner element of a frame into a separate helper.

  • rendering/RenderLayer.h:
  • rendering/RenderObject.cpp:

(WebCore::enclosingFrameRenderLayer): Deleted.
(WebCore::parentLayerCrossingFrameBoundaries): Deleted.
(WebCore::RenderObject::isTransparentOrFullyClippedRespectingParentFrames const): Deleted.

Moved from RenderObject.

  • rendering/RenderObject.h:

Source/WebKit:

Refactor some logic to use isTransparentOrFullyClippedRespectingParentFrames on RenderLayer rather than
RenderObject; introduce a helper method to ask whether the enclosing layer of a renderer is transparent or
clipped.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::enclosingLayerIsTransparentOrFullyClipped):
(WebKit::WebPage::platformEditorState const):
(WebKit::WebPage::requestEvasionRectsAboveSelection):
(WebKit::WebPage::getFocusedElementInformation):

12:16 PM Changeset in webkit [242560] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Simplify chart <rect>s with x/y attributes instead of transform(x, y)
https://bugs.webkit.org/show_bug.cgi?id=195352

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2019-03-06
Reviewed by Matt Baker.

  • UserInterface/Views/ColumnChart.js:

(WI.ColumnChart.prototype.layout):
(WI.ColumnChart):

  • UserInterface/Views/RangeChart.js:

(WI.RangeChart.prototype.layout):
(WI.RangeChart):

  • UserInterface/Views/StackedColumnChart.js:

(WI.StackedColumnChart.prototype.layout):
(WI.StackedColumnChart):

12:05 PM Changeset in webkit [242559] by Kocsen Chung
  • 7 edits in branches/safari-607.1.40.0-branch/Source

Versioning.

11:57 AM Changeset in webkit [242558] by Kocsen Chung
  • 7 edits in trunk/Source

Versioning.

11:52 AM Changeset in webkit [242557] by don.olmstead@sony.com
  • 2 edits in trunk

[WinCairo] Enable additional experimental features
https://bugs.webkit.org/show_bug.cgi?id=195363

Reviewed by Ross Kirsling.

Turn on ENABLE_APPLICATION_MANIFEST, ENABLE_FILTERS_LEVEL_2, ENABLE_CSS_PAINTING_API,
and ENABLE_VARIATION_FONTS. This will allow testing and development of these features
for Windows.

  • Source/cmake/OptionsWin.cmake:
11:22 AM Changeset in webkit [242556] by Devin Rousso
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: CSS Changes: only show changes for the given node
https://bugs.webkit.org/show_bug.cgi?id=194608
<rdar://problem/48050206>

Reviewed by Timothy Hatcher.

  • UserInterface/Views/ChangesDetailsSidebarPanel.js:

(WI.ChangesDetailsSidebarPanel.prototype.inspect):
(WI.ChangesDetailsSidebarPanel.prototype.supportsDOMNode):
(WI.ChangesDetailsSidebarPanel.prototype.layout):
Make this panel a subclass of WI.DOMDetailsSidebarPanel so it has access to the selected
DOM node in the Elements tab.

  • UserInterface/Base/Setting.js:
  • UserInterface/Views/SettingsTabContentView.js:

(WI.SettingsTabContentView.prototype._createGeneralSettingsView):
Create new general setting for controlling this change.

  • Localizations/en.lproj/localizedStrings.js:
11:20 AM Changeset in webkit [242555] by sihui_liu@apple.com
  • 3 edits in trunk/Source/WebCore

Assertion Failed: m_databaseQueue.isKilled() in UniqueIDBDatabase::~UniqueIDBDatabase()
https://bugs.webkit.org/show_bug.cgi?id=195073
<rdar://problem/48285200>

Reviewed by Geoffrey Garen.

r240931 removed a retain cycle between IDBConnectionToServer and IDBConnectionToServerDelegate, so
IDBConnectionToServerDelegate, or InProcessIDBServer would not live forever. When IDBDatabase is gone,
InProcessIDBServer would schedule a notifification to IDBServer with databaseConnectionClosed. IDBServer would
then notify UniqueIDBDatabase. When UniqueIDBDatabase finds all database connections are gone, it would acquires
its only reference pointer from IDBServer schedule and perform a shutdown that kills its database task queue.

The assertion failure tells us UniqueIDBDatabase was destructed at when IDBServer was destructed, which means
UniqueIDBDatabase had not acquired its pointer. It's probably because UniqueIDBDatabase had unfinished tasks or
the operation timer function had not been executed. Since UniqueIDBDatabase needs to complete shutdown process,
we should make IDBServer live as long as UniqueIDBDatabase by keeping a reference pointer of IDBServer in
UniqueIDBDatabase.

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::UniqueIDBDatabase):
(WebCore::IDBServer::UniqueIDBDatabase::deleteBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::scheduleShutdownForClose):
(WebCore::IDBServer::UniqueIDBDatabase::openBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::postDatabaseTask):
(WebCore::IDBServer::UniqueIDBDatabase::postDatabaseTaskReply):
(WebCore::IDBServer::UniqueIDBDatabase::immediateCloseForUserDelete):
(WebCore::IDBServer::UniqueIDBDatabase::notifyServerAboutClose):

  • Modules/indexeddb/server/UniqueIDBDatabase.h:

(WebCore::IDBServer::UniqueIDBDatabase::server):

11:10 AM Changeset in webkit [242554] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

REGRESSION (r238490): YouTube.com: Returning PiP to Safari after sleeping device loses page
https://bugs.webkit.org/show_bug.cgi?id=195364
<rdar://problem/48538837>

Reviewed by Geoffrey Garen.

Make sure we unset the LayerTreeFreezeReason::ProcessSuspended layer tree freeze reason
when WebPage::applicationWillEnterForeground() is called. This restores pre-r238490
behavior and addresses the issue with PiP on youtube.com.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::applicationWillEnterForeground):

11:08 AM Changeset in webkit [242553] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Canvas: color swatches aren't shown for valid inputs with leading/trailing whitespace
https://bugs.webkit.org/show_bug.cgi?id=195298

Reviewed by Timothy Hatcher.

  • UserInterface/Views/RecordingActionTreeElement.js:

(WI.RecordingActionTreeElement._generateDOM):
(WI.RecordingActionTreeElement._createSwatchForColorParameters):
Trim the color string since it can be an arbitrary string, seeing as it is captured before
the <canvas> has a chance to parse/fix it.

10:14 AM Changeset in webkit [242552] by dino@apple.com
  • 2 edits in trunk/Source/WebKit

Fix WKPasswordView compilation on iOS
https://bugs.webkit.org/show_bug.cgi?id=195344
<rdar://problem/48620066>

Reviewed by Dan Bates.

Use WebKitAdditions.

  • UIProcess/ios/WKPasswordView.mm:

(-[WKPasswordView showInScrollView:]):

9:38 AM Changeset in webkit [242551] by Wenson Hsieh
  • 19 edits in trunk

[iOS] Frequent 1 second IPC deadlocks when showing a paste callout
https://bugs.webkit.org/show_bug.cgi?id=195354
<rdar://problem/48624675>

Reviewed by Tim Horton.

Source/WebKit:

When triggering programmatic paste, we frequently hit deadlocks due to sync IPC going from the UI process to the
web process and vice versa. What happens in this scenario is that prior to triggering programmatic paste, the
page may try to move focus to a different element (e.g. a hidden editable area) before calling execCommand.
This causes us to send an ElementDidFocus message to the UI process, followed by RequestDOMPasteAccess.

However, upon receiving ElementDidFocus, we reload input views and (in the process) UIKit requests the
autocorrection context, which we implement in WebKit using a sync message to the web process due to
<rdar://problem/16207002> and its blocking bug <rdar://problem/48383001>. This means we'll end up in a state
where both the UI process and web process are blocked on each other waiting for a sync IPC response, and the UI
process is hung for a second until the IPC message times out.

Ideally, we should fix this by addressing <rdar://problem/16207002>. However, this requires potentially large
changes in UIKit (<rdar://problem/48383001>); for the time being, work around this deadlock by refactoring
synchronous autocorrection context requests such that they can be resolved by an out-of-band IPC response
(HandleAutocorrectionContext). Then prior to requesting DOM paste access, preemptively send a
HandleAutocorrectionContext message to the UI process to unblock any pending synchronous autocorrection context
requests.

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::handleAutocorrectionContext):

  • UIProcess/ios/WKContentViewInteraction.h:

Make it possible for WKContentView to remember its current pending autocorrection context completion handler.
This is invoked and cleared out in -_invokePendingAutocorrectionContextHandler:.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _invokePendingAutocorrectionContextHandler:]):
(-[WKContentView requestAutocorrectionContextWithCompletionHandler:]):
(-[WKContentView _handleAutocorrectionContext:]):

Handle an autocorrection context response. This is invoked when the web process either handles an autocorrection
context message, or when it preemptively sends an autocorrection context before requesting DOM paste access.

(+[WKAutocorrectionContext emptyAutocorrectionContext]):

Add a helper to create an empty autocorrection context.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::requestAutocorrectionContext):
(WebKit::WebPageProxy::handleAutocorrectionContext):
(WebKit::WebPageProxy::autocorrectionContextSync): Deleted.

Removed this sync version, since we now only have requestAutocorrectionContext.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::requestDOMPasteAccess):

Send WebPageProxy::HandleAutocorrectionContext, and add a FIXME referencing <rdar://problem/16207002>.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Split AutocorrectionContextSync into RequestAutocorrectionContext and HandleAutocorrectionContext; additionally,
remove the existing RequestAutocorrectionContext message.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::requestAutocorrectionContext):
(WebKit::WebPage::autocorrectionContextSync): Deleted.

LayoutTests:

Most of these tests currently encounter and rely on the 1 second IPC timeout to finish. To test this fix, force
ignoreSynchronousMessagingTimeouts=true to make them fail if the processes encounter a deadlock.

  • editing/pasteboard/ios/dom-paste-confirmation.html:
  • editing/pasteboard/ios/dom-paste-consecutive-confirmations.html:
  • editing/pasteboard/ios/dom-paste-rejection.html:
  • editing/pasteboard/ios/dom-paste-requires-user-gesture.html:
  • editing/pasteboard/ios/dom-paste-same-origin.html:
8:21 AM WebKitGTK/2.24.x edited by Carlos Garcia Campos
(diff)
7:57 AM Changeset in webkit [242550] by jfernandez@igalia.com
  • 233 edits
    44 copies
    27 moves
    380 adds
    21 deletes in trunk/LayoutTests

Import new tests from the CSS Text 3 WPT test suite
https://bugs.webkit.org/show_bug.cgi?id=195275

Reviewed by Myles C. Maxfield.

Imported new CSS Text tests from the WPT suite

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-text/META.yml: Added.
  • web-platform-tests/css/css-text/OWNERS: Removed.
  • web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-001-expected.html: Added.
  • web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-001.html: Added.
  • web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-002-expected.html: Added.
  • web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-002.html: Added.
  • web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-003-expected.html: Added.
  • web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-003.html: Added.
  • web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-004-expected.html: Added.
  • web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-004.html: Added.
  • web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-005-expected.html: Added.
  • web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-005.html: Added.
  • web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-006-expected.html: Added.
  • web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-006.html: Added.
  • web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-007-expected.html: Added.
  • web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-007.html: Added.
  • web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-008-expected.html: Added.
  • web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-008.html: Added.
  • web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-009-expected.html: Added.
  • web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-009.html: Added.
  • web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-010-expected.html: Added.
  • web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-010.html: Added.
  • web-platform-tests/css/css-text/boundary-shaping/resources/LinLibertine_Re-4.7.5.woff: Added.
  • web-platform-tests/css/css-text/boundary-shaping/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/i18n/support/w3c-import.log.
  • web-platform-tests/css/css-text/boundary-shaping/w3c-import.log: Added.
  • web-platform-tests/css/css-text/hanging-punctuation/hanging-scrollable-001-expected.html: Added.
  • web-platform-tests/css/css-text/hanging-punctuation/hanging-scrollable-001.html: Added.
  • web-platform-tests/css/css-text/hanging-punctuation/w3c-import.log:
  • web-platform-tests/css/css-text/hyphens/hyphens-auto-001-expected.html: Added.
  • web-platform-tests/css/css-text/hyphens/hyphens-auto-001.html: Added.
  • web-platform-tests/css/css-text/hyphens/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/i18n/support/w3c-import.log.
  • web-platform-tests/css/css-text/i18n/META.yml: Added.
  • web-platform-tests/css/css-text/i18n/OWNERS: Removed.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-loose.html:
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-normal.html:
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-strict.html:
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-loose.html:
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-normal.html:
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-strict.html:
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-loose.html:
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-normal.html:
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-strict.html:
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-loose.html:
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-normal.html:
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-strict.html:
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-loose.html:
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-normal.html:
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-strict.html:
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-loose.html:
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-normal.html:
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-strict.html:
  • web-platform-tests/css/css-text/i18n/ja/w3c-import.log:
  • web-platform-tests/css/css-text/i18n/support/w3c-import.log:
  • web-platform-tests/css/css-text/i18n/w3c-import.log:
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-loose.html:
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-normal.html:
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-strict.html:
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-loose.html:
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-normal.html:
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-strict.html:
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-loose.html:
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-normal.html:
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-strict.html:
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-loose.html:
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-normal.html:
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-strict.html:
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-loose.html:
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-normal.html:
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-strict.html:
  • web-platform-tests/css/css-text/i18n/zh/w3c-import.log:
  • web-platform-tests/css/css-text/inheritance-expected.txt: Added.
  • web-platform-tests/css/css-text/inheritance.html: Added.
  • web-platform-tests/css/css-text/letter-spacing/letter-spacing-bidi-001-expected.html: Added.
  • web-platform-tests/css/css-text/letter-spacing/letter-spacing-bidi-001.html: Added.
  • web-platform-tests/css/css-text/letter-spacing/letter-spacing-bidi-002-expected.html: Added.
  • web-platform-tests/css/css-text/letter-spacing/letter-spacing-bidi-002.html: Added.
  • web-platform-tests/css/css-text/letter-spacing/letter-spacing-end-of-line-001-expected.html: Added.
  • web-platform-tests/css/css-text/letter-spacing/letter-spacing-end-of-line-001.html: Added.
  • web-platform-tests/css/css-text/letter-spacing/letter-spacing-nesting-001-expected.html: Added.
  • web-platform-tests/css/css-text/letter-spacing/letter-spacing-nesting-001.html: Added.
  • web-platform-tests/css/css-text/letter-spacing/letter-spacing-nesting-002-expected.html: Added.
  • web-platform-tests/css/css-text/letter-spacing/letter-spacing-nesting-002.html: Added.
  • web-platform-tests/css/css-text/letter-spacing/w3c-import.log:
  • web-platform-tests/css/css-text/line-break/line-break-loose-011-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-011-expected.xht.
  • web-platform-tests/css/css-text/line-break/line-break-loose-011.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-011.xht.
  • web-platform-tests/css/css-text/line-break/line-break-loose-012-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-012-expected.xht.
  • web-platform-tests/css/css-text/line-break/line-break-loose-012.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-012.xht.
  • web-platform-tests/css/css-text/line-break/line-break-loose-013-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-013-expected.xht.
  • web-platform-tests/css/css-text/line-break/line-break-loose-013.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-013.xht.
  • web-platform-tests/css/css-text/line-break/line-break-loose-014-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-021-expected.xht.
  • web-platform-tests/css/css-text/line-break/line-break-loose-014.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-014.xht.
  • web-platform-tests/css/css-text/line-break/line-break-loose-015-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-022-expected.xht.
  • web-platform-tests/css/css-text/line-break/line-break-loose-015.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-015.xht.
  • web-platform-tests/css/css-text/line-break/line-break-loose-016a-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-023a-expected.xht.
  • web-platform-tests/css/css-text/line-break/line-break-loose-016a.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-013.xht.
  • web-platform-tests/css/css-text/line-break/line-break-loose-016b-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-016b-expected.xht.
  • web-platform-tests/css/css-text/line-break/line-break-loose-016b.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-023b.xht.
  • web-platform-tests/css/css-text/line-break/line-break-loose-017a-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-017a-expected.xht.
  • web-platform-tests/css/css-text/line-break/line-break-loose-017a.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-017a.xht.
  • web-platform-tests/css/css-text/line-break/line-break-loose-017b-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-024b-expected.xht.
  • web-platform-tests/css/css-text/line-break/line-break-loose-017b.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-024b.xht.
  • web-platform-tests/css/css-text/line-break/line-break-loose-018-expected.xht: Added.
  • web-platform-tests/css/css-text/line-break/line-break-loose-018.xht: Added.
  • web-platform-tests/css/css-text/line-break/line-break-normal-011-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-011-expected.xht.
  • web-platform-tests/css/css-text/line-break/line-break-normal-011.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-011.xht.
  • web-platform-tests/css/css-text/line-break/line-break-normal-012-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-012-expected.xht.
  • web-platform-tests/css/css-text/line-break/line-break-normal-012.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-012.xht.
  • web-platform-tests/css/css-text/line-break/line-break-normal-013-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-013-expected.xht.
  • web-platform-tests/css/css-text/line-break/line-break-normal-013.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-013.xht.
  • web-platform-tests/css/css-text/line-break/line-break-normal-014-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-021-expected.xht.
  • web-platform-tests/css/css-text/line-break/line-break-normal-014.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-021.xht.
  • web-platform-tests/css/css-text/line-break/line-break-normal-015-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-022-expected.xht.
  • web-platform-tests/css/css-text/line-break/line-break-normal-015.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-022.xht.
  • web-platform-tests/css/css-text/line-break/line-break-normal-016a-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-013-expected.xht.
  • web-platform-tests/css/css-text/line-break/line-break-normal-016a.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-023a.xht.
  • web-platform-tests/css/css-text/line-break/line-break-normal-016b-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-023b-expected.xht.
  • web-platform-tests/css/css-text/line-break/line-break-normal-016b.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-023b.xht.
  • web-platform-tests/css/css-text/line-break/line-break-normal-017a-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-024a-expected.xht.
  • web-platform-tests/css/css-text/line-break/line-break-normal-017a.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-024a.xht.
  • web-platform-tests/css/css-text/line-break/line-break-normal-017b-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-024b-expected.xht.
  • web-platform-tests/css/css-text/line-break/line-break-normal-017b.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-024b.xht.
  • web-platform-tests/css/css-text/line-break/line-break-normal-018-expected.xht: Added.
  • web-platform-tests/css/css-text/line-break/line-break-normal-018.xht: Added.
  • web-platform-tests/css/css-text/line-break/line-break-strict-011-expected.xht:
  • web-platform-tests/css/css-text/line-break/line-break-strict-011.xht:
  • web-platform-tests/css/css-text/line-break/line-break-strict-012-expected.xht:
  • web-platform-tests/css/css-text/line-break/line-break-strict-012.xht:
  • web-platform-tests/css/css-text/line-break/line-break-strict-013-expected.xht:
  • web-platform-tests/css/css-text/line-break/line-break-strict-013.xht:
  • web-platform-tests/css/css-text/line-break/line-break-strict-014-expected.xht:
  • web-platform-tests/css/css-text/line-break/line-break-strict-014.xht:
  • web-platform-tests/css/css-text/line-break/line-break-strict-015-expected.xht:
  • web-platform-tests/css/css-text/line-break/line-break-strict-015.xht:
  • web-platform-tests/css/css-text/line-break/line-break-strict-016a-expected.xht:
  • web-platform-tests/css/css-text/line-break/line-break-strict-016a.xht:
  • web-platform-tests/css/css-text/line-break/line-break-strict-016b-expected.xht:
  • web-platform-tests/css/css-text/line-break/line-break-strict-016b.xht:
  • web-platform-tests/css/css-text/line-break/line-break-strict-017a-expected.xht:
  • web-platform-tests/css/css-text/line-break/line-break-strict-017a.xht:
  • web-platform-tests/css/css-text/line-break/line-break-strict-017b-expected.xht:
  • web-platform-tests/css/css-text/line-break/line-break-strict-017b.xht:
  • web-platform-tests/css/css-text/line-break/line-break-strict-018-expected.xht: Added.
  • web-platform-tests/css/css-text/line-break/line-break-strict-018.xht: Added.
  • web-platform-tests/css/css-text/line-break/w3c-import.log:
  • web-platform-tests/css/css-text/line-breaking/w3c-import.log:
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-001.html:
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-002.html:
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-003-expected.html: Removed.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-003.html: Removed.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-004.html:
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-005-expected.html: Removed.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-005.html: Removed.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-001-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-001.html: Added.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-002-expected.html: Added.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-002.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-002.html.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-003-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-003-expected.html.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-003.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-003.html.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-004-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-004.html: Added.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-005-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-005.html: Added.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-fit-content-001-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-fit-content-001.html.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-fit-content-001.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-fit-content-001.html.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-span-001-expected.html: Added.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-span-001.html: Added.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-span-002-expected.txt: Added.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-span-002.html: Added.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-002.html:
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-003-expected.html:
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-003.html:
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-004-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-004.html: Added.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-005-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-005.html: Added.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-006-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-006.html: Added.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-fit-content-001.html:
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-span-001-expected.html: Added.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-span-001.html: Added.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-span-002-expected.txt: Added.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-span-002.html: Added.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-min-content-size-001.html:
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-min-content-size-002-expected.html: Added.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-min-content-size-002.html: Added.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-min-content-size-003-expected.html: Added.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-min-content-size-003.html: Added.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-min-content-size-004-expected.html: Added.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-min-content-size-004.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-min-content-size-001.html.
  • web-platform-tests/css/css-text/overflow-wrap/w3c-import.log:
  • web-platform-tests/css/css-text/overflow-wrap/word-wrap-001.html:
  • web-platform-tests/css/css-text/overflow-wrap/word-wrap-002.html:
  • web-platform-tests/css/css-text/overflow-wrap/word-wrap-003-expected.html: Removed.
  • web-platform-tests/css/css-text/overflow-wrap/word-wrap-003.html: Removed.
  • web-platform-tests/css/css-text/overflow-wrap/word-wrap-004.html:
  • web-platform-tests/css/css-text/overflow-wrap/word-wrap-005-expected.html: Removed.
  • web-platform-tests/css/css-text/overflow-wrap/word-wrap-005.html: Removed.
  • web-platform-tests/css/css-text/overflow-wrap/word-wrap-alias-expected.txt: Added.
  • web-platform-tests/css/css-text/overflow-wrap/word-wrap-alias.html: Added.
  • web-platform-tests/css/css-text/parsing/hanging-punctuation-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/hanging-punctuation-invalid.html: Added.
  • web-platform-tests/css/css-text/parsing/hanging-punctuation-valid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/hanging-punctuation-valid.html: Added.
  • web-platform-tests/css/css-text/parsing/hyphens-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/hyphens-invalid.html: Added.
  • web-platform-tests/css/css-text/parsing/hyphens-valid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/hyphens-valid.html: Added.
  • web-platform-tests/css/css-text/parsing/letter-spacing-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/letter-spacing-invalid.html: Added.
  • web-platform-tests/css/css-text/parsing/letter-spacing-valid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/letter-spacing-valid.html: Added.
  • web-platform-tests/css/css-text/parsing/line-break-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/line-break-invalid.html: Added.
  • web-platform-tests/css/css-text/parsing/line-break-valid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/line-break-valid.html: Added.
  • web-platform-tests/css/css-text/parsing/overflow-wrap-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/overflow-wrap-invalid.html: Added.
  • web-platform-tests/css/css-text/parsing/overflow-wrap-valid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/overflow-wrap-valid.html: Added.
  • web-platform-tests/css/css-text/parsing/tab-size-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/tab-size-invalid.html: Added.
  • web-platform-tests/css/css-text/parsing/tab-size-valid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/tab-size-valid.html: Added.
  • web-platform-tests/css/css-text/parsing/text-align-all-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/text-align-all-invalid.html: Added.
  • web-platform-tests/css/css-text/parsing/text-align-all-valid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/text-align-all-valid.html: Added.
  • web-platform-tests/css/css-text/parsing/text-align-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/text-align-invalid.html: Added.
  • web-platform-tests/css/css-text/parsing/text-align-last-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/text-align-last-invalid.html: Added.
  • web-platform-tests/css/css-text/parsing/text-align-last-valid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/text-align-last-valid.html: Added.
  • web-platform-tests/css/css-text/parsing/text-align-valid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/text-align-valid.html: Added.
  • web-platform-tests/css/css-text/parsing/text-indent-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/text-indent-invalid.html: Added.
  • web-platform-tests/css/css-text/parsing/text-indent-valid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/text-indent-valid.html: Added.
  • web-platform-tests/css/css-text/parsing/text-justify-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/text-justify-invalid.html: Added.
  • web-platform-tests/css/css-text/parsing/text-justify-valid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/text-justify-valid.html: Added.
  • web-platform-tests/css/css-text/parsing/text-transform-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/text-transform-invalid.html: Added.
  • web-platform-tests/css/css-text/parsing/text-transform-valid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/text-transform-valid.html: Added.
  • web-platform-tests/css/css-text/parsing/w3c-import.log: Added.
  • web-platform-tests/css/css-text/parsing/white-space-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/white-space-invalid.html: Added.
  • web-platform-tests/css/css-text/parsing/white-space-valid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/white-space-valid.html: Added.
  • web-platform-tests/css/css-text/parsing/word-break-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/word-break-invalid.html: Added.
  • web-platform-tests/css/css-text/parsing/word-break-valid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/word-break-valid.html: Added.
  • web-platform-tests/css/css-text/parsing/word-spacing-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/word-spacing-invalid.html: Added.
  • web-platform-tests/css/css-text/parsing/word-spacing-valid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/word-spacing-valid.html: Added.
  • web-platform-tests/css/css-text/parsing/word-wrap-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/word-wrap-invalid.html: Added.
  • web-platform-tests/css/css-text/parsing/word-wrap-valid-expected.txt: Added.
  • web-platform-tests/css/css-text/parsing/word-wrap-valid.html: Added.
  • web-platform-tests/css/css-text/support/support/w3c-import.log:
  • web-platform-tests/css/css-text/support/w3c-import.log:
  • web-platform-tests/css/css-text/tab-size/tab-min-rendered-width-1-expected.html: Added.
  • web-platform-tests/css/css-text/tab-size/tab-min-rendered-width-1.html: Added.
  • web-platform-tests/css/css-text/tab-size/tab-size-inheritance-001-expected.html: Added.
  • web-platform-tests/css/css-text/tab-size/tab-size-inheritance-001.html: Added.
  • web-platform-tests/css/css-text/tab-size/tab-size-spacing-001-expected.html: Added.
  • web-platform-tests/css/css-text/tab-size/tab-size-spacing-001.html: Added.
  • web-platform-tests/css/css-text/tab-size/w3c-import.log:
  • web-platform-tests/css/css-text/text-align/w3c-import.log:
  • web-platform-tests/css/css-text/text-indent/percentage-value-intrinsic-size-expected.txt: Added.
  • web-platform-tests/css/css-text/text-indent/percentage-value-intrinsic-size.html: Added.
  • web-platform-tests/css/css-text/text-indent/text-indent-percentage-001-expected.xht:
  • web-platform-tests/css/css-text/text-indent/text-indent-percentage-001.xht:
  • web-platform-tests/css/css-text/text-indent/text-indent-percentage-002-expected.html: Added.
  • web-platform-tests/css/css-text/text-indent/text-indent-percentage-002.html: Added.
  • web-platform-tests/css/css-text/text-indent/text-indent-percentage-003-expected.html: Added.
  • web-platform-tests/css/css-text/text-indent/text-indent-percentage-003.html: Added.
  • web-platform-tests/css/css-text/text-indent/text-indent-percentage-004-expected.html: Added.
  • web-platform-tests/css/css-text/text-indent/text-indent-percentage-004.html: Added.
  • web-platform-tests/css/css-text/text-indent/w3c-import.log:
  • web-platform-tests/css/css-text/text-justify/w3c-import.log:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-001-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-001.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-003-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-003.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-005-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-005.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-007-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-007.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-009-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-009.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-010-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-010.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-011-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-011.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-014-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-014.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-016-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-016.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-018-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-018.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-020-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-020.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-022-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-022.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-024-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-024.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-026-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-026.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-028-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-028.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-030-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-030.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-031-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-031.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-033-expected.html: Added.
  • web-platform-tests/css/css-text/text-transform/text-transform-capitalize-033.html: Added.
  • web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-001-expected.html: Added.
  • web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-001.html: Added.
  • web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-002-expected.html: Added.
  • web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-002.html: Added.
  • web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-003-expected.html: Added.
  • web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-003.html: Added.
  • web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-004-expected.html: Added.
  • web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-004.html: Added.
  • web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-005-expected.html: Added.
  • web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-005.html: Added.
  • web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-006-expected.html: Added.
  • web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-006.html: Added.
  • web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-007-expected.html: Added.
  • web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-007.html: Added.
  • web-platform-tests/css/css-text/text-transform/text-transform-shaping-001-expected.html: Added.
  • web-platform-tests/css/css-text/text-transform/text-transform-shaping-001.html: Added.
  • web-platform-tests/css/css-text/text-transform/text-transform-shaping-002-expected.html: Added.
  • web-platform-tests/css/css-text/text-transform/text-transform-shaping-002.html: Added.
  • web-platform-tests/css/css-text/text-transform/text-transform-shaping-003-expected.html: Added.
  • web-platform-tests/css/css-text/text-transform/text-transform-shaping-003.html: Added.
  • web-platform-tests/css/css-text/text-transform/text-transform-tailoring-001-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-tailoring-001.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-tailoring-002-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-tailoring-002.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-tailoring-002a-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-tailoring-002a.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-tailoring-003-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-tailoring-003.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-tailoring-004-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-tailoring-004.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-tailoring-005-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-tailoring-005.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-001-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-001.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-002-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-002.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-003-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-003.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-004-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-004.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-005-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-005.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-006-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-006.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-007-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-007.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-008-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-008.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-009-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-009.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-010-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-010.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-011-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-011.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-012-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-012.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-014-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-014.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-015-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-015.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-016-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-016.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-017-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-017.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-018-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-018.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-019-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-019.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-020-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-020.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-021-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-021.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-022-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-022.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-023-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-023.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-024-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-024.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-025-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-025.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-026-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-026.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-027-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-027.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-028-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-028.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-029-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-029.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-030-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-030.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-031-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-031.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-032-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-032.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-033-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-033.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-034-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-034.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-035-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-035.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-038-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-038.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-039-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-039.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-040-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-040.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-041-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-041.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-042-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-042.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-043-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-043.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-101-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-101.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-102-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-102.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-103-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-103.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-104-expected.html:
  • web-platform-tests/css/css-text/text-transform/text-transform-upperlower-104.html:
  • web-platform-tests/css/css-text/text-transform/w3c-import.log:
  • web-platform-tests/css/css-text/w3c-import.log:
  • web-platform-tests/css/css-text/white-space/break-spaces-001-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
  • web-platform-tests/css/css-text/white-space/break-spaces-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008.html.
  • web-platform-tests/css/css-text/white-space/break-spaces-002-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-009-expected.html.
  • web-platform-tests/css/css-text/white-space/break-spaces-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-009.html.
  • web-platform-tests/css/css-text/white-space/break-spaces-004-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-010-expected.html.
  • web-platform-tests/css/css-text/white-space/break-spaces-004.html: Added.
  • web-platform-tests/css/css-text/white-space/break-spaces-005-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/break-spaces-005.html: Added.
  • web-platform-tests/css/css-text/white-space/break-spaces-006-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/break-spaces-006.html: Added.
  • web-platform-tests/css/css-text/white-space/break-spaces-007-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/break-spaces-007.html: Added.
  • web-platform-tests/css/css-text/white-space/break-spaces-008-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/break-spaces-008.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-000-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-000.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-001-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-001.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-002-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-002.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-003-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-003.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-004-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-004.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-005-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-005.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-006-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-006.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-007-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-007.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-008-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-008.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-00B-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-00B.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-00D-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-00D.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-00E-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-00E.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-00F-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-00F.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-010-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-010.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-011-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-011.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-012-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-012.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-013-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-013.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-014-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-014.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-015-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-015.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-016-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-016.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-017-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-017.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-018-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-018.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-019-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-019.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-01A-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-01A.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-01B-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-01B.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-01C-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-01C.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-01D-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-01D.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-01E-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-01E.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-01F-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-01F.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-07F-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-07F.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-080-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-080.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-081-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-081.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-082-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-082.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-083-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-083.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-084-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-084.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-085-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-085.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-086-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-086.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-087-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-087.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-088-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-088.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-089-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-089.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-08A-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-08A.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-08B-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-08B.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-08C-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-08C.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-08D-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-08D.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-08E-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-08E.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-08F-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-08F.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-090-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-090.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-091-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-091.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-092-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-092.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-093-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-093.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-094-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-094.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-095-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-095.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-096-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-096.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-097-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-097.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-098-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-098.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-099-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-099.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-09A-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-09A.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-09B-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-09B.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-09C-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-09C.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-09D-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-09D.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-09E-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-09E.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-09F-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/control-chars-09F.html: Added.
  • web-platform-tests/css/css-text/white-space/line-edge-white-space-collapse-001-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/line-edge-white-space-collapse-001.html: Added.
  • web-platform-tests/css/css-text/white-space/line-edge-white-space-collapse-002-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/line-edge-white-space-collapse-002.html: Added.
  • web-platform-tests/css/css-text/white-space/pre-float-001-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/pre-float-001.html: Added.
  • web-platform-tests/css/css-text/white-space/pre-wrap-002.html:
  • web-platform-tests/css/css-text/white-space/pre-wrap-010.html: Removed.
  • web-platform-tests/css/css-text/white-space/pre-wrap-012-expected.html:
  • web-platform-tests/css/css-text/white-space/pre-wrap-012.html:
  • web-platform-tests/css/css-text/white-space/pre-wrap-013-expected.html:
  • web-platform-tests/css/css-text/white-space/pre-wrap-013.html:
  • web-platform-tests/css/css-text/white-space/pre-wrap-014-expected.html:
  • web-platform-tests/css/css-text/white-space/pre-wrap-014.html:
  • web-platform-tests/css/css-text/white-space/pre-wrap-015-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
  • web-platform-tests/css/css-text/white-space/pre-wrap-015.html: Added.
  • web-platform-tests/css/css-text/white-space/pre-wrap-016-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
  • web-platform-tests/css/css-text/white-space/pre-wrap-016.html: Added.
  • web-platform-tests/css/css-text/white-space/pre-wrap-float-001-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/pre-wrap-float-001.html: Added.
  • web-platform-tests/css/css-text/white-space/tab-stop-threshold-001-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/tab-stop-threshold-001.html: Added.
  • web-platform-tests/css/css-text/white-space/tab-stop-threshold-002-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/tab-stop-threshold-002.html: Added.
  • web-platform-tests/css/css-text/white-space/tab-stop-threshold-003-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/tab-stop-threshold-003.html: Added.
  • web-platform-tests/css/css-text/white-space/tab-stop-threshold-004-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/tab-stop-threshold-004.html: Added.
  • web-platform-tests/css/css-text/white-space/tab-stop-threshold-005-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/tab-stop-threshold-005.html: Added.
  • web-platform-tests/css/css-text/white-space/tab-stop-threshold-006-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/tab-stop-threshold-006.html: Added.
  • web-platform-tests/css/css-text/white-space/text-space-collapse-discard-001-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/white-space-collapsing-discard-001-expected.xht.
  • web-platform-tests/css/css-text/white-space/text-space-collapse-discard-001.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/white-space-collapsing-discard-001.xht.
  • web-platform-tests/css/css-text/white-space/text-space-collapse-preserve-breaks-001-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/white-space-collapsing-preserve-breaks-001-expected.xht.
  • web-platform-tests/css/css-text/white-space/text-space-collapse-preserve-breaks-001.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/white-space-collapsing-preserve-breaks-001.xht.
  • web-platform-tests/css/css-text/white-space/text-space-trim-trim-inner-001-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/white-space-collapsing-trim-inner-001-expected.xht.
  • web-platform-tests/css/css-text/white-space/text-space-trim-trim-inner-001.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/white-space-collapsing-trim-inner-001.xht.
  • web-platform-tests/css/css-text/white-space/textarea-break-spaces-001-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/textarea-pre-wrap-008-expected.html.
  • web-platform-tests/css/css-text/white-space/textarea-break-spaces-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/textarea-pre-wrap-008.html.
  • web-platform-tests/css/css-text/white-space/textarea-break-spaces-002-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/textarea-pre-wrap-009-expected.html.
  • web-platform-tests/css/css-text/white-space/textarea-break-spaces-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/textarea-pre-wrap-009.html.
  • web-platform-tests/css/css-text/white-space/textarea-pre-wrap-010-expected.html: Removed.
  • web-platform-tests/css/css-text/white-space/textarea-pre-wrap-010.html: Removed.
  • web-platform-tests/css/css-text/white-space/trailing-ideographic-space-001-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/trailing-ideographic-space-001.html: Added.
  • web-platform-tests/css/css-text/white-space/trailing-ideographic-space-002-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/trailing-ideographic-space-002.html: Added.
  • web-platform-tests/css/css-text/white-space/trailing-ideographic-space-003-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/trailing-ideographic-space-003.html: Added.
  • web-platform-tests/css/css-text/white-space/trailing-ideographic-space-004-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/trailing-ideographic-space-004.html: Added.
  • web-platform-tests/css/css-text/white-space/trailing-space-before-br-001-expected.txt: Added.
  • web-platform-tests/css/css-text/white-space/trailing-space-before-br-001.html: Added.
  • web-platform-tests/css/css-text/white-space/w3c-import.log:
  • web-platform-tests/css/css-text/white-space/white-space-empty-text-sibling-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/white-space-empty-text-sibling.html: Added.
  • web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-001-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-001.html: Added.
  • web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-002-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-002.html: Added.
  • web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-003-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-003.html: Added.
  • web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-004-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-004.html: Added.
  • web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-001-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-001.html: Added.
  • web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-002-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-002.html: Added.
  • web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-003-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-003.html: Added.
  • web-platform-tests/css/css-text/white-space/white-space-wrap-after-nowrap-001-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/white-space-wrap-after-nowrap-001.html: Added.
  • web-platform-tests/css/css-text/word-break/w3c-import.log:
  • web-platform-tests/css/css-text/word-break/word-break-001.html: Removed.
  • web-platform-tests/css/css-text/word-break/word-break-002.html: Removed.
  • web-platform-tests/css/css-text/word-break/word-break-003.html: Removed.
  • web-platform-tests/css/css-text/word-break/word-break-004.html: Removed.
  • web-platform-tests/css/css-text/word-break/word-break-break-all-008.html:
  • web-platform-tests/css/css-text/word-break/word-break-break-all-009-expected.xht: Removed.
  • web-platform-tests/css/css-text/word-break/word-break-break-all-009.xht: Removed.
  • web-platform-tests/css/css-text/word-break/word-break-break-all-010-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
  • web-platform-tests/css/css-text/word-break/word-break-break-all-010.html: Added.
  • web-platform-tests/css/css-text/word-break/word-break-break-all-011-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
  • web-platform-tests/css/css-text/word-break/word-break-break-all-011.html: Added.
  • web-platform-tests/css/css-text/word-break/word-break-break-all-012-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
  • web-platform-tests/css/css-text/word-break/word-break-break-all-012.html: Added.
  • web-platform-tests/css/css-text/word-break/word-break-break-all-013-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
  • web-platform-tests/css/css-text/word-break/word-break-break-all-013.html: Added.
  • web-platform-tests/css/css-text/word-break/word-break-break-all-014-expected.html: Added.
  • web-platform-tests/css/css-text/word-break/word-break-break-all-014.html: Added.
  • web-platform-tests/css/css-text/word-break/word-break-break-all-020-expected.html: Added.
  • web-platform-tests/css/css-text/word-break/word-break-break-all-020.html: Added.
  • web-platform-tests/css/css-text/word-break/word-break-keep-all-003-expected.html:
  • web-platform-tests/css/css-text/word-break/word-break-keep-all-003.html:
  • web-platform-tests/css/css-text/word-break/word-break-keep-all-004-expected.xht: Removed.
  • web-platform-tests/css/css-text/word-break/word-break-keep-all-004.xht: Removed.
  • web-platform-tests/css/css-text/word-break/word-break-keep-all-005-expected.html: Added.
  • web-platform-tests/css/css-text/word-break/word-break-keep-all-005.html: Added.
  • web-platform-tests/css/css-text/word-break/word-break-keep-all-006-expected.html: Added.
  • web-platform-tests/css/css-text/word-break/word-break-keep-all-006.html: Added.
  • web-platform-tests/css/css-text/writing-system/w3c-import.log: Added.
  • web-platform-tests/css/css-text/writing-system/writing-system-font-001-expected.html: Added.
  • web-platform-tests/css/css-text/writing-system/writing-system-font-001.html: Added.
  • web-platform-tests/css/css-text/writing-system/writing-system-line-break-001-expected.html: Added.
  • web-platform-tests/css/css-text/writing-system/writing-system-line-break-001.html: Added.
  • web-platform-tests/css/css-text/writing-system/writing-system-line-break-002-expected.html: Added.
  • web-platform-tests/css/css-text/writing-system/writing-system-line-break-002.html: Added.
  • web-platform-tests/css/css-text/writing-system/writing-system-segment-break-001-expected.html: Added.
  • web-platform-tests/css/css-text/writing-system/writing-system-segment-break-001.html: Added.
  • web-platform-tests/css/css-text/writing-system/writing-system-text-transform-001-expected.html: Added.
  • web-platform-tests/css/css-text/writing-system/writing-system-text-transform-001.html: Added.

LayoutTests:

  • TestExpectations: Flag tests that are not passing right now.
  • platform/gtk/TestExpectations: A few tests pass now.
7:21 AM Changeset in webkit [242549] by commit-queue@webkit.org
  • 6 edits
    1 copy
    242 adds in trunk/LayoutTests

Update WPT tests for the track element
https://bugs.webkit.org/show_bug.cgi?id=195358

Patch by Frederic Wang <fwang@igalia.com> on 2019-03-06
Reviewed by Rob Buis.

LayoutTests/imported/w3c:

  • resources/resource-files.json:
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/003.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/004.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/005.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/006.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/007.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/008.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/009.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/010.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/011.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/012.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/013.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/014.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/015.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/016.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/017.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/018.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/019.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/020.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/021.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/022.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/023.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/024.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/025.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/026.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/027.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/028.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/029.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/030.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/031.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/032.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/033.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/034.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/035.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/036.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/037.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/038.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/039.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/040.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/041.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/042.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/043.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/044.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/045.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/046.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/support/common.js: Added.

(setup):
(window.otherOriginURL.string_appeared_here.location.pathname.replace):
(onload):
(setCrossDomainCookie):
(loadTrack.):
(loadTrack):
(removeLog):
(checkData):

  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/support/cors-tester.py: Added.

(main):

  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/support/remove-cookie.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/support/set-cookie.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/support/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/w3c-import.log.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/w3c-import.log: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/align-positioning-bad.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/align-positioning.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/align-text-line-position-bad.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/align-text-line-position.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/alignment-bad.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/alignment-ltr.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/alignment.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/bom.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/captions-fast.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/captions-gaps.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/captions-html.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/captions.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/class-bad.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/class.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-id-error.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-id.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-no-id-error.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-no-id.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-recovery-cuetext.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-recovery-header.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-recovery-note.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-size-align-bad.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-size-align.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-size-bad.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-size.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cues-chrono-order.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cues-no-separation.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cues-overlapping.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cues.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/default-styles.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/degenerate-cues.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/empty-cue.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/entities-wrong.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/entities.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/interspersed-non-cue.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/iso2022jp3.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/large-timestamp.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/line-position-bad.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/line-position.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/markup-bad.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/markup.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/metadata-area.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/metadata.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/missed-cues.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/no-newline-at-eof.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/no-timings.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/no-webvtt.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/positioning-bad.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/positioning-ltr.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/positioning.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/settings-bad-separation.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/settings.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/simple-captions.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/sorted-dispatch.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/timestamp-bad.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/timestamp.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/timings-hour-error.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/timings-hour.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/timings-no-hour-errors.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/timings-no-hour.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/timings-whitespace.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/unsupported-markup.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/utf8.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/valign-bad.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/valign-ltr.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/valign.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/voice-bad.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/voice.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/vp8-vorbis-webvtt.webm: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/webvtt-file.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/webvtt-rubbish.vtt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/src-empty-string.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-active-cues.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-add-remove-cue.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-add-track-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-add-track.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-addtrack-kind-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-addtrack-kind.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-change-event-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-change-event.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-css-cue-pseudo-class-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-css-cue-pseudo-class.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-empty-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-empty.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-inline-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-inline.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-mutable-fragment.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-mutable.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-negative-duration-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-negative-duration.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-negative-timestamp-events-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-negative-timestamp-events.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-negative-timestamp.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-after-controls-added-expected.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-after-controls-added.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-after-controls-removed-expected.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-after-controls-removed.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue-expected.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit-expected.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-transformed-video-expected.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-transformed-video.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cues-cuechange.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cues-enter-exit.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cues-missed.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cues-pause-on-exit.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cues-seeking.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cues-sorted-before-dispatch.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-default-attribute.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-delete-during-setup-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-delete-during-setup.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-disabled-addcue.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-disabled.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-dom-change-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-dom-change.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change-error.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-helpers.js: Added.

(enableAllTextTracks):
(assert_cues_equal):
(assert_cues_match):
(assert_cues_html_content):
(check_cues_from_track):
(assert_cue_fragment_as_textcontent):
(createFragment):
(cloneChildrenToFragment):

  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-id-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-id.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-insert-after-load.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-large-timestamp.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-load-error-readyState.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-load-from-element-readyState.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-load-from-src-readyState-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-load-from-src-readyState.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-mode-disabled.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-mode-not-changed-by-new-track.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-mode-triggers-loading.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-mode.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-node-add-remove-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-node-add-remove.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-remove-active-cue.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-remove-by-setting-innerHTML.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-remove-insert-ready-state.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-remove-quickly-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-remove-quickly.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-remove-track-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-remove-track-inband.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-remove-track.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-selection-metadata-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-selection-metadata.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-text-track-cue-list.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-texttracks-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-texttracks.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-align-positioning-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-align-positioning.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-align-text-line-position-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-align-text-line-position.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-alignment.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-blank-lines.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-bom.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-class-markup.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-cue-identifiers.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-cue-no-id.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-cue-recovery.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-cue-size-align.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-cue-size.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-degenerate-cues.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-empty-cue.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-entities.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-header-comment-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-header-comment.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-interspersed-non-cue.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-line-position-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-line-position.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-magic-header-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-magic-header.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-markup.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-newlines.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-no-timings.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-non-snap-to-lines-expected.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-non-snap-to-lines.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-positioning.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-settings.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-timestamp.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-timings-hour-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-timings-hour.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-timings-no-hours-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-timings-no-hours.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-timings-whitespace.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-two-cue-layout-after-first-end-expected.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-two-cue-layout-after-first-end.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-unsupported-markup.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-utf8-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-utf8.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-valign.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-voice.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/vtt-cue-float-precision-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/vtt-cue-float-precision.html: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/w3c-import.log:

LayoutTests:

5:50 AM Changeset in webkit [242548] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.23.92

WebKitGTK 2.23.92

5:49 AM Changeset in webkit [242547] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.24

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.23.92 release

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.23.92.
5:30 AM Changeset in webkit [242546] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.24/Source/WebCore/platform/gtk/po

Merge r242436 - [GTK][l10n] Updated Polish translation of WebKitGTK for 2.24
https://bugs.webkit.org/show_bug.cgi?id=194859

Patch by Piotr Drąg <piotrdrag@gmail.com> on 2019-03-05
Rubber-stamped by Carlos Garcia Campos.

  • pl.po:
5:30 AM Changeset in webkit [242545] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.24/Source/WTF

Merge r242353 - URLHelpers should use unorm2_quickCheck before converting to NFC
https://bugs.webkit.org/show_bug.cgi?id=194272

Reviewed by Darin Adler.

If the string is already in normalization form C, don't try to normalize it.

  • wtf/URLHelpers.cpp:

(WTF::URLHelpers::toNormalizationFormC):

5:30 AM Changeset in webkit [242544] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.24/Source/WebDriver

Merge r242352 - WebDriver: fix String not terminated with null caracter
https://bugs.webkit.org/show_bug.cgi?id=195274

Patch by Karl Leplat <karl.leplat_ext@softathome.com> on 2019-03-04
Reviewed by Carlos Garcia Campos.

This has been detected by an exception returned by the function
evaluateJavaScriptFunction with the message :
[native code]: JS ERROR SyntaxError: Unexpected keyword 'function'. Expected ')' to end a compound expression.
keyword 'function' has been initialized with a string that come from char array, not a null-terminated string.

  • Session.cpp:

(WebDriver::Session::fullscreenWindow):
(WebDriver::Session::findElements):
(WebDriver::Session::isElementSelected):
(WebDriver::Session::isElementDisplayed):
(WebDriver::Session::getElementAttribute):
(WebDriver::Session::elementClear):

5:30 AM Changeset in webkit [242543] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.24/Source/WebKit

Merge r242351 - [GTK][WPE] Wrong license header in WebKit{,WebExtension}Autocleanups.h
https://bugs.webkit.org/show_bug.cgi?id=195245

Reviewed by Carlos Garcia Campos.

Changed license headers to contain the LGPL, which is the correct one for the GTK
and WPE ports. The change was agreed by the contributors to the files involved.

  • UIProcess/API/gtk/WebKitAutocleanups.h:
  • UIProcess/API/wpe/WebKitAutocleanups.h:
  • WebProcess/InjectedBundle/API/gtk/WebKitWebExtensionAutocleanups.h:
  • WebProcess/InjectedBundle/API/wpe/WebKitWebExtensionAutocleanups.h:
5:30 AM Changeset in webkit [242542] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.24

Merge r242349 - [GLib] Returning G_TYPE_OBJECT from a constructor does not work
https://bugs.webkit.org/show_bug.cgi?id=195206

Reviewed by Žan Doberšek.

Source/JavaScriptCore:

We are freeing the newly created object before returning from the constructor.

  • API/glib/JSCCallbackFunction.cpp:

(JSC::JSCCallbackFunction::construct):

Tools:

Add a new test case.

  • TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:

(testJSCClass):

5:30 AM Changeset in webkit [242541] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.24/Source/WebCore/platform/gtk/po

Merge r242348 - Unreviewed. Update POTFILES.in after r239627.

  • POTFILES.in:
5:30 AM Changeset in webkit [242540] by Carlos Garcia Campos
  • 23 edits
    2 deletes in releases/WebKitGTK/webkit-2.24

Merge r242330 - Retire legacy dtoa function and DecimalNumber class
https://bugs.webkit.org/show_bug.cgi?id=195253

Reviewed by Daniel Bates.

LayoutTests/imported/w3c:

  • web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation-expected.txt:

Rebaseline still-failing part of this test that dumps super-small numbers that are formatted
differently by the new code (exponential style).

Source/JavaScriptCore:

  • runtime/NumberPrototype.cpp:

(JSC::numberProtoFuncToExponential): Removed dependency on NumberToStringBufferLength,
using NumberToStringBuffer instead. Also tweaked style of implementation a bit.

Source/WebCore:

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::formatNumberValue const): Use makeString instead
of DecimalNumber. Also changed return type to String and use StringView and
removed special handling of literals.
(WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText const): Removed an
unnecessary use of StringBuilder.

  • css/CSSPrimitiveValue.h: Updated for changes to formatNumberValue.

Source/WTF:

  • WTF.xcodeproj/project.pbxproj: Removed DecimalNumber.cpp/h.
  • wtf/CMakeLists.txt: Ditto.
  • wtf/DecimalNumber.cpp: Removed.
  • wtf/DecimalNumber.h: Removed.
  • wtf/JSONValues.cpp:

(WTF::JSONImpl::Value::writeJSON const): Use
StringBuilder::appendECMAScriptNumber instead of custom logic
using the DecimalNumber class.

  • wtf/dtoa.cpp:

(WTF::storeInc): Deleted.
(WTF::BigInt): Deleted.
(WTF::multadd): Deleted.
(WTF::hi0bits): Deleted.
(WTF::lo0bits): Deleted.
(WTF::i2b): Deleted.
(WTF::mult): Deleted.
(WTF::P5Node::P5Node): Deleted.
(WTF::pow5mult): Deleted.
(WTF::lshift): Deleted.
(WTF::cmp): Deleted.
(WTF::diff): Deleted.
(WTF::d2b): Deleted.
(WTF::quorem): Deleted.
(WTF::dtoa): Deleted.

  • wtf/dtoa.h: Removed DtoaBuffer, dtoa, and NumberToStringBufferLength.

LayoutTests:

  • fast/css/large-value-csstext-expected.txt:
  • media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-styles-expected.txt:
  • media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-styles.html:

Updated expected value to expect exponential syntax for super-small numbers that are formatted
differently by the new code.

  • platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt:

Rebaseline still-failing parts of these tests that dump super-small numbers that are formatted
differently by the new code. Still probably needs to be done for 4 other platforms.

5:30 AM Changeset in webkit [242539] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.24/Source/WebCore

Merge r242328 - [SOUP] Cleanups in SoupNetworkSession
https://bugs.webkit.org/show_bug.cgi?id=195247

Reviewed by Daniel Bates.

This renames clientCertificates to allowedCertificates, since they are not client
certificates at all, but server certificates. It also adds a using statement to avoid
repeating the long type of the map, and avoids an unnecessary copy.

  • platform/network/soup/SoupNetworkSession.cpp:

(WebCore::allowedCertificates):
(WebCore::SoupNetworkSession::checkTLSErrors):
(WebCore::SoupNetworkSession::allowSpecificHTTPSCertificateForHost):
(WebCore::clientCertificates): Deleted.

5:30 AM Changeset in webkit [242538] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.24/Source/WebCore

Merge r242327 - -Wformat error in SharedBuffer::tryCreateArrayBuffer
https://bugs.webkit.org/show_bug.cgi?id=195004

Reviewed by Darin Adler.

Seems C++ has no format specifier appropriate for printing the result of sizeof. We should
just not try to print it. Anyway, that's easy in this case, because sizeof(char) is
guaranteed to be 1. This code was an attempt to be pedantic to account for mythical systems
with char larger than one byte, but perhaps it didn't realize sizeof always returns
multiples of char and so sizeof(char) is always one even on such mythical systems.

Note the sizeof(char) use two lines up is left since it's not clear that switching it to 1
would actually be more readable.

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::tryCreateArrayBuffer const):

5:30 AM Changeset in webkit [242537] by Carlos Garcia Campos
  • 11 edits in releases/WebKitGTK/webkit-2.24/Source

Merge r242316 - Fixed makeString(float) to do shortest-form serialization without first converting to double
https://bugs.webkit.org/show_bug.cgi?id=195142

Reviewed by Daniel Bates.

Source/WebCore:

  • platform/graphics/Color.cpp: Removed unneeded include of DecimalNumber.h.

Source/WebKit:

  • UIProcess/PerActivityStateCPUUsageSampler.cpp: Removed unneeded include of DecimalNumber.h.

Source/WTF:

  • wtf/DecimalNumber.cpp: Removed unneeded includes.
  • wtf/DecimalNumber.h: Removed unused constructors; over time we will be

deprecating DecimalNumber, so we should removed the unused parts. Also
marked the constructor explicit, removed types used only for arguments for
the constructors, and removed the sign, exponent, significand, and precision
member functions.

  • wtf/JSONValues.cpp:

(WTF::JSONImpl::Value::writeJSON const): Updated for changes to DecimalNumber
switched from NumberToLStringBuffer to NumberToStringBuffer, and for use of
std::array instead of C arrays.

  • wtf/dtoa.cpp: Removed unused dtoaRoundSF and dtoaRoundDP functions.

(WTF::dtoa): Updated to use std::array instead of C arrays.
(WTF::dtoaRoundSF): Removed.
(WTF::dtoaRoundDP): Removed.
(WTF::numberToString): Added an overload for float and updated to use std::array.
(WTF::formatStringTruncatingTrailingZerosIfNeeded): Updated to use std::array.
(WTF::numberToFixedPrecisionString): Ditto.
(WTF::numberToFixedWidthString): Ditto.

  • wtf/dtoa.h: Changed arrays to be std::array instead of C arrays so the

array types will be checked. Removed dtoaRoundSF and dtoaRoundDP.
Added float overloads for numberToString, numberToFixedPrecisionString,
and numberToFixedWidthString. The only one of these that is called at this
time is numberToString, called by the floating point StringTypeAdapter in
StringConcatenateNummbers.h.

  • wtf/text/StringConcatenateNumbers.h: Updated for std::array.
5:29 AM Changeset in webkit [242536] by Carlos Garcia Campos
  • 1 edit in releases/WebKitGTK/webkit-2.24/Source/WebKit/ChangeLog

Merge r242312 - [WPE] Public API headers are missing autocleanup definitions
https://bugs.webkit.org/show_bug.cgi?id=195211

Reviewed by Philippe Normand.

  • PlatformWPE.cmake: List new API headers as installable.
  • UIProcess/API/wpe/WebKitAutocleanups.h: Added. This is a copy of the header from the GTK

port, adapted to fit the WPE port.

  • UIProcess/API/wpe/webkit.h: Add inclusion of WebKitAutocleanups.h
  • WebProcess/InjectedBundle/API/wpe/WebKitWebExtensionAutocleanups.h: Added. Also adapted

from the equivalent header of the GTK port.

  • WebProcess/InjectedBundle/API/wpe/webkit-web-extension.h: Add inclusion of

WebKitWebExtensionAutocleanups.h

5:29 AM Changeset in webkit [242535] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.24

Merge r242309 - [Datalist] fast/forms/datalist/datalist-child-validation.html crashes with a debug assertion in isValidFormControlElement()
https://bugs.webkit.org/show_bug.cgi?id=190620
<rdar://problem/19226679>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Fixes and re-enables an existing layout test that is asserting on debug builds (and failing on release builds).
To understand why we hit this assertion, we first note several observations:

  • The validity of a form control (isValid()) depends on the value of willValidate().
  • Both of these results are cached in member variables: m_isValid and m_willValidate, respectively.
  • willValidate() changes the cached value of m_willValidate if necessary, but isValid() uses the

cached value without update.

Now, consider the following scenario:

  1. Something changes in the DOM that changes the result of willValidate(). This can happen as a result of

several things:

  1. The form control changes readonly state
  2. The form control changes disabled state
  3. The form control is added to a datalist element
  4. The form control is removed from a datalist element
  1. Call willValidate().
  2. Call isValid().

In scenarios (a) - (c), we ensure that cached form control validity (m_isValid) is updated alongside
m_willValidate by invoking setNeedsWillValidateCheck(), such that the result of isValid() matches the
result of m_isValid in step (3). However, in the last scenario (d), we don't do this, which causes form
control validity to fall out of sync with the result of isValid(). To fix the bug, we update willValidate and
isValid when a form control is removed from an ancestor, only if one of its ancestors is a datalist element.

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::insertedIntoAncestor):
(WebCore::HTMLFormControlElement::removedFromAncestor):

Make a couple of minor tweaks:

  • Currently, we always invalidate m_dataListAncestorState by resetting the state to Unknown when the form control is removed from an ancestor or inserted. Instead, we only need to reset it when the form control already has an ancestor that is a datalist (in the case where it's being removed) or when the form control does not yet have an ancestor (in the case where it is being added).
  • If the form control was inside a datalist prior to removal, recompute its cached value of m_willValidate, as well as its cached validity (m_isValid).

LayoutTests:

Re-enables a crashing layout test. See WebCore ChangeLog for more details.

  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
3:28 AM Changeset in webkit [242534] by commit-queue@webkit.org
  • 28 edits
    57 adds in trunk

Consider supporting the referrerpolicy attribute.
https://bugs.webkit.org/show_bug.cgi?id=179053

Patch by Rob Buis <rbuis@igalia.com> on 2019-03-06
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Update improved results.

  • web-platform-tests/html/dom/reflection-embedded-expected.txt:

Source/WebCore:

This patch adds 'referrerpolicy' attribute support for iframe.
If set, the value is restricted to the ReferrerPolicy enum, and
if valid it is used for the subframe load.
If not set or invalid, the current behavior is kept.

Tests: http/tests/referrer-policy-iframe/no-referrer-when-downgrade/cross-origin-http-http.html

http/tests/referrer-policy-iframe/no-referrer-when-downgrade/cross-origin-http.https.html
http/tests/referrer-policy-iframe/no-referrer-when-downgrade/same-origin.html
http/tests/referrer-policy-iframe/no-referrer/cross-origin-http-http.html
http/tests/referrer-policy-iframe/no-referrer/cross-origin-http.https.html
http/tests/referrer-policy-iframe/no-referrer/same-origin.html
http/tests/referrer-policy-iframe/origin-when-cross-origin/cross-origin-http-http.html
http/tests/referrer-policy-iframe/origin-when-cross-origin/cross-origin-http.https.html
http/tests/referrer-policy-iframe/origin-when-cross-origin/same-origin.html
http/tests/referrer-policy-iframe/origin/cross-origin-http-http.html
http/tests/referrer-policy-iframe/origin/cross-origin-http.https.html
http/tests/referrer-policy-iframe/origin/same-origin.html
http/tests/referrer-policy-iframe/same-origin/cross-origin-http-http.html
http/tests/referrer-policy-iframe/same-origin/cross-origin-http.https.html
http/tests/referrer-policy-iframe/same-origin/same-origin.html
http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/cross-origin-http-http.html
http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/cross-origin-http.https.html
http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/same-origin.html
http/tests/referrer-policy-iframe/strict-origin/cross-origin-http-http.html
http/tests/referrer-policy-iframe/strict-origin/cross-origin-http.https.html
http/tests/referrer-policy-iframe/strict-origin/same-origin.html
http/tests/referrer-policy-iframe/unsafe-url/cross-origin-http-http.html
http/tests/referrer-policy-iframe/unsafe-url/cross-origin-http.https.html
http/tests/referrer-policy-iframe/unsafe-url/same-origin.html

  • html/HTMLAttributeNames.in:
  • html/HTMLFrameOwnerElement.h:

(WebCore::HTMLFrameOwnerElement::referrerPolicy const):

  • html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::setReferrerPolicyForBindings):
(WebCore::HTMLIFrameElement::referrerPolicyForBindings const):
(WebCore::HTMLIFrameElement::referrerPolicy const):

  • html/HTMLIFrameElement.h:
  • html/HTMLIFrameElement.idl:
  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::loadSubframe):

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::referrerPolicyAttributeEnabled const):
(WebCore::RuntimeEnabledFeatures::setReferrerPolicyAttributeEnabled):

  • platform/ReferrerPolicy.cpp:

(WebCore::parseReferrerPolicy):

  • platform/ReferrerPolicy.h:

Source/WebKit:

Add a runtime flag for referrerpolicy attribute.

  • Shared/WebPreferences.yaml:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetReferrerPolicyAttributeEnabled):
(WKPreferencesGetReferrerPolicyAttributeEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::loadResource): do not hardcode choosing
the document referrer policy.

Source/WebKitLegacy/mac:

Add a runtime flag for referrerpolicy attribute.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences referrerPolicyAttributeEnabled]):
(-[WebPreferences setReferrerPolicyAttributeEnabled:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Tools:

Add a runtime flag for referrerpolicy attribute.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(enableExperimentalFeatures):

LayoutTests:

Add tests for referrerpolicy attribute based on the referrer-policy
meta referrer tests.
Update improved results for reflection-embedded.html.
Mark some of the tests as Failure on windows.

  • http/tests/referrer-policy-iframe/no-referrer-when-downgrade/cross-origin-http-http-expected.txt: Added.
  • http/tests/referrer-policy-iframe/no-referrer-when-downgrade/cross-origin-http-http.html: Added.
  • http/tests/referrer-policy-iframe/no-referrer-when-downgrade/cross-origin-http.https-expected.txt: Added.
  • http/tests/referrer-policy-iframe/no-referrer-when-downgrade/cross-origin-http.https.html: Added.
  • http/tests/referrer-policy-iframe/no-referrer-when-downgrade/same-origin-expected.txt: Added.
  • http/tests/referrer-policy-iframe/no-referrer-when-downgrade/same-origin.html: Added.
  • http/tests/referrer-policy-iframe/no-referrer/cross-origin-http-http-expected.txt: Added.
  • http/tests/referrer-policy-iframe/no-referrer/cross-origin-http-http.html: Added.
  • http/tests/referrer-policy-iframe/no-referrer/cross-origin-http.https-expected.txt: Added.
  • http/tests/referrer-policy-iframe/no-referrer/cross-origin-http.https.html: Added.
  • http/tests/referrer-policy-iframe/no-referrer/same-origin-expected.txt: Added.
  • http/tests/referrer-policy-iframe/no-referrer/same-origin.html: Added.
  • http/tests/referrer-policy-iframe/origin-when-cross-origin/cross-origin-http-http-expected.txt: Added.
  • http/tests/referrer-policy-iframe/origin-when-cross-origin/cross-origin-http-http.html: Added.
  • http/tests/referrer-policy-iframe/origin-when-cross-origin/cross-origin-http.https-expected.txt: Added.
  • http/tests/referrer-policy-iframe/origin-when-cross-origin/cross-origin-http.https.html: Added.
  • http/tests/referrer-policy-iframe/origin-when-cross-origin/same-origin-expected.txt: Added.
  • http/tests/referrer-policy-iframe/origin-when-cross-origin/same-origin.html: Added.
  • http/tests/referrer-policy-iframe/origin/cross-origin-http-http-expected.txt: Added.
  • http/tests/referrer-policy-iframe/origin/cross-origin-http-http.html: Added.
  • http/tests/referrer-policy-iframe/origin/cross-origin-http.https-expected.txt: Added.
  • http/tests/referrer-policy-iframe/origin/cross-origin-http.https.html: Added.
  • http/tests/referrer-policy-iframe/origin/same-origin-expected.txt: Added.
  • http/tests/referrer-policy-iframe/origin/same-origin.html: Added.
  • http/tests/referrer-policy-iframe/same-origin/cross-origin-http-http-expected.txt: Added.
  • http/tests/referrer-policy-iframe/same-origin/cross-origin-http-http.html: Added.
  • http/tests/referrer-policy-iframe/same-origin/cross-origin-http.https-expected.txt: Added.
  • http/tests/referrer-policy-iframe/same-origin/cross-origin-http.https.html: Added.
  • http/tests/referrer-policy-iframe/same-origin/same-origin-expected.txt: Added.
  • http/tests/referrer-policy-iframe/same-origin/same-origin.html: Added.
  • http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/cross-origin-http-http-expected.txt: Added.
  • http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/cross-origin-http-http.html: Added.
  • http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/cross-origin-http.https-expected.txt: Added.
  • http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/cross-origin-http.https.html: Added.
  • http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/same-origin-expected.txt: Added.
  • http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/same-origin.html: Added.
  • http/tests/referrer-policy-iframe/strict-origin/cross-origin-http-http-expected.txt: Added.
  • http/tests/referrer-policy-iframe/strict-origin/cross-origin-http-http.html: Added.
  • http/tests/referrer-policy-iframe/strict-origin/cross-origin-http.https-expected.txt: Added.
  • http/tests/referrer-policy-iframe/strict-origin/cross-origin-http.https.html: Added.
  • http/tests/referrer-policy-iframe/strict-origin/same-origin-expected.txt: Added.
  • http/tests/referrer-policy-iframe/strict-origin/same-origin.html: Added.
  • http/tests/referrer-policy-iframe/unsafe-url/cross-origin-http-http-expected.txt: Added.
  • http/tests/referrer-policy-iframe/unsafe-url/cross-origin-http-http.html: Added.
  • http/tests/referrer-policy-iframe/unsafe-url/cross-origin-http.https-expected.txt: Added.
  • http/tests/referrer-policy-iframe/unsafe-url/cross-origin-http.https.html: Added.
  • http/tests/referrer-policy-iframe/unsafe-url/same-origin-expected.txt: Added.
  • http/tests/referrer-policy-iframe/unsafe-url/same-origin.html: Added.
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:
  • platform/win/TestExpectations:
2:31 AM Changeset in webkit [242533] by fred.wang@free.fr
  • 5 edits in trunk/LayoutTests/imported/w3c

Update WPT tests for the canvas element
https://bugs.webkit.org/show_bug.cgi?id=195331

Patch by Frederic Wang <fwang@igalia.com> on 2019-03-06
Reviewed by Youenn Fablet.

  • resources/import-expectations.json:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.whitespace.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.whitespace.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/w3c-import.log:
2:25 AM Changeset in webkit [242532] by Philippe Normand
  • 2 edits in trunk/Source/WebKit

Unreviewed, WPE build fix after r242503

  • WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:

ServiceWorker messages moved from network process to another
header, so it needs to be included.

Note: See TracTimeline for information about the timeline view.