⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Feb 17, 2020:

11:38 PM Changeset in webkit [256821] by Wenson Hsieh
  • 5 edits
    2 adds in trunk

Selection cannot be modified via text interaction in some areas of the compose body field in Gmail
https://bugs.webkit.org/show_bug.cgi?id=207854
<rdar://problem/59218824>

Reviewed by Tim Horton.

Source/WebCore:

Currently, several codepaths that are consulted when performing text interaction gestures on iOS to make and
modify text selections (e.g. double taps and long presses) rely on Frame::visiblePositionForPoint to map the
touch location to a visible editing position on the page. visiblePositionForPoint uses the hit-testing option
AllowChildFrameContent, which allows it to find and select text within subframes. However, this option also
includes content in hidden ("visibility: hidden;") frames. This means that text selection gestures on iOS are
unable to find otherwise selectable text, if a hidden child frame overlaps the text.

To fix this, we instead use the AllowVisibleChildFrameContentOnly hit-testing option, which will ignore such
hidden subframes.

Test: editing/selection/ios/select-text-under-hidden-subframe.html

  • page/Frame.cpp:

(WebCore::Frame::visiblePositionForPoint const):

Source/WebKit:

Adjusts more call sites in WebKit to ignore child frames that are hidden when hit-testing. See WebCore/ChangeLog
for more details.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::rectForElementAtInteractionLocation const):
(WebKit::WebPage::handleStylusSingleTapAtPoint):
(WebKit::rangeForPointInRootViewCoordinates):
(WebKit::WebPage::setFocusedFrameBeforeSelectingTextAtLocation):
(WebKit::selectionPositionInformation):
(WebKit::textInteractionPositionInformation):
(WebKit::WebPage::positionInformation):

LayoutTests:

Add a new layout test to verify that the hit-testing codepaths exercised by text interaction gestures on iOS
successfully ignore a hidden child frame that covers the page.

  • editing/selection/ios/select-text-under-hidden-subframe-expected.txt: Added.
  • editing/selection/ios/select-text-under-hidden-subframe.html: Added.
10:32 PM Changeset in webkit [256820] by Chris Dumez
  • 38 edits
    2 copies
    8 adds in trunk

[WK2][Cocoa] Implement in-WebProcess cookie cache to avoid sync IPC for document.cookie in most cases
https://bugs.webkit.org/show_bug.cgi?id=207593
<rdar://problem/56027027>

Reviewed by Antti Koivisto.

Source/WebCore:

Implement in-WebProcess DOM cookie cache for serving document.cookie requests from JavaScript.

The first time document.cookie is called for a given host, the WebProcess will pull in all the
non-HTTPOnly cookies for that host from the NetworkProcess (still via sync IPC) and store them
in an in-memory cookie store. Later document.cookie calls for this host from this WebProcess
will then leverage the in-memory cookie store and avoid doing a sync IPC to the NetworkProcess
entirely.

To maintain the in-process cookie store up-to-date, the WebProcess subscribe for cookie-change
notifications from the NetworkProcess, only for the hosts it is interested in.

If the page's JavaScript sets a cookie by setting document.cookie, we will not invalidate the
cache for performance reasons. Instead, we set the cookie in our in-memory cookie before
sending the new cookie to the NetworkProcess.

For compatibility reasons, any sync IPC to a given host will currently invalidate the cookie
cache for this host. This is because this synchronous load may cause cookies to get set
synchronously and the page could access document.cookie right after the sync XHR. This behavior
is covered by the following existing test:

  • http/tests/cookies/sync-xhr-set-cookie-invalidates-cache.html

Another limitation of the current implementation of the cookie cache is that it is currently
only leveraged for first party content. This is suboptimal and could be improved in a later
iteration. However, the default behavior in Safari is that third-party iframes do not have
cookie access unless they request it using the storage access API. We also currently have
a limit of 5 hosts with cached cookies per WebProcess.

Tests: http/tests/cookies/document-cookie-after-showModalDialog.html

http/tests/cookies/document-cookie-during-iframe-parsing.html

  • dom/Document.cpp:

(WebCore::Document::didLoadResourceSynchronously):

  • dom/Document.h:
  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::didLoadResourceSynchronously):

  • dom/ScriptExecutionContext.h:
  • loader/CookieJar.h:
  • loader/ThreadableLoader.cpp:

(WebCore::ThreadableLoader::loadResourceSynchronously):

  • page/MemoryRelease.cpp:

(WebCore::releaseCriticalMemory):

  • page/Settings.yaml:
  • platform/network/NetworkStorageSession.h:

(WebCore::CookieChangeObserver::~CookieChangeObserver):

  • platform/network/cf/NetworkStorageSessionCFNet.cpp:

(WebCore::NetworkStorageSession::NetworkStorageSession):
(WebCore::NetworkStorageSession::cookieStorage const):

  • platform/network/cocoa/NetworkStorageSessionCocoa.mm:

(WebCore::NetworkStorageSession::~NetworkStorageSession):
(WebCore::NetworkStorageSession::setCookie):
(WebCore::NetworkStorageSession::setCookies):
(WebCore::NetworkStorageSession::deleteCookie):
(WebCore::nsCookiesToCookieVector):
(WebCore::NetworkStorageSession::nsCookieStorage const):
(WebCore::createPrivateStorageSession):
(WebCore::NetworkStorageSession::httpCookies const):
(WebCore::NetworkStorageSession::deleteHTTPCookie const):
(WebCore::NetworkStorageSession::setHTTPCookiesForURL const):
(WebCore::NetworkStorageSession::httpCookiesForURL const):
(WebCore::filterCookies):
(WebCore::NetworkStorageSession::cookiesForURL const):
(WebCore::NetworkStorageSession::cookiesForSession const):
(WebCore::NetworkStorageSession::cookiesForDOM const):
(WebCore::NetworkStorageSession::cookieRequestHeaderFieldValue const):
(WebCore::NetworkStorageSession::setCookiesFromDOM const):
(WebCore::NetworkStorageSession::getRawCookies const):
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
(WebCore::NetworkStorageSession::registerCookieChangeListenersIfNecessary):
(WebCore::NetworkStorageSession::unregisterCookieChangeListenersIfNecessary):
(WebCore::NetworkStorageSession::startListeningForCookieChangeNotifications):
(WebCore::NetworkStorageSession::stopListeningForCookieChangeNotifications):
(WebCore::NetworkStorageSession::domCookiesForHost):
(WebCore::NetworkStorageSession::supportsCookieChangeListenerAPI const):

Source/WebCore/PAL:

Add new CFNetwork SPI to CFNetworkSPI.h for open source builds and for using respondsToSelector.

  • pal/spi/cf/CFNetworkSPI.h:

Source/WebKit:

See WebCore ChangeLog.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::~NetworkConnectionToWebProcess):
(WebKit::NetworkConnectionToWebProcess::domCookiesForHost):
(WebKit::NetworkConnectionToWebProcess::unsubscribeFromCookieChangeNotifications):
(WebKit::NetworkConnectionToWebProcess::cookiesAdded):
(WebKit::NetworkConnectionToWebProcess::cookiesDeleted):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  • Scripts/webkit/messages.py:
  • Shared/WebPreferences.yaml:
  • Sources.txt:
  • SourcesCocoa.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::cookiesAdded):
(WebKit::NetworkProcessConnection::cookiesDeleted):

  • WebProcess/Network/NetworkProcessConnection.h:
  • WebProcess/Network/NetworkProcessConnection.messages.in:
  • WebProcess/WebPage/Cocoa/WebCookieCacheCocoa.mm: Copied from Source/WebKit/WebProcess/WebPage/WebCookieJar.h.

(WebKit::WebCookieCache::inMemoryStorageSession):

  • WebProcess/WebPage/WebCookieCache.cpp: Added.

(WebKit::WebCookieCache::isFunctional):
(WebKit::WebCookieCache::cookiesForDOM):
(WebKit::WebCookieCache::setCookiesFromDOM):
(WebKit::WebCookieCache::cookiesAdded):
(WebKit::WebCookieCache::cookiesDeleted):
(WebKit::WebCookieCache::clear):
(WebKit::WebCookieCache::clearForHost):
(WebKit::WebCookieCache::pruneCacheIfNecessary):

  • WebProcess/WebPage/WebCookieCache.h: Copied from Source/WebKit/WebProcess/WebPage/WebCookieJar.h.
  • WebProcess/WebPage/WebCookieJar.cpp:

(WebKit::WebCookieJar::isEligibleForCache const):
(WebKit::WebCookieJar::cookies const):
(WebKit::WebCookieJar::setCookies):
(WebKit::WebCookieJar::cookiesAdded):
(WebKit::WebCookieJar::cookiesDeleted):
(WebKit::WebCookieJar::clearCache):
(WebKit::WebCookieJar::clearCacheForHost):

  • WebProcess/WebPage/WebCookieJar.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_overriddenMediaType):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess):

  • WebProcess/WebProcess.h:

(WebKit::WebProcess::cookieJar):

Source/WTF:

Add build time flags for new feature.

  • wtf/PlatformEnable.h:
  • wtf/PlatformHave.h:

LayoutTests:

Add layout test coverage.

  • http/tests/cookies/document-cookie-after-showModalDialog-expected.txt: Added.
  • http/tests/cookies/document-cookie-after-showModalDialog.html: Added.
  • http/tests/cookies/document-cookie-during-iframe-parsing-expected.txt: Added.
  • http/tests/cookies/document-cookie-during-iframe-parsing.html: Added.
  • http/tests/cookies/resources/close-modal-dialog.html: Added.
  • http/tests/cookies/resources/document-cookie-during-iframe-parsing-iframe.html: Added.
  • http/tests/cookies/resources/set-cookie-and-serve.php: Added.
10:10 PM Changeset in webkit [256819] by Alan Coon
  • 2 edits in branches/safari-609-branch/Source/WebCore

Cherry-pick r256584. rdar://problem/59449390

MediaToolbox may not be available; check before calling MTOverrideShouldPlayHDRVideo()
https://bugs.webkit.org/show_bug.cgi?id=207733
<rdar://problem/59441647>

Reviewed by Maciej Stachowiak.

  • platform/mac/PlatformScreenMac.mm: (WebCore::setShouldOverrideScreenSupportsHighDynamicRange):

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

10:10 PM Changeset in webkit [256818] by Alan Coon
  • 11 edits in branches/safari-609-branch/Source

Cherry-pick r255881. rdar://problem/59447271

Adopt MTOverrideShouldPlayHDRVideo()
https://bugs.webkit.org/show_bug.cgi?id=207275
<rdar://problem/58837093>

Reviewed by Eric Carlson.

Source/WebCore:

  • platform/PlatformScreen.h:
  • platform/mac/PlatformScreenMac.mm: (WebCore::setShouldOverrideScreenSupportsHighDynamicRange):

Source/WebCore/PAL:

  • pal/cocoa/MediaToolboxSoftLink.cpp:
  • pal/cocoa/MediaToolboxSoftLink.h:

Source/WebKit:

The WebProcess sandbox can block access to the services necessary for MediaToolbox to determine whether
the current display is capable of displaying HDR. Rather than opening up the sandbox, provide the information
gathered by the UIProcess by way of MTOverrideShouldPlayHDRVideo().

  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::windowScreenDidChange): (WebKit::WebPage::displayID const):
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebProcess.cpp: (WebKit::WebProcess::setScreenProperties): Deleted.
  • WebProcess/WebProcess.h:
  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::setScreenProperties): (WebKit::WebProcess::updatePageScreenProperties):

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

10:10 PM Changeset in webkit [256817] by Alan Coon
  • 26 edits in branches/safari-609-branch

Cherry-pick r256632. rdar://problem/59478906

NetworkLoadMetrics should be shared by multiple ResourceResponse instances
https://bugs.webkit.org/show_bug.cgi?id=207747

Reviewed by Keith Miller.

Source/WebCore:

ResourceResponse is value data, and it is copied multiple times in various places, (1) to create a new ResourceResponse
which has slightly different fields, or (1) to hold ResourceResponse even after loading finishes. For example, DocumentLoader
has Vector<ResourceResponse> to replay response dispatching in the case of loading from BackForwardCache. The problem is
that ResourceResponse is very large: 440 bytes.

While we sometimes copy ResourceResponse to modify some part of it, NetworkLoadMetrics is immutable. It is set when response is created,
and is never changed. And NetworkLoadMetrics is large: sizeof(NetworkLoadMetrics) is 184 bytes. Given that we have multiple
copies of ResourceResponse in WebCore, we should share NetworkLoadMetrics by them.

This patch puts Box<NetworkLoadMetrics> in ResourceResponse to share it with all copied ResourceResponses. We do not make NetworkLoadMetrics
RefCounted<> for now since some legit data structures embed NetworkLoadMetrics. This patch adds ArgumentCoder for Box so that we
can encode / decode Box<NetworkLoadMetrics> in ResourceResponse in IPC. To ensure NetworkLoadMetrics in ResourceResponse immutable,
we add ResourceResponse::setDeprecatedNetworkLoadMetrics instead of modifying NetworkLoadMetrics already created in ResourceResponse.

We also attempt to compact ResourceResponse more by using bit-fields. And removing m_isValid field in ParsedContentRange since
this can be represented by the different field. These changes make sizeof(ResourceResponse) from 440 to 248.

No behavior change.

  • inspector/agents/InspectorNetworkAgent.cpp: (WebCore::InspectorNetworkAgent::buildObjectForTiming): (WebCore::InspectorNetworkAgent::buildObjectForResourceResponse):
  • inspector/agents/InspectorNetworkAgent.h:
  • loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::loadRequest):
  • loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::didFinishLoading):
  • page/PerformanceTiming.cpp: (WebCore::PerformanceTiming::domainLookupStart const): (WebCore::PerformanceTiming::domainLookupEnd const): (WebCore::PerformanceTiming::connectStart const): (WebCore::PerformanceTiming::connectEnd const): (WebCore::PerformanceTiming::secureConnectionStart const): (WebCore::PerformanceTiming::requestStart const): (WebCore::PerformanceTiming::responseStart const):
  • platform/network/NetworkLoadMetrics.h:
  • platform/network/ParsedContentRange.cpp: (WebCore::areContentRangeValuesValid): (WebCore::parseContentRange): (WebCore::ParsedContentRange::ParsedContentRange): (WebCore::ParsedContentRange::headerValue const):
  • platform/network/ParsedContentRange.h: (WebCore::ParsedContentRange::isValid const): (WebCore::ParsedContentRange::invalidValue): (WebCore::ParsedContentRange::MarkableTraits::isEmptyValue): (WebCore::ParsedContentRange::MarkableTraits::emptyValue): (WebCore::ParsedContentRange::ParsedContentRange): Deleted.
  • platform/network/ResourceHandle.h:
  • platform/network/ResourceResponseBase.cpp: (WebCore::ResourceResponseBase::ResourceResponseBase): (WebCore::ResourceResponseBase::crossThreadData const): (WebCore::ResourceResponseBase::fromCrossThreadData): (WebCore::ResourceResponseBase::compare):
  • platform/network/ResourceResponseBase.h: (WebCore::ResourceResponseBase::deprecatedNetworkLoadMetricsOrNull const): (WebCore::ResourceResponseBase::setDeprecatedNetworkLoadMetrics): (WebCore::ResourceResponseBase::encode const): (WebCore::ResourceResponseBase::decode): (WebCore::ResourceResponseBase::deprecatedNetworkLoadMetrics const): Deleted.
  • platform/network/cf/ResourceResponse.h: (WebCore::ResourceResponse::ResourceResponse):
  • platform/network/cocoa/NetworkLoadMetrics.mm: (WebCore::copyTimingData):
  • platform/network/curl/CurlResourceHandleDelegate.cpp: (WebCore::CurlResourceHandleDelegate::curlDidReceiveResponse):
  • platform/network/curl/ResourceResponse.h:
  • platform/network/curl/ResourceResponseCurl.cpp: (WebCore::ResourceResponse::setDeprecatedNetworkLoadMetrics): Deleted.
  • platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::getConnectionTimingData):
  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm: (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):

Source/WebKit:

Add ArgumentCoder support for Box<T>.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm: (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
  • NetworkProcess/soup/NetworkDataTaskSoup.cpp: (WebKit::NetworkDataTaskSoup::dispatchDidReceiveResponse):
  • Platform/IPC/ArgumentCoders.h: (IPC::ArgumentCoder<Box<T>>::encode): (IPC::ArgumentCoder<Box<T>>::decode):

Tools:

  • TestWebKitAPI/Tests/WebCore/ParsedContentRange.cpp: (TestWebKitAPI::TEST):

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

10:09 PM Changeset in webkit [256816] by Alan Coon
  • 2 edits in branches/safari-609-branch/LayoutTests

Cherry-pick r256435. rdar://problem/59446986

REGRESSION: (256400) tiled-drawing/scrolling/fixed/fixed-during-rubberband.html is failing
https://bugs.webkit.org/show_bug.cgi?id=207631

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:

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

10:09 PM Changeset in webkit [256815] by Alan Coon
  • 15 edits in branches/safari-609-branch/Source/JavaScriptCore

Apply patch. rdar://problem/59446991

This is a custom patch Yusuke did for the JazzkonE branch which contains content from r255540, r255987, and r256015,
in addition to whatever he saw fit for integration.

10:09 PM Changeset in webkit [256814] by Alan Coon
  • 17 edits
    2 copies in branches/safari-609-branch/Source/WebCore

Cherry-pick r256610. rdar://problem/59478918

[Web Animations] Make all animation event types inherit from the same base class
https://bugs.webkit.org/show_bug.cgi?id=207629

Reviewed by Simon Fraser.

Currently we dispatch events CSS Transitions and CSS Animations events using a dedicated event queue on DeclarativeAnimation, while the events
added by the Web Animations specification (of type AnimationPlaybackEvent) are dispatched using a shared queue on the DocumentTimeline that is
processed during the "update animations and send events procedure". The Web Animations specification dictates that all events should be dispatched
during that procedure, which includes sorting of such events based on their timeline time and associated animation relative composite order.

In this patch, we prepare the work towards spec compliance for animation events dispatch by making all event types (AnimationPlaybackEvent,
TransitionEvent and AnimationEvent) inherit from a single AnimationEventBase interface. This will allow DocumentTimeline to enqueue, sort and
dispatch all such events with a single queue in a future patch.

Due to CSSAnimationController, we must make the "timeline time" and "animation" parameters optional. When we drop support for CSSAnimationController
we'll be able to enforce stronger requirements for these.

No new test since this should not introduce any behavior change.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • animation/AnimationEventBase.cpp: Added. (WebCore::AnimationEventBase::AnimationEventBase):
  • animation/AnimationEventBase.h: Added. (WebCore::AnimationEventBase::create): (WebCore::AnimationEventBase::isAnimationPlaybackEvent const): (WebCore::AnimationEventBase::isAnimationEvent const): (WebCore::AnimationEventBase::isTransitionEvent const): (WebCore::AnimationEventBase::timelineTime const): (WebCore::AnimationEventBase::animation const):
  • animation/AnimationPlaybackEvent.cpp: (WebCore::AnimationPlaybackEvent::AnimationPlaybackEvent): (WebCore::AnimationPlaybackEvent::bindingsTimelineTime const):
  • animation/AnimationPlaybackEvent.h:
  • animation/CSSAnimation.cpp: (WebCore::CSSAnimation::createEvent):
  • animation/CSSAnimation.h:
  • animation/CSSTransition.cpp: (WebCore::CSSTransition::createEvent):
  • animation/CSSTransition.h:
  • animation/DeclarativeAnimation.cpp: (WebCore::DeclarativeAnimation::enqueueDOMEvent):
  • animation/DeclarativeAnimation.h:
  • animation/WebAnimation.cpp: (WebCore::WebAnimation::enqueueAnimationPlaybackEvent):
  • dom/AnimationEvent.cpp: (WebCore::AnimationEvent::AnimationEvent):
  • dom/AnimationEvent.h:
  • dom/TransitionEvent.cpp: (WebCore::TransitionEvent::TransitionEvent):
  • dom/TransitionEvent.h:
  • page/animation/CSSAnimationController.cpp: (WebCore::CSSAnimationControllerPrivate::fireEventsAndUpdateStyle):

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

10:09 PM Changeset in webkit [256813] by Alan Coon
  • 4 edits
    2 adds in branches/safari-609-branch

Cherry-pick r256513. rdar://problem/59446986

REGRESSION (r255037): Zooming in and out on Quip in macOS Safari can cause the content to be offset to the side
https://bugs.webkit.org/show_bug.cgi?id=207674
rdar://problem/59404866

Reviewed by Antti Koivisto.

Source/WebCore:

Remove the early return in ScrollingStateScrollingNode::setRequestedScrollData(); comparing
with the last m_requestedScrollData is wrong, because requested scroll positions are not "state"
in the scrolling tree, they are requests to scroll. Ideally, they would be represented in some
different way in the scrolling tree.

Test: fast/scrolling/programmatic-scroll-to-zero-zero.html

  • page/scrolling/ScrollingStateScrollingNode.cpp: (WebCore::ScrollingStateScrollingNode::setRequestedScrollData):

LayoutTests:

Test that does a programmatic scroll to 0,0, does a user scroll, then a second programmatic scroll to 0,0,
which is expected to work.

  • fast/scrolling/programmatic-scroll-to-zero-zero-expected.html: Added.
  • fast/scrolling/programmatic-scroll-to-zero-zero.html: Added.
  • platform/ios/TestExpectations: Skip the new test on iOS (it relies on eventSender) and sort the grouping.

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

10:09 PM Changeset in webkit [256812] by Alan Coon
  • 4 edits in branches/safari-609-branch

Cherry-pick r256432. rdar://problem/59446974

WebSWServerConnection::registerServiceWorkerClient is not sending IPC message to UIProcess when it should
https://bugs.webkit.org/show_bug.cgi?id=207537

Reviewed by Chris Dumez.

Source/WebKit:

Covered by added API test.

  • NetworkProcess/ServiceWorker/WebSWServerConnection.cpp: (WebKit::WebSWServerConnection::registerServiceWorkerClient): Fix use after move so that we can get the context connection and send the IPC message to UIProcess as expected.

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:

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

10:09 PM Changeset in webkit [256811] by Alan Coon
  • 3 edits in branches/safari-609-branch/Source/WebCore

Cherry-pick r256400. rdar://problem/59446986

Unreviewed, partial rollout of r255037.
<rdar://problem/59240559>

  • page/scrolling/cocoa/ScrollingTreeFixedNode.mm: (WebCore::ScrollingTreeFixedNode::applyLayerPositions):
  • page/scrolling/cocoa/ScrollingTreeStickyNode.mm: (WebCore::ScrollingTreeStickyNode::computeLayerPosition const):

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

10:09 PM Changeset in webkit [256810] by Alan Coon
  • 4 edits in branches/safari-609-branch

Cherry-pick r256383. rdar://problem/59446974

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

It is breaking an API test (Requested by youenn on #webkit).

Reverted changeset:

"WebSWServerConnection::registerServiceWorkerClient is not
sending IPC message to UIProcess when it should"
https://bugs.webkit.org/show_bug.cgi?id=207537
https://trac.webkit.org/changeset/256314

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

10:09 PM Changeset in webkit [256809] by Alan Coon
  • 45 edits
    5 adds in branches/safari-609-branch

Cherry-pick r255037. rdar://problem/59446986

Fixed elements no longer stay fixed with elastic overscroll
https://bugs.webkit.org/show_bug.cgi?id=206227
rdar://problem/58707084

Reviewed by Antti Koivisto.
Source/WebCore:

Intended behavior on iOS and macOS is for position:fixed and sticky elements to maintain
their position relative to the view bounds when rubber-banding ("overscrolling"). This broke
some time back. This change restores the correct behavior with the call to layoutViewportRespectingRubberBanding()
in ScrollingTreeFixedNode::applyLayerPositions() and ScrollingTreeStickyNode::computeLayerPosition().
layoutViewportRespectingRubberBanding() computes a layout viewport without clamping.

The rest of the changes are to support testing. internals.unconstrainedScrollTo()
didn't work for main frame scrolling because of scroll position clamping in various places,
so propagate ScrollClamping in more places (and replace the redundant ScrollPositionClamp with ScrollClamping).

"requested scroll position" updates now carry along both clamping and "is programmatic" data, wrapped in a struct
which is passed around the scrolling tree. This allows us to not clamp the scroll position (for testing) in more places.

Internals::unconstrainedScrollTo() needs one weird hack to trigger a layout (and thus a scrolling tree commit),
because the layout is normally triggered by a layout viewport change, but when rubber-banding we clamp the layoutViewport
used for layout, so those layouts are never triggered.

Tests: tiled-drawing/scrolling/fixed/fixed-during-rubberband.html

tiled-drawing/scrolling/sticky/sticky-during-rubberband.html

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/Element.cpp: (WebCore::Element::scrollTo):
  • page/DOMWindow.cpp: (WebCore::DOMWindow::scrollTo const):
  • page/FrameView.cpp: (WebCore::FrameView::setScrollPosition): (WebCore::FrameView::requestScrollPositionUpdate):
  • page/FrameView.h:
  • page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/ScrollingCoordinator.cpp:
  • page/scrolling/ScrollingCoordinator.h: (WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
  • page/scrolling/ScrollingStateScrollingNode.cpp: (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): (WebCore::ScrollingStateScrollingNode::setRequestedScrollData): (WebCore::ScrollingStateScrollingNode::dumpProperties const): (WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition): Deleted.
  • page/scrolling/ScrollingStateScrollingNode.h: (WebCore::RequestedScrollData::operator== const): (WebCore::ScrollingStateScrollingNode::requestedScrollData const): (WebCore::ScrollingStateScrollingNode::requestedScrollPosition const): Deleted. (WebCore::ScrollingStateScrollingNode::requestedScrollPositionRepresentsProgrammaticScroll const): Deleted.
  • page/scrolling/ScrollingTree.h: (WebCore::ScrollingTree::scrollingTreeNodeRequestsScroll):
  • page/scrolling/ScrollingTreeFrameScrollingNode.cpp: (WebCore::ScrollingTreeFrameScrollingNode::layoutViewportForScrollPosition const): (WebCore::ScrollingTreeFrameScrollingNode::layoutViewportRespectingRubberBanding const):
  • page/scrolling/ScrollingTreeFrameScrollingNode.h:
  • page/scrolling/ScrollingTreeScrollingNode.cpp: (WebCore::ScrollingTreeScrollingNode::commitStateAfterChildren): (WebCore::ScrollingTreeScrollingNode::adjustedScrollPosition const): (WebCore::ScrollingTreeScrollingNode::scrollBy): (WebCore::ScrollingTreeScrollingNode::scrollTo): (WebCore::ScrollingTreeScrollingNode::wasScrolledByDelegatedScrolling):
  • page/scrolling/ScrollingTreeScrollingNode.h:
  • page/scrolling/cocoa/ScrollingTreeFixedNode.mm: (WebCore::ScrollingTreeFixedNode::applyLayerPositions):
  • page/scrolling/cocoa/ScrollingTreeStickyNode.mm: (WebCore::ScrollingTreeStickyNode::computeLayerPosition const):
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm: (WebCore::ScrollingTreeFrameScrollingNodeMac::commitStateAfterChildren): (WebCore::ScrollingTreeFrameScrollingNodeMac::adjustedScrollPosition const):
  • page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm: (WebCore::ScrollingTreeOverflowScrollingNodeMac::commitStateAfterChildren): (WebCore::ScrollingTreeOverflowScrollingNodeMac::adjustedScrollPosition const):
  • page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm: (WebCore::ScrollingTreeScrollingNodeDelegateMac::immediateScrollByWithoutContentEdgeConstraints):
  • platform/ScrollTypes.cpp: Added. (WebCore::operator<<):
  • platform/ScrollTypes.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::setContentsScrollPosition): (WebCore::ScrollView::setScrollPosition):
  • platform/ScrollView.h:
  • platform/ScrollableArea.cpp: (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
  • platform/ScrollableArea.h: (WebCore::ScrollableArea::requestScrollPositionUpdate):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollToOffset):
  • testing/Internals.cpp: (WebCore::Internals::unconstrainedScrollTo):

Source/WebKit:

Intended behavior on iOS and macOS is for position:fixed and sticky elements to maintain
their position relative to the view bounds when rubber-banding ("overscrolling"). This broke
some time back. This change restores the correct behavior with the call to layoutViewportRespectingRubberBanding()
in ScrollingTreeFixedNode::applyLayerPositions() and ScrollingTreeStickyNode::computeLayerPosition().
layoutViewportRespectingRubberBanding() computes a layout viewport without clamping.

The rest of the changes are to support testing. internals.unconstrainedScrollTo()
didn't work for main frame scrolling because of scroll position clamping in various places,
so propagate ScrollClamping in more places (and replace the redundant ScrollPositionClamp with ScrollClamping).

"requested scroll position" updates now carry along both clamping and "is programmatic" data, wrapped in a struct
which is passed around the scrolling tree. This allows us to not clamp the scroll position (for testing) in more places.

  • Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp: (ArgumentCoder<ScrollingStateScrollingNode>::encode): (ArgumentCoder<ScrollingStateScrollingNode>::decode): (ArgumentCoder<RequestedScrollData>::encode): (ArgumentCoder<RequestedScrollData>::decode): (WebKit::dump):
  • UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp: (WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeRequestsScroll):
  • UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
  • UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp: (WebKit::RemoteScrollingTree::scrollingTreeNodeRequestsScroll):
  • UIProcess/RemoteLayerTree/RemoteScrollingTree.h:
  • UIProcess/RemoteLayerTree/ios/ScrollingTreeFrameScrollingNodeRemoteIOS.mm: (WebKit::ScrollingTreeFrameScrollingNodeRemoteIOS::commitStateAfterChildren):
  • UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm: (WebKit::ScrollingTreeScrollingNodeDelegateIOS::commitStateAfterChildren):

LayoutTests:

  • tiled-drawing/scrolling/fixed/fixed-during-rubberband-expected.html: Added.
  • tiled-drawing/scrolling/fixed/fixed-during-rubberband.html: Added.
  • tiled-drawing/scrolling/sticky/sticky-during-rubberband-expected.html: Added.
  • tiled-drawing/scrolling/sticky/sticky-during-rubberband.html: Added.

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

7:12 PM Changeset in webkit [256808] by Chris Dumez
  • 14 edits in trunk

Defer execution of async scripts until until the document is loaded
https://bugs.webkit.org/show_bug.cgi?id=207698
<rdar://problem/57625747>

LayoutTests/imported/w3c:

Reviewed by Antti Koivisto.

Rebaseline WPT test to reflect behavior change. Some tests start passing and some other are now failing because
they rely on specific ordering at network level.

  • web-platform-tests/content-security-policy/script-src/scripthash-changed-1-expected.txt:
  • web-platform-tests/content-security-policy/script-src/scripthash-changed-2-expected.txt:
  • web-platform-tests/content-security-policy/script-src/scriptnonce-changed-1-expected.txt:
  • web-platform-tests/content-security-policy/script-src/scriptnonce-changed-2-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/async_005-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/execution-timing/085-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/script-text-modifications-expected.txt:

Source/WebCore:

Reviewed Antti Koivisto.

Defer execution of async scripts until until the document is loaded by default to reduce time
to first paint.

  • dom/ScriptElement.h:
  • dom/ScriptRunner.cpp:

(WebCore::ScriptRunner::timerFired):
Make sure we do not defer scripts that were not added by the parser and that do not have the
'async' attribute set.

  • page/Settings.yaml:

Source/WebKit:

Reviewed by Antti Koivisto.

Defer execution of async scripts until until the document is loaded by default to reduce time
to first paint.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration init]):

7:04 PM Changeset in webkit [256807] by zhifei_fang@apple.com
  • 4 edits in trunk/Tools

[Webkit.css] Adding popover style element
This help to prevent us reinventing the wheel ever again
https://bugs.webkit.org/show_bug.cgi?id=207787

Reviewed by Dean Jackson.

  • resultsdbpy/resultsdbpy/view/static/library/css/docs.yaml:
  • resultsdbpy/resultsdbpy/view/static/library/css/index.html:
  • resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:

(.popover):
(.popover>.content):
(.popover.display):
(.popover .arrow):
(.popover .arrow.point-top):
(.popover .arrow.point-bottom):
(.popover .arrow.point-left):
(.popover .arrow.point-right):
(@media (prefers-color-scheme: dark) .popover>.content):
(@media (prefers-color-scheme: dark) .popover.display):
(@media (prefers-color-scheme: dark) .popover .arrow):
(.popover>.content>.section): Deleted.
(.popover:focus>.content, .popover:hover>.content): Deleted.
(.popover.right>.content): Deleted.
(.popover.right :focus>.content, .popover.right:hover>.content): Deleted.
(.popover.left>.content): Deleted.
(.popover.left :focus>.content, .popover.left:hover>.content): Deleted.
(.popover.bottom>.content): Deleted.
(.popover.bottom :focus>.content, .popover.bottom:hover>.content): Deleted.

6:51 PM Changeset in webkit [256806] by timothy_horton@apple.com
  • 5 edits in trunk/Source

Add and adopt HAVE(LOOKUP_GESTURE_RECOGNIZER)
https://bugs.webkit.org/show_bug.cgi?id=207876

Reviewed by Wenson Hsieh.

  • wtf/PlatformHave.h:
  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView setupInteraction]):
(-[WKContentView cleanupInteraction]):
(-[WKContentView _removeDefaultGestureRecognizers]):
(-[WKContentView _addDefaultGestureRecognizers]):
(-[WKContentView gestureRecognizer:shouldReceiveTouch:]):
For symmetry's sake, introduce a HAVE for this gesture.

6:48 PM Changeset in webkit [256805] by youenn@apple.com
  • 4 edits in trunk/Source

Do not call whenReady callbacks in case of network process crash
https://bugs.webkit.org/show_bug.cgi?id=207661

Reviewed by Chris Dumez.

Source/WebCore:

  • workers/service/WorkerSWClientConnection.cpp:

(WebCore::WorkerSWClientConnection::~WorkerSWClientConnection):
The callback is a Function so it is fine not calling it and calling it with a default value is not safe.

Source/WebKit:

  • WebProcess/Storage/WebSWClientConnection.cpp:

(WebKit::WebSWClientConnection::clear):
The callback is a Function so it is fine not calling it and calling it with a default value is not safe.

6:31 PM Changeset in webkit [256804] by Peng Liu
  • 3 edits in trunk/Source/WebCore

MediaSource.isTypeSupported() says "video/mp4;codecs=\"avc3.42C015\"" is not supported, but it is
https://bugs.webkit.org/show_bug.cgi?id=207622

Reviewed by Eric Carlson.

Revert the behavior change of MediaPlayerPrivateMediaSourceAVFObjC::supportsType() in r253952.

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

(WebCore::AVAssetMIMETypeCache::canDecodeExtendedType):

6:24 PM Changeset in webkit [256803] by Alan Coon
  • 3 edits in branches/safari-609-branch/LayoutTests

Cherry-pick r255384. rdar://problem/59447276

REGRESSION: (253807) [ macOS iOS ] storage/indexeddb/intversion-long-queue-private.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=206965

Unreviewed test gardening.

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-29

  • platform/ios-wk2/TestExpectations:
  • platform/mac/TestExpectations:

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

5:52 PM Changeset in webkit [256802] by Ryan Haddad
  • 3 edits in trunk/LayoutTests

Changed results due to ANGLE use
https://bugs.webkit.org/show_bug.cgi?id=207858

Unreviewed test gardening.

Mark fast/canvas/webgl/program-test.html and webgl/1.0.3/conformance/programs/program-test.html as failing.

  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
5:35 PM Changeset in webkit [256801] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

WebSocketChannelInspector.cpp should include ProgressTracker.h
https://bugs.webkit.org/show_bug.cgi?id=207862

Unreviewed, build fix.

  • Modules/websockets/WebSocketChannelInspector.cpp:
5:21 PM Changeset in webkit [256800] by Russell Epstein
  • 34 edits
    2 adds in branches/safari-609-branch/Source

Apply patch. rdar://problem/59447004

Apply content from rdar://problem/59447004

5:21 PM Changeset in webkit [256799] by Russell Epstein
  • 4 edits in branches/safari-609-branch/LayoutTests

Cherry-pick r256235. rdar://problem/59447276

REGRESSION: (253807) [ macOS iOS ] storage/indexeddb/intversion-long-queue-private.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=206965
<rdar://problem/59005652>

Reviewed by Ryosuke Niwa.

Modify a test to make it less flaky. Based on our current implementation, there is no guarantee that Block event on
delete request would be fired before Complete event on transaction from connection2 in this test. The events
sequence we are sure are:

  1. UpgradeNeeded event on openRequest2 -> VersionChange event on connection2 -> Complete event on VersionChange transaction on connection2 -> Success event on openRequest2.
  2. VersionChange event on connection2 -> Block event on delete request. Therefore I am changing the test to ensure sequence 1.
  • platform/ios-wk2/TestExpectations:
  • platform/mac/TestExpectations:
  • storage/indexeddb/intversion-long-queue-expected.txt:
  • storage/indexeddb/intversion-long-queue-private-expected.txt:
  • storage/indexeddb/resources/intversion-long-queue.js: (connection2Blocked): (connection2UpgradeNeeded): (connection2VersionChangeCallback): (deleteDatabaseBlockedCallback): Deleted.

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

5:21 PM Changeset in webkit [256798] by Russell Epstein
  • 4 edits
    1 add in branches/safari-609-branch

Cherry-pick r256225. rdar://problem/59446983

[watchOS] Notification listener is never unregistered
https://bugs.webkit.org/show_bug.cgi?id=207459
Source/WebKit:

<rdar://problem/58923393>

Reviewed by Maciej Stachowiak.

On watchOS, the backlight changed notification is registered in WebProcessPool::registerNotificationObservers(),
but not unregistered in WebProcessPool::unregisterNotificationObservers().

API test: WebKit.BacklightLevelNotificationCrash

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::unregisterNotificationObservers):

Tools:

Reviewed by Maciej Stachowiak.

Add a test which tests that posting a backlight level change notification will not cause a crash.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit/BacklightLevelNotification.mm: Added. (TEST):

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

5:21 PM Changeset in webkit [256797] by Russell Epstein
  • 2 edits in branches/safari-609-branch/LayoutTests

Cherry-pick r256213. rdar://problem/59447008

[ Mac Debug wk2 ] imported/w3c/web-platform-tests/fetch/api/request/destination/fetch-destination-worker.https.html is flaky crashing.
https://bugs.webkit.org/show_bug.cgi?id=207509

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:

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

5:21 PM Changeset in webkit [256796] by Russell Epstein
  • 29 edits
    4 copies
    6 adds in branches/safari-609-branch

Cherry-pick r256191. rdar://problem/59447003

Disallow setting base URL to a data or JavaScript URL
https://bugs.webkit.org/show_bug.cgi?id=207136

Source/WebCore:

Reviewed by Brent Fulgham.

Inspired by <https://bugs.chromium.org/p/chromium/issues/detail?id=679318>.

Block setting the base URL to a data URL or JavaScript URL as such usage is questionable.
This makes WebKit match the behavior of Chrome and Firefox and is in the spirit of the
discussion in <https://github.com/whatwg/html/issues/2249>.

On Mac and iOS, this restriction is applied only to apps linked against a future SDK to
avoid breaking shipped apps.

For all other ports, this restriction is enabled by default.

Tests: fast/url/relative2.html

fast/url/segments-from-data-url2.html
http/tests/security/allowed-base-url-data-url-via-setting.html
http/tests/security/denied-base-url-data-url.html
http/tests/security/denied-base-url-javascript-url.html

  • dom/Document.cpp: (WebCore::Document::processBaseElement): Condition updating the parsed base URL on whether is has an allowed scheme, if restrictions are enabled. Otherwise, do what we do now. If the scheme is disallowed then log a message to the console to explain this to web developers.
  • html/parser/HTMLPreloadScanner.cpp: (WebCore::TokenPreloadScanner::scan): Pass whether to apply restrictons to the base URL to updatePredictedBaseURL(). This depends on whether the setting is enabled or not. (WebCore::TokenPreloadScanner::updatePredictedBaseURL): Modifed to take a boolean as to whether to apply restrictions. If restrictions are not to be applied do what we do now. Otherwise, only do what we do now if the scheme for the predicated base URL is allowed.
  • html/parser/HTMLPreloadScanner.h:
  • page/SecurityPolicy.cpp: (WebCore::SecurityPolicy::isBaseURLSchemeAllowed): Added.
  • page/SecurityPolicy.h:
  • page/Settings.yaml: Add a setting to toggle restrictions on the base URL scheme.

Source/WebKit:

Reviewed by Brent Fulgham.

Apply base URL restrictions to apps linked to a future WebKit to avoid breaking existing apps.

  • Shared/WebPreferences.yaml:
  • UIProcess/API/Cocoa/WKWebView.mm: (shouldRestrictBaseURLSchemes): Added. (-[WKWebView _setupPageConfiguration:]): Update settings.
  • UIProcess/Cocoa/VersionChecks.h:

Source/WebKitLegacy/mac:

Reviewed by Brent Fulgham.

Apply base URL restrictions to apps linked to a future WebKit to avoid breaking existing apps.

  • Misc/WebKitVersionChecks.h:
  • WebView/WebView.mm: (shouldRestrictBaseURLSchemes): Added. (-[WebView _commonInitializationWithFrameName:groupName:]): Update settings.

Source/WTF:

Reviewed by Brent Fulgham.

Add some more macro definitions.

  • wtf/spi/darwin/dyldSPI.h:

LayoutTests:

RReviewed by Brent Fulgham.

Add some tests. Update others to toggle the setting to apply or unapply the new behavior.

The test denied-base-url-javascript-url.html is derived from the test base-url-javascript.html,
included in <https://chromium.googlesource.com/chromium/src.git/+/c133efa0b915430701930b76a7cfe35608b9a403>.

  • fast/url/relative-expected.txt:
  • fast/url/relative.html:
  • fast/url/relative2-expected.txt: Copied from LayoutTests/fast/url/relative-expected.txt.
  • fast/url/relative2.html: Copied from LayoutTests/fast/url/relative.html.
  • fast/url/resources/utilities.js: (setShouldEllipsizeFileURLPaths): Added. Toggles ellipsizing the path portion of a file URL to simplify matching. Otherwise, file URLs could be machine-specific. (canonicalizedPathname): Added. (segments): Modified to optionally call canonicalizedPathname. (canonicalize): Ditto.
  • fast/url/segments-from-data-url-expected.txt:
  • fast/url/segments-from-data-url.html:
  • fast/url/segments-from-data-url2-expected.txt: Copied from LayoutTests/fast/url/segments-from-data-url-expected.txt.
  • fast/url/segments-from-data-url2.html: Copied from LayoutTests/fast/url/segments-from-data-url.html.
  • fetch/fetch-url-serialization-expected.txt:
  • http/tests/plugins/navigation-during-load-embed.html:
  • http/tests/plugins/navigation-during-load.html:
  • http/tests/security/allowed-base-url-data-url-via-setting-expected.txt: Added.
  • http/tests/security/allowed-base-url-data-url-via-setting.html: Added.
  • http/tests/security/denied-base-url-data-url-expected.txt: Added.
  • http/tests/security/denied-base-url-data-url.html: Added.
  • http/tests/security/denied-base-url-javascript-url-expected.txt: Added.
  • http/tests/security/denied-base-url-javascript-url.html: Added.

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

5:21 PM Changeset in webkit [256795] by Russell Epstein
  • 2 edits in branches/safari-609-branch/Source/WebKit

Cherry-pick r256426. rdar://problem/59447008

[ Mac Debug wk2 ] ASSERTION FAILED: m_wasConstructedOnMainThread == isMainThread()
https://bugs.webkit.org/show_bug.cgi?id=207509
<rdar://problem/59325466>

Reviewed by Chris Dumez.

Covered by existing tests.

  • NetworkProcess/cache/CacheStorageEngine.cpp: (WebKit::CacheStorage::Engine::writeSizeFile): Make sure completion handler is always called on the main thread. Minor refactoring to make things more efficient.

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

5:21 PM Changeset in webkit [256794] by Russell Epstein
  • 4 edits in branches/safari-609-branch

Cherry-pick r256314. rdar://problem/59446974

WebSWServerConnection::registerServiceWorkerClient is not sending IPC message to UIProcess when it should
https://bugs.webkit.org/show_bug.cgi?id=207537

Reviewed by Chris Dumez.

Source/WebKit:

Covered by added API test.

  • NetworkProcess/ServiceWorker/WebSWServerConnection.cpp: (WebKit::WebSWServerConnection::registerServiceWorkerClient): Fix use after move so that we can get the context connection and send the IPC message to UIProcess as expected.

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:

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

5:21 PM Changeset in webkit [256793] by Russell Epstein
  • 1 edit in branches/safari-609-branch/Source/JavaScriptCore/runtime/OptionsList.h

Apply patch. rdar://problem/59447266

5:19 PM Changeset in webkit [256792] by achristensen@apple.com
  • 4 edits in trunk/Source

Ephemeral session data leaks between processes
https://bugs.webkit.org/show_bug.cgi?id=207404

Patch by Alex Christensen <achristensen@webkit.org> and Pavel Feldman <pavel.feldman@gmail.com> on 2020-02-17
Reviewed by Darin Adler.

Source/WebKit:

If two processes with the same bundle identifier create an ephemeral WKWebsiteDataStore, we were calling
_CFURLStorageSessionCreate with the same string, which caused our cookies to be shared. To prevent this,
add a UUID to the identifier to make them truly unique.

We don't have test infrastructure for multiple UI processes at the same time, but I manually verified
that this fixes the bug.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::ensureSession):

Source/WebKitLegacy:

  • WebCoreSupport/NetworkStorageSessionMap.cpp:

(NetworkStorageSessionMap::ensureSession):

5:07 PM Changeset in webkit [256791] by mark.lam@apple.com
  • 62 edits in trunk/Source

getVTablePointer() should return a const void*.
https://bugs.webkit.org/show_bug.cgi?id=207871
<rdar://problem/59525721>

Reviewed by Yusuke Suzuki.

Source/WebCore:

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/test/JS/JSInterfaceName.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSMapLike.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSReadOnlyMapLike.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSReadOnlySetLike.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSSetLike.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestCEReactions.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestCallTracer.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestEnabledForContext.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestEventTarget.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestException.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestGlobalObject.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestIterable.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestNode.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestPluginInterface.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestSerialization.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestStringifier.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::toJSNewlyCreated):

Source/WTF:

  • wtf/PointerPreparations.h:

(WTF::getVTablePointer):

4:50 PM Changeset in webkit [256790] by Megan Gardner
  • 2 edits in trunk/Source/WebKit

Data detectors do not trigger on macCatalyst
https://bugs.webkit.org/show_bug.cgi?id=207860
<rdar://problem/59038913>

Reviewed by Tim Horton.

The lookup gesture which run data detection needs touch information to function. Allow touches to be sent to the gesture.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView gestureRecognizer:shouldReceiveTouch:]):

4:43 PM Changeset in webkit [256789] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

macCatalyst: I-beam is still too aggressive in non-editable content, shows up beyond the end of text
https://bugs.webkit.org/show_bug.cgi?id=207867
<rdar://problem/59528927>

Reviewed by Wenson Hsieh.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::populateCaretContext):
Only expand the I-beam region to the end of the line in editable text.
This better matches the macOS behavior.

4:26 PM Changeset in webkit [256788] by Nikita Vasilyev
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Add "outline focused element" debug setting
https://bugs.webkit.org/show_bug.cgi?id=207819
<rdar://problem/59489993>

Reviewed by Timothy Hatcher.

When debugging accessibility issues of Web Inspector, it's helpful
to know what element is focused. Many elements have outline: none
and no clear indication of what's focused.

Add a debug setting to display a bright purple outline for all focused
elements.

  • UserInterface/Base/Main.js:

(WI.contentLoaded):

  • UserInterface/Base/Setting.js:
  • UserInterface/Views/Main.css:

(body.focus-debug *:focus):

  • UserInterface/Views/SettingsTabContentView.js:

(WI.SettingsTabContentView.prototype._createDebugSettingsView):

3:45 PM Changeset in webkit [256787] by youenn@apple.com
  • 7 edits in trunk/Source/WebKit

Fix regression in NSURLSessionWebSocketTask WSS support
https://bugs.webkit.org/show_bug.cgi?id=207855

Reviewed by Alex Christensen.

Covered by http/tests/websocket/tests/hybi/simple-wss.html passing with NSURLSessionWebSocketTask code path.
When having an authentication challenge, we need to get the session from the task.
This was not working for websocket tasks.
Fix this by retrieving the session from the web socket data task, which is retrieved from the task identifier.

  • NetworkProcess/Downloads/DownloadID.h:

(WebKit::DownloadID::operator bool const):
Add operator bool for convenience.

  • NetworkProcess/NetworkSocketChannel.cpp:

(WebKit::NetworkSocketChannel::session):

  • NetworkProcess/NetworkSocketChannel.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate sessionFromTask:]):
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):

  • NetworkProcess/cocoa/WebSocketTaskCocoa.h:
  • NetworkProcess/cocoa/WebSocketTaskCocoa.mm:

(WebKit::WebSocketTask::networkSession):

3:21 PM Changeset in webkit [256786] by commit-queue@webkit.org
  • 28 edits
    8 copies
    67 adds
    1 delete in trunk

Main implementation for lazy image loading
https://bugs.webkit.org/show_bug.cgi?id=200764

Patch by Rob Buis <rbuis@igalia.com> on 2020-02-17
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Set correct test option and import lazyload WPT tests into
semantics/embedded-content/the-img-element while removing
loading/lazyload directory.

  • resources/import-expectations.json:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/below-viewport-image-loading-lazy-load-event-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/below-viewport-image-loading-lazy-load-event.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/common.js: Added.

(ElementLoadPromise):
(ElementLoadPromise.prototype.element):
(is_image_fully_loaded):

  • web-platform-tests/html/semantics/embedded-content/the-img-element/disconnected-image-loading-lazy-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/disconnected-image-loading-lazy.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/iframe-loading-eager-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/loading/lazyload/iframe-loading-eager.tentative-expected.txt.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/iframe-loading-eager.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/loading/lazyload/iframe-loading-eager.tentative.html.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/iframe-loading-lazy-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/iframe-loading-lazy.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/loading/lazyload/iframe-loading-lazy.tentative.html.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-eager-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/loading/lazyload/image-loading-eager.tentative-expected.txt.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-eager.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/loading/lazyload/image-loading-eager.tentative.html.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-below-viewport-dynamic-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-below-viewport-dynamic.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-cross-origin-ifame-001.sub-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-cross-origin-ifame-001.sub.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-cross-origin-ifame-002.sub-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-cross-origin-ifame-002.sub.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-script-disabled-iframe-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-script-disabled-iframe.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-viewport-dynamic-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-viewport-dynamic.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-load-event-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-load-event.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-move-document-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-move-document.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-move-into-script-disabled-iframe-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-move-into-script-disabled-iframe.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-multicol-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-multicol.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/loading/lazyload/image-loading-lazy.tentative.html.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/invisible-image-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/invisible-image.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/move-element-and-scroll-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/move-element-and-scroll.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/not-rendered-below-viewport-image-loading-lazy-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/not-rendered-below-viewport-image-loading-lazy.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/not-rendered-image-loading-lazy-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/not-rendered-image-loading-lazy.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/original-base-url-applied-2-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/original-base-url-applied-2.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/original-base-url-applied-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/original-base-url-applied-iframe-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/original-base-url-applied-iframe.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/original-base-url-applied.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/original-crossorigin-applied.sub-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/original-crossorigin-applied.sub.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/original-referrer-policy-applied.sub-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/original-referrer-policy-applied.sub.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/picture-loading-lazy-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/picture-loading-lazy.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/remove-element-and-scroll-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/remove-element-and-scroll.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/resources/image-loading-lazy-below-viewport-iframe.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/resources/image-loading-lazy-in-viewport-iframe.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/resources/image.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/loading/lazyload/resources/image.png.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/resources/newwindow.html: Added.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/resources/referrer-checker-img.py: Added.

(main):

  • web-platform-tests/html/semantics/embedded-content/the-img-element/resources/subframe.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/loading/lazyload/resources/subframe.html.
  • web-platform-tests/html/semantics/embedded-content/the-img-element/resources/w3c-import.log:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/w3c-import.log:
  • web-platform-tests/loading/lazyload/resources/w3c-import.log: Removed.
  • web-platform-tests/loading/lazyload/w3c-import.log: Removed.

Source/WebCore:

Implement lazy image loading as specified here [1]. Lazy image loading
is controlled by the loading attribute on <img>. When the loading attribute is
not specified, the behavior is like before this patch, i.e. loading is
eager.

Not all loading=lazy requests will turn into actual lazy image loads, when
scripting is turned off they will not be deferred [2].

This implementation relies on Intersection Observer and hence works on WK2 only.

Deferred images are painted using a simple outline until fully loaded.

[1] https://html.spec.whatwg.org/#attr-img-loading
[2] https://html.spec.whatwg.org/#will-lazy-load-image-steps

Tests: http/tests/lazyload/attribute.html

http/tests/lazyload/js-image.html
http/tests/lazyload/lazy-image-load-in-iframes-scripting-disabled.html
http/tests/lazyload/lazy-image-load-in-iframes-scripting-enabled.html
http/tests/lazyload/lazy.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/below-viewport-image-loading-lazy-load-event.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/disconnected-image-loading-lazy.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/iframe-loading-eager.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/iframe-loading-lazy.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-eager.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-below-viewport-dynamic.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-cross-origin-ifame-001.sub.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-cross-origin-ifame-002.sub.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-script-disabled-iframe.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-in-viewport-dynamic.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-load-event.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-move-document.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-move-into-script-disabled-iframe.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-multicol.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/invisible-image.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/move-element-and-scroll.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/not-rendered-below-viewport-image-loading-lazy.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/not-rendered-image-loading-lazy.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/original-base-url-applied-2.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/original-base-url-applied-iframe.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/original-base-url-applied.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/original-crossorigin-applied.sub.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/original-referrer-policy-applied.sub.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/picture-loading-lazy.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/remove-element-and-scroll.html

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

(WebCore::Document::lazyLoadImageObserver):

  • dom/Document.h:
  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::HTMLImageElement):
(WebCore::HTMLImageElement::create):
(WebCore::HTMLImageElement::hasLazyLoadableAttributeValue):
(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::loadDeferredImage):
(WebCore::HTMLImageElement::didMoveToNewDocument):
(WebCore::HTMLImageElement::loadingForBindings const):
(WebCore::HTMLImageElement::setLoadingForBindings):
(WebCore::HTMLImageElement::isDeferred const):
(WebCore::HTMLImageElement::isLazyLoadable const):

  • html/HTMLImageElement.h:

(WebCore::HTMLImageElement::createdByParser const): Deleted.

  • html/HTMLImageElement.idl:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::didMoveToNewDocument):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::didMoveToNewDocument):

  • html/HTMLTagNames.in:
  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::didMoveToNewDocument):

  • html/LazyLoadImageObserver.cpp: Added.

(WebCore::LazyLoadImageObserver::observe):
(WebCore::LazyLoadImageObserver::unobserve):
(WebCore::LazyLoadImageObserver::intersectionObserver):
(WebCore::LazyLoadImageObserver::isObserved const):

  • html/LazyLoadImageObserver.h: Added.

(WebCore::LazyLoadImageObserver::create):

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::updateFromElement):
(WebCore::ImageLoader::notifyFinished):
(WebCore::ImageLoader::elementDidMoveToNewDocument):
(WebCore::ImageLoader::loadDeferredImage):

  • loader/ImageLoader.h:

(WebCore::ImageLoader::isDeferred const):

  • loader/cache/CachedImage.h:
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestImage):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::determineRevalidationPolicy const):
(WebCore::CachedResourceLoader::clientDefersImage const):
(WebCore::CachedResourceLoader::shouldDeferImageLoad const):
(WebCore::CachedResourceLoader::reloadImagesIfNotDeferred):

  • loader/cache/CachedResourceLoader.h:
  • rendering/RenderImage.cpp:

(WebCore::isDeferredImage):
(WebCore::RenderImage::paintReplaced):

  • svg/SVGImageElement.cpp:

(WebCore::SVGImageElement::didMoveToNewDocument):

LayoutTests:

Import relevant tests into http/tests/lazyload.
Skip lazy image load tests for WK1 and windows, which
has IntersectionObserver turned off by default.

  • TestExpectations:
  • http/tests/lazyload/attribute-expected.txt: Added.
  • http/tests/lazyload/attribute.html: Added.
  • http/tests/lazyload/js-image-expected.txt: Added.
  • http/tests/lazyload/js-image.html: Added.
  • http/tests/lazyload/lazy-expected.txt: Added.
  • http/tests/lazyload/lazy-image-load-in-iframes-scripting-disabled-expected.txt: Added.
  • http/tests/lazyload/lazy-image-load-in-iframes-scripting-disabled.html: Added.
  • http/tests/lazyload/lazy-image-load-in-iframes-scripting-enabled-expected.txt: Added.
  • http/tests/lazyload/lazy-image-load-in-iframes-scripting-enabled.html: Added.
  • http/tests/lazyload/lazy.html: Added.
  • http/tests/lazyload/placeholder.js: Added.

(is_image_fully_loaded):

  • http/tests/lazyload/resources/lazy-load-in-iframe.html: Added.
  • platform/mac-wk1/TestExpectations:
  • platform/win/TestExpectations:
3:19 PM Changeset in webkit [256785] by Jacob Uphoff
  • 2 edits in trunk/LayoutTests

[ macOS wk2 ] webgpu/whlsl/do-while-loop-continue.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=207864

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
3:10 PM Changeset in webkit [256784] by dino@apple.com
  • 25 edits
    1 delete in trunk

[WebGL] Enable ANGLE by default for Cocoa platforms
https://bugs.webkit.org/show_bug.cgi?id=205483
rdar://56925821

Reviewed by Simon Fraser.

Source/WTF:

  • wtf/Platform.h:

LayoutTests:

Rebaseline a bunch of tests and mark expectations.

  • fast/canvas/webgl/copy-tex-image-and-sub-image-2d-bad-input-expected.txt:
  • fast/canvas/webgl/draw-elements-out-of-bounds-uint-index-expected.txt:
  • fast/canvas/webgl/drawElements-empty-vertex-data-expected.txt:
  • fast/canvas/webgl/readPixels-float-expected.txt:
  • fast/canvas/webgl/simulated-vertexAttrib0-invalid-indicies-expected.txt:
  • fast/canvas/webgl/simulated-vertexAttrib0-invalid-indicies.html:
  • fast/canvas/webgl/vertexAttribPointer-with-bad-offset-expected.txt:
  • fast/canvas/webgl/webgl-drawarrays-crash-2-expected.txt:
  • fast/canvas/webgl/webgl-drawarrays-crash-expected.txt:
  • fast/canvas/webgl/webgl2-texture-upload-enums-expected.txt:
  • platform/ios-device/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/ios/webgl/1.0.3/conformance/extensions/oes-texture-float-expected.txt: Removed.
  • platform/mac/TestExpectations:
  • webgl/1.0.3/conformance/context/context-lost-restored-expected.txt:
  • webgl/1.0.3/conformance/extensions/oes-texture-float-expected.txt:
  • webgl/1.0.3/conformance/extensions/oes-texture-half-float-expected.txt:
  • webgl/1.0.3/conformance/glsl/misc/shader-struct-scope-expected.txt:
  • webgl/1.0.3/conformance/glsl/misc/shaders-with-invariance-expected.txt:
  • webgl/1.0.3/conformance/glsl/misc/shaders-with-name-conflicts-expected.txt:
  • webgl/1.0.3/conformance/misc/webgl-specific-expected.txt:
  • webgl/1.0.3/conformance/rendering/point-no-attributes-expected.txt:
  • webgl/1.0.3/conformance/textures/texture-copying-feedback-loops-expected.txt:
3:05 PM Changeset in webkit [256783] by Alan Coon
  • 1 copy in tags/Safari-609.1.19.1

Tag Safari-609.1.19.1.

3:02 PM Changeset in webkit [256782] by Jacob Uphoff
  • 2 edits in trunk/LayoutTests

tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-2d-overflow.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=148405

RUnreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
3:02 PM Changeset in webkit [256781] by Alan Coon
  • 1 copy in branches/safari-610.1.4-branch

New branch.

3:00 PM Changeset in webkit [256780] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Allow suffixes on com.apple.WebKit.WebContent XPC service name
https://bugs.webkit.org/show_bug.cgi?id=207856
<rdar://problem/59455881>

Patch by Alex Christensen <achristensen@webkit.org> on 2020-02-17
Reviewed by Chris Dumez.

  • Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:

(WebKit::XPCServiceEventHandler):

2:58 PM Changeset in webkit [256779] by ysuzuki@apple.com
  • 9 edits
    1 add in trunk

[JSC] JITThunk should be HashSet<Weak<NativeExecutable>> with appropriate GC weakness handling
https://bugs.webkit.org/show_bug.cgi?id=207715

Reviewed by Darin Adler.

JSTests:

  • stress/stress-jitthunks.js: Added.

(let.set newGlobal):
(set catch):

Source/JavaScriptCore:

This patch refines JITThunks GC-aware Weak hash map for NativeExecutable. Previously, we have
HashMap<std::tuple<TaggedNativeFunction, TaggedNativeFunction, String>, Weak<NativeExecutable>> table.
But this is not good because the first tuple's information is already in NativeExecutable.
But we were using this design since Weak<NativeExecutable> can be nullified because of Weak<>. If this
happens, we could have invalid Entry in HashMap which does not have corresponding values. This will
cause crash when rehasing requires hash code for this entry.

But this HashMap is very bad in terms of memory usage. Each entry has 32 bytes, and this table gets enough
large. We identified that this table is consuming much memory in Membuster. So it is worth designing
carefully crafted data structure which only holds Weak<NativeExecutable> by leveraging the deep interaction
with our GC implementation.

This patch implements new design of JITThunks, which uses HashSet<Weak<NativeExecutable>> and carefully crafted
HashTraits / KeyTraits to handle Weak<> well.

  1. Each Weak should have finalizer, and this finalizer should remove dead Weak<NativeExecutable> from HashSet.

This is ensuring that all the keys in HashSet is, even if Weak<> is saying it is Dead, it still has an way
to access content of NativeExecutable if the content is not a JS objects. For example, we can get function
pointer from dead Weak<NativeExecutable> if it is not yet finalized. Since we remove all finalized Weak<>
from the table, this finalizer mechanism allows us to access function pointers etc. from Weak<NativeExecutable>
so long as it is held in this table.

  1. Getting NativeExecutable* from JITThunks should have special protocol.

When getting NativeExecutable* from JITThunks, we do the following,

  1. First, we check we have an Entry in JITThunks. If it does not exist, we should insert it anyway.

1.1. If it exists, we should check whether this Weak<NativeExecutable> is dead or not. It is possible that

dead one is still in the table because "dead" does not mean that it is "finalized". Until finalizing happens (and
it can be delayed by incremental-sweeper), Weak<NativeExecutable> can be dead but still accessible. So the table
is still holding dead one. If we get dead one, we should insert a new one.

1.2. If it is not dead, we return it.

  1. Second, we create a new NativeExecutable and insert it. In that case, it is possible that the table already has Weak<NativeExecutable>, but it is dead. In that case, we need to explicitly replace it with newly created one since old one is holding old content. If we replaced, finalizer of Weak<> will not be invoked since it immediately deallocates Weak<>. So, it does not happen that this newly inserted NativeExecutable* is removed by the finalizer registered by the old Weak<>.

This change makes memory usage of JITThunks table 1/4.

  • heap/Weak.cpp:

(JSC::weakClearSlowCase):

  • heap/Weak.h:

(JSC::Weak::Weak):
(JSC::Weak::isHashTableEmptyValue const):
(JSC::Weak::unsafeImpl const):
(WTF::HashTraits<JSC::Weak<T>>::isEmptyValue):

  • heap/WeakInlines.h:

(JSC::Weak<T>::Weak):

  • jit/JITThunks.cpp:

(JSC::JITThunks::JITThunks):
(JSC::JITThunks::WeakNativeExecutableHash::hash):
(JSC::JITThunks::WeakNativeExecutableHash::equal):
(JSC::JITThunks::HostKeySearcher::hash):
(JSC::JITThunks::HostKeySearcher::equal):
(JSC::JITThunks::NativeExecutableTranslator::hash):
(JSC::JITThunks::NativeExecutableTranslator::equal):
(JSC::JITThunks::NativeExecutableTranslator::translate):
(JSC::JITThunks::finalize):
(JSC::JITThunks::hostFunctionStub):
(JSC::JITThunks::clearHostFunctionStubs): Deleted.

  • jit/JITThunks.h:
  • runtime/NativeExecutable.h:
  • tools/JSDollarVM.cpp:

(JSC::functionGCSweepAsynchronously):
(JSC::functionCreateEmptyFunctionWithName):
(JSC::JSDollarVM::finishCreation):

2:56 PM Changeset in webkit [256778] by Alan Coon
  • 1 copy in tags/Safari-610.1.3.1

Tag Safari-610.1.3.1.

2:54 PM Changeset in webkit [256777] by Brent Fulgham
  • 5 edits
    1 add in trunk/Tools

Update WebKit Tools to issue mach extensions as needed
https://bugs.webkit.org/show_bug.cgi?id=207850
<rdar://problem/59521019>

Reviewed by Per Arne Vollan.

Revise the codesign settings for our testing tools to allow the process to vend mach extensions
to its child processes (WebContent, GPU, Network, etc.) as needed.

  • MiniBrowser/MiniBrowser.entitlements:
  • TestWebKitAPI/Configurations/TestWebKitAPI-macOS.entitlements: Added.
  • TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • WebKitTestRunner/Configurations/WebKitTestRunner.entitlements:
2:53 PM Changeset in webkit [256776] by Jacob Uphoff
  • 2 edits in trunk/LayoutTests

[ macOS wk2 ] tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-rotated.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=207861

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
2:47 PM Changeset in webkit [256775] by Alan Coon
  • 8 edits in branches/safari-610.1.3-branch/Source

Versioning.

2:40 PM Changeset in webkit [256774] by Jon Davis
  • 29 edits
    9 adds in trunk/Source/WebInspectorUI

Update resource, type, and instrument icons for light, dark, and override colors
https://bugs.webkit.org/show_bug.cgi?id=207587

Reviewed by Timothy Hatcher.

  • UserInterface/Images/ApplicationCacheManifest.svg: Added.
  • UserInterface/Images/Beacon.svg:
  • UserInterface/Images/ClippingIcons.svg: Added.
  • UserInterface/Images/Cookie.svg: Added.
  • UserInterface/Images/Database.svg: Added.
  • UserInterface/Images/DocumentIcons.svg: Added.
  • UserInterface/Images/FolderGeneric.svg: Added.
  • UserInterface/Images/InstrumentIcons.svg: Added.
  • UserInterface/Images/Origin.svg:
  • UserInterface/Images/Stopwatch.svg:
  • UserInterface/Images/TableIcons.svg: Added.
  • UserInterface/Images/TypeIcons.svg: Added.
  • UserInterface/Views/AuditTreeElement.css:

(.audit.test-case .icon):
(.audit.test-group .icon):
(.audit.test-case-result .icon):
(.audit.test-group-result .icon):
(@media (prefers-color-scheme: dark) .audit.test-case .icon):
(@media (prefers-color-scheme: dark) .audit.test-group .icon):
(@media (prefers-color-scheme: dark) .audit.test-case-result .icon):
(@media (prefers-color-scheme: dark) .audit.test-group-result .icon):

  • UserInterface/Views/BreakpointTreeElement.css:

(.breakpoint-exception-icon .icon):
(.breakpoint-assertion-icon .icon):
(.breakpoint-microtask-icon .icon):
(.breakpoint-paused-icon .icon):
(@media (prefers-color-scheme: dark) .breakpoint-exception-icon .icon):
(@media (prefers-color-scheme: dark) .breakpoint-assertion-icon .icon):
(@media (prefers-color-scheme: dark) .breakpoint-microtask-icon .icon):
(@media (prefers-color-scheme: dark) .breakpoint-paused-icon .icon):

  • UserInterface/Views/CallFrameIcons.css:

(.program-icon .icon):
(.function-icon .icon):
(.event-listener-icon .icon):
(.native-icon .icon):
(.tail-deleted .icon):
(@media (prefers-color-scheme: dark) .program-icon .icon):
(@media (prefers-color-scheme: dark) .function-icon .icon):
(@media (prefers-color-scheme: dark) .event-listener-icon .icon):
(@media (prefers-color-scheme: dark) .native-icon .icon):
(@media (prefers-color-scheme: dark) .tail-deleted .icon):

  • UserInterface/Views/CanvasSidebarPanel.css:

(.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.folder-icon > .icon):
(@media (prefers-color-scheme: dark) .sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.folder-icon > .icon):

  • UserInterface/Views/DOMBreakpointTreeElement.css:

(.breakpoint.dom.breakpoint-for-subtree-modified:not(.breakpoint-paused-icon) .icon):
(.breakpoint.dom.breakpoint-for-attribute-modified:not(.breakpoint-paused-icon) .icon):
(.breakpoint.dom.breakpoint-for-node-removed:not(.breakpoint-paused-icon) .icon):
(@media (prefers-color-scheme: dark) .breakpoint.dom.breakpoint-for-subtree-modified:not(.breakpoint-paused-icon) .icon):
(@media (prefers-color-scheme: dark) .breakpoint.dom.breakpoint-for-attribute-modified:not(.breakpoint-paused-icon) .icon):
(@media (prefers-color-scheme: dark) .breakpoint.dom.breakpoint-for-node-removed:not(.breakpoint-paused-icon) .icon):

  • UserInterface/Views/DOMNodeTreeElement.css:

(.tree-outline .item.dom-node .icon):
(@media (prefers-color-scheme: dark) .tree-outline .item.dom-node .icon):

  • UserInterface/Views/FolderIcon.css:

(.folder-icon .icon):
(.tree-outline:focus .folder-icon.selected .icon):
(.origin-icon .icon):
(.tree-outline:focus .origin-icon.selected .icon):
(@media (prefers-color-scheme: dark) .folder-icon .icon):
(@media (prefers-color-scheme: dark) .origin-icon .icon):

  • UserInterface/Views/HeapAllocationsTimelineOverviewGraph.css:

(.timeline-overview-graph.heap-allocations > img.snapshot):
(@media (prefers-color-scheme: dark) .timeline-overview-graph.heap-allocations > img.snapshot):

  • UserInterface/Views/HeapAllocationsTimelineView.css:

(.timeline-view.heap-allocations > .data-grid td .icon.heap-snapshot):
(@media (prefers-color-scheme: dark) .timeline-view.heap-allocations > .data-grid td .icon.heap-snapshot):

  • UserInterface/Views/HeapSnapshotInstancesContentView.css:

(.heap-snapshot .icon):
(.heap-snapshot .icon.native):
(.heap-snapshot .icon.boolean):
(.heap-snapshot .icon.function):
(.heap-snapshot .icon.number):
(.heap-snapshot .icon.bigint):
(.heap-snapshot .icon.object):
(.heap-snapshot .icon.node):
(.heap-snapshot .icon.regex):
(.heap-snapshot .icon.string):
(.heap-snapshot .icon.symbol):
(@media (prefers-color-scheme: dark) .heap-snapshot .icon):
(@media (prefers-color-scheme: dark) .heap-snapshot .icon.native):
(@media (prefers-color-scheme: dark) .heap-snapshot .icon.boolean):
(@media (prefers-color-scheme: dark) .heap-snapshot .icon.function):
(@media (prefers-color-scheme: dark) .heap-snapshot .icon.number):
(@media (prefers-color-scheme: dark) .heap-snapshot .icon.bigint):
(@media (prefers-color-scheme: dark) .heap-snapshot .icon.object):
(@media (prefers-color-scheme: dark) .heap-snapshot .icon.node):
(@media (prefers-color-scheme: dark) .heap-snapshot .icon.regex):
(@media (prefers-color-scheme: dark) .heap-snapshot .icon.string):
(@media (prefers-color-scheme: dark) .heap-snapshot .icon.symbol):

  • UserInterface/Views/IdleTreeElement.css:

(.details-section.call-stack .idle .icon):
(@media (prefers-color-scheme: dark) .details-section.call-stack .idle .icon):

  • UserInterface/Views/LayerDetailsSidebarPanel.css:

(.panel.details.layer .name-column .icon):
(.panel.details.layer tr.reflection .name-column .icon):
(.panel.details.layer tr.pseudo-element .name-column .icon):
(@media (prefers-color-scheme: dark) .panel.details.layer .name-column .icon):
(@media (prefers-color-scheme: dark) .panel.details.layer tr.reflection .name-column .icon):
(@media (prefers-color-scheme: dark) .panel.details.layer tr.pseudo-element .name-column .icon):

  • UserInterface/Views/LayerTreeDetailsSidebarPanel.css:

(.panel.details.layer-tree .name-column .icon):
(.panel.details.layer-tree tr.reflection .name-column .icon):
(.panel.details.layer-tree tr.pseudo-element .name-column .icon):
(@media (prefers-color-scheme: dark) .panel.details.layer-tree .name-column .icon):
(@media (prefers-color-scheme: dark) .panel.details.layer-tree tr.reflection .name-column .icon):
(@media (prefers-color-scheme: dark) .panel.details.layer-tree tr.pseudo-element .name-column .icon):

  • UserInterface/Views/NetworkTableContentView.css:

(.network-table > .table li:not(.selected) .cell:not(.current-session)):
(.network-table > .table .cell.dom-node.name .icon):
(@media (prefers-color-scheme: dark) .breakpoint-assertion-icon .icon):
(@media (prefers-color-scheme: dark) .network-table > .table .cell.dom-node.name .icon):
(.network-table .cell.dom-node.name .icon): Deleted.

  • UserInterface/Views/ObjectTreePropertyTreeElement.css:

(.object-tree-property.boolean > .icon):
(.object-tree-property.function > .icon):
(.object-tree-property.number > .icon):
(.object-tree-property.bigint > .icon):
(.object-tree-property.object > .icon):
(.object-tree-property.object.null > .icon):
(.object-tree-property.object.node > .icon):
(.object-tree-property.regex > .icon):
(.object-tree-property.string > .icon):
(.object-tree-property.symbol > .icon):
(.object-tree-property.accessor > .icon,):
(.object-tree-property.had-error > .icon):
(@media (prefers-color-scheme: dark) .object-tree-property.boolean > .icon):
(@media (prefers-color-scheme: dark) .object-tree-property.function > .icon):
(@media (prefers-color-scheme: dark) .object-tree-property.number > .icon):
(@media (prefers-color-scheme: dark) .object-tree-property.bigint > .icon):
(@media (prefers-color-scheme: dark) .object-tree-property.object > .icon):
(@media (prefers-color-scheme: dark) .object-tree-property.object.null > .icon):
(@media (prefers-color-scheme: dark) .object-tree-property.object.node > .icon):
(@media (prefers-color-scheme: dark) .object-tree-property.regex > .icon):
(@media (prefers-color-scheme: dark) .object-tree-property.string > .icon):
(@media (prefers-color-scheme: dark) .object-tree-property.symbol > .icon):
(@media (prefers-color-scheme: dark) .object-tree-property.accessor > .icon,):
(@media (prefers-color-scheme: dark) .object-tree-property.had-error > .icon):

  • UserInterface/Views/PathComponentIcons.css:

(.request-icon .icon):
(.response-icon .icon):
(.heap-snapshot-summary-icon .icon):
(.heap-snapshot-instances-icon .icon):
(.heap-snapshot-object-graph-icon .icon):
(.dom-element-icon .icon):
(.dom-pseudo-element-icon .icon):
(.dom-text-node-icon .icon):
(.dom-comment-icon .icon):
(.dom-document-type-icon .icon):
(.dom-document-icon .icon):
(.dom-character-data-icon .icon):
(.dom-node-icon .icon):
(.object-icon .icon):
(.function-icon .icon):
(.native-icon .icon):
(.program-icon .icon):
(.events-icon .icon):
(.call-trees-icon .icon):
(.snapshot-list-icon .icon):
(.snapshot-diff-icon .icon):
(.image-icon .icon):
(.source-icon .icon):
(@media (prefers-color-scheme: dark) .request-icon .icon):
(@media (prefers-color-scheme: dark) .response-icon .icon):
(@media (prefers-color-scheme: dark) .heap-snapshot-summary-icon .icon):
(@media (prefers-color-scheme: dark) .heap-snapshot-instances-icon .icon):
(@media (prefers-color-scheme: dark) .heap-snapshot-object-graph-icon .icon):
(@media (prefers-color-scheme: dark) .dom-element-icon .icon):
(@media (prefers-color-scheme: dark) .dom-pseudo-element-icon .icon):
(@media (prefers-color-scheme: dark) .dom-text-node-icon .icon):
(@media (prefers-color-scheme: dark) .dom-comment-icon .icon):
(@media (prefers-color-scheme: dark) .dom-document-type-icon .icon):
(@media (prefers-color-scheme: dark) .dom-document-icon .icon):
(@media (prefers-color-scheme: dark) .dom-character-data-icon .icon):
(@media (prefers-color-scheme: dark) .dom-node-icon .icon):
(@media (prefers-color-scheme: dark) .object-icon .icon):
(@media (prefers-color-scheme: dark) .function-icon .icon):
(@media (prefers-color-scheme: dark) .native-icon .icon):
(@media (prefers-color-scheme: dark) .program-icon .icon):
(@media (prefers-color-scheme: dark) .events-icon .icon):
(@media (prefers-color-scheme: dark) .call-trees-icon .icon):
(@media (prefers-color-scheme: dark) .snapshot-list-icon .icon):
(@media (prefers-color-scheme: dark) .snapshot-diff-icon .icon):
(@media (prefers-color-scheme: dark) .source-icon .icon):

  • UserInterface/Views/ProfileView.css:

(.profile > .data-grid td .icon.function-icon):
(.profile > .data-grid td .icon.native-icon):
(.profile > .data-grid td .icon.program-icon):
(@media (prefers-color-scheme: dark) .profile > .data-grid td .icon.function-icon):
(@media (prefers-color-scheme: dark) .profile > .data-grid td .icon.native-icon):
(@media (prefers-color-scheme: dark) .profile > .data-grid td .icon.program-icon):

  • UserInterface/Views/ResourceIcons.css:

(.resource-icon .icon):
(.resource-icon.override .icon):
(.resource-icon.resource-type-document .icon):
(.resource-icon.resource-type-document.override .icon):
(.resource-icon.resource-type-image .icon):
(.resource-icon.resource-type-image.override .icon):
(.resource-icon.resource-type-font .icon):
(.resource-icon.resource-type-font.override .icon):
(:matches(.resource-icon.resource-type-style-sheet, .style-sheet-icon) .icon):
(:matches(.resource-icon.resource-type-style-sheet.override, .style-sheet-icon.override) .icon):
(.resource-icon.resource-type-script .icon):
(.resource-icon.resource-type-script.override .icon):
(.anonymous-script-icon .icon):
(.source-map-resource.resource-icon .icon):
(.source-map-resource.resource-icon.resource-type-style-sheet .icon):
(.source-map-resource.resource-icon.resource-type-script .icon):
(.script.worker-icon .icon):
(.script.worker-icon.override .icon):
(.resource-icon.resource-type-websocket .icon):
(.resource-icon.resource-type-ping .icon,):
(.resource-icon.resource-type-range .icon):
(@media (prefers-color-scheme: dark) .resource-icon .icon):
(@media (prefers-color-scheme: dark) .resource-icon.override .icon):
(@media (prefers-color-scheme: dark) .resource-icon.resource-type-document .icon):
(@media (prefers-color-scheme: dark) .resource-icon.resource-type-document.override .icon):
(@media (prefers-color-scheme: dark) .resource-icon.resource-type-image .icon):
(@media (prefers-color-scheme: dark) .resource-icon.resource-type-image.override .icon):
(@media (prefers-color-scheme: dark) .resource-icon.resource-type-font .icon):
(@media (prefers-color-scheme: dark) .resource-icon.resource-type-font.override .icon):
(@media (prefers-color-scheme: dark) :matches(.resource-icon.resource-type-style-sheet, .style-sheet-icon) .icon):
(@media (prefers-color-scheme: dark) :matches(.resource-icon.resource-type-style-sheet.override, .style-sheet-icon.override) .icon):
(@media (prefers-color-scheme: dark) .resource-icon.resource-type-script .icon):
(@media (prefers-color-scheme: dark) .resource-icon.resource-type-script.override .icon):
(@media (prefers-color-scheme: dark) .anonymous-script-icon .icon):
(@media (prefers-color-scheme: dark) .source-map-resource.resource-icon .icon):
(@media (prefers-color-scheme: dark) .source-map-resource.resource-icon.resource-type-style-sheet .icon):
(@media (prefers-color-scheme: dark) .source-map-resource.resource-icon.resource-type-script .icon):
(@media (prefers-color-scheme: dark) .script.worker-icon .icon):
(@media (prefers-color-scheme: dark) .script.worker-icon.override .icon):
(@media (prefers-color-scheme: dark) .resource-icon.resource-type-websocket .icon):
(@media (prefers-color-scheme: dark) .resource-icon.resource-type-ping .icon,):
(@media (prefers-color-scheme: dark) .resource-icon.resource-type-range .icon):
(.large .resource-icon .icon): Deleted.
(.large .resource-icon.resource-type-document .icon): Deleted.
(.large .resource-icon.resource-type-image .icon): Deleted.
(.large .resource-icon.resource-type-font .icon): Deleted.
(.large :matches(.resource-icon.resource-type-style-sheet, .style-sheet-icon) .icon): Deleted.
(.large .resource-icon.resource-type-script .icon): Deleted.
(.large .anonymous-script-icon .icon): Deleted.
(.large .source-map-resource.resource-icon .icon): Deleted.
(.large .source-map-resource.resource-icon.resource-type-style-sheet .icon): Deleted.
(.large .source-map-resource.resource-icon.resource-type-script .icon): Deleted.
(.large .script.worker-icon .icon): Deleted.
(.large .resource-icon.resource-type-websocket .icon): Deleted.
(.large .resource-icon.resource-type-range .icon): Deleted.

  • UserInterface/Views/SearchIcons.css:

(.dom-match-element-icon .icon):
(.dom-match-text-node-icon .icon):
(.dom-match-comment-icon .icon):
(.dom-match-document-type-icon .icon):
(.dom-match-character-data-icon .icon):
(.dom-match-node-icon .icon):
(.source-code-match .icon):
(@media (prefers-color-scheme: dark) .dom-match-element-icon .icon):
(@media (prefers-color-scheme: dark) .dom-match-text-node-icon .icon):
(@media (prefers-color-scheme: dark) .dom-match-comment-icon .icon):
(@media (prefers-color-scheme: dark) .dom-match-document-type-icon .icon):
(@media (prefers-color-scheme: dark) .dom-match-character-data-icon .icon):
(@media (prefers-color-scheme: dark) .dom-match-node-icon .icon):
(@media (prefers-color-scheme: dark) .source-code-match .icon):

  • UserInterface/Views/StorageIcons.css:

(.application-cache-manifest .icon):
(.application-cache-frame .icon):
(.cookie-icon .icon):
(.local-storage-icon .icon):
(.session-storage-icon .icon):
(.database-icon .icon):
(.database-table-icon .icon):
(@media (prefers-color-scheme: dark) .application-cache-manifest .icon):
(@media (prefers-color-scheme: dark) .application-cache-frame .icon):
(@media (prefers-color-scheme: dark) .local-storage-icon .icon):
(@media (prefers-color-scheme: dark) .session-storage-icon .icon):
(@media (prefers-color-scheme: dark) .database-icon .icon):
(@media (prefers-color-scheme: dark) .database-table-icon .icon):

  • UserInterface/Views/StyleRuleIcons.css:

(.author-style-rule-icon .icon):
(.author-style-rule-icon.pseudo-selector .icon):
(.user-style-rule-icon .icon):
(.user-style-rule-icon.pseudo-selector .icon):
(.user-agent-style-rule-icon .icon):
(.user-agent-style-rule-icon.pseudo-selector .icon):
(.inspector-style-rule-icon .icon):
(.inspector-style-rule-icon.pseudo-selector .icon):
(.inherited-style-rule-icon .icon):
(.inherited-element-style-rule-icon .icon):
(@media (prefers-color-scheme: dark) .author-style-rule-icon .icon):
(@media (prefers-color-scheme: dark) .author-style-rule-icon.pseudo-selector .icon):
(@media (prefers-color-scheme: dark) .user-style-rule-icon .icon):
(@media (prefers-color-scheme: dark) .user-style-rule-icon.pseudo-selector .icon):
(@media (prefers-color-scheme: dark) .user-agent-style-rule-icon .icon):
(@media (prefers-color-scheme: dark) .user-agent-style-rule-icon.pseudo-selector .icon):
(@media (prefers-color-scheme: dark) .inspector-style-rule-icon .icon):
(@media (prefers-color-scheme: dark) .inspector-style-rule-icon.pseudo-selector .icon):
(@media (prefers-color-scheme: dark) .inherited-style-rule-icon .icon):
(@media (prefers-color-scheme: dark) .inherited-element-style-rule-icon .icon):

  • UserInterface/Views/TimelineIcons.css:

(.network-icon .icon):
(.script-icon .icon):
(.cpu-icon .icon):
(.memory-icon .icon):
(.heap-allocations-icon .icon):
(.layout-icon .icon):
(.rendering-frame-icon .icon):
(.media-icon .icon):
(.stopwatch-icon .icon):
(.style-record .icon):
(.layout-record .icon):
(.paint-record .icon):
(.composite-record .icon):
(.rendering-frame-record .icon):
(.api-record .icon):
(.evaluated-record .icon):
(.event-record .icon):
(.probe-record .icon):
(.console-profile-record .icon):
(.garbage-collection-profile-record .icon):
(.timer-record .icon):
(.animation-frame-record .icon):
(.css-animation-record .icon):
(.css-transition-record .icon):
(.media-element-record .icon):
(.heap-snapshot-record .icon):
(@media (prefers-color-scheme: dark) .network-icon .icon):
(@media (prefers-color-scheme: dark) .script-icon .icon):
(@media (prefers-color-scheme: dark) .cpu-icon .icon):
(@media (prefers-color-scheme: dark) .memory-icon .icon):
(@media (prefers-color-scheme: dark) .heap-allocations-icon .icon):
(@media (prefers-color-scheme: dark) .layout-icon .icon):
(@media (prefers-color-scheme: dark) .rendering-frame-icon .icon):
(@media (prefers-color-scheme: dark) .media-icon .icon):
(@media (prefers-color-scheme: dark) .stopwatch-icon .icon):
(@media (prefers-color-scheme: dark) .style-record .icon):
(@media (prefers-color-scheme: dark) .layout-record .icon):
(@media (prefers-color-scheme: dark) .paint-record .icon):
(@media (prefers-color-scheme: dark) .composite-record .icon):
(@media (prefers-color-scheme: dark) .rendering-frame-record .icon):
(@media (prefers-color-scheme: dark) .api-record .icon):
(@media (prefers-color-scheme: dark) .evaluated-record .icon):
(@media (prefers-color-scheme: dark) .event-record .icon):
(@media (prefers-color-scheme: dark) .probe-record .icon):
(@media (prefers-color-scheme: dark) .console-profile-record .icon):
(@media (prefers-color-scheme: dark) .garbage-collection-profile-record .icon):
(@media (prefers-color-scheme: dark) .timer-record .icon):
(@media (prefers-color-scheme: dark) .animation-frame-record .icon):
(@media (prefers-color-scheme: dark) .css-animation-record .icon):
(@media (prefers-color-scheme: dark) .css-transition-record .icon):
(@media (prefers-color-scheme: dark) .media-element-record .icon):
(@media (prefers-color-scheme: dark) .heap-snapshot-record .icon):

  • UserInterface/Views/URLBreakpointTreeElement.css:

(.breakpoint.url:not(.breakpoint-paused-icon) .icon):
(@media (prefers-color-scheme: dark) .breakpoint.url:not(.breakpoint-paused-icon) .icon):

2:23 PM Changeset in webkit [256773] by Alan Bujtas
  • 5 edits
    4 adds in trunk

Inline boxes for images that represent nothing should collapse to empty.
https://bugs.webkit.org/show_bug.cgi?id=207740
<rdar://problem/57339992>

Reviewed by Darin Adler.

Source/WebCore:

Tests: fast/images/inline-image-box-with-no-alt-should-collapse-no-quirks.html

fast/images/inline-image-box-with-no-alt-should-collapse-quirks.html

Let's collapse inline boxes when we would display a broken image only and

  1. alt attribute is explicitly set to empty and
  2. both height and width are auto or we are in standards mode.

https://html.spec.whatwg.org/multipage/rendering.html#images-3

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::shouldCollapseToEmpty const):
(WebCore::RenderImage::computeReplacedLogicalWidth const):
(WebCore::RenderImage::computeReplacedLogicalHeight const):
(WebCore::RenderImage::imageChanged):
(WebCore::RenderImage::layout):

  • rendering/RenderImage.h:

LayoutTests:

  • fast/images/inline-image-box-with-no-alt-should-collapse-no-quirks-expected.txt: Added.
  • fast/images/inline-image-box-with-no-alt-should-collapse-no-quirks.html: Added.
  • fast/images/inline-image-box-with-no-alt-should-collapse-quirks-expected.txt: Added.
  • fast/images/inline-image-box-with-no-alt-should-collapse-quirks.html: Added.
  • tables/mozilla/bugs/bug56201.html:
2:19 PM Changeset in webkit [256772] by Jason_Lawrence
  • 2 edits in trunk/LayoutTests

[ Mac ] fast/images/webp-as-image.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=207718

Unreviewed test gardening.

  • platform/mac/TestExpectations:
2:00 PM Changeset in webkit [256771] by Jacob Uphoff
  • 2 edits in trunk/LayoutTests

[ macOS ] fast/images/slower-decoding-than-animation-image.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=207859

Unreviewed test gardening

  • platform/mac/TestExpectations:
1:55 PM Changeset in webkit [256770] by Peng Liu
  • 20 edits
    1 move in trunk

Fix check-webkit-style errors related to AVFoundationSPI.h
https://bugs.webkit.org/show_bug.cgi?id=207834

Reviewed by Eric Carlson.

Source/WebCore:

No new tests, no functional change.

This patch fixes check-webkit-style errors, especially the ones related to soft-link headers.
The soft-link headers should be included after other headers.

  • platform/audio/ios/AudioSessionIOS.mm:
  • platform/audio/ios/MediaSessionManagerIOS.mm:
  • platform/graphics/avfoundation/MediaPlaybackTargetCocoa.mm:
  • platform/graphics/avfoundation/objc/AVStreamDataParserMIMETypeCache.mm:
  • platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
  • platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
  • platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm:
  • platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

Source/WebCore/PAL:

Move AVFoundationSPI.h from folder "mac" to "cocoa" because it is used by both iOS and Mac.

  • PAL.xcodeproj/project.pbxproj:
  • pal/spi/cocoa/AVFoundationSPI.h: Renamed from Source/WebCore/PAL/pal/spi/mac/AVFoundationSPI.h.

Source/WTF:

Add HAVE_VIDEO_PERFORMANCE_METRICS and USE_AV_SAMPLE_BUFFER_DISPLAY_LAYER to fix check-webkit-style errors.

  • wtf/PlatformHave.h:
  • wtf/PlatformUse.h:

Tools:

We need to use case-insensitive comparison to check whether the headers are alphabetically sorted in each header section.
Soft-link headers can be included as either "file.h" or <file.h>.

  • Scripts/webkitpy/style/checkers/cpp.py:

(_classify_include):
(check_include_line):

1:49 PM Changeset in webkit [256769] by Ryan Haddad
  • 2 edits in branches/safari-609-branch/Tools

Cherry-pick r255566. rdar://problem/59524417

Unreviewed, disable ResponsivenessTimer test in Debug / ASAN

The ResponsivenessTimer is disabled for those configurations as of r255518.

  • TestWebKitAPI/Tests/WebKit/ResponsivenessTimerCrash.mm:

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

1:45 PM Changeset in webkit [256768] by Ryan Haddad
  • 2 edits in branches/safari-609-branch/Tools

Unreviewed build fix. rdar://59461287

  • TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
1:44 PM Changeset in webkit [256767] by Jacob Uphoff
  • 2 edits in trunk/LayoutTests

[ Mojave wk1 ] fast/canvas/webgl/texImage2D-mse-flipY-false.html is flaky timing out
https://bugs.webkit.org/show_bug.cgi?id=207857

Unreviewed test gardening

  • platform/mac-wk1/TestExpectations:
1:24 PM Changeset in webkit [256766] by Tadeu Zagallo
  • 3 edits
    1 add in trunk

[Wasm] REGRESSION(r256665): Wasm->JS call IC needs to save memory size register
https://bugs.webkit.org/show_bug.cgi?id=207849

Reviewed by Mark Lam.

JSTests:

  • wasm/regress/regress-256665.js: Added.

(f):

Source/JavaScriptCore:

When generating the call IC, we should select the callee saves using BoundsChecking mode in order
to obey to the calling conventions described in r256665. Currently, we won't restore the memory size
register when calling the Wasm LLInt through the call IC.

  • wasm/js/WebAssemblyFunction.cpp:

(JSC::WebAssemblyFunction::calleeSaves const):

1:22 PM Changeset in webkit [256765] by Keith Rollin
  • 2 edits in trunk/Tools

Unreviewed build fix after r256715.

Fix tvOS and watchOS builds.

  • TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm:
1:13 PM Changeset in webkit [256764] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Null Ptr Deref @ WebCore::Node::Treescope
https://bugs.webkit.org/show_bug.cgi?id=207748

Patch by Pinki Gyanchandani <pgyanchandani@apple.com> on 2020-02-17
Reviewed by Darin Adler.

Source/WebCore:

Added a check for isTextField after updateLayoutIgnorePendingStylesheets as that could cause modification of input element type.

Test: editing/selection/ignore-selection-range-on-input-style-change.html

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::setSelectionRange):

LayoutTests:

Added a regression test provided by Ryosuke Niwa to verify the fix.

  • editing/selection/ignore-selection-range-on-input-style-change-expected.txt: Added.
  • editing/selection/ignore-selection-range-on-input-style-change.html: Added.
1:06 PM Changeset in webkit [256763] by Alan Bujtas
  • 3 edits
    186 copies
    1 add
    1 delete in trunk/LayoutTests

[LFC] Unreviewed test gardening.
https://bugs.webkit.org/show_bug.cgi?id=207846

Move LFC regression tests under fast/layoutformattingcontext/ and skip them on iOS for now.

  • fast/layoutformattingcontext/block-only/abs-pos-with-border-padding-and-float-child-expected.html: Renamed from LayoutTests/fast/block/block-only/abs-pos-with-border-padding-and-float-child-expected.html.
  • fast/layoutformattingcontext/block-only/abs-pos-with-border-padding-and-float-child.html: Renamed from LayoutTests/fast/block/block-only/abs-pos-with-border-padding-and-float-child.html.
  • fast/layoutformattingcontext/block-only/absolute-auto-with-sibling-margin-bottom-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-auto-with-sibling-margin-bottom-expected.txt.
  • fast/layoutformattingcontext/block-only/absolute-auto-with-sibling-margin-bottom.html: Renamed from LayoutTests/fast/block/block-only/absolute-auto-with-sibling-margin-bottom.html.
  • fast/layoutformattingcontext/block-only/absolute-height-stretch-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-height-stretch-expected.txt.
  • fast/layoutformattingcontext/block-only/absolute-height-stretch.html: Renamed from LayoutTests/fast/block/block-only/absolute-height-stretch.html.
  • fast/layoutformattingcontext/block-only/absolute-left-auto-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-left-auto-expected.txt.
  • fast/layoutformattingcontext/block-only/absolute-left-auto.html: Renamed from LayoutTests/fast/block/block-only/absolute-left-auto.html.
  • fast/layoutformattingcontext/block-only/absolute-left-right-top-bottom-auto-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-left-right-top-bottom-auto-expected.txt.
  • fast/layoutformattingcontext/block-only/absolute-left-right-top-bottom-auto.html: Renamed from LayoutTests/fast/block/block-only/absolute-left-right-top-bottom-auto.html.
  • fast/layoutformattingcontext/block-only/absolute-nested-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-nested-expected.txt.
  • fast/layoutformattingcontext/block-only/absolute-nested.html: Renamed from LayoutTests/fast/block/block-only/absolute-nested.html.
  • fast/layoutformattingcontext/block-only/absolute-nested2-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-nested2-expected.txt.
  • fast/layoutformattingcontext/block-only/absolute-nested2.html: Renamed from LayoutTests/fast/block/block-only/absolute-nested2.html.
  • fast/layoutformattingcontext/block-only/absolute-position-left-right-margin-expected.html: Renamed from LayoutTests/fast/block/block-only/absolute-position-left-right-margin-expected.html.
  • fast/layoutformattingcontext/block-only/absolute-position-left-right-margin.html: Renamed from LayoutTests/fast/block/block-only/absolute-position-left-right-margin.html.
  • fast/layoutformattingcontext/block-only/absolute-position-min-max-height-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-position-min-max-height-expected.txt.
  • fast/layoutformattingcontext/block-only/absolute-position-min-max-height.html: Renamed from LayoutTests/fast/block/block-only/absolute-position-min-max-height.html.
  • fast/layoutformattingcontext/block-only/absolute-position-min-max-width-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-position-min-max-width-expected.txt.
  • fast/layoutformattingcontext/block-only/absolute-position-min-max-width.html: Renamed from LayoutTests/fast/block/block-only/absolute-position-min-max-width.html.
  • fast/layoutformattingcontext/block-only/absolute-position-when-containing-block-is-not-in-the-formatting-context-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-position-when-containing-block-is-not-in-the-formatting-context-expected.txt.
  • fast/layoutformattingcontext/block-only/absolute-position-when-containing-block-is-not-in-the-formatting-context.html: Renamed from LayoutTests/fast/block/block-only/absolute-position-when-containing-block-is-not-in-the-formatting-context.html.
  • fast/layoutformattingcontext/block-only/absolute-position-when-containing-block-is-not-in-the-formatting-context2-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-position-when-containing-block-is-not-in-the-formatting-context2-expected.txt.
  • fast/layoutformattingcontext/block-only/absolute-position-when-containing-block-is-not-in-the-formatting-context2.html: Renamed from LayoutTests/fast/block/block-only/absolute-position-when-containing-block-is-not-in-the-formatting-context2.html.
  • fast/layoutformattingcontext/block-only/absolute-position-with-margin-auto-simple-expected.html: Renamed from LayoutTests/fast/block/block-only/absolute-position-with-margin-auto-simple-expected.html.
  • fast/layoutformattingcontext/block-only/absolute-position-with-margin-auto-simple.html: Renamed from LayoutTests/fast/block/block-only/absolute-position-with-margin-auto-simple.html.
  • fast/layoutformattingcontext/block-only/absolute-position-with-margin-auto-simple2-expected.html: Renamed from LayoutTests/fast/block/block-only/absolute-position-with-margin-auto-simple2-expected.html.
  • fast/layoutformattingcontext/block-only/absolute-position-with-margin-auto-simple2.html: Renamed from LayoutTests/fast/block/block-only/absolute-position-with-margin-auto-simple2.html.
  • fast/layoutformattingcontext/block-only/absolute-positioned-min-max-percentage-with-parent-padding-expected.html: Renamed from LayoutTests/fast/block/block-only/absolute-positioned-min-max-percentage-with-parent-padding-expected.html.
  • fast/layoutformattingcontext/block-only/absolute-positioned-min-max-percentage-with-parent-padding.html: Renamed from LayoutTests/fast/block/block-only/absolute-positioned-min-max-percentage-with-parent-padding.html.
  • fast/layoutformattingcontext/block-only/absolute-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-simple-expected.txt.
  • fast/layoutformattingcontext/block-only/absolute-simple.html: Renamed from LayoutTests/fast/block/block-only/absolute-simple.html.
  • fast/layoutformattingcontext/block-only/absolute-width-shrink-to-fit-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-width-shrink-to-fit-expected.txt.
  • fast/layoutformattingcontext/block-only/absolute-width-shrink-to-fit.html: Renamed from LayoutTests/fast/block/block-only/absolute-width-shrink-to-fit.html.
  • fast/layoutformattingcontext/block-only/absolute-width-stretch-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-width-stretch-expected.txt.
  • fast/layoutformattingcontext/block-only/absolute-width-stretch.html: Renamed from LayoutTests/fast/block/block-only/absolute-width-stretch.html.
  • fast/layoutformattingcontext/block-only/absolute-with-static-block-position-nested-expected.txt: Renamed from LayoutTests/fast/block/block-only/absolute-with-static-block-position-nested-expected.txt.
  • fast/layoutformattingcontext/block-only/absolute-with-static-block-position-nested.html: Renamed from LayoutTests/fast/block/block-only/absolute-with-static-block-position-nested.html.
  • fast/layoutformattingcontext/block-only/almost-intruding-left-float-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/almost-intruding-left-float-simple-expected.txt.
  • fast/layoutformattingcontext/block-only/almost-intruding-left-float-simple.html: Renamed from LayoutTests/fast/block/block-only/almost-intruding-left-float-simple.html.
  • fast/layoutformattingcontext/block-only/block-replaced-with-vertical-margins-expected.html: Renamed from LayoutTests/fast/block/block-only/block-replaced-with-vertical-margins-expected.html.
  • fast/layoutformattingcontext/block-only/block-replaced-with-vertical-margins.html: Renamed from LayoutTests/fast/block/block-only/block-replaced-with-vertical-margins.html.
  • fast/layoutformattingcontext/block-only/body-height-with-auto-html-height-quirk-expected.txt: Renamed from LayoutTests/fast/block/block-only/body-height-with-auto-html-height-quirk-expected.txt.
  • fast/layoutformattingcontext/block-only/body-height-with-auto-html-height-quirk.html: Renamed from LayoutTests/fast/block/block-only/body-height-with-auto-html-height-quirk.html.
  • fast/layoutformattingcontext/block-only/body-height-with-auto-html-height-quirk2-expected.txt: Renamed from LayoutTests/fast/block/block-only/body-height-with-auto-html-height-quirk2-expected.txt.
  • fast/layoutformattingcontext/block-only/body-height-with-auto-html-height-quirk2.html: Renamed from LayoutTests/fast/block/block-only/body-height-with-auto-html-height-quirk2.html.
  • fast/layoutformattingcontext/block-only/body-height-with-non-auto-html-height-quirk-expected.txt: Renamed from LayoutTests/fast/block/block-only/body-height-with-non-auto-html-height-quirk-expected.txt.
  • fast/layoutformattingcontext/block-only/body-height-with-non-auto-html-height-quirk.html: Renamed from LayoutTests/fast/block/block-only/body-height-with-non-auto-html-height-quirk.html.
  • fast/layoutformattingcontext/block-only/body-height-with-non-auto-html-height-quirk2-expected.txt: Renamed from LayoutTests/fast/block/block-only/body-height-with-non-auto-html-height-quirk2-expected.txt.
  • fast/layoutformattingcontext/block-only/body-height-with-non-auto-html-height-quirk2.html: Renamed from LayoutTests/fast/block/block-only/body-height-with-non-auto-html-height-quirk2.html.
  • fast/layoutformattingcontext/block-only/border-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/border-simple-expected.txt.
  • fast/layoutformattingcontext/block-only/border-simple.html: Renamed from LayoutTests/fast/block/block-only/border-simple.html.
  • fast/layoutformattingcontext/block-only/box-sizing-inflow-out-of-flow-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/box-sizing-inflow-out-of-flow-simple-expected.txt.
  • fast/layoutformattingcontext/block-only/box-sizing-inflow-out-of-flow-simple.html: Renamed from LayoutTests/fast/block/block-only/box-sizing-inflow-out-of-flow-simple.html.
  • fast/layoutformattingcontext/block-only/collapsed-margin-with-min-height-expected.txt: Renamed from LayoutTests/fast/block/block-only/collapsed-margin-with-min-height-expected.txt.
  • fast/layoutformattingcontext/block-only/collapsed-margin-with-min-height.html: Renamed from LayoutTests/fast/block/block-only/collapsed-margin-with-min-height.html.
  • fast/layoutformattingcontext/block-only/collapsed-through-siblings-expected.txt: Renamed from LayoutTests/fast/block/block-only/collapsed-through-siblings-expected.txt.
  • fast/layoutformattingcontext/block-only/collapsed-through-siblings.html: Renamed from LayoutTests/fast/block/block-only/collapsed-through-siblings.html.
  • fast/layoutformattingcontext/block-only/collapsed-through-with-parent-expected.txt: Renamed from LayoutTests/fast/block/block-only/collapsed-through-with-parent-expected.txt.
  • fast/layoutformattingcontext/block-only/collapsed-through-with-parent.html: Renamed from LayoutTests/fast/block/block-only/collapsed-through-with-parent.html.
  • fast/layoutformattingcontext/block-only/fixed-nested-expected.txt: Renamed from LayoutTests/fast/block/block-only/fixed-nested-expected.txt.
  • fast/layoutformattingcontext/block-only/fixed-nested.html: Renamed from LayoutTests/fast/block/block-only/fixed-nested.html.
  • fast/layoutformattingcontext/block-only/float-and-siblings-with-margins-expected.txt: Renamed from LayoutTests/fast/block/block-only/float-and-siblings-with-margins-expected.txt.
  • fast/layoutformattingcontext/block-only/float-and-siblings-with-margins.html: Renamed from LayoutTests/fast/block/block-only/float-and-siblings-with-margins.html.
  • fast/layoutformattingcontext/block-only/float-avoider-multiple-roots-expected.txt: Renamed from LayoutTests/fast/block/block-only/float-avoider-multiple-roots-expected.txt.
  • fast/layoutformattingcontext/block-only/float-avoider-multiple-roots.html: Renamed from LayoutTests/fast/block/block-only/float-avoider-multiple-roots.html.
  • fast/layoutformattingcontext/block-only/float-avoider-simple-left-expected.txt: Renamed from LayoutTests/fast/block/block-only/float-avoider-simple-left-expected.txt.
  • fast/layoutformattingcontext/block-only/float-avoider-simple-left.html: Renamed from LayoutTests/fast/block/block-only/float-avoider-simple-left.html.
  • fast/layoutformattingcontext/block-only/float-avoider-simple-right-expected.txt: Renamed from LayoutTests/fast/block/block-only/float-avoider-simple-right-expected.txt.
  • fast/layoutformattingcontext/block-only/float-avoider-simple-right.html: Renamed from LayoutTests/fast/block/block-only/float-avoider-simple-right.html.
  • fast/layoutformattingcontext/block-only/float-avoider-with-margins-expected.txt: Renamed from LayoutTests/fast/block/block-only/float-avoider-with-margins-expected.txt.
  • fast/layoutformattingcontext/block-only/float-avoider-with-margins.html: Renamed from LayoutTests/fast/block/block-only/float-avoider-with-margins.html.
  • fast/layoutformattingcontext/block-only/float-left-when-container-has-padding-margin-expected.txt: Renamed from LayoutTests/fast/block/block-only/float-left-when-container-has-padding-margin-expected.txt.
  • fast/layoutformattingcontext/block-only/float-left-when-container-has-padding-margin.html: Renamed from LayoutTests/fast/block/block-only/float-left-when-container-has-padding-margin.html.
  • fast/layoutformattingcontext/block-only/float-min-max-height-expected.txt: Renamed from LayoutTests/fast/block/block-only/float-min-max-height-expected.txt.
  • fast/layoutformattingcontext/block-only/float-min-max-height.html: Renamed from LayoutTests/fast/block/block-only/float-min-max-height.html.
  • fast/layoutformattingcontext/block-only/float-min-max-width-expected.txt: Renamed from LayoutTests/fast/block/block-only/float-min-max-width-expected.txt.
  • fast/layoutformattingcontext/block-only/float-min-max-width.html: Renamed from LayoutTests/fast/block/block-only/float-min-max-width.html.
  • fast/layoutformattingcontext/block-only/floating-and-next-previous-inflow-with-margin-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-and-next-previous-inflow-with-margin-expected.txt.
  • fast/layoutformattingcontext/block-only/floating-and-next-previous-inflow-with-margin-with-no-border-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-and-next-previous-inflow-with-margin-with-no-border-expected.txt.
  • fast/layoutformattingcontext/block-only/floating-and-next-previous-inflow-with-margin-with-no-border.html: Renamed from LayoutTests/fast/block/block-only/floating-and-next-previous-inflow-with-margin-with-no-border.html.
  • fast/layoutformattingcontext/block-only/floating-and-next-previous-inflow-with-margin.html: Renamed from LayoutTests/fast/block/block-only/floating-and-next-previous-inflow-with-margin.html.
  • fast/layoutformattingcontext/block-only/floating-box-clear-both-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-box-clear-both-simple-expected.txt.
  • fast/layoutformattingcontext/block-only/floating-box-clear-both-simple.html: Renamed from LayoutTests/fast/block/block-only/floating-box-clear-both-simple.html.
  • fast/layoutformattingcontext/block-only/floating-box-clear-right-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-box-clear-right-simple-expected.txt.
  • fast/layoutformattingcontext/block-only/floating-box-clear-right-simple.html: Renamed from LayoutTests/fast/block/block-only/floating-box-clear-right-simple.html.
  • fast/layoutformattingcontext/block-only/floating-box-left-and-right-multiple-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-box-left-and-right-multiple-expected.txt.
  • fast/layoutformattingcontext/block-only/floating-box-left-and-right-multiple-with-top-offset-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-box-left-and-right-multiple-with-top-offset-expected.txt.
  • fast/layoutformattingcontext/block-only/floating-box-left-and-right-multiple-with-top-offset.html: Renamed from LayoutTests/fast/block/block-only/floating-box-left-and-right-multiple-with-top-offset.html.
  • fast/layoutformattingcontext/block-only/floating-box-left-and-right-multiple.html: Renamed from LayoutTests/fast/block/block-only/floating-box-left-and-right-multiple.html.
  • fast/layoutformattingcontext/block-only/floating-box-right-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-box-right-simple-expected.txt.
  • fast/layoutformattingcontext/block-only/floating-box-right-simple.html: Renamed from LayoutTests/fast/block/block-only/floating-box-right-simple.html.
  • fast/layoutformattingcontext/block-only/floating-box-with-clear-siblings-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-box-with-clear-siblings-expected.txt.
  • fast/layoutformattingcontext/block-only/floating-box-with-clear-siblings.html: Renamed from LayoutTests/fast/block/block-only/floating-box-with-clear-siblings.html.
  • fast/layoutformattingcontext/block-only/floating-box-with-clear-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-box-with-clear-simple-expected.txt.
  • fast/layoutformattingcontext/block-only/floating-box-with-clear-simple.html: Renamed from LayoutTests/fast/block/block-only/floating-box-with-clear-simple.html.
  • fast/layoutformattingcontext/block-only/floating-box-with-new-formatting-context-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-box-with-new-formatting-context-expected.txt.
  • fast/layoutformattingcontext/block-only/floating-box-with-new-formatting-context.html: Renamed from LayoutTests/fast/block/block-only/floating-box-with-new-formatting-context.html.
  • fast/layoutformattingcontext/block-only/floating-box-with-relative-positioned-sibling-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-box-with-relative-positioned-sibling-expected.txt.
  • fast/layoutformattingcontext/block-only/floating-box-with-relative-positioned-sibling.html: Renamed from LayoutTests/fast/block/block-only/floating-box-with-relative-positioned-sibling.html.
  • fast/layoutformattingcontext/block-only/floating-left-and-right-with-clearance-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-left-and-right-with-clearance-expected.txt.
  • fast/layoutformattingcontext/block-only/floating-left-and-right-with-clearance.html: Renamed from LayoutTests/fast/block/block-only/floating-left-and-right-with-clearance.html.
  • fast/layoutformattingcontext/block-only/floating-left-right-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-left-right-simple-expected.txt.
  • fast/layoutformattingcontext/block-only/floating-left-right-simple.html: Renamed from LayoutTests/fast/block/block-only/floating-left-right-simple.html.
  • fast/layoutformattingcontext/block-only/floating-left-right-with-all-margins-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-left-right-with-all-margins-expected.txt.
  • fast/layoutformattingcontext/block-only/floating-left-right-with-all-margins.html: Renamed from LayoutTests/fast/block/block-only/floating-left-right-with-all-margins.html.
  • fast/layoutformattingcontext/block-only/floating-lefts-and-rights-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-lefts-and-rights-simple-expected.txt.
  • fast/layoutformattingcontext/block-only/floating-lefts-and-rights-simple.html: Renamed from LayoutTests/fast/block/block-only/floating-lefts-and-rights-simple.html.
  • fast/layoutformattingcontext/block-only/floating-multiple-lefts-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-multiple-lefts-expected.txt.
  • fast/layoutformattingcontext/block-only/floating-multiple-lefts-in-body-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-multiple-lefts-in-body-expected.txt.
  • fast/layoutformattingcontext/block-only/floating-multiple-lefts-in-body.html: Renamed from LayoutTests/fast/block/block-only/floating-multiple-lefts-in-body.html.
  • fast/layoutformattingcontext/block-only/floating-multiple-lefts-multiple-lines-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-multiple-lefts-multiple-lines-expected.txt.
  • fast/layoutformattingcontext/block-only/floating-multiple-lefts-multiple-lines.html: Renamed from LayoutTests/fast/block/block-only/floating-multiple-lefts-multiple-lines.html.
  • fast/layoutformattingcontext/block-only/floating-multiple-lefts.html: Renamed from LayoutTests/fast/block/block-only/floating-multiple-lefts.html.
  • fast/layoutformattingcontext/block-only/floating-with-new-block-formatting-context-expected.txt: Renamed from LayoutTests/fast/block/block-only/floating-with-new-block-formatting-context-expected.txt.
  • fast/layoutformattingcontext/block-only/floating-with-new-block-formatting-context.html: Renamed from LayoutTests/fast/block/block-only/floating-with-new-block-formatting-context.html.
  • fast/layoutformattingcontext/block-only/floats-and-block-formatting-roots-expected.html: Renamed from LayoutTests/fast/block/block-only/floats-and-block-formatting-roots-expected.html.
  • fast/layoutformattingcontext/block-only/floats-and-block-formatting-roots.html: Renamed from LayoutTests/fast/block/block-only/floats-and-block-formatting-roots.html.
  • fast/layoutformattingcontext/block-only/inflow-min-max-height-expected.txt: Renamed from LayoutTests/fast/block/block-only/inflow-min-max-height-expected.txt.
  • fast/layoutformattingcontext/block-only/inflow-min-max-height.html: Renamed from LayoutTests/fast/block/block-only/inflow-min-max-height.html.
  • fast/layoutformattingcontext/block-only/inflow-min-max-width-expected.txt: Renamed from LayoutTests/fast/block/block-only/inflow-min-max-width-expected.txt.
  • fast/layoutformattingcontext/block-only/inflow-min-max-width.html: Renamed from LayoutTests/fast/block/block-only/inflow-min-max-width.html.
  • fast/layoutformattingcontext/block-only/margin-collapse-bottom-bottom-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-collapse-bottom-bottom-expected.txt.
  • fast/layoutformattingcontext/block-only/margin-collapse-bottom-bottom.html: Renamed from LayoutTests/fast/block/block-only/margin-collapse-bottom-bottom.html.
  • fast/layoutformattingcontext/block-only/margin-collapse-bottom-nested-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-collapse-bottom-nested-expected.txt.
  • fast/layoutformattingcontext/block-only/margin-collapse-bottom-nested.html: Renamed from LayoutTests/fast/block/block-only/margin-collapse-bottom-nested.html.
  • fast/layoutformattingcontext/block-only/margin-collapse-first-last-are-floating-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-collapse-first-last-are-floating-expected.txt.
  • fast/layoutformattingcontext/block-only/margin-collapse-first-last-are-floating.html: Renamed from LayoutTests/fast/block/block-only/margin-collapse-first-last-are-floating.html.
  • fast/layoutformattingcontext/block-only/margin-collapse-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-collapse-simple-expected.txt.
  • fast/layoutformattingcontext/block-only/margin-collapse-simple.html: Renamed from LayoutTests/fast/block/block-only/margin-collapse-simple.html.
  • fast/layoutformattingcontext/block-only/margin-collapse-top-nested-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-collapse-top-nested-expected.txt.
  • fast/layoutformattingcontext/block-only/margin-collapse-top-nested.html: Renamed from LayoutTests/fast/block/block-only/margin-collapse-top-nested.html.
  • fast/layoutformattingcontext/block-only/margin-collapse-when-child-has-padding-border-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-collapse-when-child-has-padding-border-expected.txt.
  • fast/layoutformattingcontext/block-only/margin-collapse-when-child-has-padding-border.html: Renamed from LayoutTests/fast/block/block-only/margin-collapse-when-child-has-padding-border.html.
  • fast/layoutformattingcontext/block-only/margin-collapse-with-block-formatting-context-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-collapse-with-block-formatting-context-expected.txt.
  • fast/layoutformattingcontext/block-only/margin-collapse-with-block-formatting-context.html: Renamed from LayoutTests/fast/block/block-only/margin-collapse-with-block-formatting-context.html.
  • fast/layoutformattingcontext/block-only/margin-collapse-with-block-formatting-context2-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-collapse-with-block-formatting-context2-expected.txt.
  • fast/layoutformattingcontext/block-only/margin-collapse-with-block-formatting-context2.html: Renamed from LayoutTests/fast/block/block-only/margin-collapse-with-block-formatting-context2.html.
  • fast/layoutformattingcontext/block-only/margin-collapse-with-clearance-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-collapse-with-clearance-expected.txt.
  • fast/layoutformattingcontext/block-only/margin-collapse-with-clearance.html: Renamed from LayoutTests/fast/block/block-only/margin-collapse-with-clearance.html.
  • fast/layoutformattingcontext/block-only/margin-left-right-sizing-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-left-right-sizing-expected.txt.
  • fast/layoutformattingcontext/block-only/margin-left-right-sizing-out-of-flow-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-left-right-sizing-out-of-flow-expected.txt.
  • fast/layoutformattingcontext/block-only/margin-left-right-sizing-out-of-flow.html: Renamed from LayoutTests/fast/block/block-only/margin-left-right-sizing-out-of-flow.html.
  • fast/layoutformattingcontext/block-only/margin-left-right-sizing.html: Renamed from LayoutTests/fast/block/block-only/margin-left-right-sizing.html.
  • fast/layoutformattingcontext/block-only/margin-propagation-simple-content-height-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-propagation-simple-content-height-expected.txt.
  • fast/layoutformattingcontext/block-only/margin-propagation-simple-content-height.html: Renamed from LayoutTests/fast/block/block-only/margin-propagation-simple-content-height.html.
  • fast/layoutformattingcontext/block-only/margin-sibling-collapse-propagated-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-sibling-collapse-propagated-expected.txt.
  • fast/layoutformattingcontext/block-only/margin-sibling-collapse-propagated.html: Renamed from LayoutTests/fast/block/block-only/margin-sibling-collapse-propagated.html.
  • fast/layoutformattingcontext/block-only/margin-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/margin-simple-expected.txt.
  • fast/layoutformattingcontext/block-only/margin-simple.html: Renamed from LayoutTests/fast/block/block-only/margin-simple.html.
  • fast/layoutformattingcontext/block-only/min-max-and-preferred-width-simple-expected.html: Renamed from LayoutTests/fast/block/block-only/min-max-and-preferred-width-simple-expected.html.
  • fast/layoutformattingcontext/block-only/min-max-and-preferred-width-simple.html: Renamed from LayoutTests/fast/block/block-only/min-max-and-preferred-width-simple.html.
  • fast/layoutformattingcontext/block-only/min-max-height-percentage-expected.txt: Renamed from LayoutTests/fast/block/block-only/min-max-height-percentage-expected.txt.
  • fast/layoutformattingcontext/block-only/min-max-height-percentage.html: Renamed from LayoutTests/fast/block/block-only/min-max-height-percentage.html.
  • fast/layoutformattingcontext/block-only/negative-margin-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/negative-margin-simple-expected.txt.
  • fast/layoutformattingcontext/block-only/negative-margin-simple.html: Renamed from LayoutTests/fast/block/block-only/negative-margin-simple.html.
  • fast/layoutformattingcontext/block-only/non-auto-top-bottom-height-with-auto-margins-expected.txt: Renamed from LayoutTests/fast/block/block-only/non-auto-top-bottom-height-with-auto-margins-expected.txt.
  • fast/layoutformattingcontext/block-only/non-auto-top-bottom-height-with-auto-margins.html: Renamed from LayoutTests/fast/block/block-only/non-auto-top-bottom-height-with-auto-margins.html.
  • fast/layoutformattingcontext/block-only/non-auto-top-bottom-height-with-margins-expected.txt: Renamed from LayoutTests/fast/block/block-only/non-auto-top-bottom-height-with-margins-expected.txt.
  • fast/layoutformattingcontext/block-only/non-auto-top-bottom-height-with-margins.html: Renamed from LayoutTests/fast/block/block-only/non-auto-top-bottom-height-with-margins.html.
  • fast/layoutformattingcontext/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow-expected.txt: Renamed from LayoutTests/fast/block/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow-expected.txt.
  • fast/layoutformattingcontext/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow.html: Renamed from LayoutTests/fast/block/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow.html.
  • fast/layoutformattingcontext/block-only/out-of-flow-is-never-float-box-expected.html: Renamed from LayoutTests/fast/block/block-only/out-of-flow-is-never-float-box-expected.html.
  • fast/layoutformattingcontext/block-only/out-of-flow-is-never-float-box.html: Renamed from LayoutTests/fast/block/block-only/out-of-flow-is-never-float-box.html.
  • fast/layoutformattingcontext/block-only/out-of-flow-with-containing-block-border-padding-expected.txt: Renamed from LayoutTests/fast/block/block-only/out-of-flow-with-containing-block-border-padding-expected.txt.
  • fast/layoutformattingcontext/block-only/out-of-flow-with-containing-block-border-padding.html: Renamed from LayoutTests/fast/block/block-only/out-of-flow-with-containing-block-border-padding.html.
  • fast/layoutformattingcontext/block-only/padding-nested-expected.txt: Renamed from LayoutTests/fast/block/block-only/padding-nested-expected.txt.
  • fast/layoutformattingcontext/block-only/padding-nested.html: Renamed from LayoutTests/fast/block/block-only/padding-nested.html.
  • fast/layoutformattingcontext/block-only/padding-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/padding-simple-expected.txt.
  • fast/layoutformattingcontext/block-only/padding-simple.html: Renamed from LayoutTests/fast/block/block-only/padding-simple.html.
  • fast/layoutformattingcontext/block-only/relative-auto-expected.txt: Renamed from LayoutTests/fast/block/block-only/relative-auto-expected.txt.
  • fast/layoutformattingcontext/block-only/relative-auto-with-parent-offset-expected.txt: Renamed from LayoutTests/fast/block/block-only/relative-auto-with-parent-offset-expected.txt.
  • fast/layoutformattingcontext/block-only/relative-auto-with-parent-offset.html: Renamed from LayoutTests/fast/block/block-only/relative-auto-with-parent-offset.html.
  • fast/layoutformattingcontext/block-only/relative-auto.html: Renamed from LayoutTests/fast/block/block-only/relative-auto.html.
  • fast/layoutformattingcontext/block-only/relative-bottom-expected.txt: Renamed from LayoutTests/fast/block/block-only/relative-bottom-expected.txt.
  • fast/layoutformattingcontext/block-only/relative-bottom.html: Renamed from LayoutTests/fast/block/block-only/relative-bottom.html.
  • fast/layoutformattingcontext/block-only/relative-position-when-containing-block-is-not-in-the-formatting-context-expected.txt: Renamed from LayoutTests/fast/block/block-only/relative-position-when-containing-block-is-not-in-the-formatting-context-expected.txt.
  • fast/layoutformattingcontext/block-only/relative-position-when-containing-block-is-not-in-the-formatting-context.html: Renamed from LayoutTests/fast/block/block-only/relative-position-when-containing-block-is-not-in-the-formatting-context.html.
  • fast/layoutformattingcontext/block-only/relative-right-expected.txt: Renamed from LayoutTests/fast/block/block-only/relative-right-expected.txt.
  • fast/layoutformattingcontext/block-only/relative-right.html: Renamed from LayoutTests/fast/block/block-only/relative-right.html.
  • fast/layoutformattingcontext/block-only/relative-siblings-expected.txt: Renamed from LayoutTests/fast/block/block-only/relative-siblings-expected.txt.
  • fast/layoutformattingcontext/block-only/relative-siblings.html: Renamed from LayoutTests/fast/block/block-only/relative-siblings.html.
  • fast/layoutformattingcontext/block-only/relative-simple-expected.txt: Renamed from LayoutTests/fast/block/block-only/relative-simple-expected.txt.
  • fast/layoutformattingcontext/block-only/relative-simple.html: Renamed from LayoutTests/fast/block/block-only/relative-simple.html.
  • fast/layoutformattingcontext/block-only/replaced-intrinsic-width-simple-expected.html: Renamed from LayoutTests/fast/block/block-only/replaced-intrinsic-width-simple-expected.html.
  • fast/layoutformattingcontext/block-only/replaced-intrinsic-width-simple.html: Renamed from LayoutTests/fast/block/block-only/replaced-intrinsic-width-simple.html.
  • platform/ios-wk2/TestExpectations:
12:46 PM Changeset in webkit [256762] by youenn@apple.com
  • 8 edits
    2 adds in trunk/Source

Add WebInspector support to WebKit::WebSocketChannel
https://bugs.webkit.org/show_bug.cgi?id=207794

Reviewed by Darin Adler.

Source/WebCore:

Add a wrapper around Inspector for using it in WebInspector.
This allows getting preliminary support of WebInspector for the new WebSocket path.

  • Modules/websockets/WebSocketChannelInspector.cpp: Added.

(WebCore::WebSocketChannelInspector::WebSocketChannelInspector):
(WebCore::WebSocketChannelInspector::didCreateWebSocket):
(WebCore::WebSocketChannelInspector::willSendWebSocketHandshakeRequest):
(WebCore::WebSocketChannelInspector::didReceiveWebSocketHandshakeResponse):
(WebCore::WebSocketChannelInspector::didCloseWebSocket):
(WebCore::WebSocketChannelInspector::didReceiveWebSocketFrame):
(WebCore::WebSocketChannelInspector::didSendWebSocketFrame):
(WebCore::WebSocketChannelInspector::didReceiveWebSocketFrameError):

  • Modules/websockets/WebSocketChannelInspector.h: Added.
  • Modules/websockets/WebSocketFrame.h:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

Call WebInspector hooks wherever needed.
We do not have access to frames so we make as if a message is part of one frame.
We do not have yet a response so provide an empty one as well.

  • WebProcess/Network/WebSocketChannel.cpp:

(WebKit::WebSocketChannel::notifySendFrame):
(WebKit::WebSocketChannel::createMessageQueue):
(WebKit::WebSocketChannel::WebSocketChannel):
(WebKit::WebSocketChannel::connect):
(WebKit::WebSocketChannel::sendMessage):
(WebKit::WebSocketChannel::disconnect):
(WebKit::WebSocketChannel::didConnect):
(WebKit::createWebSocketFrameForWebInspector):
(WebKit::WebSocketChannel::didReceiveText):
(WebKit::WebSocketChannel::didReceiveBinaryData):
(WebKit::WebSocketChannel::didClose):
(WebKit::WebSocketChannel::didReceiveMessageError):

  • WebProcess/Network/WebSocketChannel.h:
12:42 PM Changeset in webkit [256761] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

Validate scopeURL is valid when reading it from the database
https://bugs.webkit.org/show_bug.cgi?id=207721

Reviewed by Darin Adler.

  • workers/service/server/RegistrationDatabase.cpp:

(WebCore::RegistrationDatabase::importRecords):
In case scopeURL is not good, skip the registration, as done for other registration parameters.

12:29 PM Changeset in webkit [256760] by Alan Bujtas
  • 8 edits
    2 adds in trunk

[LFC][Out-of-flow] FormattingContext::computeOutOfFlowHorizontalGeometry needs verticalConstraints
https://bugs.webkit.org/show_bug.cgi?id=207832
<rdar://problem/59499844>

Reviewed by Dean Jackson.

Source/WebCore:

Test: fast/layoutformattingcontext/simple-absolute-positioned-replaced-inline-element-with-percentage-height.html

Inline replaced width computation needs the value of the computed content height. In case of percentage value, in order to
resolve it we need the containing block's height. At this point the containing block's vertical values are usually not
computed yet, unless the current box happens to be an out-of-flow.

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::layoutOutOfFlowContent):

  • layout/FormattingContext.h:
  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry const):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin const):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin const):

  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowReplacedWidthAndMargin const):

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computeWidthAndMargin):

  • layout/inlineformatting/InlineFormattingContextGeometry.cpp:

(WebCore::Layout::InlineFormattingContext::Geometry::inlineBlockWidthAndMargin):

LayoutTests:

  • fast/layoutformattingcontext/simple-absolute-positioned-replaced-inline-element-with-percentage-height-expected.html: Added.
  • fast/layoutformattingcontext/simple-absolute-positioned-replaced-inline-element-with-percentage-height.html: Added.
12:23 PM Changeset in webkit [256759] by Alan Bujtas
  • 3 edits
    2 adds in trunk

[LFC][IFC] LineLayoutContext::nextContentForLine should be able to handle regular inline boxes
https://bugs.webkit.org/show_bug.cgi?id=207829
<rdar://problem/59498031>

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/layoutformattingcontext/simple-inline-block.html

Add missing inline box handling.

  • layout/inlineformatting/LineLayoutContext.cpp:

(WebCore::Layout::LineLayoutContext::nextContentForLine):

LayoutTests:

  • fast/layoutformattingcontext/simple-inline-block-expected.html: Added.
  • fast/layoutformattingcontext/simple-inline-block.html: Added.
12:08 PM Changeset in webkit [256758] by commit-queue@webkit.org
  • 7 edits
    2 deletes in trunk

ANGLE: Fix object deletion behavior.
https://bugs.webkit.org/show_bug.cgi?id=205610

Source/WebCore:

Fixes WebGL conformance tests object-deletion-behavior.html and vertex-array-object.html.

Patch by James Darpinian <James Darpinian> on 2020-02-17
Reviewed by Dean Jackson.

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::getFramebufferAttachmentParameter):

No error when getting attachment name with a null attachment.

  • html/canvas/WebGLObject.cpp:

(WebCore::WebGLObject::deleteObject):

Don't delay deleting objects when using ANGLE, becuase ANGLE handles object
deletion correctly with WebGL semantics. This fixes some conformance tests
including vertex-array-object.html.

  • html/canvas/WebGLObject.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::checkObjectToBeBound):

Always generate INVALID_OPERATION when the object is deleted.

(WebCore::WebGLRenderingContextBase::validateAndCacheBufferBinding):
(WebCore::WebGLRenderingContextBase::bindFramebuffer):
(WebCore::WebGLRenderingContextBase::bindRenderbuffer):
(WebCore::WebGLRenderingContextBase::bindTexture):
(WebCore::WebGLRenderingContextBase::useProgram):

  • html/canvas/WebGLRenderingContextBase.h:

LayoutTests:

Remove incorrect (out-of-date) test. This correct version of this test is still present in the WebGL
conformance tests.

Patch by James Darpinian <James Darpinian> on 2020-02-17
Reviewed by Dean Jackson.

  • fast/canvas/webgl/object-deletion-behaviour-expected.txt: Removed.
  • fast/canvas/webgl/object-deletion-behaviour.html: Removed.
11:59 AM Changeset in webkit [256757] by Jason_Lawrence
  • 2 edits in trunk/LayoutTests

[ Mac wk2 Release ] fast/scrolling/latching/scroll-iframe-fragment.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=207848

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
11:50 AM Changeset in webkit [256756] by pvollan@apple.com
  • 20 edits
    4 adds in trunk

Use CF prefs direct mode in the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=203420

Reviewed by Brent Fulgham.

Source/WebCore:

Add Internals functions to read preferences.

API tests: Tests added in PreferenceChanges.mm.

  • testing/Internals.cpp:

(WebCore::Internals::readPreferenceInteger):
(WebCore::Internals::encodedPreferenceValue):

  • testing/Internals.h:
  • testing/Internals.idl:
  • testing/Internals.mm:

(WebCore::Internals::encodedPreferenceValue):

Source/WebCore/PAL:

Add SPI to enable CF prefs direct mode and declare method called when preference are changed.

  • PAL.xcodeproj/project.pbxproj:
  • pal/spi/cf/CFUtilitiesSPI.h:
  • pal/spi/cocoa/NSUserDefaultsSPI.h: Added.

Source/WebKit:

Enable CF prefs direct mode, in order to avoid connecting to the CF prefs daemon in the WebContent process.
In direct mode, the prefs files will be accessed directly, and not through the CF prefs daemon. A preference
observer is added in the UI process, which will notify the WebContent process about preferences changes to a
domain. After a preference change, the WebContent process will set the new preference value for the changed
key/domain.

API tests: Tests added in PreferenceChanges.mm.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
  • Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:

(WebKit::XPCServiceMain):

  • UIProcess/Cocoa/PreferenceObserver.h: Added.

(attribute):

  • UIProcess/Cocoa/PreferenceObserver.mm: Added.

(-[WKUserDefaults _notifyObserversOfChangeFromValuesForKeys:toValuesForKeys:]):
(-[WKUserDefaults observeValueForKeyPath:ofObject:change:context:]):
(-[WKUserDefaults initWithSuiteName:]):
(+[WKPreferenceObserver sharedInstance]):
(-[WKPreferenceObserver init]):
(-[WKPreferenceObserver preferenceDidChange:key:encodedValue:]):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::notifyPreferencesChanged):

  • UIProcess/WebProcessPool.h:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::notifyPreferencesChanged):

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

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm: Added.

(TEST):

11:40 AM Changeset in webkit [256755] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

EWS should be able to file Bugzilla bugs
https://bugs.webkit.org/show_bug.cgi?id=207845

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/ews-build/steps.py:

(BugzillaMixin.create_bug): Method to file bugzilla bug using bugzilla REST API.

11:28 AM Changeset in webkit [256754] by Russell Epstein
  • 54 edits
    4 deletes in branches/safari-609.1.19-branch

Revert r256385. rdar://problem/59408870

11:28 AM Changeset in webkit [256753] by Russell Epstein
  • 5 edits in branches/safari-609.1.19-branch/Source/WebKit

Cherry-pick r256396. rdar://problem/59298180

Unreviewed, revert r255662 as it seems to cause blank views in SVC.
https://bugs.webkit.org/show_bug.cgi?id=207144
<rdar://problem/59334011>

  • UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::initializeNewWebProcess):
  • WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeWebProcess):
  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:

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

11:28 AM Changeset in webkit [256752] by Russell Epstein
  • 4 edits in branches/safari-609.1.19-branch

Cherry-pick r256317. rdar://problem/59408870

REGRESSION (r256009): [ Mojave wk2 Debug ] ASSERTION FAILED: Completion handler should always be called under WebKit::WebMDNSRegister::PendingRegistration
https://bugs.webkit.org/show_bug.cgi?id=207521
<rdar://problem/59331313>

Reviewed by Eric Carlson.

Source/WebKit:

Covered by debug assertion not hit in layout tests.

  • WebProcess/Network/webrtc/WebMDNSRegister.cpp: (WebKit::WebMDNSRegister::finishedRegisteringMDNSName): Call completion handler even if the document entry has been cleared, which can happen in suspend/destruction case. If the entry is not there, all MDNS names for the document have been unregistered. We then report a registration error.

LayoutTests:

  • platform/mac-wk2/TestExpectations:

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

11:28 AM Changeset in webkit [256751] by Russell Epstein
  • 2 edits in branches/safari-609.1.19-branch/LayoutTests

Cherry-pick r256231. rdar://problem/59408870

Regression: (r256009?) [ Mojave wk2 Debug ] webrtc/peerconnection-page-cache-long.html is crashing.
https://bugs.webkit.org/show_bug.cgi?id=207521

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:

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

11:24 AM Changeset in webkit [256750] by dino@apple.com
  • 3 edits in trunk/LayoutTests

Removing expectations for tests that no longer exist + fixing a typo.

  • platform/ios-wk2/TestExpectations:
  • platform/ios/TestExpectations:
11:23 AM Changeset in webkit [256749] by youenn@apple.com
  • 12 edits in trunk/Source

Do not send the client URL to network process
https://bugs.webkit.org/show_bug.cgi?id=207803

Reviewed by Darin Adler.

Source/WebCore:

Instead of sending the client URL through threads and IPC, we can retrieve it in NetworkProcess from the client identifier.
Implement this, as this is more efficient and safer.
No change of behavior.

  • workers/service/SWClientConnection.h:
  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::unregisterRegistration):

  • workers/service/WorkerSWClientConnection.cpp:

(WebCore::WorkerSWClientConnection::scheduleUnregisterJobInServer):

  • workers/service/WorkerSWClientConnection.h:
  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::scheduleUnregisterJob):

  • workers/service/server/SWServer.h:

Source/WebKit:

  • NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::scheduleUnregisterJobInServer):

  • NetworkProcess/ServiceWorker/WebSWServerConnection.h:
  • NetworkProcess/ServiceWorker/WebSWServerConnection.messages.in:
  • WebProcess/Storage/WebSWClientConnection.cpp:

(WebKit::WebSWClientConnection::scheduleUnregisterJobInServer):

  • WebProcess/Storage/WebSWClientConnection.h:
11:17 AM Changeset in webkit [256748] by Alan Coon
  • 8 edits in branches/safari-609-branch/Source

Versioning.

11:13 AM Changeset in webkit [256747] by Alan Coon
  • 4 edits in branches/safari-609-branch

Revert r256693. rdar://problem/59478981

10:52 AM Changeset in webkit [256746] by achristensen@apple.com
  • 2 edits in branches/safari-609-branch/Source/WebCore

Fix build after r256689

  • css/StyleProperties.h:

Add missing include that wasn't on the branch.

10:47 AM Changeset in webkit [256745] by commit-queue@webkit.org
  • 16 edits in trunk/Source

a lot gcc warnings because of %{public}s format specifier
https://bugs.webkit.org/show_bug.cgi?id=207478

Patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com> on 2020-02-17
Reviewed by Darin Adler.

Add PUBLIC_LOG_STRING macro which is defined depending on if
os_log()[1] is used or rather old printf().

OS Logging processes format specifiers for privacy matters, for
example dynamic strings, which demands %{public}s. But these
specifiers are not valid for printf().

Calls to logging with this specifier, if they are not Mac/Darwing
exclusive, use this new macro to avoid gcc warnings.

  1. https://developer.apple.com/documentation/os/logging?language=objc

Source/WebCore:

No new tests. Covered by existing tests.

  • loader/AdClickAttribution.cpp:

(WebCore::AdClickAttribution::parseConversionRequest):

  • platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:

(WebCore::doReleaseLogging):

  • workers/service/server/RegistrationDatabase.cpp:

(WebCore::RegistrationDatabase::openSQLiteDatabase):

Source/WebKit:

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::ResourceLoadStatisticsDatabaseStore::ResourceLoadStatisticsDatabaseStore):
(WebKit::ResourceLoadStatisticsDatabaseStore::openITPDatabase):
(WebKit::ResourceLoadStatisticsDatabaseStore::isCorrectTableSchema):
(WebKit::ResourceLoadStatisticsDatabaseStore::createUniqueIndices):
(WebKit::ResourceLoadStatisticsDatabaseStore::prepareStatements):

  • NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:

(WebKit::ResourceLoadStatisticsMemoryStore::requestStorageAccess):
(WebKit::ResourceLoadStatisticsMemoryStore::requestStorageAccessUnderOpener):
(WebKit::ResourceLoadStatisticsMemoryStore::ensurePrevalentResourcesForDebugMode):

  • NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:

(WebKit::ResourceLoadStatisticsStore::removeDataRecords):
(WebKit::ResourceLoadStatisticsStore::debugLogDomainsInBatches):

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::startNetworkLoad):
(WebKit::NetworkResourceLoader::didReceiveResponse):

  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:

(WebKit::ServiceWorkerFetchTask::didReceiveResponse):
(WebKit::ServiceWorkerFetchTask::didFail):

  • UIProcess/AuxiliaryProcessProxy.cpp:

(WebKit::AuxiliaryProcessProxy::logInvalidMessage):

  • UIProcess/ProcessThrottler.h:

(WebKit::ProcessThrottler::Activity::Activity):
(WebKit::ProcessThrottler::Activity::invalidate):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::receivedNavigationPolicyDecision):

Source/WTF:

  • wtf/Assertions.h:
  • wtf/MemoryPressureHandler.cpp:

(WTF::MemoryPressureHandler::ReliefLogger::logMemoryUsageChange):

10:33 AM Changeset in webkit [256744] by Jason_Lawrence
  • 2 edits in trunk/LayoutTests

REGRESSION: (r256232?) [ Mac wk1 Release ] resize-observer/delete-observers-in-callbacks.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=207847

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
10:31 AM Changeset in webkit [256743] by Russell Epstein
  • 8 edits in branches/safari-609.1.19-branch/Source

Versioning.

10:29 AM Changeset in webkit [256742] by pvollan@apple.com
  • 18 edits in trunk/Source

Mach lookup to com.apple.webinspector should not be allowed in WebKit's WebContent process
https://bugs.webkit.org/show_bug.cgi?id=203214

Reviewed by Brent Fulgham.

Source/JavaScriptCore:

Add static flag in RemoteInspector to indicate whether a sandbox extension is needed. The remote inspector will only be
started if the sandbox extension is not needed. Only the WebContent process will need a sandbox extension, since this
patch removes mach access to 'com.apple.webinspector' for this process. Also add name and domain for the
'Enable Remote Inspector' setting, since this will be used in the UI process.

  • inspector/remote/RemoteInspector.cpp:
  • inspector/remote/RemoteInspector.h:
  • inspector/remote/RemoteInspectorConstants.h:
  • inspector/remote/cocoa/RemoteInspectorCocoa.mm:

(Inspector::RemoteInspector::singleton):

Source/WebKit:

If the Web inspector is enabled when the WebContent process is started, a sandbox extension is created
for 'com.apple.webinspector' and a message is sent to the WebContent process, where the extension will
be consumed, and the remote Web inspector will be started. The same happens if Web inspector is enabled
by the user while Safari is running. When RemoteInspector::singleton() is called in the UI process there
is no need for an extension, since access to the Web inspector daemon is already allowed.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::backlightLevelDidChangeCallback):
(WebKit::WebProcessPool::remoteWebInspectorEnabledCallback):
(WebKit::WebProcessPool::registerNotificationObservers):
(WebKit::WebProcessPool::unregisterNotificationObservers):

  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:

(WebKit::WebProcessProxy::enableRemoteInspectorIfNeeded):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::initializeNewWebProcess):

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

(WebKit::WebProcessProxy::mayBecomeUnresponsive):

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

(WebKit::WebProcess::initializeWebProcess):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::enableRemoteWebInspector):

  • WebProcess/com.apple.WebProcess.sb.in:
10:23 AM Changeset in webkit [256741] by Russell Epstein
  • 1 copy in branches/safari-609.1.19-branch

New branch.

10:18 AM Changeset in webkit [256740] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] Add telemetry with backtrace for specific rules
https://bugs.webkit.org/show_bug.cgi?id=207494

Reviewed by Brent Fulgham.

For specific sandbox mach lookup rules in the WebContent process, add telemetry with backtrace.

No new tests, no behavior change.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
10:02 AM Changeset in webkit [256739] by Jason_Lawrence
  • 2 edits in trunk/LayoutTests

[ Mac wk2 ] storage/indexeddb/detached-iframe.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=207844

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
9:44 AM Changeset in webkit [256738] by sihui_liu@apple.com
  • 2 edits in trunk/Source/WebCore

IndexedDB: index cursor iteration is slow when there are a lot of index records from different object stores
https://bugs.webkit.org/show_bug.cgi?id=207377
<rdar://problem/59288679>

Reviewed by Brady Eidson.

Make the Index of IndexRecords table include indexID since we always perform search with indexID.
This would let SQLite optimize the index statement in SQLiteCursor with Covering Index and fix the slowness.

  • Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:

(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidIndexRecordsIndex):
(WebCore::IDBServer::v1IndexRecordsIndexSchema): Deleted.

8:48 AM Changeset in webkit [256737] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

EWS should be able to comment on Bugzilla
https://bugs.webkit.org/show_bug.cgi?id=201927

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/steps.py:

(BugzillaMixin.comment_on_bug): Method to comment on bugzilla bug.
(BugzillaMixin.remove_flags_on_patch): Drive-by fix to correctly identify failure based on status code.
(BugzillaMixin.close_bug): Ditto.
(CommentOnBug): Build step to comment on bugzilla bug.

8:45 AM Changeset in webkit [256736] by Antti Koivisto
  • 7 edits in trunk

[macOS] Add trace points for layer flush runloop observer
https://bugs.webkit.org/show_bug.cgi?id=207837

Reviewed by Sam Weinig.

Source/WebKit:

Add trace points to see how much scheduled layer flushes get delayed by timers and other runloop activities.

  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::setLayerTreeStateIsFrozen):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::setLayerTreeStateIsFrozen):

Also add trace points for layer tree freezing (iOS too).

(WebKit::TiledCoreAnimationDrawingArea::layerFlushRunLoopCallback):
(WebKit::TiledCoreAnimationDrawingArea::invalidateLayerFlushRunLoopObserver):
(WebKit::TiledCoreAnimationDrawingArea::scheduleLayerFlushRunLoopObserver):

Source/WTF:

  • wtf/SystemTracing.h:

Tools:

  • Tracing/SystemTracePoints.plist:
8:40 AM Changeset in webkit [256735] by Jason_Lawrence
  • 2 edits in trunk/LayoutTests

REGRESSION: (r256712?) [ iOS wk2 ] fast/block/block-only/floats-and-block-formatting-roots.html is crashing.
https://bugs.webkit.org/show_bug.cgi?id=207841

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
8:16 AM Changeset in webkit [256734] by Jason_Lawrence
  • 2 edits in trunk/LayoutTests

[ Mac wk2 ] webgpu/whlsl/loops-break.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=207839

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
8:03 AM Changeset in webkit [256733] by Alan Bujtas
  • 4 edits
    2 adds in trunk

[LFC] Remove ReplacedBox::m_layoutBox
https://bugs.webkit.org/show_bug.cgi?id=207830
<rdar://problem/59498829>

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/layoutformattingcontext/simple-absolute-positioned-inline-element.html

This is not needed after r256380 ([LFC] Introduce Layout::ReplacedBox).

  • layout/layouttree/LayoutReplacedBox.cpp:

(WebCore::Layout::ReplacedBox::hasIntrinsicWidth const):
(WebCore::Layout::ReplacedBox::hasIntrinsicHeight const):
(WebCore::Layout::ReplacedBox::intrinsicWidth const):
(WebCore::Layout::ReplacedBox::intrinsicHeight const):
(WebCore::Layout::ReplacedBox::hasAspectRatio const):

  • layout/layouttree/LayoutReplacedBox.h:

LayoutTests:

  • fast/layoutformattingcontext/simple-absolute-positioned-inline-element-expected.html: Added.
  • fast/layoutformattingcontext/simple-absolute-positioned-inline-element.html: Added.
7:53 AM Changeset in webkit [256732] by Alan Bujtas
  • 3 edits
    2 adds in trunk

[LFC] The initial containing block does not necessarily have in-flow content.
https://bugs.webkit.org/show_bug.cgi?id=207833
<rdar://problem/59500650>

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/layoutformattingcontext/html-is-absolute-positioned.html

When the <html> is out-of-flow positioned, the initial containing block has no in-flow direct children.

  • layout/LayoutContext.cpp:

(WebCore::Layout::LayoutContext::layoutFormattingContextSubtree):

LayoutTests:

  • fast/layoutformattingcontext/html-is-absolute-positioned-expected.html: Added.
  • fast/layoutformattingcontext/html-is-absolute-positioned.html: Added.
7:37 AM Changeset in webkit [256731] by don.olmstead@sony.com
  • 29 edits
    1 add
    1 delete in trunk

[CMake] Use builtin targets
https://bugs.webkit.org/show_bug.cgi?id=205166

Reviewed by Darin Adler.

.:

Add WebKitFindPackage.cmake which wraps CMake's find_package to provide targets
for common libraries.

Rationale:

  1. There are a number of libraries which are found using CMake's internal Find modules that contain targets but not all of them are available in the minimum version of CMake we support, 3.10.
  2. Updating to CMake 3.12 or higher is not possible due to the WebKit GTK's support policy. It looks like the next time we can bump the version is spring 2021.
  3. Apple builds, both Mac and Windows, have libraries that won't be found using the stock CMake modules. AppleWin also has internal builds where all libraries have a DEBUG_SUFFIX of _debug that would not be picked up.

In the implementation of find_package any Apple specific requirements are dealt with
and the expected CMake values are populated. For all other cases CMake's original
find_package is called so there's no behavior change. Afterwards if there is a library
that has a target but the target was not created it is created from the definitions
that are present from the find module at CMake 3.10.

This makes it so all ports consistently have targets across all versions of CMake
above the current minimum.

  • Source/cmake/OptionsAppleWin.cmake:
  • Source/cmake/OptionsPlayStation.cmake:
  • Source/cmake/WebKitCommon.cmake:
  • Source/cmake/WebKitFindPackage.cmake: Added.
  • Source/cmake/target/icu.cmake: Removed.

PerformanceTests:

  • MallocBench/MallocBench/CMakeLists.txt:

Source/WebCore:

  • CMakeLists.txt:
  • PlatformGTK.cmake:
  • PlatformMac.cmake:
  • platform/Curl.cmake:
  • platform/FreeType.cmake:
  • platform/ImageDecoders.cmake:

Source/WebCore/PAL:

  • pal/PlatformPlayStation.cmake:

Source/WebKit:

  • PlatformFTW.cmake:
  • PlatformWPE.cmake:
  • PlatformWin.cmake:

Source/WebKitLegacy:

  • PlatformFTW.cmake:
  • PlatformWin.cmake:

Source/WTF:

  • wtf/PlatformGTK.cmake:
  • wtf/PlatformJSCOnly.cmake:
  • wtf/PlatformPlayStation.cmake:
  • wtf/PlatformWPE.cmake:

Tools:

  • TestWebKitAPI/PlatformWin.cmake:
7:30 AM Changeset in webkit [256730] by clopez@igalia.com
  • 123 edits
    9 copies
    14 moves
    221 adds
    11 deletes in trunk/LayoutTests

Update WPT tests for encoding
https://bugs.webkit.org/show_bug.cgi?id=207644

Rubber-stamped by Youenn Fablet.

LayoutTests/imported/w3c:

Update from WPT ToT (c8671a2d15)

On top of the automatic import this:

  • removes imported/w3c/web-platform-tests/encoding/reftest.list and moves the -ref.html expectations to -expected.html (see bug 203783)
  • manually fixes the broken imported tests with byte truncated secuences (see bug 207731)
  • manually fixes the test resources of imported/w3c/web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-decode* (see bug 207736)
  • web-platform-tests/encoding/META.yml: Added.
  • web-platform-tests/encoding/OWNERS: Removed.
  • web-platform-tests/encoding/api-basics.any-expected.txt: Added.
  • web-platform-tests/encoding/api-basics.any.html: Added.
  • web-platform-tests/encoding/api-basics.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/api-basics.html.
  • web-platform-tests/encoding/api-basics.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/api-basics.any.worker.html: Added.
  • web-platform-tests/encoding/api-invalid-label.any-expected.txt: Added.
  • web-platform-tests/encoding/api-invalid-label.any.html: Added.
  • web-platform-tests/encoding/api-invalid-label.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/api-invalid-label.html.

(tests.forEach):

  • web-platform-tests/encoding/api-invalid-label.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/api-invalid-label.any.worker.html: Added.
  • web-platform-tests/encoding/api-replacement-encodings.any-expected.txt: Added.
  • web-platform-tests/encoding/api-replacement-encodings.any.html: Added.
  • web-platform-tests/encoding/api-replacement-encodings.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/api-replacement-encodings.html.

(encodings_table.forEach):

  • web-platform-tests/encoding/api-replacement-encodings.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/api-replacement-encodings.any.worker.html: Added.
  • web-platform-tests/encoding/api-surrogates-utf8.any-expected.txt: Added.
  • web-platform-tests/encoding/api-surrogates-utf8.any.html: Added.
  • web-platform-tests/encoding/api-surrogates-utf8.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/api-surrogates-utf8.html.

(badStrings.forEach):

  • web-platform-tests/encoding/api-surrogates-utf8.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/api-surrogates-utf8.any.worker.html: Added.
  • web-platform-tests/encoding/big5-encoder-expected.txt:
  • web-platform-tests/encoding/big5-encoder.html:
  • web-platform-tests/encoding/encodeInto.any-expected.txt: Added.
  • web-platform-tests/encoding/encodeInto.any.html: Added.
  • web-platform-tests/encoding/encodeInto.any.js: Added.

(forEach.testData.forEach.destinationData.string_appeared_here.forEach.arrayBufferOrSharedArrayBuffer.test):
(Float64Array.forEach.view.string_appeared_here.forEach):
(string_appeared_here.forEach):
(test):

  • web-platform-tests/encoding/encodeInto.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/encodeInto.any.worker.html: Added.
  • web-platform-tests/encoding/eof-shift_jis-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/eof-shift_jis-ref.html.
  • web-platform-tests/encoding/eof-utf-8-one-ref.html: Removed.
  • web-platform-tests/encoding/eof-utf-8-three-ref.html: Removed.
  • web-platform-tests/encoding/eof-utf-8-two-ref.html: Removed.
  • web-platform-tests/encoding/gbk-encoder-expected.txt:
  • web-platform-tests/encoding/gbk-encoder.html:
  • web-platform-tests/encoding/idlharness.any-expected.txt: Added.
  • web-platform-tests/encoding/idlharness.any.html: Added.
  • web-platform-tests/encoding/idlharness.any.js: Added.
  • web-platform-tests/encoding/idlharness.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/idlharness.any.worker.html: Added.
  • web-platform-tests/encoding/idlharness.html: Removed.
  • web-platform-tests/encoding/iso-2022-jp-decoder.any-expected.txt: Added.
  • web-platform-tests/encoding/iso-2022-jp-decoder.any.html: Added.
  • web-platform-tests/encoding/iso-2022-jp-decoder.any.js: Added.

(decode):

  • web-platform-tests/encoding/iso-2022-jp-decoder.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/iso-2022-jp-decoder.any.worker.html: Added.
  • web-platform-tests/encoding/iso-2022-jp-decoder.html: Removed.
  • web-platform-tests/encoding/iso-2022-jp-encoder-expected.txt:
  • web-platform-tests/encoding/iso-2022-jp-encoder.html:
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-decode-cseucpkdfmtjapanese-expected.txt: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-decode-cseucpkdfmtjapanese.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-decode-errors-expected.txt: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-decode-errors.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-decode-expected.txt: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-decode-x-euc-jp-expected.txt: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-decode-x-euc-jp.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-decode.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-decoder.js: Added.

(dec2char):
(eucjpDecoder):

  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-cseucpkdfmtjapanese-expected.txt: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-cseucpkdfmtjapanese.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-cseucpkdfmtjapanese.html.headers: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-errors-han-expected.txt: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-errors-han.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-errors-han.html.headers: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-errors-hangul-expected.txt: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-errors-hangul.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-errors-hangul.html.headers: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-errors-misc-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-misc-expected.txt.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-errors-misc.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-errors-misc.html.headers: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-expected.txt: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-x-euc-jp-expected.txt: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-x-euc-jp.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-x-euc-jp.html.headers: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form.html.headers: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href-errors-han-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-han-expected.txt.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href-errors-han.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href-errors-han.html.headers: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href-errors-hangul-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-hangul-expected.txt.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href-errors-hangul.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href-errors-hangul.html.headers: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href-errors-misc-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-misc-expected.txt.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href-errors-misc.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href-errors-misc.html.headers: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href-expected.txt: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href.html.headers: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encoder.js: Added.

(chars2cps):
(eucjpEncoder):
(convertToHex):
(normalizeStr):

  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp_chars-cseucpkdfmtjapanese.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp_chars-cseucpkdfmtjapanese.html.headers: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp_chars-x-euc-jp.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp_chars-x-euc-jp.html.headers: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp_chars.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp_chars.html.headers: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp_errors.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp_errors.html.headers: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/jis0208_index.js: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/jis0212_index.js: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/euc-jp/w3c-import.log: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-decode-csiso2022jp-expected.txt: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-decode-csiso2022jp.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-decode-errors-expected.txt: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-decode-errors.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-decode-expected.txt: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-decode.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-decoder.js: Added.

(dec2char):
(getIndexPtr):
(iso2022jpDecoder):

  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-csiso2022jp-expected.txt: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-csiso2022jp.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-csiso2022jp.html.headers: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-han-expected.txt: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-han.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-han.html.headers: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-hangul-expected.txt: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-hangul.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-hangul.html.headers: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-misc-expected.txt: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-misc.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-misc.html.headers: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-stateful-expected.txt: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-stateful.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-expected.txt: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form.html.headers: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href-errors-han-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-han-expected.txt.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href-errors-han.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href-errors-han.html.headers: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href-errors-hangul-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-hangul-expected.txt.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href-errors-hangul.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href-errors-hangul.html.headers: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href-errors-misc-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-misc-expected.txt.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href-errors-misc.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href-errors-misc.html.headers: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href-expected.txt: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href.html.headers: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encoder.js: Added.

(chars2cps):
(iso2022jpEncoder):
(convertToHex):
(normalizeStr):

  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp_errors.html: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp_errors.html.headers: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/jis0208_index.js: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/w3c-import.log: Added.
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-csshiftjis.html:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-errors.html:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-ms932.html:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-ms_kanji.html:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-shift-jis.html:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-sjis.html:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-windows-31j.html:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-x-sjis.html:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode.html:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decoder.js:

(sjisDecoder):

  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-csshiftjis.html:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-errors-han-expected.txt:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-errors-han.html:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-errors-hangul.html:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-errors-misc-expected.txt:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-errors-misc.html:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-ms932.html:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-ms_kanji.html:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-shift-jis.html:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-sjis.html:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-windows-31j.html:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-x-sjis.html:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form.html:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-han-expected.txt:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-han.html:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-hangul-expected.txt:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-hangul.html:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-misc-expected.txt:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-misc.html:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href.html:
  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encoder.js:

(sjisEncoder):

  • web-platform-tests/encoding/legacy-mb-japanese/shift_jis/w3c-import.log:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-cseuckr.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-csksc56011987.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-iso-ir-149.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-korean.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-ks_c_5601-1987.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-ks_c_5601-1989.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-ksc5601.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-ksc_5601.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-windows-949.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decoder.js:

(euckrDecoder):

  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-cseuckr.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-csksc56011987.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-errors-han-expected.txt:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-errors-han.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-errors-hangul-expected.txt: Removed.
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-errors-hangul.html: Removed.
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-errors-hangul.html.headers: Removed.
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-errors-misc-expected.txt:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-errors-misc.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-iso-ir-149.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-korean.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-ks_c_5601-1987.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-ks_c_5601-1989.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-ksc5601.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-ksc_5601.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-windows-949.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-href-errors-han-expected.txt:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-href-errors-han.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-href-errors-misc-expected.txt:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-href-errors-misc.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-href-expected.txt:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-href.html:
  • web-platform-tests/encoding/legacy-mb-korean/euc-kr/w3c-import.log:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-decode-big5-hkscs.html:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-decode-cn-big5.html:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-decode-csbig5.html:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-decode-extra.html:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-decode-x-x-big5.html:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-decode.html:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-decoder.js:

(big5Decoder):

  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-enc-ascii-expected.txt:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-enc-ascii.html:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-big5-hkscs-expected.txt:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-big5-hkscs.html:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-cn-big5-expected.txt:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-cn-big5.html:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-csbig5-expected.txt:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-csbig5.html:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-extBa-expected.txt:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-extBa.html:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-extBb.html:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-han-expected.txt:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-han.html:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-hangul.html:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-misc-expected.txt:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-misc.html:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-pua.html:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-expected.txt:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-x-x-big5-expected.txt:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-x-x-big5.html:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form.html:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-href-errors-han.html:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-href-errors-hangul.html:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-href-errors-misc.html:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-href-expected.txt:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-href.html:
  • web-platform-tests/encoding/legacy-mb-tchinese/big5/w3c-import.log:
  • web-platform-tests/encoding/reftest.list: Removed.
  • web-platform-tests/encoding/remove-only-one-bom-expected.txt: Added.
  • web-platform-tests/encoding/remove-only-one-bom.html: Added.
  • web-platform-tests/encoding/resources/decode-common.js: Added.

(showNodes):

  • web-platform-tests/encoding/resources/encode-form-common.js: Copied from LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-sjis.html.

(setup):
(runNext.iframe.onload):

  • web-platform-tests/encoding/resources/encode-href-common.js: Added.

(encode):

  • web-platform-tests/encoding/resources/ranges.js: Added.
  • web-platform-tests/encoding/resources/single-byte-raw.py:

(main):

  • web-platform-tests/encoding/resources/two-boms-utf-16be.html: Added.
  • web-platform-tests/encoding/resources/two-boms-utf-16le.html: Added.
  • web-platform-tests/encoding/resources/two-boms-utf-8.html: Added.
  • web-platform-tests/encoding/resources/utf-32-big-endian-bom.html:
  • web-platform-tests/encoding/resources/utf-32-big-endian-bom.xml:
  • web-platform-tests/encoding/resources/utf-32-big-endian-nobom.html:
  • web-platform-tests/encoding/resources/utf-32-big-endian-nobom.xml:
  • web-platform-tests/encoding/resources/utf-32-little-endian-bom.html:
  • web-platform-tests/encoding/resources/utf-32-little-endian-bom.xml:
  • web-platform-tests/encoding/resources/utf-32-little-endian-nobom.html:
  • web-platform-tests/encoding/resources/utf-32-little-endian-nobom.xml:
  • web-platform-tests/encoding/resources/w3c-import.log:
  • web-platform-tests/encoding/single-byte-decoder.html:
  • web-platform-tests/encoding/sniffing-expected.txt: Added.
  • web-platform-tests/encoding/sniffing.html: Added.
  • web-platform-tests/encoding/streams/backpressure.any.js: Added.

(input.new.Uint8Array):

  • web-platform-tests/encoding/streams/backpressure.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/streams/backpressure.any.worker.html: Added.
  • web-platform-tests/encoding/streams/decode-attributes.any.js: Added.

(const.label.of.Object.keys):
(null.test):
(null.setting.fatal.to.string_appeared_here.should.set the):
(null.setting.ignoreBOM.to.string_appeared_here.should.set the):
(string_appeared_here.setting.fatal.to.string_appeared_here.should.set the):
(string_appeared_here.setting.ignoreBOM.to.string_appeared_here.should.set the):

  • web-platform-tests/encoding/streams/decode-attributes.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/streams/decode-attributes.any.worker.html: Added.
  • web-platform-tests/encoding/streams/decode-bad-chunks.any.js: Added.

(const.chunk.of.badChunks.promise_test.async t):

  • web-platform-tests/encoding/streams/decode-bad-chunks.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/streams/decode-bad-chunks.any.worker.html: Added.
  • web-platform-tests/encoding/streams/decode-ignore-bom.any.js: Added.

(async pipeAndAssemble):

  • web-platform-tests/encoding/streams/decode-ignore-bom.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/streams/decode-ignore-bom.any.worker.html: Added.
  • web-platform-tests/encoding/streams/decode-incomplete-input.any.js: Added.

(promise_test.async t):

  • web-platform-tests/encoding/streams/decode-incomplete-input.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/streams/decode-incomplete-input.any.worker.html: Added.
  • web-platform-tests/encoding/streams/decode-non-utf8.any.js: Added.

(const.encoding.of.encodings.promise_test.async const):
(const.encoding.of.encodings.promise_test):
(const.encoding.of.encodings.promise_test.async t):

  • web-platform-tests/encoding/streams/decode-non-utf8.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/streams/decode-non-utf8.any.worker.html: Added.
  • web-platform-tests/encoding/streams/decode-split-character.any.js: Added.
  • web-platform-tests/encoding/streams/decode-split-character.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/streams/decode-split-character.any.worker.html: Added.
  • web-platform-tests/encoding/streams/decode-utf8.any.js: Added.

(string_appeared_here.forEach.async promise_test):
(string_appeared_here.forEach):
(async promise_test):

  • web-platform-tests/encoding/streams/decode-utf8.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/streams/decode-utf8.any.worker.html: Added.
  • web-platform-tests/encoding/streams/encode-bad-chunks.any.js: Added.

(promise_test.t.const.writePromise.writer.write.toString):

  • web-platform-tests/encoding/streams/encode-bad-chunks.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/streams/encode-bad-chunks.any.worker.html: Added.
  • web-platform-tests/encoding/streams/encode-utf8.any.js: Added.

(of.testCases.promise_test.async const):
(of.testCases.promise_test):

  • web-platform-tests/encoding/streams/encode-utf8.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/streams/encode-utf8.any.worker.html: Added.
  • web-platform-tests/encoding/streams/readable-writable-properties.any.js: Added.

(test):

  • web-platform-tests/encoding/streams/readable-writable-properties.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/streams/readable-writable-properties.any.worker.html: Added.
  • web-platform-tests/encoding/streams/realms.window-expected.txt: Added.
  • web-platform-tests/encoding/streams/realms.window.html: Added.
  • web-platform-tests/encoding/streams/realms.window.js: Added.

(createRealm):
(async createRealms):
(const.id):
(evalInRealm):
(async evalInRealmAndWait):
(async evalInRealmAndReturn):
(async constructAndStore):
(readInReadRealm):
(writeInWriteRealm):
(window.onload):
(runGenericTests.async promise_test):
(async runTextEncoderStreamTests.async promise_test):
(async runTextEncoderStreamTests):
(async runTextDecoderStreamTests.async promise_test):
(async runTextDecoderStreamTests):

  • web-platform-tests/encoding/streams/resources/readable-stream-from-array.js: Added.

(readableStreamFromArray):

  • web-platform-tests/encoding/streams/resources/readable-stream-to-array.js: Added.

(readableStreamToArray):

  • web-platform-tests/encoding/streams/resources/w3c-import.log: Added.
  • web-platform-tests/encoding/streams/w3c-import.log: Added.
  • web-platform-tests/encoding/textdecoder-byte-order-marks.any-expected.txt: Added.
  • web-platform-tests/encoding/textdecoder-byte-order-marks.any.html: Added.
  • web-platform-tests/encoding/textdecoder-byte-order-marks.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/textdecoder-byte-order-marks.html.

(testCases.forEach):

  • web-platform-tests/encoding/textdecoder-byte-order-marks.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/textdecoder-byte-order-marks.any.worker.html: Added.
  • web-platform-tests/encoding/textdecoder-copy.any-expected.txt:
  • web-platform-tests/encoding/textdecoder-copy.any.js:

(string_appeared_here.forEach.arrayBufferOrSharedArrayBuffer.test):

  • web-platform-tests/encoding/textdecoder-copy.any.worker-expected.txt:
  • web-platform-tests/encoding/textdecoder-fatal-single-byte.any-expected.txt: Added.
  • web-platform-tests/encoding/textdecoder-fatal-single-byte.any.html: Added.
  • web-platform-tests/encoding/textdecoder-fatal-single-byte.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/textdecoder-fatal-single-byte.html.

(singleByteEncodings.forEach):

  • web-platform-tests/encoding/textdecoder-fatal-single-byte.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/textdecoder-fatal-single-byte.any.worker.html: Added.
  • web-platform-tests/encoding/textdecoder-fatal-streaming.any-expected.txt: Added.
  • web-platform-tests/encoding/textdecoder-fatal-streaming.any.html: Added.
  • web-platform-tests/encoding/textdecoder-fatal-streaming.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/textdecoder-fatal-streaming.html.

(test):

  • web-platform-tests/encoding/textdecoder-fatal-streaming.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/textdecoder-fatal-streaming.any.worker.html: Added.
  • web-platform-tests/encoding/textdecoder-fatal.any-expected.txt: Added.
  • web-platform-tests/encoding/textdecoder-fatal.any.html: Added.
  • web-platform-tests/encoding/textdecoder-fatal.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/textdecoder-fatal.html.

(bad.forEach):
(test):

  • web-platform-tests/encoding/textdecoder-fatal.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/textdecoder-fatal.any.worker.html: Added.
  • web-platform-tests/encoding/textdecoder-ignorebom.any-expected.txt: Added.
  • web-platform-tests/encoding/textdecoder-ignorebom.any.html: Added.
  • web-platform-tests/encoding/textdecoder-ignorebom.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/textdecoder-ignorebom.html.

(cases.forEach):
(test):

  • web-platform-tests/encoding/textdecoder-ignorebom.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/textdecoder-ignorebom.any.worker.html: Added.
  • web-platform-tests/encoding/textdecoder-labels.any-expected.txt: Added.
  • web-platform-tests/encoding/textdecoder-labels.any.html: Added.
  • web-platform-tests/encoding/textdecoder-labels.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/textdecoder-labels.html.

(encodings_table.forEach):

  • web-platform-tests/encoding/textdecoder-labels.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/textdecoder-labels.any.worker.html: Added.
  • web-platform-tests/encoding/textdecoder-streaming.any-expected.txt: Added.
  • web-platform-tests/encoding/textdecoder-streaming.any.html: Added.
  • web-platform-tests/encoding/textdecoder-streaming.any.js: Added.

(string_appeared_here.forEach.):
(string_appeared_here.forEach):

  • web-platform-tests/encoding/textdecoder-streaming.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/textdecoder-streaming.any.worker.html: Added.
  • web-platform-tests/encoding/textdecoder-streaming.html: Removed.
  • web-platform-tests/encoding/textdecoder-utf16-surrogates.any-expected.txt: Added.
  • web-platform-tests/encoding/textdecoder-utf16-surrogates.any.html: Added.
  • web-platform-tests/encoding/textdecoder-utf16-surrogates.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/textdecoder-utf16-surrogates.html.

(bad.forEach):

  • web-platform-tests/encoding/textdecoder-utf16-surrogates.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/textdecoder-utf16-surrogates.any.worker.html: Added.
  • web-platform-tests/encoding/textencoder-constructor-non-utf.any-expected.txt: Added.
  • web-platform-tests/encoding/textencoder-constructor-non-utf.any.html: Added.
  • web-platform-tests/encoding/textencoder-constructor-non-utf.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/textencoder-constructor-non-utf.html.

(encodings_table.forEach):

  • web-platform-tests/encoding/textencoder-constructor-non-utf.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/textencoder-constructor-non-utf.any.worker.html: Added.
  • web-platform-tests/encoding/textencoder-utf16-surrogates.any-expected.txt: Added.
  • web-platform-tests/encoding/textencoder-utf16-surrogates.any.html: Added.
  • web-platform-tests/encoding/textencoder-utf16-surrogates.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/textencoder-utf16-surrogates.html.

(test):

  • web-platform-tests/encoding/textencoder-utf16-surrogates.any.worker-expected.txt: Added.
  • web-platform-tests/encoding/textencoder-utf16-surrogates.any.worker.html: Added.
  • web-platform-tests/encoding/utf-32-expected.txt:
  • web-platform-tests/encoding/utf-32-from-win1252-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/encoding/utf-32-expected.txt.
  • web-platform-tests/encoding/utf-32-from-win1252.html: Added.
  • web-platform-tests/encoding/utf-32.html:
  • web-platform-tests/encoding/w3c-import.log:

LayoutTests:

  • platform/gtk/imported/w3c/web-platform-tests/encoding/textdecoder-fatal-single-byte.any-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/encoding/textdecoder-fatal-single-byte.any.worker-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/encoding/textdecoder-fatal-single-byte.any-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/encoding/textdecoder-fatal-single-byte.any.worker-expected.txt: Added.
7:09 AM Changeset in webkit [256729] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews] add SetBuildSummary step for Windows EWS
https://bugs.webkit.org/show_bug.cgi?id=207556

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/factories.py:

(WindowsFactory.init):
(GTKBuildAndTestFactory.init):

  • BuildSlaveSupport/ews-build/factories_unittest.py:

(TestBuildAndTestsFactory.test_windows_factory): Added unit-test.

6:27 AM WebKitGTK/2.28.x edited by Philippe Normand
(diff)
4:07 AM Changeset in webkit [256728] by commit-queue@webkit.org
  • 6 edits
    4 adds in trunk/Source/WebCore

[Curl] Use shared single thread for WebSocket connections
https://bugs.webkit.org/show_bug.cgi?id=187984

Patch by Takashi Komori <Takashi.Komori@sony.com> on 2020-02-17
Reviewed by Fujii Hironori.

This patch suppresses invoking worker threads for websocket connections.
CurlStreamScheduler starts up to one worker thread.

No new tests. Covered by existing WebSocket tests.

  • platform/Curl.cmake:
  • platform/network/curl/CurlContext.cpp:

(WebCore::CurlContext::streamScheduler):
(WebCore::CurlHandle::getActiveSocket):
(WebCore::CurlHandle::send):
(WebCore::CurlHandle::receive):
(WebCore::CurlSocketHandle::CurlSocketHandle): Deleted.
(WebCore::CurlSocketHandle::connect): Deleted.
(WebCore::CurlSocketHandle::send): Deleted.
(WebCore::CurlSocketHandle::receive): Deleted.
(WebCore::CurlSocketHandle::wait): Deleted.

  • platform/network/curl/CurlContext.h:
  • platform/network/curl/CurlStream.cpp: Added.

(WebCore::CurlStream::CurlStream):
(WebCore::CurlStream::~CurlStream):
(WebCore::CurlStream::destroyHandle):
(WebCore::CurlStream::send):
(WebCore::CurlStream::appendMonitoringFd):
(WebCore::CurlStream::tryToTransfer):
(WebCore::CurlStream::tryToReceive):
(WebCore::CurlStream::tryToSend):
(WebCore::CurlStream::notifyFailure):

  • platform/network/curl/CurlStream.h: Added.

(WebCore::CurlStream::create):

  • platform/network/curl/CurlStreamScheduler.cpp: Added.

(WebCore::CurlStreamScheduler::CurlStreamScheduler):
(WebCore::CurlStreamScheduler::~CurlStreamScheduler):
(WebCore::CurlStreamScheduler::createStream):
(WebCore::CurlStreamScheduler::destroyStream):
(WebCore::CurlStreamScheduler::send):
(WebCore::CurlStreamScheduler::callOnWorkerThread):
(WebCore::CurlStreamScheduler::callClientOnMainThread):
(WebCore::CurlStreamScheduler::startThreadIfNeeded):
(WebCore::CurlStreamScheduler::stopThreadIfNoMoreJobRunning):
(WebCore::CurlStreamScheduler::executeTasks):
(WebCore::CurlStreamScheduler::workerThread):

  • platform/network/curl/CurlStreamScheduler.h: Added.
  • platform/network/curl/SocketStreamHandleImpl.h:

(WebCore::SocketStreamHandleImpl::isStreamInvalidated):

  • platform/network/curl/SocketStreamHandleImplCurl.cpp:

(WebCore::SocketStreamHandleImpl::SocketStreamHandleImpl):
(WebCore::SocketStreamHandleImpl::~SocketStreamHandleImpl):
(WebCore::SocketStreamHandleImpl::platformSendInternal):
(WebCore::SocketStreamHandleImpl::platformClose):
(WebCore::SocketStreamHandleImpl::didOpen):
(WebCore::SocketStreamHandleImpl::didSendData):
(WebCore::SocketStreamHandleImpl::didReceiveData):
(WebCore::SocketStreamHandleImpl::didFail):
(WebCore::SocketStreamHandleImpl::destructStream):
(WebCore::SocketStreamHandleImpl::threadEntryPoint): Deleted.
(WebCore::SocketStreamHandleImpl::handleError): Deleted.
(WebCore::SocketStreamHandleImpl::stopThread): Deleted.
(WebCore::SocketStreamHandleImpl::callOnWorkerThread): Deleted.
(WebCore::SocketStreamHandleImpl::executeTasks): Deleted.

2:54 AM Changeset in webkit [256727] by berto@igalia.com
  • 5 edits in trunk

[WPE] Change the QML plugin install path
https://bugs.webkit.org/show_bug.cgi?id=207761

Reviewed by Philippe Normand.

Source/WebKit:

This way there's no need to set QML2_IMPORT_PATH manually.

  • PlatformWPE.cmake:

Tools:

  • Scripts/run-qt-wpe-minibrowser:
  • glib/api_test_runner.py:

(TestRunner._run_test_qt):

2:13 AM Changeset in webkit [256726] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebCore

[WPE] Use custom theme style to render buttons
https://bugs.webkit.org/show_bug.cgi?id=207471

Reviewed by Adrian Perez de Castro.

This includes push, check and radio buttons.

  • platform/wpe/RenderThemeWPE.cpp:

(WebCore::RenderThemeWPE::supportsFocusRing const): Return true for buttons.
(WebCore::RenderThemeWPE::paintMenuList): Move mthe code to Theme and use ThemeWPE::paintButton() +
ThemeWPE::paintFocus().

  • platform/wpe/ThemeWPE.cpp:

(WebCore::ThemeWPE::paintFocus): Moved from RenderThemeWPE, adding the offset as a parameter.
(WebCore::ThemeWPE::paint): Remove part parameter from call to paintButton().
(WebCore::ThemeWPE::paintCheckbox):
(WebCore::ThemeWPE::paintRadio):
(WebCore::ThemeWPE::paintButton):

  • platform/wpe/ThemeWPE.h:
1:37 AM Changeset in webkit [256725] by Carlos Garcia Campos
  • 5 edits
    2 adds in trunk

Search cancel button becomes visible when there's a hover effect in CSS
https://bugs.webkit.org/show_bug.cgi?id=207328

Reviewed by Adrian Perez de Castro.

Source/WebCore:

Use a custom style resolver for search cancel button element to ensure it's always hidden when the input element
is empty.

Test: fast/forms/search-cancel-button-hover.html

  • html/shadow/TextControlInnerElements.cpp:

(WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement): Call setHasCustomStyleResolveCallbacks().
(WebCore::SearchFieldCancelButtonElement::resolveCustomStyle): Set the render style visibility depending on
input current value.

  • html/shadow/TextControlInnerElements.h:

LayoutTests:

  • fast/forms/search-cancel-button-hover-expected.html: Added.
  • fast/forms/search-cancel-button-hover.html: Added.
1:07 AM Changeset in webkit [256724] by Carlos Garcia Campos
  • 4 edits
    1 add in trunk/Source/WebCore

[WPE] Use custom theme style to render text fields
https://bugs.webkit.org/show_bug.cgi?id=207379

Reviewed by Adrian Perez de Castro.

This includes text entries, text areas and search fields. The search field icons are rendered using an extra
default style sheet for the theme, using Adwaita svg icons in the CSS.

  • PlatformWPE.cmake:
  • css/themeAdwaita.css: Added.

(input[type="search"]::-webkit-search-results-button,):
(input[type="search"]::-webkit-search-results-button:hover,):
(input[type="search"]::-webkit-search-cancel-button):
(body[dir="rtl"] input[type="search"]::-webkit-search-cancel-button):
(input[type="search"]::-webkit-search-cancel-button:hover):

  • platform/wpe/RenderThemeWPE.cpp:

(WebCore::RenderThemeWPE::supportsFocusRing const): Return true for TextFieldPart, TextAreaPart and SearchFieldPart.
(WebCore::RenderThemeWPE::extraDefaultStyleSheet): Return themeAdwaita.css.
(WebCore::RenderThemeWPE::paintTextField):
(WebCore::RenderThemeWPE::paintTextArea):
(WebCore::RenderThemeWPE::paintSearchField):

  • platform/wpe/RenderThemeWPE.h:
1:03 AM Changeset in webkit [256723] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

Updated Simplified Chinese translation
https://bugs.webkit.org/show_bug.cgi?id=207685

Patch by Yuchen Guo <egyc@live.com> on 2020-02-17
Rubber-stamped by Carlos Garcia Campos.

  • zh_CN.po:

Feb 16, 2020:

8:35 PM Changeset in webkit [256722] by Lauro Moura
  • 2 edits in trunk/LayoutTests

[GTK] More debug build timeouts gardening
https://bugs.webkit.org/show_bug.cgi?id=207831

Unreviewed test gardening.

  • platform/gtk/TestExpectations:
8:31 PM Changeset in webkit [256721] by Peng Liu
  • 4 edits
    1 delete in trunk/Source/WebCore

Remove class VideoLayerManager since it is not used
https://bugs.webkit.org/show_bug.cgi?id=207800

Reviewed by Eric Carlson.

No behavior change.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/VideoLayerManager.h: Removed.
  • platform/graphics/avfoundation/objc/VideoLayerManagerObjC.h:
  • platform/graphics/avfoundation/objc/VideoLayerManagerObjC.mm:

(WebCore::VideoLayerManagerObjC::VideoLayerManagerObjC):

6:49 PM Changeset in webkit [256720] by Fujii Hironori
  • 12 edits in trunk

Remove remaining WTF_EXPORT and WTF_IMPORT by replacing them with WTF_EXPORT_DECLARATION and WTF_IMPORT_DECLARATION
https://bugs.webkit.org/show_bug.cgi?id=207746

Reviewed by Don Olmstead.

Source/JavaScriptCore:

  • runtime/JSExportMacros.h:

Source/WebCore:

  • platform/PlatformExportMacros.h:

Source/WebCore/PAL:

Removed unused PAL_TESTSUPPORT_EXPORT.

  • pal/ExportMacros.h:

Source/WebKit:

  • WebProcess/win/WebProcessWin.cpp:

(loadResourceIntoBuffer): Removed WTF_EXPORT. loadResourceIntoBuffer is used from WebCore which is in same DLL.

Source/WTF:

I removed WTF_EXPORT from function declarations in r256420 (Bug 207453).
WTF_EXPORT is still used mostly in *ExportMacros.h. However, there is no
difference between WTF_EXPORT and WTF_EXPORT_DECLARATION.

Removed WTF_EXPORT and WTF_IMPORT by replacing them with
WTF_EXPORT_DECLARATION and WTF_IMPORT_DECLARATION

Removed unused WTF_HIDDEN.

Defined WTF_EXPORT_DECLARATION, WTF_IMPORT_DECLARATION and WTF_HIDDEN_DECLARATION empty
in case of !USE(EXPORT_MACROS) to simplify *ExportMacros.h.

  • wtf/ExportMacros.h:

Tools:

  • MiniBrowser/win/stdafx.h:
6:11 PM Changeset in webkit [256719] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

Log WebSocket failure in case of network crash
https://bugs.webkit.org/show_bug.cgi?id=207801

Reviewed by Darin Adler.

Covered by http/tests/websocket/tests/hybi/network-process-crash-error.html.

  • WebProcess/Network/WebSocketChannel.cpp:

(WebKit::WebSocketChannel::didReceiveMessageError):
(WebKit::WebSocketChannel::networkProcessCrashed):
Add a console log message in case of error coming from network process.

6:06 PM Changeset in webkit [256718] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Remove nonArgGPR1 for ARMv7 and ARM64 (unused)
https://bugs.webkit.org/show_bug.cgi?id=207753

Patch by Paulo Matos <Paulo Matos> on 2020-02-16
Reviewed by Darin Adler.

Cleanup commit - nonArgGPR1 is unused for both ARMv7
and ARM64.

  • jit/GPRInfo.h:
5:54 PM Changeset in webkit [256717] by ap@apple.com
  • 4 edits in trunk/LayoutTests

[ Mac wk2 ] fast/events/keydown-1.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=154297
https://bugs.webkit.org/show_bug.cgi?id=207785
<rdar://problem/59469424>

Reviewed by Wenson Hsieh.

  • fast/events/keydown-1.html: Attempt to deflake by using onload instead of a 200 ms timer.
  • platform/mac-wk1/TestExpectations: Removed flaky expectation.
  • platform/mac-wk2/TestExpectations: Removed flaky expectation. Also corrected a

conflict that was landed in r256656 today.

5:41 PM Changeset in webkit [256716] by Alexey Shvayka
  • 32 edits
    2 adds
    1 delete in trunk

Implement EventTarget constructor
https://bugs.webkit.org/show_bug.cgi?id=174313

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/WebIDL/ecmascript-binding/constructors-expected.txt:
  • web-platform-tests/dom/events/Event-subclasses-constructors-expected.txt:
  • web-platform-tests/dom/events/EventTarget-constructible.any-expected.txt:
  • web-platform-tests/dom/events/EventTarget-constructible.any.worker-expected.txt:
  • web-platform-tests/dom/events/event-global-extra.window-expected.txt:
  • web-platform-tests/dom/idlharness.any.worker-expected.txt:
  • web-platform-tests/dom/idlharness.window-expected.txt:

Source/WebCore:

Currently, EventTarget can't be directly constructed or be subclassed in JavaScript.
The spec for EventTarget was updated (https://github.com/whatwg/dom/pull/467) to allow
constructing and subclassing EventTarget. This feature was shipped in Chrome 64 and Firefox 59.

This patch introduces EventTargetConcrete class, a user-constructable version of EventTarget,
exposed as "EventTarget" to JavaScript. We don't use EventTarget directly because it is an abstract
class and making it non-abstract is unfavorable due to size increase of EventTarget and all of its
subclasses with code that is mostly unnecessary for them, resulting in a performance decrease.

To prevent definition of specific to EventTargetConcrete toJS and toJSNewlyCreated functions,
we don't define EventTargetConcrete interface type, but rather tweak make_event_factory.pl to
default to base interface (like it does for Event).

To allow subclassing of all DOM constructors, non-custom ones replace structures of newly created
wrapper objects with ones returned by InternalFunction::createSubclassStructure. Per WebIDL spec [1],
setSubclassStructureIfNeeded helper uses realm of newTarget for default prototypes.

This approach was chosen because a) detecting Construct with callFrame->newTarget() is
unreliable outside constructor, and b) passing newTarget down to createWrapper via
toJSNewlyCreated is quite awkward and would result in massive code change.

[1] https://heycam.github.io/webidl/#internally-create-a-new-object-implementing-the-interface
(step 3.3.2)

Tests: fast/dom/dom-constructors.html

imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/constructors.html
imported/w3c/web-platform-tests/dom/events/Event-subclasses-constructors.html
imported/w3c/web-platform-tests/dom/events/EventTarget-constructible.any.html
imported/w3c/web-platform-tests/dom/idlharness.window.html

  • Headers.cmake:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMWrapperCache.h:

(WebCore::setSubclassStructureIfNeeded):

  • bindings/js/JSEventTargetCustom.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateConstructorDefinition):

  • bindings/scripts/InFilesCompiler.pm:

(generateInterfacesHeader):

  • bindings/scripts/test/JS/*: Adjust bindings expectations.
  • dom/EventTarget.cpp:

(WebCore::EventTarget::create):

  • dom/EventTarget.h:
  • dom/EventTarget.idl:
  • dom/EventTargetConcrete.cpp: Added.
  • dom/EventTargetConcrete.h: Added.
  • dom/make_event_factory.pl:

(generateImplementation):

LayoutTests:

  • fast/dom/dom-constructors-expected.txt:
  • fast/dom/dom-constructors.html:
  • platform/ios/imported/w3c/web-platform-tests/dom/events/Event-subclasses-constructors-expected.txt: Removed.
5:35 PM Changeset in webkit [256715] by beidson@apple.com
  • 29 edits in trunk

Expose "allowsContentJavaScript" on WKWebpagePreferences
<rdar://problem/51534967> and https://bugs.webkit.org/show_bug.cgi?id=207427

Reviewed by Darin Adler.

Source/WebCore:

Covered by new API tests.

  • dom/Document.cpp:

(WebCore::Document::allowsContentJavaScript const):

  • dom/Document.h:
  • dom/ScriptableDocumentParser.cpp:

(WebCore::ScriptableDocumentParser::ScriptableDocumentParser):

  • loader/FrameLoaderClient.h:
  • loader/FrameLoaderTypes.h:
  • page/Settings.yaml:
  • xml/XMLHttpRequest.cpp: Make sure the context document is set BEFORE we parse the document contents.

Source/WebKit:

This utiizes the pre-existing WebCore::Settings::setScriptMarkupEnabled() mechanism.

This also deprecates the global "disable JavaScript" WKPreference as it doesn't make much sense anymore.

  • Shared/WebsitePoliciesData.cpp:

(WebKit::WebsitePoliciesData::encode const):
(WebKit::WebsitePoliciesData::decode):

  • Shared/WebsitePoliciesData.h:
  • UIProcess/API/APIWebsitePolicies.cpp:

(API::WebsitePolicies::data):

  • UIProcess/API/APIWebsitePolicies.h:
  • UIProcess/API/Cocoa/WKPreferences.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences encodeWithCoder:]):
(-[WKPreferences initWithCoder:]):
(-[WKPreferences javaScriptEnabled]):
(-[WKPreferences setJavaScriptEnabled:]):

  • UIProcess/API/Cocoa/WKWebpagePreferences.h:
  • UIProcess/API/Cocoa/WKWebpagePreferences.mm:

(-[WKWebpagePreferences setAllowsContentJavaScript:]):
(-[WKWebpagePreferences allowsContentJavaScript]):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::allowsContentJavaScriptFromMostRecentNavigation const):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::didReceivePolicyDecision):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updateWebsitePolicies):
(WebKit::WebPage::createDocumentLoader):

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::allowsContentJavaScriptFromMostRecentNavigation const):
(WebKit::WebPage::setAllowsContentJavaScriptFromMostRecentNavigation):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm:

(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:

(-[WebsitePoliciesNavigationDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(TEST):
(-[WebsitePoliciesNavigationDelegate _webView:decidePolicyForNavigationAction:preferences:userInfo:decisionHandler:]): Deleted.

  • TestWebKitAPI/cocoa/TestNavigationDelegate.h:
  • TestWebKitAPI/cocoa/TestNavigationDelegate.mm:

(-[TestNavigationDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(-[TestNavigationDelegate waitForDidFinishNavigationWithPreferences:]):
(-[WKWebView _test_waitForDidFinishNavigationWithPreferences:]):
(-[TestNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.

  • TestWebKitAPI/cocoa/TestWKWebView.h:
  • TestWebKitAPI/cocoa/TestWKWebView.mm:

(-[WKWebView synchronouslyLoadHTMLString:preferences:]):

1:47 PM Changeset in webkit [256714] by Wenson Hsieh
  • 1 edit
    2 adds in trunk/LayoutTests

Add a layout test for <rdar://problem/59090510>
https://bugs.webkit.org/show_bug.cgi?id=207824

Reviewed by Anders Carlsson.

Add a layout test to verify that tapping near the caret rect in a focused input field still dispatches a click
event and brings up the keyboard.

  • fast/events/ios/click-in-autofocused-input-when-tapping-near-caret-expected.txt: Added.
  • fast/events/ios/click-in-autofocused-input-when-tapping-near-caret.html: Added.
12:58 PM Changeset in webkit [256713] by dino@apple.com
  • 2 edits in trunk/LayoutTests

Fix a typo and some merge conflict markers that
were checked in a few days ago.

  • platform/mac-wk2/TestExpectations:
7:43 AM Changeset in webkit [256712] by Alan Bujtas
  • 103 edits in trunk/LayoutTests

[LFC] Enable LFC regression testing on fast/block/block-only
https://bugs.webkit.org/show_bug.cgi?id=207825
<rdar://problem/59491089>

Reviewed by Antti Koivisto.

This helps to catch full LFC regressions while working on the integration part.

  • fast/block/block-only/abs-pos-with-border-padding-and-float-child-expected.html:
  • fast/block/block-only/abs-pos-with-border-padding-and-float-child.html:
  • fast/block/block-only/absolute-auto-with-sibling-margin-bottom.html:
  • fast/block/block-only/absolute-height-stretch.html:
  • fast/block/block-only/absolute-left-auto.html:
  • fast/block/block-only/absolute-left-right-top-bottom-auto.html:
  • fast/block/block-only/absolute-nested.html:
  • fast/block/block-only/absolute-nested2.html:
  • fast/block/block-only/absolute-position-left-right-margin.html:
  • fast/block/block-only/absolute-position-min-max-height.html:
  • fast/block/block-only/absolute-position-min-max-width.html:
  • fast/block/block-only/absolute-position-when-containing-block-is-not-in-the-formatting-context.html:
  • fast/block/block-only/absolute-position-when-containing-block-is-not-in-the-formatting-context2.html:
  • fast/block/block-only/absolute-position-with-margin-auto-simple-expected.html:
  • fast/block/block-only/absolute-position-with-margin-auto-simple.html:
  • fast/block/block-only/absolute-position-with-margin-auto-simple2-expected.html:
  • fast/block/block-only/absolute-position-with-margin-auto-simple2.html:
  • fast/block/block-only/absolute-positioned-min-max-percentage-with-parent-padding-expected.html:
  • fast/block/block-only/absolute-positioned-min-max-percentage-with-parent-padding.html:
  • fast/block/block-only/absolute-simple.html:
  • fast/block/block-only/absolute-width-shrink-to-fit.html:
  • fast/block/block-only/absolute-width-stretch.html:
  • fast/block/block-only/absolute-with-static-block-position-nested.html:
  • fast/block/block-only/almost-intruding-left-float-simple.html:
  • fast/block/block-only/block-replaced-with-vertical-margins-expected.html:
  • fast/block/block-only/block-replaced-with-vertical-margins.html:
  • fast/block/block-only/body-height-with-auto-html-height-quirk.html:
  • fast/block/block-only/body-height-with-auto-html-height-quirk2.html:
  • fast/block/block-only/body-height-with-non-auto-html-height-quirk.html:
  • fast/block/block-only/body-height-with-non-auto-html-height-quirk2.html:
  • fast/block/block-only/border-simple.html:
  • fast/block/block-only/box-sizing-inflow-out-of-flow-simple.html:
  • fast/block/block-only/collapsed-margin-with-min-height.html:
  • fast/block/block-only/collapsed-through-siblings.html:
  • fast/block/block-only/collapsed-through-with-parent.html:
  • fast/block/block-only/fixed-nested.html:
  • fast/block/block-only/float-and-siblings-with-margins.html:
  • fast/block/block-only/float-avoider-multiple-roots.html:
  • fast/block/block-only/float-avoider-simple-left.html:
  • fast/block/block-only/float-avoider-simple-right.html:
  • fast/block/block-only/float-avoider-with-margins.html:
  • fast/block/block-only/float-left-when-container-has-padding-margin.html:
  • fast/block/block-only/float-min-max-height.html:
  • fast/block/block-only/float-min-max-width.html:
  • fast/block/block-only/floating-and-next-previous-inflow-with-margin-with-no-border.html:
  • fast/block/block-only/floating-and-next-previous-inflow-with-margin.html:
  • fast/block/block-only/floating-box-clear-both-simple.html:
  • fast/block/block-only/floating-box-clear-right-simple.html:
  • fast/block/block-only/floating-box-left-and-right-multiple-with-top-offset.html:
  • fast/block/block-only/floating-box-left-and-right-multiple.html:
  • fast/block/block-only/floating-box-right-simple.html:
  • fast/block/block-only/floating-box-with-clear-siblings.html:
  • fast/block/block-only/floating-box-with-clear-simple.html:
  • fast/block/block-only/floating-box-with-new-formatting-context.html:
  • fast/block/block-only/floating-box-with-relative-positioned-sibling.html:
  • fast/block/block-only/floating-left-and-right-with-clearance.html:
  • fast/block/block-only/floating-left-right-simple.html:
  • fast/block/block-only/floating-left-right-with-all-margins.html:
  • fast/block/block-only/floating-lefts-and-rights-simple.html:
  • fast/block/block-only/floating-multiple-lefts-in-body.html:
  • fast/block/block-only/floating-multiple-lefts-multiple-lines.html:
  • fast/block/block-only/floating-multiple-lefts.html:
  • fast/block/block-only/floating-with-new-block-formatting-context.html:
  • fast/block/block-only/floats-and-block-formatting-roots-expected.html:
  • fast/block/block-only/floats-and-block-formatting-roots.html:
  • fast/block/block-only/inflow-min-max-height.html:
  • fast/block/block-only/inflow-min-max-width.html:
  • fast/block/block-only/margin-collapse-bottom-bottom.html:
  • fast/block/block-only/margin-collapse-bottom-nested.html:
  • fast/block/block-only/margin-collapse-first-last-are-floating.html:
  • fast/block/block-only/margin-collapse-simple.html:
  • fast/block/block-only/margin-collapse-top-nested.html:
  • fast/block/block-only/margin-collapse-when-child-has-padding-border.html:
  • fast/block/block-only/margin-collapse-with-block-formatting-context.html:
  • fast/block/block-only/margin-collapse-with-block-formatting-context2.html:
  • fast/block/block-only/margin-collapse-with-clearance.html:
  • fast/block/block-only/margin-left-right-sizing-out-of-flow.html:
  • fast/block/block-only/margin-left-right-sizing.html:
  • fast/block/block-only/margin-propagation-simple-content-height.html:
  • fast/block/block-only/margin-sibling-collapse-propagated.html:
  • fast/block/block-only/margin-simple.html:
  • fast/block/block-only/min-max-and-preferred-width-simple-expected.html:
  • fast/block/block-only/min-max-and-preferred-width-simple.html:
  • fast/block/block-only/min-max-height-percentage.html:
  • fast/block/block-only/negative-margin-simple.html:
  • fast/block/block-only/non-auto-top-bottom-height-with-auto-margins.html:
  • fast/block/block-only/non-auto-top-bottom-height-with-margins.html:
  • fast/block/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow.html:
  • fast/block/block-only/out-of-flow-is-never-float-box-expected.html:
  • fast/block/block-only/out-of-flow-is-never-float-box.html:
  • fast/block/block-only/out-of-flow-with-containing-block-border-padding.html:
  • fast/block/block-only/padding-nested.html:
  • fast/block/block-only/padding-simple.html:
  • fast/block/block-only/relative-auto-with-parent-offset.html:
  • fast/block/block-only/relative-auto.html:
  • fast/block/block-only/relative-bottom.html:
  • fast/block/block-only/relative-position-when-containing-block-is-not-in-the-formatting-context.html:
  • fast/block/block-only/relative-right.html:
  • fast/block/block-only/relative-siblings.html:
  • fast/block/block-only/relative-simple.html:
  • fast/block/block-only/replaced-intrinsic-width-simple-expected.html:
  • fast/block/block-only/replaced-intrinsic-width-simple.html:
7:38 AM Changeset in webkit [256711] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][Float] Simplify BlockFormattingContext::usedAvailableWidthForFloatAvoider
https://bugs.webkit.org/show_bug.cgi?id=207823
<rdar://problem/59490669>

Reviewed by Antti Koivisto.

The containing block of this float avoider is either a non-avoider or a formatting context root avoider,
so we don't have to map the left position (and now LFC passes fast/block/block-only again).

  • layout/FormattingContext.cpp:

(WebCore::Layout::mapHorizontalPositionToAncestor): Deleted.
(WebCore::Layout::FormattingContext::mapTopToFormattingContextRoot const): Deleted.
(WebCore::Layout::FormattingContext::mapLeftToFormattingContextRoot const): Deleted.
(WebCore::Layout::FormattingContext::mapRightToFormattingContextRoot const): Deleted.

  • layout/FormattingContext.h:
  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::usedAvailableWidthForFloatAvoider):
(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin):

7:23 AM Changeset in webkit [256710] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][BFC] Formatting context roots position their own relative children
https://bugs.webkit.org/show_bug.cgi?id=207822
<rdar://problem/59490353>

Reviewed by Antti Koivisto.

Since FCs are responsible for positioning their relative positioned children, we
don't have to do it as part of the final positioning.

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
(WebCore::Layout::BlockFormattingContext::placeInFlowPositionedChildren):

  • layout/blockformatting/BlockFormattingContext.h:
7:18 AM Changeset in webkit [256709] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC] A box establishing an independent formatting context is not a float avoider
https://bugs.webkit.org/show_bug.cgi?id=207820
<rdar://problem/59490056>

Reviewed by Antti Koivisto.

Since the independent formatting context does not inherit the parent's floating context,
the box's content essentially ignores the floats and the box itself does not avoid them either
(aka its position is independent of the floats in the same context).

  • layout/layouttree/LayoutBox.cpp:

(WebCore::Layout::Box::isFloatAvoider const):

7:14 AM Changeset in webkit [256708] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

[LFC][Floats] FloatingContext::positionForFloat needs the horizontal constrains
https://bugs.webkit.org/show_bug.cgi?id=207818
<rdar://problem/59489777>

Reviewed by Antti Koivisto.

We need to access the containing block's geometry (horizontal constraints) to align a floating positioned
box in an empty floating context.

  • layout/floats/FloatingContext.cpp:

(WebCore::Layout::FloatingContext::positionForFloat const):

7:09 AM Changeset in webkit [256707] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][BFC] Fix horizontal/verticalConstraintsForAncestor in BlockFormattingContext::precomputeVerticalPositionForAncestors
https://bugs.webkit.org/show_bug.cgi?id=207817
<rdar://problem/59489735>

Reviewed by Antti Koivisto.

horizontalConstraintsForAncestor/verticalConstraintsForAncestor should return the constraints (containing block's content box width etc)
of the ancestor.

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::precomputeVerticalPositionForAncestors):

Note: See TracTimeline for information about the timeline view.