Timeline
Jul 29, 2018:
- 11:40 PM Changeset in webkit [234359] by
-
- 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
-
- 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
-
- 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
-
- 6 edits2 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
-
- 25 edits2 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:
- Layers with 3D transforms which are affine (like translateZ(0)).
- Layers with will-change
- 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:
- Layers with 3D transforms which are affine (like translateZ(0)).
- Layers with will-change
- 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:
- Layers with 3D transforms which are affine (like translateZ(0)).
- Layers with will-change
- 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:
- Layers with 3D transforms which are affine (like translateZ(0)).
- Layers with will-change
- 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
-
- 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
-
- 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
-
- 7 edits1 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
-
- 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
-
- 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::DragItemis forward declared underENABLE(DRAG_SUPPORT), butstartDragis declared under
PLATFORM(COCOA). IfENABLE(DRAG_SUPPORT)is off butPLATFORM(COCOA)is on, the build breaks.
We fix this by moving
startDragunderENABLE(DRAG_SUPPORT).
- UIProcess/PageClient.h:
(WebKit::PageClient::startDrag):
- 3:13 PM Changeset in webkit [234349] by
-
- 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
-
- 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
-
- 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 usestatic Locksince 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
-
- 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
Jul 28, 2018:
- 11:39 AM Changeset in webkit [234345] by
-
- 2 edits in trunk/Source/WebCore
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):
- 9:35 AM Changeset in webkit [234344] by
-
- 3 edits in trunk/Source/WTF
Gardening: build fix for internal builds.
https://bugs.webkit.org/show_bug.cgi?id=188123
<rdar://problem/42672268>
Not reviewed.
Some code is relying on RELEASE_ASSERT (without extra crash info arguments)
being purely inlined and not require linkage to an external symbol. This patch
restores this property of the original RELEASE_ASSERT.
This means moving the variant of WTFCrashWithInfo that does not take extra args
to Assertions.h and making it an "inline" function. When compiling with clang,
we also specify attribute((optnone)) to force the function out of being an
inline function (each linkage unit will get a copy of the function). This causes
the 1st 4 arguments of WTFCrashWithInfo (e.g. line number) to still be captured
in the argument registers for crash diagnostics.
- wtf/Assertions.cpp:
(WTFCrashWithInfo):
- wtf/Assertions.h: