Timeline
Dec 17, 2018:
- 11:58 PM Changeset in webkit [239327] by
-
- 2 edits in trunk/JSTests
Skip the stress/materialized-regexp-has-correct-last-index-set-by-match.js test on 32-bit.
https://bugs.webkit.org/show_bug.cgi?id=192019
<rdar://problem/46525456>
Reviewed by Yusuke Suzuki.
The test runs too slow on 32-bit.
- stress/materialized-regexp-has-correct-last-index-set-by-match.js:
- 11:51 PM Changeset in webkit [239326] by
-
- 2 edits in trunk/JSTests
Skip the stress/materialize-regexp-cyclic-regexp.js test on 32-bit.
https://bugs.webkit.org/show_bug.cgi?id=191373
<rdar://problem/46525458>
Reviewed by Yusuke Suzuki.
The test is already slow running with a JIT on 64-bit. It will always timeout
on 32-bit without a JIT.
- stress/materialize-regexp-cyclic-regexp.js:
- 10:56 PM Changeset in webkit [239325] by
-
- 4 edits1 add in trunk
Array unshift/shift should not race against the AI in the compiler thread.
https://bugs.webkit.org/show_bug.cgi?id=192795
<rdar://problem/46724263>
Reviewed by Saam Barati.
JSTests:
- stress/array-unshift-should-not-race-against-compiler-thread.js: Added.
Source/JavaScriptCore:
The Array unshift and shift operations for ArrayStorage type arrays are protected
using the cellLock. The AbstractInterpreter's foldGetByValOnConstantProperty()
function does grab the cellLock before reading a value from the array's ArrayStorage,
but does not get the array butterfly under the protection of the cellLock.
This is insufficient and racy. For ArrayStorage type arrays, the fetching of the
butterfly also needs to be protected by the cellLock. The unshift / shift
operations can move values around in the butterfly. Hence, the fact that AI has
fetched a butterfly pointer (while ensuring no structure change) is insufficient
to guarantee that the values in the butterfly haven't shifted.
Having AI hold the cellLock the whole time (from before fetching the butterfly
till after reading the value from it) eliminates this race. Note: we only need
to do this for ArrayStorage type arrays.
Note also that though AI is holding the cellLock in this case, we still need to
ensure that the array structure hasn't changed around the fetching of the butterfly.
This is because operations other than unshift and shift are guarded by this
protocol, and not the cellLock.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- runtime/JSArray.cpp:
(JSC::JSArray::unshiftCountSlowCase):
- 10:54 PM Changeset in webkit [239324] by
-
- 34 edits6 adds in trunk
[JSC] Optimize Object.keys by caching own keys results in StructureRareData
https://bugs.webkit.org/show_bug.cgi?id=190047
Reviewed by Saam Barati.
JSTests:
- stress/object-keys-cached-zero.js: Added.
(shouldBe):
(test):
- stress/object-keys-changed-attribute.js: Added.
(shouldBe):
(test):
- stress/object-keys-changed-index.js: Added.
(shouldBe):
(test):
- stress/object-keys-changed.js: Added.
(shouldBe):
(test):
- stress/object-keys-indexed-non-cache.js: Added.
(shouldBe):
(test):
- stress/object-keys-overrides-get-property-names.js: Added.
(shouldBe):
(test):
(noInline):
Source/JavaScriptCore:
Object.keys is one of the most frequently used function in web-tooling-benchmarks (WTB).
Object.keys is dominant in lebab of WTB, and frequently called in babel and others.
Since our Structure knows the shape of JSObject, we can cache the result of Object.keys
in Structure (StructureRareData) as we cache JSPropertyNameEnumerator in StructureRareData.
This patch caches the result of Object.keys in StructureRareData. The cached array is created
as JSImmutableButterfly. And Object.keys creates CoW from this data. Currently, the lifetime
strategy of this JSImmutableButterfly is the same to cached JSPropertyNameEnumerator. It is
referenced from Structure, and collected when Structure is collected.
This improves several benchmarks in SixSpeed.
baseline patched
object-assign.es5 350.1710+-3.6303 226.0368+-4.7558 definitely 1.5492x faster
for-of-object.es6 269.1941+-3.3430 127.9317+-2.3875 definitely 2.1042x faster
And it improves WTB lebab by 11.8%.
Before: lebab: 6.10 runs/s
After: lebab: 6.82 runs/s
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNode.cpp:
(JSC::DFG::Node::convertToNewArrayBuffer):
- dfg/DFGNode.h:
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileObjectKeys):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys):
- runtime/Butterfly.h:
(JSC::ContiguousData::Data::setStartingValue):
- runtime/Intrinsic.cpp:
(JSC::intrinsicName):
- runtime/Intrinsic.h:
- runtime/JSImmutableButterfly.h:
(JSC::JSImmutableButterfly::JSImmutableButterfly):
We set JSEmpty to the underlying butterfly storage if indexing type is Contiguous.
Otherwise, JSImmutableButterfly is half-baked one until all the storage is filled with some meaningful values, it leads to crash
if half-baked JSImmutableButterfly is exposed to GC.
- runtime/ObjectConstructor.cpp:
(JSC::ownPropertyKeys):
- runtime/Structure.cpp:
(JSC::Structure::canCachePropertyNameEnumerator const):
- runtime/Structure.h:
- runtime/StructureInlines.h:
(JSC::Structure::setCachedOwnKeys):
(JSC::Structure::cachedOwnKeys const):
(JSC::Structure::cachedOwnKeysIgnoringSentinel const):
(JSC::Structure::canCacheOwnKeys const):
- runtime/StructureRareData.cpp:
(JSC::StructureRareData::visitChildren):
(JSC::StructureRareData::cachedPropertyNameEnumerator const): Deleted.
(JSC::StructureRareData::setCachedPropertyNameEnumerator): Deleted.
- runtime/StructureRareData.h:
- runtime/StructureRareDataInlines.h:
(JSC::StructureRareData::cachedPropertyNameEnumerator const):
(JSC::StructureRareData::setCachedPropertyNameEnumerator):
(JSC::StructureRareData::cachedOwnKeys const):
(JSC::StructureRareData::cachedOwnKeysIgnoringSentinel const):
(JSC::StructureRareData::cachedOwnKeysConcurrently const):
(JSC::StructureRareData::setCachedOwnKeys):
(JSC::StructureRareData::previousID const): Deleted.
- runtime/VM.cpp:
(JSC::VM::VM):
- 10:37 PM Changeset in webkit [239323] by
-
- 5 edits in trunk
[Mac] Layout Test http/wpt/webauthn/public-key-credential-create-success-hid.https.html and http/wpt/webauthn/public-key-credential-get-success-hid.https.html are flaky
https://bugs.webkit.org/show_bug.cgi?id=192061
Reviewed by Dewei Zhu.
Source/WebKit:
Part 3.
Add some additional temporary logging info to determine if the timer is working as expected.
Once the bug is determined and fixed, we should remove all logging added in this patch.
- UIProcess/WebAuthentication/AuthenticatorManager.cpp:
(WebKit::AuthenticatorManager::respondReceived):
(WebKit::AuthenticatorManager::initTimeOutTimer):
(WebKit::AuthenticatorManager::timeOutTimerFired):
- UIProcess/WebAuthentication/Mock/MockAuthenticatorManager.cpp:
(WebKit::MockAuthenticatorManager::respondReceivedInternal):
LayoutTests:
Add a time out value.
- http/wpt/webauthn/public-key-credential-create-success-hid.https.html:
- 10:33 PM Changeset in webkit [239322] by
-
- 15 edits in trunk/Source
Enable HTTP and HTTPS proxies on iOS and make it a property of the NSURLSession
https://bugs.webkit.org/show_bug.cgi?id=192374
<rdar://problem/46506286>
Reviewed by Alex Christensen.
Source/WebCore/PAL:
- pal/spi/cf/CFNetworkSPI.h:
Remove the now-unused SPI declaration.
Source/WebKit:
This patch makes it so that we can use HTTP/HTTPS proxies on iOS as well.
To enable on iOS, you can do something like:
$ defaults write -g WebKit2HTTPProxy -string "http://localhost:8080"
$ defaults write -g WebKit2HTTPSProxy -string "http://localhost:8080"
This patch also changes the Proxy to be enabled on a per NSURLSession
basis instead of a per process basis.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
- NetworkProcess/NetworkSessionCreationParameters.cpp:
(WebKit::NetworkSessionCreationParameters::privateSessionParameters):
(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):
- NetworkProcess/NetworkSessionCreationParameters.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::proxyDictionary):
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
- NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
(WebKit::overrideSystemProxies): Deleted.
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _initWithConfiguration:]):
- UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:
(-[_WKWebsiteDataStoreConfiguration httpProxy]):
(-[_WKWebsiteDataStoreConfiguration setHTTPProxy:]):
(-[_WKWebsiteDataStoreConfiguration httpsProxy]):
(-[_WKWebsiteDataStoreConfiguration setHTTPSProxy:]):
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::parameters):
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:
(WebKit::WebsiteDataStoreConfiguration::copy):
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:
(WebKit::WebsiteDataStoreConfiguration::httpProxy const):
(WebKit::WebsiteDataStoreConfiguration::setHTTPProxy):
(WebKit::WebsiteDataStoreConfiguration::httpsProxy const):
(WebKit::WebsiteDataStoreConfiguration::setHTTPSProxy):
- 10:30 PM Changeset in webkit [239321] by
-
- 2 edits in trunk/Source/WebKit
Tap highlights should not be shown on iOSMac
https://bugs.webkit.org/show_bug.cgi?id=192797
<rdar://problem/46793995>
Reviewed by Tim Horton.
WKWebViews in iOSMac should avoid painting tap highlights, since tap highlights are not present in the rest of
the macOS platform. Simply disable this functionality by bailing in-[WKContentView _showTapHighlight].
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _showTapHighlight]):
- 9:49 PM Changeset in webkit [239320] by
-
- 8 edits in trunk/Source/WebCore
[Win][Clang] Fix compilation warnings WebCore/platform/graphics directory
https://bugs.webkit.org/show_bug.cgi?id=192752
Reviewed by Don Olmstead.
No new tests, no behavior changes.
- platform/graphics/win/DIBPixelData.cpp:
Enclosed bitmapType and bitmapPixelsPerMeter with #ifndef NDEBUG.
- platform/graphics/win/FontPlatformDataWin.cpp:
(WebCore::FontPlatformData::openTypeTable const): Use ASSERT_UNUSED instead of ASSERT.
- platform/graphics/win/GraphicsContextWin.cpp: Removed unused variable 'deg2rad'.
- platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
Removed unused soft links MFCreateSampleGrabberSinkActivate, MFCreateMemoryBuffer and MFCreateSample.
(WebCore::MediaPlayerPrivateMediaFoundation::MediaPlayerPrivateMediaFoundation):
Reorder the initializer list.
(WebCore::MediaPlayerPrivateMediaFoundation::seek): Use ASSERT_UNUSED instead of ASSERT.
(WebCore::MediaPlayerPrivateMediaFoundation::setAllChannelVolumes): Ditto.
(WebCore::MediaPlayerPrivateMediaFoundation::createSession): Ditto.
(WebCore::MediaPlayerPrivateMediaFoundation::endSession): Ditto.
(WebCore::MediaPlayerPrivateMediaFoundation::onCreatedMediaSource): Ditto.
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::paintCurrentFrame): Added default case.
- platform/graphics/win/SimpleFontDataCairoWin.cpp:
(WebCore::Font::platformBoundsForGlyph const): Use inner braces to initialize subobjects of MAT2.
- platform/graphics/win/SimpleFontDataWin.cpp: Removed unused 'cSmallCapsFontSizeMultiplier'.
(WebCore::Font::initGDIFont): Use inner braces to initialize subobjects of MAT2.
(WebCore::Font::boundsForGDIGlyph const): Ditto.
(WebCore::Font::widthForGDIGlyph const): Ditto.
- platform/graphics/win/UniscribeController.cpp:
(WebCore::UniscribeController::UniscribeController):
Reorder the initializer list.
(WebCore::UniscribeController::offsetForPosition): Use parentheses to combine && and . (WebCore::UniscribeController::shapeAndPlaceItem): Removed unused 'glyphCount'.
- 9:31 PM Changeset in webkit [239319] by
-
- 12 edits2 adds2 deletes in trunk
[MediaStream] A stream's first video frame should be rendered
https://bugs.webkit.org/show_bug.cgi?id=192629
<rdar://problem/46664353>
Reviewed by Youenn Fablet.
Source/WebCore:
Test: fast/mediastream/media-stream-renders-first-frame.html
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::enqueueVideoSample):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::ensureLayers):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentDisplayMode const):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateDisplayMode):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::play):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentReadyState):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::characteristicsChanged):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::checkSelectedVideoTrack):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::paintCurrentFrameInContext):
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::size const):
- platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::processNewFrame):
- platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:
(WebCore::RealtimeIncomingVideoSourceCocoa::processNewSample):
LayoutTests:
- fast/mediastream/MediaStream-video-element-displays-buffer.html: Updated.
- fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled-expected.txt: Ditto.
- fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html: Ditto.
- fast/mediastream/media-stream-renders-first-frame-expected.txt: Added.
- fast/mediastream/media-stream-renders-first-frame.html: Added.
- http/tests/media/media-stream/getusermedia-with-canvas-expected.txt: Removed.
- http/tests/media/media-stream/getusermedia-with-canvas.html: Removed.
- 9:23 PM Changeset in webkit [239318] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, fix the iOSMac engineering build again
After r239311,
WebProcessProxy::fullKeyboardAccessEnabledinWebProcessProxyIOS.mmattempts to use
WKFullKeyboardAccessWatcher, which is guarded byENABLE(FULL_KEYBOARD_ACCESS). However, on iOSMac,
ENABLE(FULL_KEYBOARD_ACCESS)is 0. Fix the build by putting access toWKFullKeyboardAccessWatcherbehind
ENABLE(FULL_KEYBOARD_ACCESS).
- UIProcess/ios/WebProcessProxyIOS.mm:
(WebKit::WebProcessProxy::fullKeyboardAccessEnabled):
- 8:39 PM Changeset in webkit [239317] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, fix the iOSMac engineering build
generateRequestID()is only invoked from code underENABLE(MEDIA_STREAM); move it under this guard to avoid
an unused function warning.
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
- 8:17 PM Changeset in webkit [239316] by
-
- 5 edits in trunk/Source/WebCore
Bindings generator should support Conditional= along with CachedAttribute
https://bugs.webkit.org/show_bug.cgi?id=192721
Reviewed by Ryosuke Niwa.
Fix a bug where specifying both attributes causes compilation errors because the compile-time
condition is not included in the derived code.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjCachedAttribute3Getter):
(WebCore::jsTestObjCachedAttribute3):
(WebCore::JSTestObj::visitChildren):
- bindings/scripts/test/JS/JSTestObj.h:
- bindings/scripts/test/TestObj.idl:
- 8:09 PM Changeset in webkit [239315] by
-
- 5 edits in trunk/Source
clang-tidy: Fix unnecessary object copy in CPUMonitor::setCPULimit()
<https://webkit.org/b/192707>
<rdar://problem/46734926>
Reviewed by Daniel Bates.
Source/WebCore:
- platform/CPUMonitor.cpp:
(WebCore::CPUMonitor::setCPULimit):
- platform/CPUMonitor.h:
(WebCore::CPUMonitor::setCPULimit):
- Change parameter to const reference to fix unnecessary copies.
Source/WebKit:
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::updateCPUMonitorState):
- Pass m_cpuLimit directly since getting its value causes an identical std::optional<double> to be created unnecessarily.
- 8:04 PM Changeset in webkit [239314] by
-
- 5 edits2 adds in trunk
[iOS] Focusing a large editable element always scrolls to the top of the element
https://bugs.webkit.org/show_bug.cgi?id=192745
<rdar://problem/46758445>
Reviewed by Tim Horton.
Source/WebKit:
Currently, when focusing form controls or editable elements, we try to scroll such that the focused element rect
is centered within the visible area. In the case of very large focusable elements whose dimensions exceed the
width or height of the visible area, we instead scroll such that the top left point of the element is at the top
left corner of the visible area.
However, this results in unnecessary scrolling if the top of the element is already near the top of the visible
area. For WebKit2-based rich text editors that have an editable body element with a top content inset that
contains additional content, this means we will always scroll the additional content away when focusing the
editable body.
To avoid this behavior, adjust focused element zooming logic for editable elements that are too large to be
centered in the visible area, such that we only scroll the top left position of the focused element to the top
half or top right of the visible area, respectively. This reduces the amount of scrolling when focusing large
editable elements, while still making it clear which element is being focused.
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _zoomToFocusRect:selectionRect:insideFixed:fontSize:minimumScale:maximumScale:allowScaling:forceScroll:]):
Make some small adjustments to improve the readability of this method by using
clampToinstead of clamping
values by comparing and setting values.
Also, fix an existing bug wherein focusable elements that are meant to be centered within the visible area are
currently offset by half the difference between the bottom inset amount and the top inset amount, in the case
where the_obscuredInsetsSPI is used to specify content insets for the web view (i.e., MobileSafari).
- UIProcess/API/Cocoa/WKWebViewInternal.h:
Make a couple of arguments
const FloatRect&instead of justFloatRect.
LayoutTests:
Add a new layout test to verify that we don't scroll unnecessarily when focusing a tall editable element, whose
top offset is already near the top of the viewport.
- editing/selection/ios/no-scrolling-when-focusing-large-editable-area-expected.txt: Added.
- editing/selection/ios/no-scrolling-when-focusing-large-editable-area.html: Added.
- 7:52 PM Changeset in webkit [239313] by
-
- 9 edits2 adds in trunk
offsetLeft and offsetParent should adjust across shadow boundaries
https://bugs.webkit.org/show_bug.cgi?id=157437
<rdar://problem/26154021>
Reviewed by Simon Fraser.
Source/WebCore:
Update the WebKit's treatment of shadow boundaries in offsetLeft, offsetTop, and offsetParent to match
the latest discussion in CSS WG. See https://github.com/w3c/webcomponents/issues/497
and https://github.com/w3c/webcomponents/issues/763
The latest consensus is to use the retargeting algorithm (https://dom.spec.whatwg.org/#retarget).
In practice, this would mean that we need to keep walking up the offset parent ancestors until we find
the one which is in the same tree as a shadow-inclusive ancestor of the context object.
For example, if a node (the context object of offsetTop, offsetLeft, offsetParent) was assigned to a slot
inside a shadow tree and its offset parent was in the shadow tree, we need to walk up to its offset parent,
then its offset parent, etc... until we find the offset parent in the same tree as the context object.
Note it's possible that the context object is inside a shadow tree which does not have its own offset parent.
(e.g. all elements have position: static) For this reason, we need to consider not just offset parent in
the same tree as the context object but as well as any offset parent which is in its ancestor trees.
Test: fast/shadow-dom/offsetParent-across-shadow-boundaries.html
- dom/Element.cpp:
(WebCore::adjustOffsetForZoomAndSubpixelLayout): Extracted to share code between offsetLeft and offsetTop.
(WebCore::collectAncestorTreeScopeAsHashSet): Added.
(WebCore::Element::offsetLeftForBindings): Added. Sums up offsetLeft's until it finds the first offset parent
which is a shadow-including ancestor (https://dom.spec.whatwg.org/#concept-shadow-including-ancestor).
(WebCore::Element::offsetLeft): Now uses adjustOffsetForZoomAndSubpixelLayout.
(WebCore::Element::offsetTopForBindings): Added. Like offsetLeftForBindings, this function sums up offsetTop's
until it finds the first offset parent which is a shadow-including ancestor.
(WebCore::Element::offsetTop): Now uses adjustOffsetForZoomAndSubpixelLayout.
(WebCore::Element::offsetParentForBindings): Renamed from bindingsOffsetParent to be consistent with other
functions meant to be used for bindings code.
- dom/Element.h:
- html/HTMLElement.idl:
Source/WebKit:
Use *forBindings variants of offsetLeft, offsetTop, and offsetParent.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElementGtk.cpp:
(webkit_dom_element_get_offset_left):
(webkit_dom_element_get_offset_top):
(webkit_dom_element_get_offset_parent):
Source/WebKitLegacy/mac:
Use *forBindings variants of offsetLeft, offsetTop, and offsetParent.
- DOM/DOMElement.mm:
(-[DOMElement offsetLeft]):
(-[DOMElement offsetTop]):
(-[DOMElement offsetParent]):
LayoutTests:
Added a W3C style testharness.js test.
- fast/shadow-dom/offsetParent-across-shadow-boundaries-expected.txt: Added.
- fast/shadow-dom/offsetParent-across-shadow-boundaries.html: Added.
- 6:45 PM Changeset in webkit [239312] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Canvas: path view is misaligned
https://bugs.webkit.org/show_bug.cgi?id=192761
Reviewed by Joseph Pecoraro.
- UserInterface/Views/RecordingContentView.css:
(.content-view:not(.tab).recording :matches(img, canvas)):
(.content-view:not(.tab).recording canvas.path):
- 6:25 PM Changeset in webkit [239311] by
-
- 6 edits in trunk/Source
Some builds are broken after r239262
https://bugs.webkit.org/show_bug.cgi?id=192777
Reviewed by Simon Fraser.
Source/WebKit:
- Platform/spi/ios/AccessibilitySupportSPI.h:
- UIProcess/Cocoa/WKFullKeyboardAccessWatcher.h:
- UIProcess/Cocoa/WKFullKeyboardAccessWatcher.mm:
(platformIsFullKeyboardAccessEnabled):
(-[WKFullKeyboardAccessWatcher init]):
Fix the build by being more clear about when it's OK to use AccessibilitySupport.
Source/WTF:
- wtf/Platform.h:
- 6:17 PM Changeset in webkit [239310] by
-
- 4 edits in trunk
Allow passing nil as session state to [WKWebView _restoreSessionState:]
https://bugs.webkit.org/show_bug.cgi?id=192789
<rdar://problem/46755277>
Reviewed by Alex Christensen.
Source/WebKit:
Allow passing nil as session state to [WKWebView _restoreSessionState:] instead of crashing.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _restoreSessionState:andNavigate:]):
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/WebKit/WKBackForwardList.mm:
(TEST):
- 6:03 PM Changeset in webkit [239309] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/WTF
Merge r239249 - Verify size is valid in USE_SYSTEM_MALLOC version of tryAllocateZeroedVirtualPages
https://bugs.webkit.org/show_bug.cgi?id=192738
rdar://problem/37502342
Reviewed by Mark Lam.
- wtf/Gigacage.cpp:
(Gigacage::tryAllocateZeroedVirtualPages): Added a RELEASE_ASSERT just
like the one in tryLargeZeroedMemalignVirtual in bmalloc.
- 6:03 PM Changeset in webkit [239308] by
-
- 3 edits in releases/WebKitGTK/webkit-2.22/Source/JavaScriptCore
Merge r239248 - LiteralParser has a bunch of uses of String::format with untrusted data
https://bugs.webkit.org/show_bug.cgi?id=108883
rdar://problem/13666409
Reviewed by Mark Lam.
- runtime/LiteralParser.cpp:
(JSC::LiteralParser<CharType>::Lexer::lex): Use makeString instead of String::format.
(JSC::LiteralParser<CharType>::Lexer::lexStringSlow): Ditto.
(JSC::LiteralParser<CharType>::parse): Ditto.
- runtime/LiteralParser.h:
(JSC::LiteralParser::getErrorMessage): Use string concatenation instead of
String::format.
- 6:03 PM Changeset in webkit [239307] by
-
- 3 edits1 add in releases/WebKitGTK/webkit-2.22
Merge r239198 - Add a missing exception check.
https://bugs.webkit.org/show_bug.cgi?id=192626
<rdar://problem/46662163>
Reviewed by Keith Miller.
JSTests:
- stress/regress-192626.js: Added.
Source/JavaScriptCore:
- runtime/ScopedArguments.h:
- 5:45 PM Changeset in webkit [239306] by
-
- 12 edits9 adds in trunk
Don't use more expensive layer backing store formats when subpixel text antialiasing is not enabled
https://bugs.webkit.org/show_bug.cgi?id=192780
rdar://problem/43394387
Reviewed by Tim Horton.
Source/WebCore:
macOS Mojave disabled text subpixel antialiasing by default, so we no longer need to use the
memory-hungry "linear glyph mask" CALayer backing store formats for non-opaque with text in them.
Add FontCascade::isSubpixelAntialiasingAvailable() which reports whether subpixel antialiasing is available,
and consult it when making decisions that affect layer backing store format.
Tested by new results for existing tests.
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::isSubpixelAntialiasingAvailable):
- platform/graphics/FontCascade.h:
- platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::FontCascade::isSubpixelAntialiasingAvailable): CGFontRenderingGetFontSmoothingDisabled() isn't super cheap, so fetch
it once.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateAfterDescendants):
- testing/Internals.cpp:
(WebCore::Internals::setFontSmoothingEnabled): Remove a WebCore::
Source/WebCore/PAL:
Add CGFontRenderingGetFontSmoothingDisabled().
- pal/spi/cg/CoreGraphicsSPI.h:
Tools:
No need to set "AppleFontSmoothing" defaults for WK2.
- WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
(WTR::InjectedBundle::platformInitialize):
LayoutTests:
New macOS Mojave and later results.
- platform/mac-mojave/compositing/contents-format/subpixel-antialiased-nested-layer-expected.txt: Added.
- platform/mac-mojave/compositing/contents-format/subpixel-antialiased-text-configs-antialiasing-style-expected.txt: Added.
- platform/mac-mojave/compositing/contents-format/subpixel-antialiased-text-configs-expected.txt: Added.
- platform/mac-mojave/compositing/contents-format/subpixel-antialiased-text-enabled-expected.txt: Added.
- platform/mac-mojave/compositing/contents-format/subpixel-antialiased-text-images-expected.txt: Added.
- platform/mac-mojave/compositing/contents-format/subpixel-antialiased-text-traversal-expected.txt: Added.
- platform/mac-mojave/compositing/contents-format/subpixel-antialiased-text-visibility-expected.txt: Added.
- 5:32 PM Changeset in webkit [239305] by
-
- 2 edits in trunk/Source/WebKit
Fix occasional null-dereference crash in WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame
https://bugs.webkit.org/show_bug.cgi?id=192744
<rdar://problem/45842668>
Patch by Alex Christensen <achristensen@webkit.org> on 2018-12-17
Reviewed by Chris Dumez.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
Things happen. Navigations can be null. If they are, we shouldn't dereference pointers to them.
- 5:21 PM Changeset in webkit [239304] by
-
- 3 edits1 add in trunk
SamplingProfiler's isValidFramePointer() should reject address at stack origin.
https://bugs.webkit.org/show_bug.cgi?id=192779
<rdar://problem/46775869>
Reviewed by Saam Barati.
JSTests:
- stress/sampling-profiler-should-not-sample-beyond-stack-bounds.js: Added.
Source/JavaScriptCore:
isValidFramePointer() was previously treating the address at StackBounds::origin()
as valid stack memory. This is not true. StackBounds::origin() is actually the
first address beyond valid stack memory. This is now fixed.
- runtime/SamplingProfiler.cpp:
(JSC::FrameWalker::isValidFramePointer):
- 4:12 PM Changeset in webkit [239303] by
-
- 3 edits in trunk/Tools
webkitpy: Handle case where stdout and stderr don't accept unicode
https://bugs.webkit.org/show_bug.cgi?id=192775
<rdar://problem/46497303>
Reviewed by Stephanie Lewis.
- Scripts/webkitpy/layout_tests/views/metered_stream.py:
(MeteredStream.write): If unicode cannot be written to the stream, replace unicode
characters with '?'.
- Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:
(RegularTest.test_stream_with_encoding):
- 3:58 PM Changeset in webkit [239302] by
-
- 2 edits in tags/Safari-607.1.16.5/Source/WebKit
Cherry-pick r239294. rdar://problem/46757541
Unreviewed, revert recent CrashReporterClient build fixes as they are no longer needed.
- Platform/cocoa/WKCrashReporter.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@239294 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:58 PM Changeset in webkit [239301] by
-
- 3 edits2 adds in tags/Safari-607.1.16.5
Cherry-pick r239150. rdar://problem/46531919
REGRESSION (r238090): CAPCHA UI jumps to the wrong location
https://bugs.webkit.org/show_bug.cgi?id=192651
rdar://problem/46531919
Reviewed by Zalan Bujtas.
Source/WebCore:
When a RenderLayer becomes non-composited because of a style change, we need to set a dirty
bit to say that descendants need their geometry updated (because they now have to
compute their positions relative to a different ancestor). This wasn't happening
in the layerStyleChanged() code path.
In the code path that did do this correctly (in the computeCompositingRequirements() tree walk),
we can address a FIXME and only dirty direct children, not all descendants (that code was
written before the child-only dirty bit existed).
Test: compositing/geometry/update-child-geometry-on-compositing-change.html
- rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::computeCompositingRequirements): (WebCore::RenderLayerCompositor::layerStyleChanged):
LayoutTests:
Testcase that makes an intermediate layer non-composited (but still a RenderLayer).
- compositing/geometry/update-child-geometry-on-compositing-change-expected.html: Added.
- compositing/geometry/update-child-geometry-on-compositing-change.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@239150 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:58 PM Changeset in webkit [239300] by
-
- 3 edits in tags/Safari-607.1.16.5/Source/WebKit
Cherry-pick r239059. rdar://problem/46382007
Animated scrolling on Google Maps scrolls the page in addition to moving the map
https://bugs.webkit.org/show_bug.cgi?id=192521
<rdar://problem/46382007>
Reviewed by Sam Weinig.
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/ios/WKKeyboardScrollingAnimator.mm: (-[WKKeyboardScrollViewAnimator rubberbandableDirections]): Only do keyboard-based rubber-banding in directions that we can actually scroll, not directions we can only finger-rubber-band in. This effectively means keyboard scrolling will ignore "alwaysBounce{Vertical, Horizontal}".
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@239059 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:56 PM Changeset in webkit [239299] by
-
- 1 copy in tags/Safari-606.4.4
Tag Safari-606.4.4.
- 3:46 PM Changeset in webkit [239298] by
-
- 2 edits in tags/Safari-607.1.16.4/Source/WebKit
Cherry-pick r239294. rdar://problem/46757541
Unreviewed, revert recent CrashReporterClient build fixes as they are no longer needed.
- Platform/cocoa/WKCrashReporter.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@239294 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:37 PM Changeset in webkit [239297] by
-
- 2 edits in trunk/JSTests
Unreviewed test gardening, address a syntax error in a new test.
- stress/out-of-frame-stack-accesses-due-to-probe-based-osr-exits.js:
- 3:37 PM Changeset in webkit [239296] by
-
- 7 edits in tags/Safari-607.1.16.5/Source
Versioning.
- 3:32 PM Changeset in webkit [239295] by
-
- 1 copy in tags/Safari-607.1.16.5
New tag.
- 3:29 PM Changeset in webkit [239294] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, revert recent CrashReporterClient build fixes as they are no longer needed.
- Platform/cocoa/WKCrashReporter.mm:
- 3:06 PM Changeset in webkit [239293] by
-
- 4 edits in trunk/PerformanceTests
Add "-o/--output" option to startup.py and new_tab.py benchmark scripts to save the results in json format.
https://bugs.webkit.org/show_bug.cgi?id=192385
Patch by Suresh Koppisetty <skoppisetty@apple.com> on 2018-12-17
Reviewed by Ryosuke Niwa.
Sample json output for new tab benchmark script after running for 2 iterations and 2 groups. Values are in milliseconds.
{
"NewTabBenchmark": {
"metrics": {
"Time": {
"current": [
[
410.2939453125,
307.81494140625
],
[
340.616943359375,
265.94384765625
]
]
}
}
}
}
Sample json output for startup time benchmark script after running for 2 iterations. Values are in milliseconds.
{
"StartupBenchmark": {
"metrics": {
"Time": {
"current": [
[
1415.2099609375,
1439.552978515625
]
]
}
}
}
}
- LaunchTime/launch_time.py:
- LaunchTime/new_tab.py:
(NewTabBenchmark.get_test_name):
- LaunchTime/startup.py:
(StartupBenchmark.get_test_name):
- 3:01 PM Changeset in webkit [239292] by
-
- 3 edits in trunk/PerformanceTests
Import FeedbackServer only if "-f/--feedback-in-browser" option is enabled.
https://bugs.webkit.org/show_bug.cgi?id=192378
Patch by Suresh Koppisetty <skoppisetty@apple.com> on 2018-12-17
Reviewed by Ryosuke Niwa.
FeedbackServer currently depends on Tornado-5.1, which further adds
dependency of "singledispatch", "backports-abc" and "futures" python libraries.
Importing FeedbackServer only if "-f/--feedback-in-browser" option is enabled
will let us run the benchmark scripts without installing any new python libraries.
- LaunchTime/launch_time.py:
- LaunchTime/new_tab.py:
- 3:00 PM Changeset in webkit [239291] by
-
- 2 edits in trunk/Source/WebKit
Rollout r235411
https://bugs.webkit.org/show_bug.cgi?id=192778
<rdar://46789485>
Disabling access to CoreServices is causing a performance
regression in process launch time. See <rdar://46141878>
Patch by Suresh Koppisetty <skoppisettyt@apple.com> on 2018-12-17
Reviewed by Alex Christensen.
- WebProcess/com.apple.WebProcess.sb.in:
- 2:46 PM Changeset in webkit [239290] by
-
- 4 edits1 add in trunk
Suppress ASAN on valid stack accesses in Probe-based OSRExit::executeOSRExit().
https://bugs.webkit.org/show_bug.cgi?id=192776
<rdar://problem/46772368>
Reviewed by Keith Miller.
JSTests:
- stress/out-of-frame-stack-accesses-due-to-probe-based-osr-exits.js: Added.
Source/JavaScriptCore:
- Add some asanUnsafe methods to the Register class.
- Update the probe-based OSRExit::executeOSRExit() to use these asanUnsafe methods.
- dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::executeOSRExit):
- interpreter/Register.h:
(JSC::Register::asanUnsafeUnboxedInt32 const):
(JSC::Register::asanUnsafeUnboxedInt52 const):
(JSC::Register::asanUnsafeUnboxedStrictInt52 const):
(JSC::Register::asanUnsafeUnboxedDouble const):
(JSC::Register::asanUnsafeUnboxedCell const):
- 1:47 PM Changeset in webkit [239289] by
-
- 2 edits in trunk/Source/WebCore
Make DocumentMarker::allMarkers() constexpr
https://bugs.webkit.org/show_bug.cgi?id=192634
Reviewed by Simon Fraser.
The result of DocumentMarker::allMarkers() can be computed at compile time. We should annotate
it constexpr to do just that.
- dom/DocumentMarker.h:
(WebCore::DocumentMarker::allMarkers):
- 1:34 PM Changeset in webkit [239288] by
-
- 8 edits10 adds in trunk
[WebGPU] Implement WebGPUBindGroupLayoutDescriptor and its supporting dictionaries
https://bugs.webkit.org/show_bug.cgi?id=192726
Reviewed by Myles C. Maxfield.
Source/WebCore:
Test: webgpu/bind-group-layouts.html
Implement the WebGPUBindGroupLayoutDescriptor struct and its sub-structs:
- Modules/streams/WebGPUBindGroupLayoutDescriptor.h: Added.
- Modules/streams/WebGPUBindGroupLayoutDescriptor.idl: Added.
- Modules/webgpu/WebGPUBindGroupLayoutBinding.h: Added.
- Modules/webgpu/WebGPUBindGroupLayoutBinding.idl: Added.
- Modules/webgpu/WebGPUShaderStageBit.h: Added.
- Modules/webgpu/WebGPUShaderStageBit.idl: Added.
- platform/graphics/gpu/GPUBindGroupLayoutBinding.h: Added.
- platform/graphics/gpu/GPUBindGroupLayoutDescriptor.h: Added.
Add the new symbols and files to the project:
- CMakeLists.txt:
- DerivedSources.make:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/WebCoreBuiltinNames.h:
Small FIXME update for later:
- platform/graphics/gpu/cocoa/GPURenderPassEncoderMetal.mm:
(WebCore::GPURenderPassEncoder::setVertexBuffers):
LayoutTests:
Add simple test to ensure a WebGPUBindGroupLayoutDescriptor can be created.
- webgpu/bind-group-layouts-expected.txt: Added.
- webgpu/bind-group-layouts.html: Added.
- 1:32 PM Changeset in webkit [239287] by
-
- 3 edits1 add in trunk
Fix stale assertion in attemptToForceStringArrayModeByToStringConversion().
https://bugs.webkit.org/show_bug.cgi?id=192770
<rdar://problem/46449037>
Reviewed by Keith Miller.
JSTests:
- stress/force-string-arrayMode-on-originalNonArray-array-class.js: Added.
Source/JavaScriptCore:
This assertion was added before Array::OriginalNonArray was introduced. It just
needs to be updated to allow for Array::OriginalNonArray.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::attemptToForceStringArrayModeByToStringConversion):
- 1:16 PM Changeset in webkit [239286] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Audit: add plural result strings
https://bugs.webkit.org/show_bug.cgi?id=192769
<rdar://problem/46628680>
Reviewed by Brian Burg.
- UserInterface/Views/AuditTestContentView.js:
(WI.AuditTestContentView.prototype.showNoResultDataPlaceholder):
- UserInterface/Views/AuditTestGroupContentView.js:
(WI.AuditTestGroupContentView.prototype.layout):
- Localizations/en.lproj/localizedStrings.js:
- 1:15 PM Changeset in webkit [239285] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Settings: add singular "space" UIString
https://bugs.webkit.org/show_bug.cgi?id=192766
<rdar://problem/46776948>
Reviewed by Brian Burg.
- UserInterface/Views/SettingEditor.js:
(WI.SettingEditor):
(WI.SettingEditor.prototype.get label):
(WI.SettingEditor.prototype.set label): Added.
- UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createGeneralSettingsView):
(WI.SettingsTabContentView.prototype._createGeneralSettingsView.addSpacesSetting): Added.
(WI.SettingsTabContentView.prototype._createGeneralSettingsView.addSpacesSetting.updateLabel): Added.
- Localizations/en.lproj/localizedStrings.js:
- 1:07 PM Changeset in webkit [239284] by
-
- 7 edits in tags/Safari-607.1.17.1/Source
Versioning.
- 12:52 PM Changeset in webkit [239283] by
-
- 1 copy in tags/Safari-607.1.17.1
New tag.
- 12:36 PM Changeset in webkit [239282] by
-
- 4 edits in trunk
Support concatenating StringView with other string types
https://bugs.webkit.org/show_bug.cgi?id=177566
Reviewed by Darin Adler.
Source/WTF:
Add operator+ overloads to StringOperators.h to support concatenating a StringView with
other string types (e.g. String). This lets a person write more naturally looking code:
stringView + string
Instead of:
makeString(stringView, string)
- wtf/text/StringOperators.h:
(WTF::operator+): Added various operator+ overloads.
Tools:
Add some tests to ensure we do not regress the number of allocations needed when performing
string concatenation with string views.
- TestWebKitAPI/Tests/WTF/StringOperators.cpp:
(TestWebKitAPI::TEST):
- 12:21 PM Changeset in webkit [239281] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed WPE build fix after r239277.
- UIProcess/API/C/WKContext.cpp:
(WKContextClearCurrentModifierStateForTesting):
Use the WebKit:: namespace specifier as it is used across this file.
- 12:18 PM Changeset in webkit [239280] by
-
- 6 edits in trunk/Source
Unreviewed build fix.
Source/WebCore:
- page/ios/FrameIOS.mm:
(WebCore::Frame::interpretationsForCurrentRoot const):
Source/WebKitLegacy/ios:
- WebCoreSupport/WebVisiblePosition.mm:
(-[WebVisiblePosition enclosingRangeWithDictationPhraseAlternatives:]):
(-[WebVisiblePosition enclosingRangeWithCorrectionIndicator]):
Source/WebKitLegacy/mac:
- WebView/WebFrame.mm:
(-[WebFrame getDictationResultRanges:andMetadatas:]):
- 11:42 AM Changeset in webkit [239279] by
-
- 11 edits2 adds in trunk
Reproducible ASSERTion failure when toggling layer borders with find-in-page up
https://bugs.webkit.org/show_bug.cgi?id=192762
<rdar://problem/46676873>
Reviewed by Simon Fraser.
Source/WebCore:
DocumentMarkerController::markersFor() should take a reference instead of a Node*.
Test: editing/document-marker-null-check.html
- dom/DocumentMarkerController.cpp:
(DocumentMarkerController::hasMarkers):
- dom/DocumentMarkerController.h:
- editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::respondToChangedSelection):
- editing/Editor.cpp:
(WebCore::Editor::selectionStartHasMarkerFor const):
- rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::collectMarkedTextsForDocumentMarkers const):
- rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::paint):
- rendering/RenderText.cpp:
(WebCore::RenderText::draggedContentRangesBetweenOffsets const):
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForWithReason):
- testing/Internals.cpp:
(WebCore::Internals::markerCountForNode):
LayoutTests:
- editing/document-marker-null-check-expected.txt: Added.
- editing/document-marker-null-check.html: Added.
- 11:22 AM Changeset in webkit [239278] by
-
- 23 edits7 deletes in trunk
Unreviewed, rolling out r239265 and r239274.
https://bugs.webkit.org/show_bug.cgi?id=192765
unorm_normalize is deprecated, and broke an internal build
(Requested by Truitt on #webkit).
Reverted changesets:
"[GTK][WPE] Need a function to convert internal URI to display
("pretty") URI"
https://bugs.webkit.org/show_bug.cgi?id=174816
https://trac.webkit.org/changeset/239265
"Fix the Apple Internal Mac build with a newer SDK"
https://trac.webkit.org/changeset/239274
- 11:19 AM Changeset in webkit [239277] by
-
- 19 edits3 adds in trunk
Implement UIScriptController::toggleCapsLock() for iOS
https://bugs.webkit.org/show_bug.cgi?id=191815
Reviewed by Andy Estes.
Source/WebCore/PAL:
Add HID usage enumerator for the Caps Lock key.
- pal/spi/cocoa/IOKitSPI.h:
Source/WebKit:
Add test infrastructure to clear the current modifier state. We will use this to ensure that
the caps lock state does not persist between tests.
- UIProcess/API/C/WKContext.cpp:
(WKContextClearCurrentModifierStateForTesting): Added.
- UIProcess/API/C/WKContextPrivate.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::clearCurrentModifierStateForTesting): Added.
- UIProcess/WebProcessPool.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::clearCurrentModifierStateForTesting): Added.
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
Tools:
Add support for toggling the caps lock state in WebKitTestRunner on iOS.
- TestRunnerShared/UIScriptContext/UIScriptController.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues): Clear the current modifier state
before running a test. This ensures that the caps lock state does not persist between
tests should a test enable caps lock and not disable it.
- WebKitTestRunner/ios/HIDEventGenerator.mm:
(hidUsageCodeForCharacter): Map "capsLock" to the Caps Lock key usage code.
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::createUIPhysicalKeyboardEvent): Modified to take the keyboard input flags to use to
create the event. Also substituted NSString* for const String& as the data type for the first
two parameters to avoid conversions in the implementation of UIScriptController::toggleCapsLock()
below.
(WTR::UIScriptController::keyDown): Update as needed due to changes to prototype of createUIPhysicalKeyboardEvent().
(WTR::UIScriptController::toggleCapsLock): Dispatch a UIEvent to toggle caps lock.
LayoutTests:
Add iOS-specific results for some of the tests. We need to continue to skip the caps
lock tests on iOS until we have the fix for <rdar://problem/44930119>.
- fast/forms/password-scrolled-after-caps-lock-toggled.html: Replace input.focus() with
UIHelper.activateElement(input) to make it work on iOS and update logic accordingly.
Compensate for the fact that one less character than the size of the input is visible in
a password field on iOS.
- fast/repaint/placeholder-after-caps-lock-hidden.html: Replace input.focus() with
UIHelper.activateElement(input) to make it work on iOS and update logic accordingly.
- platform/ios-wk2/TestExpectations:
- platform/ios-wk2/fast/forms/password-scrolled-after-caps-lock-toggled-expected.txt: Added.
- platform/ios-wk2/fast/repaint/placeholder-after-caps-lock-hidden-expected.txt: Added.
- 11:17 AM Changeset in webkit [239276] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (r239262): Fix broken builds prior to Mojave
<https://bugs.webkit.org/show_bug.cgi?id=192373>
<rdar://problem/46462670>
- UIProcess/Cocoa/WKFullKeyboardAccessWatcher.mm:
Wrap header in ENABLE(ACCESSIBILITY_EVENTS) to fix the build.
- 10:58 AM Changeset in webkit [239275] by
-
- 7 edits in trunk
[iOS] Remove -[WebEvent initWithKeyEventType:...:characterSet:]
https://bugs.webkit.org/show_bug.cgi?id=192633
Reviewed by Wenson Hsieh.
Source/WebCore:
UIKit has long adopted the newer -[WebEvent initWithKeyEventType:] initializer that takes an
input manager hint. We no longer need to keep the variant -[WebEvent initWithKeyEventType:...:characterSet:]
for binary compatibility.
- platform/ios/WebEvent.h:
- platform/ios/WebEvent.mm:
(-[WebEvent initWithKeyEventType:timeStamp:characters:charactersIgnoringModifiers:modifiers:isRepeating:withFlags:keyCode:isTabKey:characterSet:]): Deleted.
Source/WebKit:
Update code to use the modern initializer.
- UIProcess/ios/WKWebEvent.mm:
(-[WKWebEvent initWithEvent:]):
Tools:
Update code to use the modern initializer.
- DumpRenderTree/mac/EventSendingController.mm:
(-[EventSendingController keyDown:withModifiers:withLocation:]):
- 10:56 AM Changeset in webkit [239274] by
-
- 2 edits in trunk/Source/WTF
Fix the Apple Internal Mac build with a newer SDK
- wtf/URLHelpers.cpp:
(WTF::URLHelpers::userVisibleURL):
- 10:45 AM Changeset in webkit [239273] by
-
- 115 edits in trunk
Unreviewed, rolling out r239254.
This broke the Windows 10 Debug build
Reverted changeset:
"Replace many uses of String::format with more type-safe
alternatives"
https://bugs.webkit.org/show_bug.cgi?id=192742
https://trac.webkit.org/changeset/239254
- 10:42 AM Changeset in webkit [239272] by
-
- 3 edits in tags/Safari-607.1.16.4/Source/WebKit
Cherry-pick r239228. rdar://problem/46715748
Unreviewed, fix assertion failure in API test after r239210.
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createDocumentLoader):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@239228 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:42 AM Changeset in webkit [239271] by
-
- 10 edits in tags/Safari-607.1.16.4
Cherry-pick r239210. rdar://problem/46715748
[PSON] WebsitePolicies are lost on process-swap
https://bugs.webkit.org/show_bug.cgi?id=192694
<rdar://problem/46715748>
Reviewed by Brady Eidson.
Source/WebKit:
In case of process-swap on navigation, instead of sending the websitePolicies to the old
process, send them to the new process as we trigger the navigation. We tell the new process
that it is continuing a load and it will therefore not re-trigger a decidePolicyForNavigationAction.
- Shared/LoadParameters.cpp: (WebKit::LoadParameters::encode const): (WebKit::LoadParameters::decode):
- Shared/LoadParameters.h:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::reattachToWebProcessForReload): (WebKit::WebPageProxy::reattachToWebProcessWithItem): (WebKit::WebPageProxy::loadRequestWithNavigation): (WebKit::WebPageProxy::loadDataWithNavigation): (WebKit::WebPageProxy::goToBackForwardItem): (WebKit::WebPageProxy::receivedNavigationPolicyDecision): (WebKit::WebPageProxy::continueNavigationInNewProcess):
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::loadRequest): (WebKit::WebPage::loadDataImpl): (WebKit::WebPage::loadData): (WebKit::WebPage::loadAlternateHTML): (WebKit::WebPage::goToBackForwardItem): (WebKit::WebPage::createDocumentLoader):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
Extend existing API test to reproduce the issue.
- TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@239210 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:51 AM Changeset in webkit [239270] by
-
- 3 edits in trunk/Source/WebCore
[Web Animations] Remove the redundant m_scheduledMicrotask from WebAnimation
https://bugs.webkit.org/show_bug.cgi?id=192758
Reviewed by Dean Jackson.
We tracked whether we had a pending microtask twice so we remove the m_scheduledMicrotask flag as m_finishNotificationStepsMicrotaskPending
gives us enough information as it is. Additionally, we remove the scheduleMicrotaskIfNeeded() and performMicrotask() functions since there is
less bookkeeping to perform.
No new test since there is no user-observable change.
- animation/WebAnimation.cpp:
(WebCore::WebAnimation::updateFinishedState):
(WebCore::WebAnimation::scheduleMicrotaskIfNeeded): Deleted.
(WebCore::WebAnimation::performMicrotask): Deleted.
- animation/WebAnimation.h:
- 9:49 AM Changeset in webkit [239269] by
-
- 3 edits in trunk/Source/WebCore
[Web Animations] Ensure we don't update an animation's finished state twice when updating animations
https://bugs.webkit.org/show_bug.cgi?id=192757
Reviewed by Dean Jackson.
When animations are udpated and DocumentTimeline::updateAnimationsAndSendEvents() is called, we used to update an animation's finished state
twice since we'd do it once when calling tick() and once again when calling resolve() in the ensuing style invalidation. We now keep track of
whether we've already updated an animation's finished state during animation update in the call to tick() and avoid updating in the immediate
next call to resolve(), unless any of the timing properties have changed in the meantime.
No new test since there is no user-observable change.
- animation/WebAnimation.cpp:
(WebCore::WebAnimation::timingDidChange):
(WebCore::WebAnimation::tick):
(WebCore::WebAnimation::resolve):
- animation/WebAnimation.h:
- 9:10 AM Changeset in webkit [239268] by
-
- 3 edits6 adds in trunk
REGRESSION (r233268): Elements animated in from offscreen sometimes don't display
https://bugs.webkit.org/show_bug.cgi?id=192725
rdar://problem/46011418
Reviewed by Antoine Quint.
Source/WebCore:
There were two problems with backing store attachment and animation.
First, animations are an input into the "backing store attached" logic, so when they change
we should set the CoverageRectChanged bit on GraphicsLayerCA.
Secondly, when an ancestor has unknown animation extent, all its descendants need to
get backing store, so we need to set childCommitState.ancestorWithTransformAnimationIntersectsCoverageRect when
the current layer has no animation extent.
Tests: compositing/backing/animate-into-view-with-descendant.html
compositing/backing/animate-into-view.html
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::addAnimation):
(WebCore::GraphicsLayerCA::removeAnimation):
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
LayoutTests:
- compositing/backing/animate-into-view-expected.txt: Added.
- compositing/backing/animate-into-view-with-descendant-expected.txt: Added.
- compositing/backing/animate-into-view-with-descendant.html: Added.
- compositing/backing/animate-into-view.html: Added.
- platform/ios/compositing/backing/animate-into-view-expected.txt: Added.
- platform/ios/compositing/backing/animate-into-view-with-descendant-expected.txt: Added.
- 7:44 AM Changeset in webkit [239267] by
-
- 4 edits in trunk/Source/WebCore
[LFC][BFC][MarginCollapsing] Unify margin collapse function naming
https://bugs.webkit.org/show_bug.cgi?id=192747
Reviewed by Antti Koivisto.
Rename some margin collapse getters.
- layout/blockformatting/BlockFormattingContext.h:
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
- layout/blockformatting/BlockMarginCollapse.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::computedNonCollapsedMarginBefore):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::computedNonCollapsedMarginAfter):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::nonCollapsedMarginBefore):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::nonCollapsedMarginAfter):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::collapsedMarginBeforeFromFirstChild):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::collapsedMarginAfterFromLastChild):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::marginBeforeCollapsesWithParentMarginAfter):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::marginBeforeCollapsesWithParentMarginBefore):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::marginAfterCollapsesWithParentMarginAfter):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::marginBeforeCollapsesWithPreviousSibling):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::marginAfterCollapsesWithNextSibling):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::marginsCollapseThrough):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::marginBefore):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::marginAfter):
(WebCore::Layout::isMarginBeforeCollapsedWithSibling): Deleted.
(WebCore::Layout::isMarginAfterCollapsedWithSibling): Deleted.
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::isMarginBeforeCollapsedWithParent): Deleted.
(WebCore::Layout::isMarginAfterCollapsedThrough): Deleted.
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::isMarginAfterCollapsedWithParent): Deleted.
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::isMarginBeforeCollapsedWithParentMarginAfter): Deleted.
- 6:22 AM Changeset in webkit [239266] by
-
- 37 edits in trunk
clang-tidy: loop variable is copied but only used as const reference in WebCore, WebKit, Tools
<https://webkit.org/b/192751>
<rdar://problem/46771623>
Reviewed by Daniel Bates.
Change loop variables to const references to avoid unnecessary
copies.
Source/WebCore:
- Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
(WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
- Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::populateIndexWithExistingRecords):
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::maybeNotifyConnectionsOfVersionChange):
- Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::objectStoreIdentifiers):
- Modules/indexeddb/shared/IDBDatabaseInfo.cpp:
(WebCore::IDBDatabaseInfo::IDBDatabaseInfo):
(WebCore::IDBDatabaseInfo::loggingString const):
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::removeSamplesFromTrackBuffer):
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::targetElementForActiveDescendant const):
- accessibility/AccessibilityTableRow.cpp:
(WebCore::AccessibilityTableRow::headerObject):
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::computedNeedsForcedLayout):
- crypto/keys/CryptoKeyRSA.cpp:
(WebCore::CryptoKeyRSA::importJwk):
(WebCore::CryptoKeyRSA::exportJwk const):
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::OrderedNamedLinesCollector::appendLines const):
- dom/DataTransfer.cpp:
(WebCore::readURLsFromPasteboardAsString):
- dom/TreeScope.cpp:
(WebCore::TreeScope::elementsFromPoint):
- html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::checkAndStoreRegion):
- inspector/agents/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::setInstruments):
- page/Page.cpp:
(WebCore::Page::updateIntersectionObservations):
- page/TextIndicator.cpp:
(WebCore::estimatedBackgroundColorForRange):
- page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::computeLayoutDependency):
- platform/graphics/DisplayRefreshMonitorManager.cpp:
(WebCore::DisplayRefreshMonitorManager::displayWasUpdated):
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::moveOrCopyAnimations):
(WebCore::GraphicsLayerCA::updateAnimations):
(WebCore::GraphicsLayerCA::isRunningTransformAnimation const):
- platform/graphics/mac/ImageMac.mm:
(WebCore::BitmapImage::tiffRepresentation):
- rendering/HitTestResult.cpp:
(WebCore::HitTestResult::append):
- testing/Internals.cpp:
(WebCore::Internals::acceleratedAnimationsForElement):
Source/WebKit:
- NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::~WebSWServerConnection):
- Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::encode const):
- UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
(WebKit::toNSErrors):
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::setFilesToSelectForFileUpload):
(WebKit::WebAutomationSession::performKeyboardInteractions):
(WebKit::WebAutomationSession::performInteractionSequence):
- UIProcess/Plugins/PluginProcessManager.cpp:
(WebKit::PluginProcessManager::getPluginProcess):
- UIProcess/ResourceLoadStatisticsMemoryStore.cpp:
(WebKit::ResourceLoadStatisticsMemoryStore::removeDataRecords):
(WebKit::ResourceLoadStatisticsMemoryStore::shouldRemoveDataRecords const):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::serializedAttachmentDataForIdentifiers):
- UIProcess/WebStorage/LocalStorageDatabaseTracker.cpp:
(WebKit::LocalStorageDatabaseTracker::deleteAllDatabases):
(WebKit::LocalStorageDatabaseTracker::origins const):
(WebKit::LocalStorageDatabaseTracker::originDetails):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_shouldAttachDrawingAreaOnPageTransition):
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::didUpdateActivityStateTimerFired):
Tools:
- DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
(-[LocalPasteboard pasteboardItems]):
- 6:08 AM Changeset in webkit [239265] by
-
- 23 edits7 adds in trunk
[GTK][WPE] Need a function to convert internal URI to display ("pretty") URI
https://bugs.webkit.org/show_bug.cgi?id=174816
Reviewed by Michael Catanzaro.
Source/WebCore:
Tests: enabled fast/url/user-visible/.
- testing/Internals.cpp:
(WebCore::Internals::userVisibleString): Enable method on all platforms.
Source/WebKit:
Add webkit_uri_for_display for GTK and WPE.
- PlatformGTK.cmake:
- PlatformWPE.cmake:
- SourcesGTK.txt:
- SourcesWPE.txt:
- UIProcess/API/glib/WebKitURIUtilities.cpp: Added.
(webkit_uri_for_display):
- UIProcess/API/gtk/WebKitURIUtilities.h: Added.
- UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
- UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
- UIProcess/API/gtk/webkit2.h:
- UIProcess/API/wpe/WebKitURIUtilities.h: Added.
- UIProcess/API/wpe/docs/wpe-0.1-sections.txt:
- UIProcess/API/wpe/docs/wpe-docs.sgml:
- UIProcess/API/wpe/webkit.h:
Source/WTF:
Translate userVisibleString and dependent code into platform-neutral C++
in wtf/URLHelpers.{h,cpp}.
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/URLHelpers.cpp: Added.
(WTF::URLHelpers::loadIDNScriptWhiteList):
(WTF::URLHelpers::isArmenianLookalikeCharacter):
(WTF::URLHelpers::isArmenianScriptCharacter):
(WTF::URLHelpers::isASCIIDigitOrValidHostCharacter):
(WTF::URLHelpers::isLookalikeCharacter):
(WTF::URLHelpers::whiteListIDNScript):
(WTF::URLHelpers::initializeDefaultIDNScriptWhiteList):
(WTF::URLHelpers::allCharactersInIDNScriptWhiteList):
(WTF::URLHelpers::isSecondLevelDomainNameAllowedByTLDRules):
(WTF::URLHelpers::isRussianDomainNameCharacter):
(WTF::URLHelpers::allCharactersAllowedByTLDRules):
(WTF::URLHelpers::mapHostName):
(WTF::URLHelpers::collectRangesThatNeedMapping):
(WTF::URLHelpers::applyHostNameFunctionToMailToURLString):
(WTF::URLHelpers::applyHostNameFunctionToURLString):
(WTF::URLHelpers::mapHostNames):
(WTF::URLHelpers::createStringWithEscapedUnsafeCharacters):
(WTF::URLHelpers::userVisibleURL):
- wtf/URLHelpers.h: Added.
- wtf/cocoa/NSURLExtras.mm:
(WTF::URLHelpers::loadIDNScriptWhiteList):
(WTF::decodePercentEscapes):
(WTF::decodeHostName):
(WTF::encodeHostName):
(WTF::URLWithUserTypedString):
(WTF::userVisibleString):
Tools:
Add tests for userVisibleString() and (for GTK and WPE) webkit_uri_for_display().
- TestWebKitAPI/CMakeLists.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WTF/URLHelpers.cpp: Added.
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitGLib/TestWebKitURIUtilities.cpp: Added.
(testURIForDisplayUnaffected):
(testURIForDisplayAffected):
(beforeAll):
(afterAll):
- TestWebKitAPI/glib/CMakeLists.txt:
LayoutTests:
- TestExpectations: Enable fast/url/user-visible/.
- 5:31 AM Changeset in webkit [239264] by
-
- 7 edits in trunk
[WPE] Add API to notify about frame displayed view backend callback
https://bugs.webkit.org/show_bug.cgi?id=192224
Reviewed by Michael Catanzaro.
Source/WebKit:
Add API to add a callback to the view to be called when the view backend notifies that a frame has been
displayed.
- UIProcess/API/glib/WebKitWebView.cpp:
(FrameDisplayedCallback::FrameDisplayedCallback):
(FrameDisplayedCallback::~FrameDisplayedCallback):
(webkit_web_view_add_frame_displayed_callback):
(webkit_web_view_remove_frame_displayed_callback):
- UIProcess/API/wpe/WebKitWebView.h:
- UIProcess/API/wpe/docs/wpe-0.1-sections.txt:
Tools:
Add a test case to check the new API.
- TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewFrameDisplayed):
(beforeAll):
- wpe/jhbuild.modules: Bump WPEBackend-fdo to 1.1.0.
Dec 16, 2018:
- 10:53 PM Changeset in webkit [239263] by
-
- 3 edits in branches/safari-606-branch
Apply patch. rdar://problem/46603448
- 4:44 PM Changeset in webkit [239262] by
-
- 6 edits2 moves in trunk/Source/WebKit
AX: Support keyboard access preference for iOS in WebKit
https://bugs.webkit.org/show_bug.cgi?id=192373
<rdar://problem/46462670>
Reviewed by Tim Horton.
- Platform/spi/ios/AccessibilitySupportSPI.h:
- PlatformMac.cmake:
- SourcesCocoa.txt:
- UIProcess/Cocoa/WKFullKeyboardAccessWatcher.h: Added.
- UIProcess/Cocoa/WKFullKeyboardAccessWatcher.mm: Added.
(platformIsFullKeyboardAccessEnabled):
(-[WKFullKeyboardAccessWatcher notifyAllProcessPools]):
(-[WKFullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]):
(-[WKFullKeyboardAccessWatcher init]):
(+[WKFullKeyboardAccessWatcher fullKeyboardAccessEnabled]):
- UIProcess/ios/WebProcessProxyIOS.mm:
(WebKit::WebProcessProxy::fullKeyboardAccessEnabled):
- UIProcess/mac/WKFullKeyboardAccessWatcher.h: Removed.
- UIProcess/mac/WKFullKeyboardAccessWatcher.mm: Removed.
- WebKit.xcodeproj/project.pbxproj:
- 2:29 PM Changeset in webkit [239261] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed follow up after r239260
https://bugs.webkit.org/show_bug.cgi?id=192714
<rdar://problem/46762407>
- Platform/win/SharedMemoryWin.cpp:
(WebKit::SharedMemory::allocate): Use PAGE_READWRITE directly instead
of going through the protectAttribute() function, which is removed
because it is now unused.
- 11:39 AM Changeset in webkit [239260] by
-
- 7 edits in trunk/Source/WebKit
Unify SharedMemory factory functions
https://bugs.webkit.org/show_bug.cgi?id=192714
Reviewed by Darin Adler.
This unifies SharedMemory so in the following way, across platforms:
- SharedMemory::create() is removed, to avoid ambiguity.
- SharedMemory::allocate() always allocates a new block of shared memory.
- SharedMemory::wrapMap() always creates a SharedMemory object which refers to an existing region of memory resulting from memory-mapping a file.
- NetworkProcess/cache/NetworkCacheDataCocoa.mm:
(WebKit::NetworkCache::Data::tryCreateSharedMemory const): Use SharedMemory::wrapMap().
- Platform/SharedMemory.h: Remove the definition of SharedMemory::create(), and make
SharedMemory::wrapMap() available on OS(DARWIN) as well.
- Platform/cocoa/SharedMemoryCocoa.cpp:
(WebKit::SharedMemory::wrapMap): Renamed from ::create().
- Platform/unix/SharedMemoryUnix.cpp:
(WebKit::SharedMemory::allocate): Renamed from ::create().
- Platform/win/SharedMemoryWin.cpp:
(WebKit::SharedMemory::allocate): Renamed from ::create()
- UIProcess/API/APIContentRuleListStore.cpp:
(API::createExtension): Use NetworkCache::Data::tryCreateSharedMemory() instead of
SharedMemory::create().
- 4:05 AM Changeset in webkit [239259] by
-
- 2 edits in trunk/Tools
Unreviewed build fix after r239253
- gtk/jhbuild.modules: Fix typo in libpsl dependency name.