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

Timeline



Jul 30, 2018:

5:48 PM Changeset in webkit [234401] by Wenson Hsieh
  • 2 edits in trunk/Source/JavaScriptCore

watchOS engineering build is broken after r234227
https://bugs.webkit.org/show_bug.cgi?id=188180

Reviewed by Keith Miller.

In the case where we're building with a PLATFORM_NAME of neither "macosx" nor "iphone*",
postprocess-headers.sh attempts to delete any usage of the JSC availability macros. However,
JSC_MAC_VERSION_TBA and JSC_IOS_VERSION_TBA still remain, and JSValue.h's usage of
JSC_IOS_VERSION_TBA causes engineering watchOS builds to fail.

To fix this, simply allow the fallback path to remove these macros from JavaScriptCore headers
entirely, since there's no relevant version to replace them with.

  • postprocess-headers.sh:
5:35 PM Changeset in webkit [234400] by bshafiei@apple.com
  • 1 copy in tags/Safari-606.1.33

Tag Safari-606.1.33.

5:17 PM Changeset in webkit [234399] by bshafiei@apple.com
  • 25 edits
    4 adds
    2 deletes in branches/safari-606-branch

Revert r233926. rdar://problem/42354941

4:51 PM Changeset in webkit [234398] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews-build] Fix typo in builder name for Bindings-tests-EWS.

  • BuildSlaveSupport/ews-build/config.json: Changed 'tests' to 'Tests' to make it consistent with

other builders.

4:29 PM Changeset in webkit [234397] by aakash_jain@apple.com
  • 4 edits in trunk/Tools

[ews-build] Add support for API tests in OpenSource EWS
https://bugs.webkit.org/show_bug.cgi?id=188156

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-build/config.json:
  • BuildSlaveSupport/ews-build/factories.py:

(BuildFactory.init): Added triggers parameter.
(BuildFactory): If trigger is defined, create and upload archive and trigger appropriate queues.
(BuildFactory.propertiesToPassToTriggers): Pass all the required properties to triggered queue.
(APITestsFactory): Factory for running API tests.

  • BuildSlaveSupport/ews-build/steps.py:

(ConfigureBuild.start): Set the property only if property is defined in config.json. Also set the
source of the property.

4:23 PM Changeset in webkit [234396] by sihui_liu@apple.com
  • 14 edits in trunk/Source

Add support for fetching and remove type _WKWebsiteDataTypeHSTSCache
https://bugs.webkit.org/show_bug.cgi?id=187379
<rdar://problem/41879559>

Source/WebCore/PAL:

Reviewed by Geoffrey Garen.

  • pal/spi/cf/CFNetworkSPI.h:

Source/WebKit:

WKWebsiteDataStore should support _WKWebsiteDataTypeHSTSCache so Safari could list HSTS cache entries
and be able to remove them on a per-domain basis.

Reviewed by Geoffrey Garen.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::filterPreloadHSTSEntry):
(WebKit::NetworkProcess::getHostNamesWithHSTSCache):
(WebKit::NetworkProcess::deleteHSTSCacheForHostNames):

  • Shared/WebsiteData/WebsiteData.cpp:

(WebKit::WebsiteData::encode const):
(WebKit::WebsiteData::decode):

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

(WebKit::NetworkProcessProxy::deleteWebsiteDataForOrigins):

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

(WebKit::WebsiteDataRecord::displayNameForCookieHostName):
(WebKit::WebsiteDataRecord::displayNameForHostName):
(WebKit::WebsiteDataRecord::addHSTSCacheHostname):
(WebKit::WebsiteDataRecord::displayNameForPluginDataHostName): Deleted.

  • UIProcess/WebsiteData/WebsiteDataRecord.h:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::fetchDataAndApply):
(WebKit::WebsiteDataStore::removeData):

4:22 PM Changeset in webkit [234395] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews-build] loadConfig should ensure that the triggers are valid
https://bugs.webkit.org/show_bug.cgi?id=188134

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-build/loadConfig.py:

(checkValidBuilder): Added a check to ensure that the builder doesn't refernce non-existing scheduler.
(checkValidSchedulers): Ensures that the scheduler is not un-used.

  • BuildSlaveSupport/ews-build/loadConfig_unittest.py: Updated unit-tests.
4:10 PM Changeset in webkit [234394] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Dark Mode: Search sidebar panel text field has a white background
https://bugs.webkit.org/show_bug.cgi?id=188128
<rdar://problem/42678270>

Reviewed by Matt Baker.

Make the search bar in Search tab match the style of the filter bar.

  • UserInterface/Views/DarkMode.css:

(@media (prefers-dark-interface)):
(:matches(.search-bar, .filter-bar) > input[type="search"],):
(:matches(.search-bar, .filter-bar) > input[type="search"]::placeholder):
(:matches(.search-bar, .filter-bar) > input[type="search"]:focus):
(.filter-bar > input[type="search"]): Deleted.
(.filter-bar > input[type="search"]::placeholder): Deleted.
(.filter-bar > input[type="search"]:focus): Deleted.

4:07 PM Changeset in webkit [234393] by Simon Fraser
  • 27 edits in trunk/Source

Shrink GraphicsLayerCA
https://bugs.webkit.org/show_bug.cgi?id=188141

Reviewed by Zalan Bujtas.
Source/WebCore:

Shrink GraphicsLayerCA from 1040 to 880 bytes by:

  • moving all the clone-related stuff into the lazily-allocated m_layerClones
  • moving all the animation-related stuff into the lazily-allocated m_animations
  • making enums be 8-bit
  • re-ordering data members
  • page/cocoa/ResourceUsageOverlayCocoa.mm:

(WebCore::ResourceUsageOverlay::platformInitialize):

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::GraphicsLayer):
(WebCore::operator<<):

  • platform/graphics/GraphicsLayer.h:
  • platform/graphics/GraphicsLayerClient.h:
  • platform/graphics/WindRule.h:
  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::moveOrCopyAnimations):
(WebCore::GraphicsLayerCA::addProcessingActionForAnimation):
(WebCore::GraphicsLayerCA::setContentsToSolidColor):
(WebCore::GraphicsLayerCA::setContentsToImage):
(WebCore::GraphicsLayerCA::setContentsToPlatformLayer):
(WebCore::GraphicsLayerCA::contentsLayerForMedia const):
(WebCore::GraphicsLayerCA::layerDidDisplay):
(WebCore::layerTypeForCustomBackdropAppearance):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateGeometry):
(WebCore::GraphicsLayerCA::updateMasksToBounds):
(WebCore::GraphicsLayerCA::updateContentsVisibility):
(WebCore::GraphicsLayerCA::updateContentsOpaque):
(WebCore::GraphicsLayerCA::updateBackfaceVisibility):
(WebCore::GraphicsLayerCA::updateFilters):
(WebCore::GraphicsLayerCA::updateBackdropFilters):
(WebCore::GraphicsLayerCA::updateBackdropFiltersRect):
(WebCore::GraphicsLayerCA::ensureStructuralLayer):
(WebCore::GraphicsLayerCA::updateDrawsContent):
(WebCore::GraphicsLayerCA::updateCoverage):
(WebCore::GraphicsLayerCA::updateDebugIndicators):
(WebCore::GraphicsLayerCA::updateContentsImage):
(WebCore::GraphicsLayerCA::updateContentsPlatformLayer):
(WebCore::GraphicsLayerCA::updateContentsColorLayer):
(WebCore::GraphicsLayerCA::updateContentsRects):
(WebCore::GraphicsLayerCA::updateMasksToBoundsRect):
(WebCore::GraphicsLayerCA::updateMaskLayer):
(WebCore::GraphicsLayerCA::updateAnimations):
(WebCore::GraphicsLayerCA::isRunningTransformAnimation const):
(WebCore::GraphicsLayerCA::ensureLayerAnimations):
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):

  • platform/graphics/ca/GraphicsLayerCA.h:

(WebCore::GraphicsLayerCA::animationIsRunning const):
(WebCore::GraphicsLayerCA::primaryLayerClones const): Deleted.

  • platform/graphics/ca/PlatformCALayerClient.h:

(WebCore::PlatformCALayerClient::platformCALayerContentsOrientation const):

  • platform/graphics/ca/TileCoverageMap.h:
  • platform/graphics/ca/cocoa/PlatformCALayerCocoa.h:
  • platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:

(PlatformCALayerCocoa::PlatformCALayerCocoa):
(PlatformCALayerCocoa::requiresCustomAppearanceUpdateOnBoundsChange const):
(PlatformCALayerCocoa::updateCustomAppearance):
(PlatformCALayer::drawLayerContents):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateCustomAppearance):
(WebCore::RenderLayerBacking::updateConfiguration):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::rootBackgroundColorOrTransparencyChanged):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):

Source/WebKit:

Shrink GraphicsLayerCA from 1040 to 880 bytes by:

  • moving all the clone-related stuff into the lazily-allocated m_layerClones
  • moving all the animation-related stuff into the lazily-allocated m_animations
  • making enums be 8-bit
  • re-ordering data members
  • Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:

(WebKit::updateCustomAppearance):
(WebKit::RemoteLayerTreePropertyApplier::applyProperties):

  • Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):

  • WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::requiresCustomAppearanceUpdateOnBoundsChange const):

Source/WebKitLegacy/mac:

Shrink GraphicsLayerCA from 1040 to 880 bytes by:

  • moving all the clone-related stuff into the lazily-allocated m_layerClones
  • moving all the animation-related stuff into the lazily-allocated m_animations
  • making enums be 8-bit
  • re-ordering data members
  • WebView/WebView.mm:

(-[WebView _setMediaLayer:forPluginView:]):

3:01 PM Changeset in webkit [234392] by Kocsen Chung
  • 2 edits in branches/safari-606-branch/Source/WebKit

Revert r233925. rdar://problem/42354959

3:01 PM Changeset in webkit [234391] by Kocsen Chung
  • 2 edits in branches/safari-606-branch/Source/WebCore

Revert r233930. rdar://problem/42354941

3:01 PM Changeset in webkit [234390] by Kocsen Chung
  • 2 edits in branches/safari-606-branch/Source/WebCore

Revert r234044. rdar://problem/42433225

3:01 PM Changeset in webkit [234389] by Kocsen Chung
  • 3 edits in branches/safari-606-branch/Source/WebCore

Revert r234051. rdar://problem/42451584

3:01 PM Changeset in webkit [234388] by Kocsen Chung
  • 2 edits in branches/safari-606-branch/Source/WebCore

Revert r234078. rdar://problem/42490088

3:01 PM Changeset in webkit [234387] by Kocsen Chung
  • 2 edits in branches/safari-606-branch/Source/WebKit

Revert r234081. rdar://problem/42490080

3:01 PM Changeset in webkit [234386] by Kocsen Chung
  • 3 edits in branches/safari-606-branch/Source/WebCore

Revert r234264. rdar://problem/42650373

3:01 PM Changeset in webkit [234385] by Kocsen Chung
  • 2 edits in branches/safari-606-branch/Source/WebCore

Revert r234298. rdar://problem/42354941

2:47 PM Changeset in webkit [234384] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

REGRESSION (r230817): Terrible performance when selecting text on Stash code review
https://bugs.webkit.org/show_bug.cgi?id=188144
<rdar://problem/42642489>

Reviewed by Darin Adler.

After r230817, mouse events were serially dispatched to the web process and handled before the subsequent mouse
event. However, this resulted in rapid-fire mouse move events filling up the mouse event queue in the case where
mouse move events were being handled by the web process at a slower rate than the UI process was enqueueing
them. To mitigate this, r231511 introduced a mechanism for replacing the most recently enqueued mouse move event
with an incoming mouse move event.

However, when a user with a force-click-enabled trackpad performs a mouse drag, a rapid stream of
"mouseforcechanged" events is interleaved alongside the stream of "mousemove" events. This renders r231511
ineffective, since the most recently queued event is often a "mouseforcechanged" event instead of a "mousemove".
On the stash code review page, this can result in hundreds of mouse events being backed up in the mouse event
queue, causing perceived slowness when selecting text.

To fix this, we extend the mechanism introduced in r231511, such that it is capable of replacing both
"mouseforcechanged" and "mousemove" events in the queue. Rather than consider only the most recently queued
item, we instead find the most recently queued event that matches the type of the incoming event, remove it from
the queue, and then append the incoming event to the end of the queue. To avoid the risk of removing the only
"mousemove" or "mouseforcechanged" event in the middle of a mouse down and mouse up, we also bail when searching
backwards for an event to replace if we come across any event that is neither of these types.

This effectively throttles the rate at which mouseforcechanged or mousemove events are dispatched when a user
with force-click-enabled hardware clicks and drags the mouse across the page.

  • UIProcess/WebPageProxy.cpp:

(WebKit::removeOldRedundantEvent):
(WebKit::WebPageProxy::handleMouseEvent):

2:27 PM Changeset in webkit [234383] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Clarify conversion rules for JSValue property access API
https://bugs.webkit.org/show_bug.cgi?id=188179

Reviewed by Geoffrey Garen.

  • API/JSValue.h:
1:38 PM Changeset in webkit [234382] by webkit@devinrousso.com
  • 4 edits in trunk/Source

Add missing CoreGraphics SPI
https://bugs.webkit.org/show_bug.cgi?id=188177

Reviewed by Joseph Pecoraro.

Source/WebCore/PAL:

  • pal/spi/cg/CoreGraphicsSPI.h:

Source/WebKit:

  • WebProcess/cocoa/WebProcessCocoa.mm:
1:13 PM Changeset in webkit [234381] by keith_miller@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Rename some JSC API functions/types.
https://bugs.webkit.org/show_bug.cgi?id=188173

Reviewed by Saam Barati.

  • API/JSObjectRef.cpp:

(JSObjectHasPropertyForKey):
(JSObjectGetPropertyForKey):
(JSObjectSetPropertyForKey):
(JSObjectDeletePropertyForKey):
(JSObjectHasPropertyKey): Deleted.
(JSObjectGetPropertyKey): Deleted.
(JSObjectSetPropertyKey): Deleted.
(JSObjectDeletePropertyKey): Deleted.

  • API/JSObjectRef.h:
  • API/JSValue.h:
  • API/JSValue.mm:

(-[JSValue valueForProperty:]):
(-[JSValue setValue:forProperty:]):
(-[JSValue deleteProperty:]):
(-[JSValue hasProperty:]):
(-[JSValue defineProperty:descriptor:]):

  • API/tests/testapi.cpp:

(TestAPI::run):

1:00 PM Changeset in webkit [234380] by commit-queue@webkit.org
  • 19 edits
    2 adds in trunk

[WebGL2] Support compilation of GLSL ES version 300 shaders
https://bugs.webkit.org/show_bug.cgi?id=187982
<rdar://problem/42564229>

Patch by Justin Fan <Justin Fan> on 2018-07-30
Reviewed by Dean Jackson.

Source/WebCore:

Test: fast/canvas/webgl/webgl2-glsl3-compile.html

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::create): Rename 'useGLES3' to 'isWebGL2' (everywhere) to make more sense.

  • platform/graphics/GraphicsContext3DAttributes.h: Rename 'useGLES3' to 'isWebGL2'.
  • platform/graphics/cocoa/GraphicsContext3DCocoa.mm:

(WebCore::setPixelFormat): Back WebGL2 contexts with OpenGL 4 for full OpenGL ES 3 support.
(WebCore::GraphicsContext3D::GraphicsContext3D): Request correct GLSL output version and WebGL 2 for ANGLE shader compilation.

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::checkVaryingsPacking const): MAX_VARYING_FLOATS is deprecated in OpenGL 3+.

  • platform/graphics/texmap/GraphicsContext3DTextureMapper.cpp: Rename 'useGLES3' to 'isWebGL2'.

(WebCore::GraphicsContext3D::create):
(WebCore::GraphicsContext3D::GraphicsContext3D):

LayoutTests:

New simple test added to ensure that GLSL ES version 300 shaders compile.
Updated other test results in glsl3 to match new functionality.

  • fast/canvas/webgl/webgl2-glsl3-compile-expected.txt: Added.
  • fast/canvas/webgl/webgl2-glsl3-compile.html: Added.
  • platform/ios/TestExpectations: Skipping ios for now.
  • webgl/2.0.0/conformance2/glsl3/compound-assignment-type-combination-expected.txt:
  • webgl/2.0.0/conformance2/glsl3/forbidden-operators-expected.txt:
  • webgl/2.0.0/conformance2/glsl3/invalid-default-precision-expected.txt:
  • webgl/2.0.0/conformance2/glsl3/invalid-invariant-expected.txt:
  • webgl/2.0.0/conformance2/glsl3/misplaced-version-directive-expected.txt:
  • webgl/2.0.0/conformance2/glsl3/sampler-no-precision-expected.txt:
  • webgl/2.0.0/conformance2/glsl3/sequence-operator-returns-non-constant-expected.txt:
  • webgl/2.0.0/conformance2/glsl3/texture-offset-out-of-range-expected.txt:
  • webgl/2.0.0/conformance2/glsl3/texture-offset-uniform-texture-coordinate-expected.txt:
  • webgl/2.0.0/conformance2/glsl3/uniform-block-layout-match-expected.txt:
  • webgl/2.0.0/conformance2/glsl3/uniform-block-layouts-expected.txt:
12:56 PM Changeset in webkit [234379] by Ryan Haddad
  • 2 edits
    1 copy in trunk/LayoutTests

Rebaseline fast/forms/file/input-file-re-render.html for Mojave.

Unreviewed test gardening.

  • platform/mac-highsierra/fast/forms/file/input-file-re-render-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/file/input-file-re-render-expected.txt.
  • platform/mac/fast/forms/file/input-file-re-render-expected.txt:
12:56 PM Changeset in webkit [234378] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Update TestExpectations for mac-wk1.

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
12:52 PM Changeset in webkit [234377] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Match GraphicsContext3D with correct virtual screen using registryID
https://bugs.webkit.org/show_bug.cgi?id=188072
<rdar://problem/42634940>

Patch by Justin Fan <Justin Fan> on 2018-07-30
Reviewed by Dean Jackson.

Follow up to https://bugs.webkit.org/show_bug.cgi?id=187750. Rather than matching rendererIDs,
which can vary between processes, match GPU to display using registryID that is unique to a GPU,
which was added to CGL in MacOS 10.13.

No new tests. Manually tested on MacBookPro13,3 and iMacPro1,1 with Apple DisplayPort Cinema Display
and RX 580 external GPU.

  • platform/PlatformScreen.h:
  • platform/ScreenProperties.h:

(WebCore::ScreenData::encode const):
(WebCore::ScreenData::decode):

  • platform/graphics/cocoa/GraphicsContext3DCocoa.mm:

(WebCore::setGPUByRegistryID):
(WebCore::setGPUByDisplayMask):
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::screenDidChange):
(WebCore::identifyAndSetCurrentGPU): Deleted.

  • platform/mac/PlatformScreenMac.mm:

(WebCore::collectScreenProperties):
(WebCore::primaryRegistryID):
(WebCore::registryIDForDisplay):
(WebCore::registryIDForDisplayMask):
(WebCore::rendererIDForDisplayMask): Deleted.
(WebCore::rendererIDForDisplay): Deleted.
(WebCore::primaryRendererID): Deleted.

12:37 PM Changeset in webkit [234376] by commit-queue@webkit.org
  • 30 edits
    5 deletes in trunk/Source

Source/WebCore:
Merge PlatformCookieJar functions into NetworkStorageSession
https://bugs.webkit.org/show_bug.cgi?id=188137

Patch by Rob Buis <rbuis@igalia.com> on 2018-07-30
Reviewed by Alex Christensen.

No new tests -- no change in WebKit functionality.

  • PlatformMac.cmake: Remove CookieJarMac.mm reference
  • SourcesCocoa.txt: Remove CookieJarMac.mm reference
  • WebCore.xcodeproj/project.pbxproj:
  • loader/CookieJar.cpp: Remove PlatformCookieJar.h reference.
  • platform/Curl.cmake: Remove CookieJarCurl.cpp reference.
  • platform/SourcesSoup.txt: Remove CookieJarSoup.cpp reference.
  • platform/network/CacheValidation.cpp: Adapt callsites to use

NetworkStorageSession instead of CookieJar functions.

(WebCore::headerValueForVary):

  • platform/network/NetworkStorageSession.h: Add PlatformCookieJar

functions.

  • platform/network/PlatformCookieJar.h: Removed.
  • platform/network/SocketStreamHandleImpl.cpp: Adapt callsites to

use NetworkStorageSession instead of CookieJar functions.
(WebCore::cookieDataForHandshake):

  • platform/network/cf/CookieJarCFNet.cpp: Removed.
  • platform/network/cf/NetworkStorageSessionCFNet.cpp: Move functions

from CookieJarCFNet.cpp.
(WebCore::cookieDomain):
(WebCore::canonicalCookieTime):
(WebCore::cookieCreatedTime):
(WebCore::cookieExpirationTime):
(WebCore::cookieName):
(WebCore::cookiePath):
(WebCore::cookieValue):
(WebCore::filterCookies):
(WebCore::copyCookiesForURLWithFirstPartyURL):
(WebCore::createCookies):
(WebCore::NetworkStorageSession::setCookiesFromDOM const):
(WebCore::containsSecureCookies):
(WebCore::NetworkStorageSession::cookiesForDOM const):
(WebCore::NetworkStorageSession::cookieRequestHeaderFieldValue const):
(WebCore::NetworkStorageSession::cookiesEnabled const):
(WebCore::NetworkStorageSession::getRawCookies const):
(WebCore::NetworkStorageSession::deleteCookie const):
(WebCore::NetworkStorageSession::getHostnamesWithCookies):
(WebCore::NetworkStorageSession::deleteAllCookies):
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
(WebCore::NetworkStorageSession::deleteAllCookiesModifiedSince):

  • platform/network/cocoa/NetworkStorageSessionCocoa.mm: Move functions

from CookieJarMac.mm.
(WebCore::httpCookies):
(WebCore::deleteHTTPCookie):
(WebCore::policyProperties):
(WebCore::cookiesForURL):
(WebCore::setHTTPCookiesForURL):
(WebCore::httpCookiesForURL):
(WebCore::filterCookies):
(WebCore::applyPartitionToCookies):
(WebCore::cookiesAreBlockedForURL):
(WebCore::cookiesInPartitionForURL):
(WebCore::cookiesForSession):
(WebCore::deleteAllHTTPCookies):
(WebCore::NetworkStorageSession::cookiesForDOM const):
(WebCore::NetworkStorageSession::cookieRequestHeaderFieldValue const):
(WebCore::NetworkStorageSession::setCookiesFromDOM const):
(WebCore::httpCookieAcceptPolicy):
(WebCore::NetworkStorageSession::cookiesEnabled const):
(WebCore::NetworkStorageSession::getRawCookies const):
(WebCore::NetworkStorageSession::deleteCookie const):
(WebCore::NetworkStorageSession::getHostnamesWithCookies):
(WebCore::NetworkStorageSession::deleteAllCookies):
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
(WebCore::NetworkStorageSession::deleteAllCookiesModifiedSince):

  • platform/network/curl/CookieJarCurl.cpp: Removed.
  • platform/network/curl/CookieJarCurl.h:
  • platform/network/curl/NetworkStorageSessionCurl.cpp: Merge functions

from CookieJarCurl.cpp.
(WebCore::NetworkStorageSession::setCookiesFromDOM const):
(WebCore::NetworkStorageSession::cookiesEnabled const):
(WebCore::NetworkStorageSession::cookiesForDOM const):
(WebCore::NetworkStorageSession::deleteCookie const):
(WebCore::NetworkStorageSession::deleteAllCookies):
(WebCore::NetworkStorageSession::deleteAllCookiesModifiedSince):
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
(WebCore::NetworkStorageSession::getHostnamesWithCookies):
(WebCore::NetworkStorageSession::getRawCookies const):
(WebCore::NetworkStorageSession::cookieRequestHeaderFieldValue const):

  • platform/network/mac/CookieJarMac.mm: Removed.
  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
  • platform/network/soup/CookieJarSoup.cpp: Removed.
  • platform/network/soup/NetworkStorageSessionSoup.cpp: Merge functions

from CookieJarSoup.cpp.
(WebCore::NetworkStorageSession::cookiesEnabled const):
(WebCore::httpOnlyCookieExists):
(WebCore::NetworkStorageSession::setCookiesFromDOM const):
(WebCore::NetworkStorageSession::deleteCookie const):
(WebCore::NetworkStorageSession::deleteAllCookies):
(WebCore::NetworkStorageSession::deleteAllCookiesModifiedSince):
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
(WebCore::NetworkStorageSession::getHostnamesWithCookies):
(WebCore::NetworkStorageSession::getRawCookies const):
(WebCore::cookiesForSession):
(WebCore::NetworkStorageSession::cookiesForDOM const):
(WebCore::NetworkStorageSession::cookieRequestHeaderFieldValue const):

Source/WebKit:
https://bugs.webkit.org/show_bug.cgi?id=188137
Merge PlatformCookieJar functions into NetworkStorageSession

Adapt callsites to use NetworkStorageSession instead of CookieJar functions.

Patch by Rob Buis <rbuis@igalia.com> on 2018-07-30
Reviewed by Alex Christensen.

  • NetworkProcess/Cookies/WebCookieManager.cpp:

(WebKit::WebCookieManager::getHostnamesWithCookies):
(WebKit::WebCookieManager::deleteCookiesForHostname):
(WebKit::WebCookieManager::deleteAllCookies):
(WebKit::WebCookieManager::deleteAllCookiesModifiedSince):

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
(WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
(WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
(WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
(WebKit::NetworkConnectionToWebProcess::getRawCookies):
(WebKit::NetworkConnectionToWebProcess::deleteCookie):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::logCookieInformationInternal):

  • NetworkProcess/cache/NetworkCache.cpp:
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

Source/WebKitLegacy/mac:
Merge PlatformCookieJar functions into NetworkStorageSession
https://bugs.webkit.org/show_bug.cgi?id=188137

Adapt callsites to use NetworkStorageSession instead of CookieJar functions.

Patch by Rob Buis <rbuis@igalia.com> on 2018-07-30
Reviewed by Alex Christensen.

  • WebCoreSupport/WebPlatformStrategies.mm:

(WebPlatformStrategies::cookiesForDOM):
(WebPlatformStrategies::setCookiesFromDOM):
(WebPlatformStrategies::cookiesEnabled):
(WebPlatformStrategies::cookieRequestHeaderFieldValue):
(WebPlatformStrategies::getRawCookies):
(WebPlatformStrategies::deleteCookie):

  • WebView/WebPreferences.mm:

(+[WebPreferences _clearNetworkLoaderSession]):

Source/WebKitLegacy/win:
https://bugs.webkit.org/show_bug.cgi?id=188137
Merge PlatformCookieJar functions into NetworkStorageSession

Adapt callsites to use NetworkStorageSession instead of CookieJar functions.

Patch by Rob Buis <rbuis@igalia.com> on 2018-07-30
Reviewed by Alex Christensen.

  • WebCoreSupport/WebPlatformStrategies.cpp:

(WebPlatformStrategies::cookiesForDOM):
(WebPlatformStrategies::setCookiesFromDOM):
(WebPlatformStrategies::cookiesEnabled):
(WebPlatformStrategies::cookieRequestHeaderFieldValue):
(WebPlatformStrategies::getRawCookies):
(WebPlatformStrategies::deleteCookie):

  • WebPreferences.cpp:

(WebPreferences::clearNetworkLoaderSession):

12:12 PM Changeset in webkit [234375] by achristensen@apple.com
  • 5 edits in trunk/Source/WebKit

Add RefCounted CompletionHandler wrapping abstraction for sending policy decisions back to WebProcess
https://bugs.webkit.org/show_bug.cgi?id=188089

Reviewed by Geoffrey Garen and Said Abou-Hallawa.

This will be necessary for when I add an asynchronous parallel step to decidePolicyForNavigationAction.
We will want to wait for that asynchronous step for decidePolicyForNavigationActionSync but not for a client.

No change in behavior.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::PolicyDecisionSender::create):
(WebKit::WebPageProxy::PolicyDecisionSender::operator()):
(WebKit::WebPageProxy::PolicyDecisionSender::PolicyDecisionSender):
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::decidePolicyForNavigationActionAsync):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNavigationActionSync):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponse):

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

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

11:17 AM Changeset in webkit [234374] by Chris Dumez
  • 25 edits
    2 adds in trunk

Nullptr crash accessing Document in GenericEventQueue::dispatchOneEvent()
https://bugs.webkit.org/show_bug.cgi?id=187284

Unreviewed, roll r233496 and r233571 now that all known issues have been fixed via
dependency bugs.

Source/WebCore:

Test: media/track/video-track-addition-and-frame-removal.html

  • Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp:

(WebCore::WebKitMediaKeySession::suspend):
(WebCore::WebKitMediaKeySession::resume):
(WebCore::WebKitMediaKeySession::stop):

  • Modules/encryptedmedia/legacy/WebKitMediaKeySession.h:
  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::removeSourceBuffer):
(WebCore::MediaSource::suspend):
(WebCore::MediaSource::resume):

  • Modules/mediasource/MediaSource.h:
  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::suspend):
(WebCore::SourceBuffer::resume):
(WebCore::SourceBuffer::stop):

  • Modules/mediasource/SourceBuffer.h:
  • Modules/mediasource/SourceBufferList.cpp:

(WebCore::SourceBufferList::SourceBufferList):
(WebCore::SourceBufferList::canSuspendForDocumentSuspension const):
(WebCore::SourceBufferList::suspend):
(WebCore::SourceBufferList::resume):
(WebCore::SourceBufferList::stop):
(WebCore::SourceBufferList::activeDOMObjectName const):

  • Modules/mediasource/SourceBufferList.h:
  • Modules/mediasource/SourceBufferList.idl:
  • dom/Document.h:

(WebCore::Document::hasBrowsingContext const):

  • dom/GenericEventQueue.cpp:

(WebCore::GenericEventQueue::dispatchOneEvent):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::prepareForLoad):
(WebCore::HTMLMediaElement::selectMediaResource):
(WebCore::HTMLMediaElement::prepareToPlay):
(WebCore::HTMLMediaElement::playInternal):
(WebCore::HTMLMediaElement::pauseInternal):
(WebCore::HTMLMediaElement::sourceWasAdded):

  • html/track/AudioTrackList.cpp:

(AudioTrackList::activeDOMObjectName const):

  • html/track/AudioTrackList.h:
  • html/track/AudioTrackList.idl:
  • html/track/TextTrackList.cpp:

(TextTrackList::activeDOMObjectName const):

  • html/track/TextTrackList.h:
  • html/track/TextTrackList.idl:
  • html/track/TrackListBase.cpp:

(WebCore::TrackListBase::TrackListBase):
(WebCore::TrackListBase::canSuspendForDocumentSuspension const):
(WebCore::TrackListBase::suspend):
(WebCore::TrackListBase::resume):
(WebCore::TrackListBase::stop):

  • html/track/TrackListBase.h:
  • html/track/VideoTrackList.cpp:

(VideoTrackList::activeDOMObjectName const):

  • html/track/VideoTrackList.h:
  • html/track/VideoTrackList.idl:

LayoutTests:

  • media/track/video-track-addition-and-frame-removal-expected.txt: Added.
  • media/track/video-track-addition-and-frame-removal.html: Added.
10:16 AM Changeset in webkit [234373] by bshafiei@apple.com
  • 2 edits in branches/safari-606-branch/Source/WebKit

Cherry-pick r234369. rdar://problem/42736179

Potential null dereference under WebPage::applicationDidBecomeActive()
https://bugs.webkit.org/show_bug.cgi?id=188170
<rdar://problem/37493418>

Reviewed by Wenson Hsieh.

WebPage::m_page gets nulled out when the page is closed but the WebPage object may receive IPC
until it gets destroyed. Therefore, we need to null-check m_page before using it in IPC message
handlers.

  • WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::applicationDidEnterBackground): (WebKit::WebPage::applicationWillEnterForeground): (WebKit::WebPage::applicationDidBecomeActive):

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

10:16 AM Changeset in webkit [234372] by bshafiei@apple.com
  • 2 edits in branches/safari-606-branch/Source/WebCore

Cherry-pick r234339. rdar://problem/42736275

[iOS] Don't deactivate audio session
https://bugs.webkit.org/show_bug.cgi?id=188127
<rdar://problem/42544143>

Reviewed by Jon Lee.

r233435 includes a change that deactivates the shared audio session when there are no more
active media sessions. This is a good in WK2 because it allows other applications to resume
playing audio when WebKit stops playing, but it is potentially bad in WK1 where the host
app may also be playing audio.

  • platform/audio/PlatformMediaSessionManager.cpp: (WebCore::PlatformMediaSessionManager::removeSession): Don't deactivate the audio session.

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

10:14 AM Changeset in webkit [234371] by david_fenton@apple.com
  • 5 edits in trunk/Source/WebKit

Unreviewed, rolling out r234327.

Caused 2 crashes on macOS and iOS debug API tests

Reverted changeset:

"Add RefCounted CompletionHandler wrapping abstraction for
sending policy decisions back to WebProcess"
https://bugs.webkit.org/show_bug.cgi?id=188089
https://trac.webkit.org/changeset/234327

9:53 AM Changeset in webkit [234370] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed internal build fix after r234347.

  • html/StepRange.cpp:

(WebCore::StepRange::StepRange):

9:50 AM Changeset in webkit [234369] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Potential null dereference under WebPage::applicationDidBecomeActive()
https://bugs.webkit.org/show_bug.cgi?id=188170
<rdar://problem/37493418>

Reviewed by Wenson Hsieh.

WebPage::m_page gets nulled out when the page is closed but the WebPage object may receive IPC
until it gets destroyed. Therefore, we need to null-check m_page before using it in IPC message
handlers.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::applicationDidEnterBackground):
(WebKit::WebPage::applicationWillEnterForeground):
(WebKit::WebPage::applicationDidBecomeActive):

9:36 AM Changeset in webkit [234368] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Shrink GraphicsLayer by making m_transform and m_childrenTransform be unique_ptrs
https://bugs.webkit.org/show_bug.cgi?id=188143

Reviewed by Zalan Bujtas.

m_transform and m_childrenTransform are usually identity; save space by making
these unique_ptrs. The getters still return references by returning a reference
to a NeverDestroyed<TransformationMatrix> if necessary.

Shrinks GraphicsLayerCA from 840 to 640 bytes.

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::identityTransform):
(WebCore::GraphicsLayer::transform const):
(WebCore::GraphicsLayer::setTransform):
(WebCore::GraphicsLayer::childrenTransform const):
(WebCore::GraphicsLayer::setChildrenTransform):
(WebCore::GraphicsLayer::dumpProperties const):

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::hasNonIdentityTransform const):
(WebCore::GraphicsLayer::hasNonIdentityChildrenTransform const):
(WebCore::GraphicsLayer::transform const): Deleted.
(WebCore::GraphicsLayer::setTransform): Deleted.
(WebCore::GraphicsLayer::childrenTransform const): Deleted.
(WebCore::GraphicsLayer::setChildrenTransform): Deleted.
(WebCore::GraphicsLayer::hasFlattenedPerspectiveTransform): Deleted. It was unused.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::setTransform):
(WebCore::GraphicsLayerCA::setChildrenTransform):
(WebCore::GraphicsLayerCA::layerTransform const):
(WebCore::GraphicsLayerCA::updateTransform):
(WebCore::GraphicsLayerCA::updateChildrenTransform):
(WebCore::GraphicsLayerCA::removeCAAnimationFromLayer):

8:56 AM Changeset in webkit [234367] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

[Win] Layout test http/tests/security/canvas-remote-read-remote-video-hls.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=188169

Unreviewed test gardening.

  • platform/win/TestExpectations:
8:50 AM Changeset in webkit [234366] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

[Win] Layout test fast/text/complex-first-glyph-with-initial-advance.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=188168

Unreviewed test gardening.

  • platform/win/TestExpectations:
8:36 AM Changeset in webkit [234365] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

[Win] Layout test fast/repaint/canvas-object-fit.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=188167

Unreviewed test gardening.

  • platform/win/TestExpectations:
8:25 AM Changeset in webkit [234364] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

[Win] Layout test webanimations/accessing-current-time-after-clearing-css-animation-effect.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=188166

Unreviewed test gardening.

  • platform/win/TestExpectations:
7:46 AM Changeset in webkit [234363] by mark.lam@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Add a debugging utility to dump the memory layout of a JSCell.
https://bugs.webkit.org/show_bug.cgi?id=188157

Reviewed by Yusuke Suzuki.

This patch adds $vm.dumpCell() and VMInspector::dumpCellMemory() to allow us to
dump the memory contents of a cell and if present, its butterfly for debugging
purposes.

Example usage for JS code when JSC_useDollarVM=true:

$vm.dumpCell(obj);

Example usage from C++ code or from lldb:

(lldb) p JSC::VMInspector::dumpCellMemory(obj)

Some examples of dumps:

<0x104bc8260, Object>

[0] 0x104bc8260 : 0x010016000000016c header

structureID 364 0x16c structure 0x104b721b0
indexingTypeAndMisc 0 0x0 NonArray
type 22 0x16
flags 0 0x0
cellState 1

[1] 0x104bc8268 : 0x0000000000000000 butterfly
[2] 0x104bc8270 : 0xffff000000000007
[3] 0x104bc8278 : 0xffff000000000008

<0x104bb4360, Array>

[0] 0x104bb4360 : 0x0108210b00000171 header

structureID 369 0x171 structure 0x104b723e0
indexingTypeAndMisc 11 0xb ArrayWithArrayStorage
type 33 0x21
flags 8 0x8
cellState 1

[1] 0x104bb4368 : 0x00000008000f4718 butterfly

base 0x8000f46e0
hasIndexingHeader YES hasAnyArrayStorage YES
publicLength 4 vectorLength 7 indexBias 2
preCapacity 2 propertyCapacity 4

<--- preCapacity
[0] 0x8000f46e0 : 0x0000000000000000
[1] 0x8000f46e8 : 0x0000000000000000
<--- propertyCapacity
[2] 0x8000f46f0 : 0x0000000000000000
[3] 0x8000f46f8 : 0x0000000000000000
[4] 0x8000f4700 : 0xffff00000000000d
[5] 0x8000f4708 : 0xffff00000000000c
<--- indexingHeader
[6] 0x8000f4710 : 0x0000000700000004
<--- butterfly
<--- arrayStorage
[7] 0x8000f4718 : 0x0000000000000000
[8] 0x8000f4720 : 0x0000000400000002
<--- indexedProperties
[9] 0x8000f4728 : 0xffff000000000008
[10] 0x8000f4730 : 0xffff000000000009
[11] 0x8000f4738 : 0xffff000000000005
[12] 0x8000f4740 : 0xffff000000000006
[13] 0x8000f4748 : 0x0000000000000000
[14] 0x8000f4750 : 0x0000000000000000
[15] 0x8000f4758 : 0x0000000000000000
<--- unallocated capacity
[16] 0x8000f4760 : 0x0000000000000000
[17] 0x8000f4768 : 0x0000000000000000
[18] 0x8000f4770 : 0x0000000000000000
[19] 0x8000f4778 : 0x0000000000000000

  • runtime/JSObject.h:
  • tools/JSDollarVM.cpp:

(JSC::functionDumpCell):
(JSC::JSDollarVM::finishCreation):

  • tools/VMInspector.cpp:

(JSC::VMInspector::dumpCellMemory):
(JSC::IndentationScope::IndentationScope):
(JSC::IndentationScope::~IndentationScope):
(JSC::VMInspector::dumpCellMemoryToStream):

  • tools/VMInspector.h:
6:06 AM Changeset in webkit [234362] by commit-queue@webkit.org
  • 6 edits in trunk

[GStreamer] Make codecparsers optionnal
https://bugs.webkit.org/show_bug.cgi?id=188010

And avoid building libWebRTC if it won't be used. While there is no other
WebRTC backend, it makes no sense to expose an option.

Error out when WEBRTC or MEDIA_STREAM is enabled but GStreamer < 1.10

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-07-30
Reviewed by Alejandro G. Castro.

.:

  • Source/cmake/GStreamerChecks.cmake:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsWPE.cmake:

Source/WebCore:

  • platform/GStreamer.cmake:
4:31 AM Changeset in webkit [234361] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed WPE gardening. Adding and adjusting a bunch of expectations
to cover various ASSERT crashers.

  • platform/wpe/TestExpectations:
1:16 AM Changeset in webkit [234360] by zandobersek@gmail.com
  • 2 edits
    2 adds in trunk/LayoutTests

Unreviewed WPE gardening.

Adding two WPE-specific test baselines. Adjusting or adding a few
additional test expectations.

  • platform/wpe/TestExpectations:
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/shader-with-mis-matching-uniform-block-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/texture-offset-out-of-range-expected.txt: Added.

Jul 29, 2018:

11:40 PM Changeset in webkit [234359] by Basuke Suzuki
  • 2 edits in trunk/LayoutTests

[Curl] Test gardening
https://bugs.webkit.org/show_bug.cgi?id=188155

Unreviewed test gardening.

  • platform/wincairo/TestExpectations:
11:33 PM Changeset in webkit [234358] by bshafiei@apple.com
  • 2 edits in branches/safari-606-branch/Source/WebKit

Cherry-pick r234349. rdar://problem/42721129

[Wi-Fi Assertions] Pass a ResumptionReason to resumeWiFiAssertions
https://bugs.webkit.org/show_bug.cgi?id=188142
<rdar://problem/42628842>

Reviewed by Darin Adler.

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm: (WebKit::NetworkProcess::platformProcessDidResume): (WebKit::NetworkProcess::platformProcessDidTransitionToForeground):

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

11:28 PM Changeset in webkit [234357] by bshafiei@apple.com
  • 2 edits in branches/safari-606-branch/Source/WebCore

Cherry-pick r234345. rdar://problem/42721217

Reset CompositingPolicyOverride between tests
https://bugs.webkit.org/show_bug.cgi?id=188138

Reviewed by Zalan Bujtas.

WK1 tests were failing after r234330 because the compositing policy override optional
was left set on the Page (WK1 has injected bundle SPI to clear it). Fix by having
Internals::resetToConsistentState clear this state.

  • testing/Internals.cpp: (WebCore::Internals::resetToConsistentState):

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

11:28 PM Changeset in webkit [234356] by bshafiei@apple.com
  • 6 edits
    2 adds in branches/safari-606-branch

Cherry-pick r234340. rdar://problem/42721208

Adjust the color matrix for the inverse apple-invert-lightness() transformation
https://bugs.webkit.org/show_bug.cgi?id=188131
rdar://problem/42673070

Reviewed by Zalan Bujtas.

Source/WebCore:

Use the correct inverse matrix values.

Test: editing/style/inverse-color-filter.html

  • platform/graphics/filters/FilterOperation.cpp: (WebCore::InvertLightnessFilterOperation::inverseTransformColor const):

LayoutTests:

Rebaseline tests that use the filter inversion. Add a new test that does inversion
for a whole range of colors, to get good coverage of the inversion matrix.

  • editing/style/inverse-color-filter-expected.txt: Added.
  • editing/style/inverse-color-filter.html: Added.
  • editing/style/set-backColor-with-color-filter-expected.txt:
  • editing/style/set-foreColor-with-color-filter-expected.txt:
  • platform/win/TestExpectations:

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

11:28 PM Changeset in webkit [234355] by bshafiei@apple.com
  • 25 edits
    2 adds in branches/safari-606-branch

Cherry-pick r234330. rdar://problem/42721217

Be more conservative with compositing layer creation when memory is low
https://bugs.webkit.org/show_bug.cgi?id=187866
rdar://problem/42366345

Reviewed by Zalan Bujtas.

Source/WebCore:

When process physical footprint is above a fraction of the jetsam limit, be more conservative in making
compositing layers. We avoid compositing for these situations:

  1. Layers with 3D transforms which are affine (like translateZ(0)).
  2. Layers with will-change
  3. Layers for canvases (other than WebGL/WebGPU)

We reuse some macOS code in MemoryPressureHandler() but choose different thresholds for iOS,
falling into "conservative mode" at 50% of jetsam limit, and "strict mode" at 65%.
Compositing chooses to be more conservative in either "conservative" or "strict" memory modes.

Plumb through a "compositingPolicyOverride" both so that on-device testing isn't
flakily falling into a different mode, and so that we can impose the conservative
mode for testing.

Test: compositing/layer-creation/compositing-policy.html

  • page/Page.h: (WebCore::Page::compositingPolicyOverride const): (WebCore::Page::setCompositingPolicyOverride):
  • platform/graphics/transforms/Matrix3DTransformOperation.cpp: (WebCore::Matrix3DTransformOperation::isRepresentableIn2D const):
  • platform/graphics/transforms/Matrix3DTransformOperation.h:
  • platform/graphics/transforms/PerspectiveTransformOperation.h:
  • platform/graphics/transforms/RotateTransformOperation.h:
  • platform/graphics/transforms/ScaleTransformOperation.h:
  • platform/graphics/transforms/TransformOperation.h: (WebCore::TransformOperation::isRepresentableIn2D const):
  • platform/graphics/transforms/TransformOperations.h: (WebCore::TransformOperations::has3DOperation const): (WebCore::TransformOperations::isRepresentableIn2D const):
  • platform/graphics/transforms/TranslateTransformOperation.h:
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateGeometry):
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags): (WebCore::RenderLayerCompositor::updateCompositingPolicy): (WebCore::RenderLayerCompositor::updateCompositingLayers): (WebCore::RenderLayerCompositor::requiresCompositingForTransform const): (WebCore::RenderLayerCompositor::requiresCompositingForVideo const): (WebCore::RenderLayerCompositor::requiresCompositingForCanvas const): (WebCore::RenderLayerCompositor::requiresCompositingForPlugin const): (WebCore::RenderLayerCompositor::requiresCompositingForWillChange const): (WebCore::RenderLayerCompositor::needsFixedRootBackgroundLayer const): (WebCore::operator<<):
  • rendering/RenderLayerCompositor.h:
  • testing/Internals.cpp: (WebCore::Internals::setCompositingPolicyOverride): (WebCore::Internals::compositingPolicyOverride const):
  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit:

When process physical footprint is above a fraction of the jetsam limit, be more conservative in making
compositing layers. We avoid compositing for these situations:

  1. Layers with 3D transforms which are affine (like translateZ(0)).
  2. Layers with will-change
  3. Layers for canvases (other than WebGL/WebGPU)

We reuse some macOS code in MemoryPressureHandler() but choose different thresholds for iOS,
falling into "conservative mode" at 50% of jetsam limit, and "strict mode" at 65%.
Compositing chooses to be more conservative in either "conservative" or "strict" memory modes.

Plumb through a "compositingPolicyOverride" both so that on-device testing isn't
flakily falling into a different mode, and so that we can impose the conservative
mode for testing.

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: (WKBundlePageSetCompositingPolicyOverride):
  • WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:

Source/WTF:

When process physical footprint is above a fraction of the jetsam limit, be more conservative in making
compositing layers. We avoid compositing for these situations:

  1. Layers with 3D transforms which are affine (like translateZ(0)).
  2. Layers with will-change
  3. Layers for canvases (other than WebGL/WebGPU)

We reuse some macOS code in MemoryPressureHandler() but choose different thresholds for iOS,
falling into "conservative mode" at 50% of jetsam limit, and "strict mode" at 65%.
Compositing chooses to be more conservative in either "conservative" or "strict" memory modes.

Plumb through a "compositingPolicyOverride" both so that on-device testing isn't
flakily falling into a different mode, and so that we can impose the conservative
mode for testing.

  • wtf/MemoryPressureHandler.cpp: (WTF::thresholdForPolicy): (WTF::MemoryPressureHandler::currentMemoryUsagePolicy):
  • wtf/MemoryPressureHandler.h:

Tools:

When process physical footprint is above a fraction of the jetsam limit, be more conservative in making
compositing layers. We avoid compositing for these situations:

  1. Layers with 3D transforms which are affine (like translateZ(0)).
  2. Layers with will-change
  3. Layers for canvases (other than WebGL/WebGPU)

We reuse some macOS code in MemoryPressureHandler() but choose different thresholds for iOS,
falling into "conservative mode" at 50% of jetsam limit, and "strict mode" at 65%.
Compositing chooses to be more conservative in either "conservative" or "strict" memory modes.

Plumb through a "compositingPolicyOverride" both so that on-device testing isn't
flakily falling into a different mode, and so that we can impose the conservative
mode for testing.

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::prepare):

LayoutTests:

  • compositing/layer-creation/compositing-policy-expected.txt: Added.
  • compositing/layer-creation/compositing-policy.html: Added.

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

11:28 PM Changeset in webkit [234354] by bshafiei@apple.com
  • 4 edits in branches/safari-606-branch

Cherry-pick r234329. rdar://problem/42721126

[WK1] ASSERTION FAILED: renderer().repaintLayoutRects().m_repaintRect == renderer().clippedOverflowRectForRepaint(renderer().containerForRepaint()) in WebCore::RenderLayer::updateLayerPositionsAfterScroll
https://bugs.webkit.org/show_bug.cgi?id=188122
<rdar://problem/42584790>

Reviewed by Simon Fraser.

Source/WebCore:

When ScrollView's m_paintsEntireContents flag flips due to layer backing changes, the repaint area transitions from
visual to layout overflow. When this happens the cached repaint rects become invalid and they need to be recomputed.
Currently there's no mechanism to trigger repaint cache invalidation from ScrollView.
Skip assertion for now on WK1 (see webkit.org/b/188121)

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPositionsAfterScroll):

LayoutTests:

  • platform/mac-wk1/TestExpectations:

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

11:28 PM Changeset in webkit [234353] by bshafiei@apple.com
  • 2 edits in branches/safari-606-branch/Source/bmalloc

Cherry-pick r234328. rdar://problem/42721215

Explicitly handle memlimit_active < 0
https://bugs.webkit.org/show_bug.cgi?id=188125

Reviewed by Mark Lam.

This may come up during development when someone wants the limit
to be "infinite".

  • bmalloc/AvailableMemory.cpp: (bmalloc::jetsamLimit):

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

11:28 PM Changeset in webkit [234352] by bshafiei@apple.com
  • 7 edits
    1 add in branches/safari-606-branch/Source

Cherry-pick r234326. rdar://problem/42721215

Use SPI to compute the jetsam limit on iOS instead of hardcoding 840MB
https://bugs.webkit.org/show_bug.cgi?id=188091
<rdar://problem/42647697>

Reviewed by Simon Fraser.

Source/bmalloc:

We want bmalloc to dynamically adapt to the jetsam limit of the process
it's running in. WTF::ramSize() is based off bmalloc's availableMemory,
so it will now reflect the result of the real jetsam limit when we can
read it.

Reading the jetsam limit requires an entitlement, so this patch opts in
the WebContent/Storage/Network processes. We fall back to 840MB (the
old hard coded value) when the SPI call fails (e.g, when we're in a
process without the proper entitlement).

  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/AvailableMemory.cpp: (bmalloc::jetsamLimit): (bmalloc::computeAvailableMemory):
  • bmalloc/darwin/MemoryStatusSPI.h: Added.

Source/WebKit:

Give the Network/Storage/WebContent process the com.apple.private.memorystatus
entitlement. This allows them to read the process jetsam limit.

  • Configurations/Databases-iOS.entitlements:
  • Configurations/Network-iOS.entitlements:
  • Configurations/WebContent-iOS.entitlements:

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

11:27 PM Changeset in webkit [234351] by bshafiei@apple.com
  • 9 edits in branches/safari-606-branch

Cherry-pick r234125. rdar://problem/42721214

CrashTracer: com.apple.WebKit.Storage at WebCore: WebCore::encodeKey
https://bugs.webkit.org/show_bug.cgi?id=187927
LayoutTests/imported/w3c:

<rdar://problem/42516426>

Reviewed by Chris Dumez.

  • web-platform-tests/IndexedDB/key-conversion-exceptions-expected.txt:

Source/WebCore:

Reviewed by Chris Dumez.

IDBKeyData is valid only when each key of it is valid.

Test: LayoutTests/storage/indexeddb/index-multientry.html

  • Modules/indexeddb/IDBKeyData.cpp: (WebCore::IDBKeyData::isValid const):
  • Modules/indexeddb/IDBKeyData.h: (WebCore::IDBKeyData::isValid const): Deleted.

LayoutTests:

<rdar://problem/42516426>

Reviewed by Chris Dumez.

Add a new test case in existing test file to cover the crash case and update the expecation accordingly.

  • storage/indexeddb/index-multientry-expected.txt:
  • storage/indexeddb/index-multientry-private-expected.txt:
  • storage/indexeddb/resources/index-multientry.js: (addData):

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

10:39 PM Changeset in webkit [234350] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

Fix incorrect guards around a method declaration in PageClient.h
https://bugs.webkit.org/show_bug.cgi?id=188153

Reviewed by Tim Horton.

WebCore::DragItem is forward declared under ENABLE(DRAG_SUPPORT), but startDrag is declared under
PLATFORM(COCOA). If ENABLE(DRAG_SUPPORT) is off but PLATFORM(COCOA) is on, the build breaks.

We fix this by moving startDrag under ENABLE(DRAG_SUPPORT).

  • UIProcess/PageClient.h:

(WebKit::PageClient::startDrag):

3:13 PM Changeset in webkit [234349] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit

[Wi-Fi Assertions] Pass a ResumptionReason to resumeWiFiAssertions
https://bugs.webkit.org/show_bug.cgi?id=188142
<rdar://problem/42628842>

Reviewed by Darin Adler.

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformProcessDidResume):
(WebKit::NetworkProcess::platformProcessDidTransitionToForeground):

2:45 PM Changeset in webkit [234348] by Darin Adler
  • 46 edits in trunk/Source

[Cocoa] Update more WebCore Objective-C code to be ARC compatible
https://bugs.webkit.org/show_bug.cgi?id=188140

Reviewed by Sam Weinig.

Source/WebCore:

This make sure we don't put any Objective-C objects into HashMap/Set
data structures, which doesn't work under ARC at this time. We could
fix that some day, but it's pretty simple to change code not to rely
on it, for now, and not as simple to support it in HashMap/Set.

  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

(-[WebAccessibilityObjectWrapperBase updateObjectBackingStore]):
Use CFRetain/CFAutorelease instead of retain/autorelease.

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(createAccessibilityRoleMap): Use CFStringRef in a HashMap rather than
NSString * for string constants.
(roleValueToNSString): Updated for above change.

  • bridge/objc/WebScriptObject.mm:

(-[WebScriptObject stringRepresentation]): Updated since objectValue
is now CFTypeRef rather than NSObject *.

  • bridge/objc/objc_instance.mm:

(ObjcInstance::create): Use CFTypeRef instead of id for the key types
in a HashMap.
(ObjcInstance::~ObjcInstance): Updated for the above change.
(ObjcInstance::invokeObjcMethod): Updated since objectValue is now
CFTypeRef.
(ObjcInstance::invokeDefaultMethod): Ditto.
(ObjcInstance::setValueOfUndefinedField): Ditto.

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::ObjcArray::setValueAt const): Ditto.

  • bridge/objc/objc_utility.h: Use #pragma once. Use CFTypeRef instead

of NSObject * for objectValue, since it's in a union and ARC does not
support strong Objective-C object pointers in a union.

  • bridge/objc/objc_utility.mm:

(JSC::Bindings::convertValueToObjcValue): Updated since objectValue is
now CFTypeRef.

  • editing/cocoa/HTMLConverter.mm:

(HTMLConverter::_processElement): Use CFTypeRef rather than NSTextTable
for a HashMap.
(HTMLConverter::_exitElement): Ditto.

  • editing/cocoa/WebContentReaderCocoa.mm:

(WebCore::attributesForAttributedStringConversion): Use CFRetain rather
than -[NSObject retain] in a workaround for an overrelease.

  • editing/mac/DictionaryLookup.h: Removed code to make this usable from

non-Objective-C source files. Use tuples rather than out arguments
for the results of the various functions.

  • editing/mac/DictionaryLookup.mm:

(WebCore::DictionaryLookup::rangeForSelection): Return a tuple rather
than using an out argument for options.
(WebCore::DictionaryLookup::rangeAtHitTestResult): Ditto.
(WebCore::DictionaryLookup::stringForPDFSelection): Ditto.
(WebCore::showPopupOrCreateAnimationController): Removed use of typedef
PlatformAnimationController.
(WebCore::DictionaryLookup::animationControllerForPopup): Ditto.

  • html/HTMLMediaElement.h: Put the videoFullscreenLayer function inside

an OBJC ifdef since we can't do the type conversion without the
full Objective-C type.

  • page/mac/EventHandlerMac.mm:

(WebCore::selfRetainingNSScrollViewScrollWheel): Use CFRetain/CFRelease
instead of retain/release.
(WebCore::EventHandler::selectClosestWordFromHitTestResultBasedOnLookup):
Updated to use tuple return value from DictionaryLookup.

  • page/scrolling/ScrollingStateNode.h: Replaced direct use of PlatformLayer*

in a union with use of a "typless" void* pointer and added helper functions
to convert in both directions.

  • page/scrolling/cocoa/ScrollingStateNode.mm:

(WebCore::LayerRepresentation::retainPlatformLayer): Use CFRetain instead
of retain.
(WebCore::LayerRepresentation::releasePlatformLayer): Use CFRelease instead
of release.
(WebCore::LayerRepresentation::makePlatformLayerTyped): Added.
(WebCore::LayerRepresentation::makePlatformLayerTypeless): Ditto.

  • page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp:

(WebCore::LayerRepresentation::retainPlatformLayer): Updated argument type.
(WebCore::LayerRepresentation::releasePlatformLayer): Ditto.
(WebCore::LayerRepresentation::makePlatformLayerTyped): Added.
(WebCore::LayerRepresentation::makePlatformLayerTypeless): Ditto.

  • platform/gamepad/cocoa/GameControllerGamepadProvider.h: Use CFTypeRef

instad of GCController * for key type of HashMap.

  • platform/gamepad/cocoa/GameControllerGamepadProvider.mm:

(WebCore::GameControllerGamepadProvider::controllerDidConnect): Updated
for the above change.
(WebCore::GameControllerGamepadProvider::controllerDidDisconnect): Ditto.

  • platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:

Use SOFT_LINK_CONSTANT_MAY_FAIL instead of SOFT_LINK_POINTER_OPTIONAL for
strings, since SOFT_LINK_POINTER_OPTIONAL does not work for Objective-C
types under ARC.
(WebCore::AVTrackPrivateAVFObjCImpl::audioKind const): Added checks
for the constants.
(WebCore::AVTrackPrivateAVFObjCImpl::videoKind const): Ditto.
(WebCore::AVTrackPrivateAVFObjCImpl::label const): Ditto.

  • platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.h:

Use #pragma once and use CFTypeRef instead of AVMediaSelectionOption *
in the key to a HashMap.

  • platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm:

(WebCore::MediaSelectionGroupAVFObjC::updateOptions): Updated for
the above change.

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

Use SOFT_LINK_CONSTANT_MAY_FAIL instead of SOFT_LINK_POINTER_OPTIONAL for
strings, since SOFT_LINK_POINTER_OPTIONAL does not work for Objective-C
types under ARC.
(WebCore::customSchemeURL): Removed unnecessary use of
NeverDestroyed<RetainPtr>. Can just use a straight pointer without calling
release, and that works with or without ARC.
(WebCore::imageDecoderAssetOptions): Ditto. Here, had to add a retain,
which we'll remove when we turn on ARC. Added canLoad checks, needed
because of SOFT_LINK_CONSTANT_MAY_FAIL.
(WebCore::ImageDecoderAVFObjC::firstEnabledTrack): Added canLoad check,
needed because of SOFT_LINK_CONSTANT_MAY_FAIL.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:

Use CFTypeRef instead of AVAssetResourceLoadingRequest in HashMap.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
Updated for above.
(WebCore::MediaPlayerPrivateAVFoundationObjC::didCancelLoadingRequest): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::didStopLoadingRequest): Ditto.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:

Use CFTypeRef instead of AVSampleBufferAudioRenderer in HashMap.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setVolume): Updated for above.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setMuted): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setPreservesPitch): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setHasAvailableAudioSample): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addAudioRenderer): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeAudioRenderer): Ditto.

  • platform/graphics/metal/GPUDrawableMetal.mm: Updated include; under ARC, it's

not safe to call a method on a class without seeing its interface.

  • platform/mac/VideoFullscreenInterfaceMac.mm: Added an explicit

unsafe_unretained for a delegate. Could consider moving to weak, but for now
this preserves the current behavior and compiles under ARC.

  • platform/mac/WebCoreFullScreenPlaceholderView.h: Use strong for the contents,

weak for the target, and changed the action to be hard-coded instead of an
arbitrary selector. If we find we need the flexibility again later, we can do
it with a block, which is more ARC-friendly than calling an arbitrary selector.

  • platform/mac/WebCoreFullScreenPlaceholderView.mm:

(-[WebCoreFullScreenPlaceholderView initWithFrame:]): Call function directly
instead of taking advantage of "using".
(-[WebCoreFullScreenPlaceholderView mouseDown:]): Call cancelOperation: on the
target rather than performing an arbitrary selector.

  • platform/mac/WebCoreObjCExtras.mm:

(WebCoreObjCScheduleDeallocateOnMainThread): Use sel_registerName instead of
@selector, since @selector is not supported under ARC.

  • platform/network/ResourceHandle.h: Use a return value rather than using an

inout argument in applySniffingPoliciesAndStoragePartitionIfNeeded.

  • platform/network/cocoa/CookieStorageObserver.mm:

(WebCore::CookieStorageObserver::startObserving): Removed unnecessary
assertion of repondsToSelector since we are about to dispatch it immediately
after. Call the selector in the conventional way instead of using performSelector.

  • platform/network/cocoa/WebCoreNSURLSession.h: Use #pragma once and use

CFTypeRef instead of an Objective-C type. Also use an explicit unsafe_unretained
for the session in the data task.

  • platform/network/cocoa/WebCoreNSURLSession.mm:

(-[WebCoreNSURLSession dealloc]): Updated for the above.
(-[WebCoreNSURLSession taskCompleted:]): Ditto.
(-[WebCoreNSURLSession invalidateAndCancel]): Ditto.
(-[WebCoreNSURLSession getTasksWithCompletionHandler:]): Ditto.
(-[WebCoreNSURLSession getAllTasksWithCompletionHandler:]): Ditto.
(-[WebCoreNSURLSession dataTaskWithRequest:]): Ditto.
(-[WebCoreNSURLSession dataTaskWithURL:]): Ditto.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::applySniffingPoliciesAndStoragePartitionIfNeeded):
Use a return value instead of an inout argument. Also use bridging casts.
(WebCore::ResourceHandle::createNSURLConnection): Updated for the change above.
Also use a bridging cast.
(WebCore::ResourceHandle::schedule): Use a bridging cast.
(WebCore::ResourceHandle::unschedule): Ditto.

  • platform/network/mac/WebCoreURLResponse.mm:

(WebCore::adjustMIMETypeIfNecessary): Use a bridging cast.

  • testing/Internals.cpp:

(WebCore::Internals::rangeForDictionaryLookupAtLocation): Moved the macOS
version of this function out of this file ...

  • testing/Internals.mm:

(WebCore::Internals::rangeForDictionaryLookupAtLocation): ... to here.

Source/WebKit:

  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController enterFullScreen:]): Removed the call to
setAction: since the full screen placeholder view now always uses the
cancelOperation: method.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::lookupTextAtLocation): Updated to use the new
DictionaryLookup function that returns a tuple instead of using an out argument.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performDictionaryLookupAtLocation): Ditto.
(WebKit::WebPage::performDictionaryLookupForSelection): Ditto.

Source/WebKitLegacy/mac:

  • WebView/WebImmediateActionController.mm:

(-[WebImmediateActionController _animationControllerForText]): Updated to use the
new DictionaryLookup function that returns a tuple instead of using an out argument.

11:13 AM Changeset in webkit [234347] by Yusuke Suzuki
  • 13 edits in trunk/Source/WebCore

Use static global variables instead of static NeverDestroyed inside function if possible
https://bugs.webkit.org/show_bug.cgi?id=188146

Reviewed by Darin Adler.

This patch leverages constexpr constructors / trivial destructors more to remove unnecessary static NeverDestroyed
inside a function. It simplifies the code, removes the unnecessary function, and ensures the initialization at
a program loader phase.

We make StepRange::StepDescription constructor constexpr to remove bunch of static NeverDestroyed<const StepRange::StepDescription>.
And we use static Lock since WTF::Lock has constexpr constructor.

No behavior change.

  • dom/MessagePort.cpp:

(WebCore::MessagePort::deref const):
(WebCore::MessagePort::isExistingMessagePortLocallyReachable):
(WebCore::MessagePort::notifyMessageAvailable):
(WebCore::MessagePort::MessagePort):
(WebCore::MessagePort::~MessagePort):
(WebCore::allMessagePortsLock): Deleted.

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::contextIdentifier const):
(WebCore::ScriptExecutionContext::removeFromContextsMap):
(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
(WebCore::ScriptExecutionContext::postTaskTo):
(WebCore::allScriptExecutionContextsMapLock): Deleted.

  • html/DateInputType.cpp:

(WebCore::DateInputType::createStepRange const):

  • html/DateTimeInputType.cpp:

(WebCore::DateTimeInputType::createStepRange const):

  • html/DateTimeLocalInputType.cpp:

(WebCore::DateTimeLocalInputType::createStepRange const):

  • html/MonthInputType.cpp:

(WebCore::MonthInputType::createStepRange const):

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::createStepRange const):

  • html/StepRange.h:

(WebCore::StepRange::StepDescription::StepDescription):

  • html/TimeInputType.cpp:

(WebCore::TimeInputType::createStepRange const):

  • html/WeekInputType.cpp:

(WebCore::WeekInputType::createStepRange const):

  • page/SecurityPolicy.cpp:

(WebCore::originAccessMap):
(WebCore::SecurityPolicy::isAccessWhiteListed):
(WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
(WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):
(WebCore::SecurityPolicy::resetOriginAccessWhitelists):
(WebCore::originAccessMapLock): Deleted.

  • platform/SchemeRegistry.cpp:

(WebCore::allBuiltinSchemes):
(WebCore::builtinLocalURLSchemes):
(WebCore::localURLSchemes):
(WebCore::displayIsolatedURLSchemes):
(WebCore::builtinSecureSchemes):
(WebCore::secureSchemes):
(WebCore::builtinSchemesWithUniqueOrigins):
(WebCore::schemesWithUniqueOrigins):
(WebCore::builtinCanDisplayOnlyIfCanRequestSchemes):
(WebCore::canDisplayOnlyIfCanRequestSchemes):
(WebCore::SchemeRegistry::registerURLSchemeAsLocal):
(WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
(WebCore::ContentSecurityPolicyBypassingSchemes):
(WebCore::cachePartitioningSchemes):
(WebCore::serviceWorkerSchemes):
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
(WebCore::SchemeRegistry::registerURLSchemeAsNoAccess):
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsNoAccess):
(WebCore::SchemeRegistry::registerURLSchemeAsDisplayIsolated):
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
(WebCore::SchemeRegistry::registerURLSchemeAsSecure):
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsSecure):
(WebCore::SchemeRegistry::canDisplayOnlyIfCanRequest):
(WebCore::SchemeRegistry::registerAsCanDisplayOnlyIfCanRequest):
(WebCore::SchemeRegistry::registerURLSchemeAsBypassingContentSecurityPolicy):
(WebCore::SchemeRegistry::removeURLSchemeRegisteredAsBypassingContentSecurityPolicy):
(WebCore::SchemeRegistry::schemeShouldBypassContentSecurityPolicy):
(WebCore::SchemeRegistry::registerURLSchemeAsCachePartitioned):
(WebCore::SchemeRegistry::shouldPartitionCacheForURLScheme):
(WebCore::SchemeRegistry::registerURLSchemeServiceWorkersCanHandle):
(WebCore::SchemeRegistry::canServiceWorkersHandleURLScheme):
(WebCore::SchemeRegistry::isServiceWorkerContainerCustomScheme):
(WebCore::schemeRegistryLock): Deleted.

9:18 AM Changeset in webkit [234346] by Basuke Suzuki
  • 4 edits in trunk

[Curl] Fix the bug when client reject the redirect on WebKitLegacy.
https://bugs.webkit.org/show_bug.cgi?id=188130

Reviewed by Darin Adler.

Source/WebCore:

ResourceHandle for Curl port has a bug when a client returns en empty request which
indicates the redirecti is rejected by the client. It should be quit the task immediately,
but it kept doing the job. Fixed.
NetworkDataTask implementation did the right thing and there's no bug for them.

Test: http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt

  • platform/network/curl/ResourceHandleCurl.cpp:

(WebCore::ResourceHandle::continueAfterWillSendRequest):

LayoutTests:

  • platform/wincairo/TestExpectations:
  • xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt: Pass
Note: See TracTimeline for information about the timeline view.