Timeline
Apr 29, 2019:
- 8:27 PM Changeset in webkit [244764] by
-
- 47 edits in trunk/Source/JavaScriptCore
Make JITType an enum class
https://bugs.webkit.org/show_bug.cgi?id=197394
Reviewed by Yusuke Suzuki.
This makes the code more easily searchable.
- bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::computeFor):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpAssumingJITType const):
(JSC::CodeBlock::specialOSREntryBlockOrNull):
(JSC::timeToLive):
(JSC::CodeBlock::propagateTransitions):
(JSC::CodeBlock::baselineAlternative):
(JSC::CodeBlock::baselineVersion):
(JSC::CodeBlock::hasOptimizedReplacement):
(JSC::CodeBlock::noticeIncomingCall):
(JSC::CodeBlock::setOptimizationThresholdBasedOnCompilationResult):
(JSC::CodeBlock::tallyFrequentExitSites):
(JSC::CodeBlock::frameRegisterCount):
(JSC::CodeBlock::bytecodeOffsetFromCallSiteIndex):
- bytecode/CodeBlock.h:
(JSC::CodeBlock::jitType const):
(JSC::CodeBlock::hasBaselineJITProfiling const):
- bytecode/CodeBlockWithJITType.h:
(JSC::CodeBlockWithJITType::CodeBlockWithJITType):
- bytecode/DeferredSourceDump.cpp:
(JSC::DeferredSourceDump::DeferredSourceDump):
- bytecode/DeferredSourceDump.h:
- bytecode/ExitingJITType.h:
(JSC::exitingJITTypeFor):
- bytecode/InlineCallFrame.h:
(JSC::baselineCodeBlockForOriginAndBaselineCodeBlock):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseCodeBlock):
- dfg/DFGDisassembler.cpp:
(JSC::DFG::Disassembler::dumpHeader):
- dfg/DFGDriver.cpp:
(JSC::DFG::compileImpl):
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
- dfg/DFGJITCode.cpp:
(JSC::DFG::JITCode::JITCode):
(JSC::DFG::JITCode::checkIfOptimizationThresholdReached):
(JSC::DFG::JITCode::optimizeNextInvocation):
(JSC::DFG::JITCode::dontOptimizeAnytimeSoon):
(JSC::DFG::JITCode::optimizeAfterWarmUp):
(JSC::DFG::JITCode::optimizeSoon):
(JSC::DFG::JITCode::forceOptimizationSlowPathConcurrently):
(JSC::DFG::JITCode::setOptimizationThresholdBasedOnCompilationResult):
- dfg/DFGJITFinalizer.cpp:
(JSC::DFG::JITFinalizer::finalize):
(JSC::DFG::JITFinalizer::finalizeFunction):
- dfg/DFGOSREntry.cpp:
(JSC::DFG::prepareOSREntry):
(JSC::DFG::prepareCatchOSREntry):
- dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::executeOSRExit):
(JSC::DFG::reifyInlinedCallFrames):
(JSC::DFG::OSRExit::compileOSRExit):
- dfg/DFGOSRExitCompilerCommon.cpp:
(JSC::DFG::handleExitCounts):
(JSC::DFG::reifyInlinedCallFrames):
(JSC::DFG::adjustAndJumpToTarget):
- dfg/DFGOSRExitCompilerCommon.h:
(JSC::DFG::adjustFrameAndStackInOSRExitCompilerThunk):
- dfg/DFGOperations.cpp:
- dfg/DFGThunks.cpp:
(JSC::DFG::osrExitGenerationThunkGenerator):
- dfg/DFGVariableEventStream.cpp:
(JSC::DFG::VariableEventStream::reconstruct const):
- ftl/FTLCompile.cpp:
(JSC::FTL::compile):
- ftl/FTLJITCode.cpp:
(JSC::FTL::JITCode::JITCode):
- ftl/FTLJITFinalizer.cpp:
(JSC::FTL::JITFinalizer::finalizeCommon):
- ftl/FTLLink.cpp:
(JSC::FTL::link):
- ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileFTLOSRExit):
- ftl/FTLThunks.cpp:
(JSC::FTL::genericGenerationThunkGenerator):
- interpreter/CallFrame.cpp:
(JSC::CallFrame::callSiteBitsAreBytecodeOffset const):
(JSC::CallFrame::callSiteBitsAreCodeOriginIndex const):
- interpreter/StackVisitor.cpp:
(JSC::StackVisitor::Frame::dump const):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::AssemblyHelpers):
- jit/JIT.cpp:
(JSC::JIT::link):
- jit/JITCode.cpp:
(JSC::JITCode::typeName):
(WTF::printInternal):
- jit/JITCode.h:
(JSC::JITCode::bottomTierJIT):
(JSC::JITCode::topTierJIT):
(JSC::JITCode::nextTierJIT):
(JSC::JITCode::isExecutableScript):
(JSC::JITCode::couldBeInterpreted):
(JSC::JITCode::isJIT):
(JSC::JITCode::isOptimizingJIT):
(JSC::JITCode::isBaselineCode):
(JSC::JITCode::jitTypeFor):
- jit/JITDisassembler.cpp:
(JSC::JITDisassembler::dumpHeader):
- jit/JITOperations.cpp:
- jit/JITThunks.cpp:
(JSC::JITThunks::hostFunctionStub):
- jit/JITToDFGDeferredCompilationCallback.cpp:
(JSC::JITToDFGDeferredCompilationCallback::compilationDidBecomeReadyAsynchronously):
(JSC::JITToDFGDeferredCompilationCallback::compilationDidComplete):
- jit/JITWorklist.cpp:
(JSC::JITWorklist::compileLater):
(JSC::JITWorklist::compileNow):
- jit/Repatch.cpp:
(JSC::readPutICCallTarget):
(JSC::ftlThunkAwareRepatchCall):
- llint/LLIntEntrypoint.cpp:
(JSC::LLInt::setFunctionEntrypoint):
(JSC::LLInt::setEvalEntrypoint):
(JSC::LLInt::setProgramEntrypoint):
(JSC::LLInt::setModuleProgramEntrypoint):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::jitCompileAndSetHeuristics):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::processUnverifiedStackTraces):
- runtime/SamplingProfiler.h:
- runtime/VM.cpp:
(JSC::jitCodeForCallTrampoline):
(JSC::jitCodeForConstructTrampoline):
- tools/CodeProfile.cpp:
(JSC::CodeProfile::sample):
- tools/JSDollarVM.cpp:
(JSC::CallerFrameJITTypeFunctor::CallerFrameJITTypeFunctor):
(JSC::CallerFrameJITTypeFunctor::jitType):
(JSC::functionLLintTrue):
(JSC::functionJITTrue):
- 7:54 PM Changeset in webkit [244763] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreivewed, fix FTL implementation of r244760
https://bugs.webkit.org/show_bug.cgi?id=197362
Reviewed by Saam Barati.
Looked with Saam. ValueFromBlock from double case block was overridden by NaN thing now.
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNormalizeMapKey):
- 4:55 PM Changeset in webkit [244762] by
-
- 12 edits6 deletes in trunk
Unreviewed, rolling out r244755.
Casued several test failures on iOS
Reverted changeset:
"Double-tapping a post to like doesn't work on Instagram.com
(needs 'dblclick' event)"
https://bugs.webkit.org/show_bug.cgi?id=197347
https://trac.webkit.org/changeset/244755
- 3:40 PM Changeset in webkit [244761] by
-
- 2 edits in trunk/Source/WebKit
[iOS] The UIProcess may get killed for trying to stay runnable in the background for more than 30 seconds
https://bugs.webkit.org/show_bug.cgi?id=197385
<rdar://problem/50001505>
Reviewed by Geoffrey Garen.
If the UIProcess holds a background assertion for itself for 30 seconds, the assertion's invalidation handler
will get called and it is our responsibility to release this assertion or the UIProcess will get killed by the
system. The logic in ProcessAssertion would normally do that but it would also happily try and re-take another
background process assertion shortly after the previous one expired (and before the UIProcess got suspended).
When doing so, the new background assertion would expire right away and we would get killed without its
invalidation handler getting called.
To address the issue, the logic in ProcessAssertion will now prevent taking a new background assertion after
one expires and until the application becomes foreground again.
- UIProcess/ios/ProcessAssertionIOS.mm:
(-[WKProcessAssertionBackgroundTaskManager init]):
(-[WKProcessAssertionBackgroundTaskManager _updateBackgroundTask]):
- 3:25 PM Changeset in webkit [244760] by
-
- 5 edits2 adds in trunk
normalizeMapKey should normalize NaN to one PureNaN bit pattern to make MapHash same
https://bugs.webkit.org/show_bug.cgi?id=197362
Reviewed by Saam Barati.
JSTests:
- stress/map-with-nan.js: Added.
(shouldBe):
(div):
(NaN1):
(NaN2):
(NaN3):
(NaN4):
(NaN1NoInline):
(NaN2NoInline):
(NaN3NoInline):
(NaN4NoInline):
(test1):
(test2):
(test3):
(test4):
- stress/set-with-nan.js: Added.
(shouldBe):
(div):
(NaN1):
(NaN2):
(NaN3):
(NaN4):
(NaN1NoInline):
(NaN2NoInline):
(NaN3NoInline):
(NaN4NoInline):
(test2):
(test4):
Source/JavaScriptCore:
Our Map/Set's hash algorithm relies on the bit pattern of JSValue. So our Map/Set has
normalization of the key, which normalizes Int32 / Double etc. But we did not normalize
pure NaNs into one canonicalized pure NaN. So we end up having multiple different pure NaNs
in one Map/Set. This patch normalizes NaN into one jsNaN(), which uses PNaN for the representation.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileNormalizeMapKey):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNormalizeMapKey):
- runtime/HashMapImpl.h:
(JSC::normalizeMapKey):
- 3:06 PM Changeset in webkit [244759] by
-
- 7 edits in tags/Safari-608.1.19.3/Source
Versioning.
- 3:04 PM Changeset in webkit [244758] by
-
- 1 copy in tags/Safari-608.1.19.3
New tag.
- 2:51 PM Changeset in webkit [244757] by
-
- 29 edits in tags/Safari-608.1.19.2
Cherry-pick r244756. rdar://problem/50299396
<rdar://problem/50299396> Fix internal High Sierra build
https://bugs.webkit.org/show_bug.cgi?id=197388
Source/bmalloc:
- Configurations/Base.xcconfig:
Source/JavaScriptCore:
- Configurations/Base.xcconfig:
Source/ThirdParty:
- gtest/xcode/Config/General.xcconfig:
Source/ThirdParty/ANGLE:
- Configurations/Base.xcconfig:
Source/ThirdParty/libwebrtc:
- Configurations/Base.xcconfig:
Source/WebCore:
- Configurations/Base.xcconfig:
Source/WebCore/PAL:
- Configurations/Base.xcconfig:
Source/WebInspectorUI:
- Configurations/Base.xcconfig:
Source/WebKit:
- Configurations/Base.xcconfig:
Source/WebKitLegacy/mac:
- Configurations/Base.xcconfig:
- Configurations/WebKitLegacy.xcconfig:
Source/WTF:
- Configurations/Base.xcconfig:
Tools:
- DumpRenderTree/mac/Configurations/Base.xcconfig:
- MiniBrowser/Configurations/Base.xcconfig:
- MobileMiniBrowser/Configurations/Base.xcconfig:
- TestWebKitAPI/Configurations/Base.xcconfig:
- WebKitTestRunner/Configurations/Base.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244756 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:48 PM Changeset in webkit [244756] by
-
- 29 edits in trunk
<rdar://problem/50299396> Fix internal High Sierra build
https://bugs.webkit.org/show_bug.cgi?id=197388
Source/bmalloc:
- Configurations/Base.xcconfig:
Source/JavaScriptCore:
- Configurations/Base.xcconfig:
Source/ThirdParty:
- gtest/xcode/Config/General.xcconfig:
Source/ThirdParty/ANGLE:
- Configurations/Base.xcconfig:
Source/ThirdParty/libwebrtc:
- Configurations/Base.xcconfig:
Source/WebCore:
- Configurations/Base.xcconfig:
Source/WebCore/PAL:
- Configurations/Base.xcconfig:
Source/WebInspectorUI:
- Configurations/Base.xcconfig:
Source/WebKit:
- Configurations/Base.xcconfig:
Source/WebKitLegacy/mac:
- Configurations/Base.xcconfig:
- Configurations/WebKitLegacy.xcconfig:
Source/WTF:
- Configurations/Base.xcconfig:
Tools:
- DumpRenderTree/mac/Configurations/Base.xcconfig:
- MiniBrowser/Configurations/Base.xcconfig:
- MobileMiniBrowser/Configurations/Base.xcconfig:
- TestWebKitAPI/Configurations/Base.xcconfig:
- WebKitTestRunner/Configurations/Base.xcconfig:
- 2:31 PM Changeset in webkit [244755] by
-
- 12 edits6 adds in trunk
Source/WebCore:
Double-tapping a post to like doesn't work on Instagram.com (needs 'dblclick' event)
https://bugs.webkit.org/show_bug.cgi?id=197347
<rdar://problem/49393423>
Reviewed by Wenson Hsieh.
Tests: fast/events/touch/ios/double-tap-for-double-click1.html
fast/events/touch/ios/double-tap-for-double-click2.html
- page/Frame.h:
- page/ios/FrameIOS.mm:
(WebCore::Frame::nodeRespondingToDoubleClickEvent):
Source/WebKit:
[iOS] Double-tapping a post to like doesn't work on Instagram.com (needs 'dblclick' event)
https://bugs.webkit.org/show_bug.cgi?id=197347
<rdar://problem/49393423>
Reviewed by Wenson Hsieh.
This patch adds support for dispatching dblclick event as the result of the double tap gesture.
- The new double tap gesture recognizer always fires regardless of what type of action the other, existing double gesture recognizers (double-tap to zoom) trigger.
- The dblclick event is dispatched on the node with registered dblclick event handler unless the node prohibits double tap gesture (touch-action != auto).
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setupInteraction]):
(-[WKContentView cleanupInteraction]):
(-[WKContentView _removeDefaultGestureRecognizers]):
(-[WKContentView _addDefaultGestureRecognizers]):
(-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
(-[WKContentView gestureRecognizerShouldBegin:]):
(-[WKContentView _doubleTapRecognizedForDoubleClick:]):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::handleDoubleTapForDoubleClickAtPoint):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handleDoubleTapForDoubleClickAtPoint):
LayoutTests:
Double-tapping a post to like doesn't work on Instagram.com (needs 'dblclick' event)
https://bugs.webkit.org/show_bug.cgi?id=197347
<rdar://problem/49393423>
Reviewed by Wenson Hsieh.
- fast/events/touch/ios/double-tap-for-double-click1-expected.txt: Added.
- fast/events/touch/ios/double-tap-for-double-click1.html: Added.
- fast/events/touch/ios/double-tap-for-double-click2-expected.txt: Added.
- fast/events/touch/ios/double-tap-for-double-click2.html: Added.
- 2:05 PM Changeset in webkit [244754] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (r244142): Fandango accounts tab crashes under Color()
https://bugs.webkit.org/show_bug.cgi?id=197380
<rdar://problem/50186175>
Reviewed by Megan Gardner.
- UIProcess/API/Cocoa/WKWebView.mm:
(baseScrollViewBackgroundColor):
We now call -_updateScrollViewBackground from -setBackgroundColor:.
-setBackgroundColor: can be called from -[UIView initWithCoder:]; if it
is, WKWebView's _page is not yet initialized, so we crash. Return an invalid color.
Then, the caller falls back to WKContentView's backgroundColor. But WKContentView
isn't initialized yet either. So add a further fallback.
- 1:50 PM Changeset in webkit [244753] by
-
- 2 edits in trunk/Tools
Remove spurious GVA printf logging
https://bugs.webkit.org/show_bug.cgi?id=197368
<rdar://problem/35975256>
Reviewed by Alexey Proskuryakov.
- Scripts/webkitpy/port/mac.py:
(MacPort.logging_patterns_to_strip):
- 1:45 PM Changeset in webkit [244752] by
-
- 3 edits2 adds in trunk
REGRESSION (r238090): animation on https://www.robotodyssey.online gets stuck; site broken
https://bugs.webkit.org/show_bug.cgi?id=197381
Source/WebCore:
Reviewed by Zalan Bujtas.
When -webkit-clip-path changes on a composited layer, we need to trigger a backing geometry update
to push the changes to GraphicsLayers.
Test: compositing/style-change/clip-path-change.html
- rendering/RenderLayerCompositor.cpp:
(WebCore::recompositeChangeRequiresGeometryUpdate):
LayoutTests:
<rdar://problem/50308128>
Reviewed by Zalan Bujtas.
- compositing/style-change/clip-path-change-expected.html: Added.
- compositing/style-change/clip-path-change.html: Added.
- 1:34 PM Changeset in webkit [244751] by
-
- 2 edits in trunk/Source/WebKit
Add InteractionIsHappening to SuppressSelectionAssistantReason
https://bugs.webkit.org/show_bug.cgi?id=197375
<rdar://problem/50304986>
Reviewed by Megan Gardner.
Add a new reason for suppressing the selection assistant, to
be used in a follow-up patch.
- UIProcess/ios/WKContentViewInteraction.h: Add InteractionIsHappening.
- 1:32 PM Changeset in webkit [244750] by
-
- 2 edits in trunk/Source/WebKit
Storage::deleteOldVersions does not need to retain Storage
https://bugs.webkit.org/show_bug.cgi?id=197336
<rdar://problem/48679972>
Reviewed by Darin Adler.
- NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::deleteOldVersions):
Something is wrong with the lifetime of Storage, but we only need a String, not the whole Storage.
- 1:04 PM Changeset in webkit [244749] by
-
- 17 edits2 adds in trunk
getDisplayMedia should be called on user gesture
https://bugs.webkit.org/show_bug.cgi?id=197356
Source/WebCore:
Reviewed by Eric Carlson.
Allow getDisplayMedia on user gesture only.
Otherwise reject the promise.
Minor refactoring to align getDisplayMedia, getUserMedia and
enumerateDevices when called with no document.
Test: fast/mediastream/screencapture-user-gesture.html
- Modules/mediastream/MediaDevices.cpp:
(WebCore::MediaDevices::getUserMedia const):
- Modules/mediastream/MediaDevices.h:
- Modules/mediastream/NavigatorMediaDevices.h:
- page/DOMWindow.h:
- testing/Internals.cpp:
(WebCore::Internals::setDisableGetDisplayMediaUserGestureConstraint):
- testing/Internals.h:
- testing/Internals.idl:
Tools:
<rdar://problem/50296074>
Reviewed by Eric Carlson.
Update test configuration to inject internals
so that we can use it to simulate a user click to call getDisplayMedia.
- TestWebKitAPI/Tests/WebKit/getDisplayMedia.html:
- TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm:
(TestWebKitAPI::GetDisplayMediaTest::SetUp):
LayoutTests:
Reviewed by Eric Carlson.
- fast/mediastream/media-stream-page-muted.html:
- fast/mediastream/screencapture-user-gesture-expected.txt: Added.
- fast/mediastream/screencapture-user-gesture.html: Added.
- http/tests/media/media-stream/get-display-media-iframe-allow-attribute-expected.txt:
- http/tests/media/media-stream/get-display-media-iframe-allow-attribute.html:
- http/tests/media/media-stream/get-display-media-prompt.html:
- http/tests/media/media-stream/resources/get-display-media-devices-iframe.html:
- resources/testharnessreport.js:
- 12:56 PM Changeset in webkit [244748] by
-
- 8 edits26 adds in trunk
line should not be broken before the first space after a word
https://bugs.webkit.org/show_bug.cgi?id=197278
Reviewed by Myles C. Maxfield.
LayoutTests/imported/w3c:
Added new Web Platform Tests to cover the cases discussed [1] with the CSS WG.
[1] https://github.com/w3c/csswg-drafts/issues/3701
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-001-expected.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-001.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-002-expected.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-002.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-003-expected.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-003.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-004-expected.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-004.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-005-expected.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-005.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-006-expected.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-006.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-007-expected.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-007.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-008-expected.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-008.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-009-expected.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-009.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-010-expected.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-010.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-011-expected.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-011.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-012-expected.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-012.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-013-expected.html: Added.
- web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-013.html: Added.
Source/WebCore:
The 'white-space: break-spaces' only adds breaking opportunities after
a white space character. However, it's possible to break before the
first space after a word when the feature is used in combination with
other properties, like overflow-wrap.
However, breaking before the first space should not be allowed if
there are previous opportunities. We wrongly assumed that we had to
consider these previous breaking opportunities if the proper combination
of line breaking properties is being used, so that breaking before the
first space after a word is allowed.
This wrong assumption caused several issues, like the one described in
the bug, that lead to incorrectly break before the first space even
though there are previous opportunities, either white spaces or between
letters.
Theses issues have been analyzed [1] by the CSS WG and finally agreed on a
expected behavior, represented in the Web Platform tests added in this
patch.
For the later case, of considering previous opportunities between
letters, we have a seperated issue #952254, so the tests covering such
cases will be added to the TestExpecations as Failure entries.
[1] https://github.com/w3c/csswg-drafts/issues/3701
Tests: imported/w3c/web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-001.html
imported/w3c/web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-002.html
imported/w3c/web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-003.html
imported/w3c/web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-004.html
imported/w3c/web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-005.html
imported/w3c/web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-006.html
imported/w3c/web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-007.html
imported/w3c/web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-008.html
imported/w3c/web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-009.html
imported/w3c/web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-010.html
imported/w3c/web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-011.html
imported/w3c/web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-012.html
imported/w3c/web-platform-tests/css/css-text/white-space/break-spaces-before-first-char-013.html
- rendering/line/BreakingContext.h:
(WebCore::BreakingContext::handleText):
(WebCore::BreakingContext::trailingSpacesHang):
LayoutTests:
Added a few Skip (due to unimplemented features) and Failure (break-all related
issues) entries for some of the tests added by this patch.
- 12:52 PM Changeset in webkit [244747] by
-
- 3 edits4 moves in trunk/Source/WebKit
[Cocoa] Move common sandbox files from Shared/mac to Shared/Cocoa
https://bugs.webkit.org/show_bug.cgi?id=197376
<rdar://problem/50305272>
Reviewed by Dean Jackson.
The Apple sandboxing logic currently lives in the inappropriate 'Shared/mac' directory. This is
confusing because the code is used by all Apple ports, not just macOS.
This patch just moves the relevant files from 'Shared/mac' to 'Shared/Cocoa' to avoid this confusion.
- Shared/Cocoa/SandboxExtensionCocoa.mm: Renamed from Source/WebKit/Shared/mac/SandboxExtensionMac.mm.
- Shared/Cocoa/SandboxInitialiationParametersCocoa.mm: Renamed from Source/WebKit/Shared/mac/SandboxInitialiationParametersMac.mm.
- Shared/Cocoa/SandboxUtilities.h: Renamed from Source/WebKit/Shared/mac/SandboxUtilities.h.
- Shared/Cocoa/SandboxUtilities.mm: Renamed from Source/WebKit/Shared/mac/SandboxUtilities.mm.
- SourcesCocoa.txt:
- WebKit.xcodeproj/project.pbxproj:
- 12:36 PM Changeset in webkit [244746] by
-
- 2 edits in trunk
[CMake] Add WEBKIT_EXECUTABLE macro
https://bugs.webkit.org/show_bug.cgi?id=197206
Unreviewed build fix.
Calls to add_dependencies were not happening.
- Source/cmake/WebKitMacros.cmake:
- 12:21 PM Changeset in webkit [244745] by
-
- 6 edits in trunk/Source
JITStubRoutineSet wastes 180KB of HashTable capacity on can.com
https://bugs.webkit.org/show_bug.cgi?id=186732
Reviewed by Saam Barati.
Source/JavaScriptCore:
Our current mechanism of JITStubRoutineSet consumes more memory than needed. Basically we have HashMap<uintptr_t, StubRoutine*> and register
each executable address by 16 byte to this entry. So if your StubRoutine has 128bytes, it just adds 8 entries to this hash table.
In Gmail, we see a ~2MB table size.
Instead, this patch uses Vector<pair<uintptr_t, StubRoutine*>> and performs binary search onto this sorted vector. Before conservative
scanning, we sort this vector. And doing binary search with the sorted vector to find executing stub routines from the conservative roots.
This vector includes uintptr_t startAddress to make binary searching fast.
Large amount of conservative scan should be filtered by range check, so I think binary search here is OK, but we can decide based on what the
performance bots say.
- heap/Heap.cpp:
(JSC::Heap::addCoreConstraints):
- heap/JITStubRoutineSet.cpp:
(JSC::JITStubRoutineSet::~JITStubRoutineSet):
(JSC::JITStubRoutineSet::add):
(JSC::JITStubRoutineSet::prepareForConservativeScan):
(JSC::JITStubRoutineSet::clearMarks):
(JSC::JITStubRoutineSet::markSlow):
(JSC::JITStubRoutineSet::deleteUnmarkedJettisonedStubRoutines):
(JSC::JITStubRoutineSet::traceMarkedStubRoutines):
- heap/JITStubRoutineSet.h:
(JSC::JITStubRoutineSet::mark):
(JSC::JITStubRoutineSet::prepareForConservativeScan):
(JSC::JITStubRoutineSet::size const): Deleted.
(JSC::JITStubRoutineSet::at const): Deleted.
Source/WTF:
- wtf/Range.h:
(WTF::Range::contains const):
- 12:08 PM Changeset in webkit [244744] by
-
- 5 edits in trunk/Source/WebKit
[GTK] Back/forward gesture snapshot always times out
https://bugs.webkit.org/show_bug.cgi?id=197233
Patch by Alexander Mikhaylenko <exalm7659@gmail.com> on 2019-04-29
Reviewed by Michael Catanzaro.
Delaying web process launch caused a regression where we create ViewGestureController when the
web process doesn't yet exist. The controller immediately tries to connect to it and fails,
and because of that never receives DidHitRenderTreeSizeThreshold() message, so navigation
snapshot always stays until timeout after performing the gesture.
To prevent this, create the controller in webkitWebViewBaseDidRelaunchWebProcess() instead of
webkitWebViewBaseCreateWebPage(). Additionally, since settings are now created earlier than
ViewGestureController, store the value of whether swipe gesture is enabled in WebKitWebViewBase
and immediately apply it when creating the controller.
Since there is now a point where controller is null, make webkitWebViewBaseViewGestureController()
return null and add null checks everywhere.
- UIProcess/API/glib/WebKitWebView.cpp:
(enableBackForwardNavigationGesturesChanged):
Move the logic into webkitWebViewBaseSetEnableBackForwardNavigationGesture().
- UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::wheelEventWasNotHandledByWebCore): Add a null check.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseDraw): Ditto.
(webkitWebViewBaseScrollEvent): Ditto.
(webkitWebViewBaseSetEnableBackForwardNavigationGesture): Added. In addition to what was in
WebKitWebViewBase::enableBackForwardNavigationGesturesChanged(), store the value in a field
for the case ViewGestureController doesn't exist yet.
(webkitWebViewBaseViewGestureController): Return a pointer instead of reference.
(webkitWebViewBaseCreateWebPage): Stop creating ViewGestureController.
(webkitWebViewBaseDidRelaunchWebProcess): Move creating ViewGestureController here. Also
immediately call setSwipeGestureEnabled() with the stored value.
(webkitWebViewBaseDidStartProvisionalLoadForMainFrame): Add a null check.
(webkitWebViewBaseDidFirstVisuallyNonEmptyLayoutForMainFrame):Ditto.
(webkitWebViewBaseDidFinishLoadForMainFrame): Ditto.
(webkitWebViewBaseDidFailLoadForMainFrame): Ditto.
(webkitWebViewBaseDidSameDocumentNavigationForMainFrame): Ditto.
(webkitWebViewBaseDidRestoreScrollPosition): Ditto.
- UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
- 11:40 AM Changeset in webkit [244743] by
-
- 7 edits in tags/Safari-608.1.19.2/Source
Versioning.
- 11:22 AM Changeset in webkit [244742] by
-
- 5 edits in trunk/Source
User-facing strings should use curly quotes instead of straight
https://bugs.webkit.org/show_bug.cgi?id=197370
Reviewed by Geoffrey Garen.
Source/WebCore:
Update localizable strings.
- en.lproj/Localizable.strings:
Source/WebKit:
Update localizable alert text that was recently added to use curly quotes instead of
straight ones, as per our guidelines.
- UIProcess/Cocoa/WKOrientationAccessAlert.mm:
(WebKit::presentOrientationAccessAlert):
- UIProcess/Cocoa/WKStorageAccessAlert.mm:
(WebKit::presentStorageAccessAlert):
- 11:18 AM Changeset in webkit [244741] by
-
- 8 edits in trunk
[Win] Add flag to enable version information stamping and disable by default.
https://bugs.webkit.org/show_bug.cgi?id=197249
<rdar://problem/50224412>
Reviewed by Ross Kirsling.
.:
This feature is only used in AppleWin port. Add flag for this task and make it OFF by default.
Then enable it by default on AppleWin.
- Source/cmake/OptionsWin.cmake:
Source/JavaScriptCore:
This feature is only used in AppleWin port. Add flag for this task and make it OFF by default.
Then enable it by default on AppleWin.
- CMakeLists.txt:
Source/WTF:
This feature is only used in AppleWin port. Add flag for this task and make it OFF by default.
Then enable it by default on AppleWin.
- wtf/CMakeLists.txt:
WebKitLibraries:
Modify script not to invoke SVN command if the directory for SVN doesn't exists.
- win/tools/scripts/auto-version.pl:
- 11:18 AM Changeset in webkit [244740] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed fix for non-unified build after r244687.
- Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
- 11:16 AM Changeset in webkit [244739] by
-
- 4 edits in tags/Safari-608.1.19.2/Source
Cherry-pick r244696. rdar://problem/50299396
Fix internal High Sierra build after r244653
https://bugs.webkit.org/show_bug.cgi?id=197131
- DerivedSources.make: -std=gnu++17 didn't exist yet. -std=gnu++1z did.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244696 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:16 AM Changeset in webkit [244738] by
-
- 4 edits in tags/Safari-608.1.19.2/Source
Cherry-pick r244692. rdar://problem/50299396
Fix an internal High Sierra build after r244653
- DerivedSources.make: Apparently we can't use gnu++17 when preprocessing Platform.h in the makefile.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244692 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:45 AM Changeset in webkit [244737] by
-
- 1 copy in tags/Safari-608.1.19.2
New tag.
- 9:24 AM Changeset in webkit [244736] by
-
- 8 edits in trunk
RTCTrackEvent should be delayed until the whole remote description is set
https://bugs.webkit.org/show_bug.cgi?id=196808
<rdar://problem/49802649>
Reviewed by Eric Carlson.
Source/WebCore:
As per https://w3c.github.io/webrtc-pc/#set-description,
fire events just before resolving the setRemoteDescription promise.
This ensures that the exposed stream has all necessary tracks from the beginning.
Pending track events are created in LibWebRTCMediaEndpoint and stored in PeerConnectionBackend.
Covered by updated test.
- Modules/mediastream/PeerConnectionBackend.cpp:
(WebCore::PeerConnectionBackend::setRemoteDescriptionSucceeded):
(WebCore::PeerConnectionBackend::setRemoteDescriptionFailed):
(WebCore::PeerConnectionBackend::addPendingTrackEvent):
(WebCore::PeerConnectionBackend::stop):
- Modules/mediastream/PeerConnectionBackend.h:
- Modules/mediastream/RTCPeerConnection.cpp:
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::addRemoteTrack):
(WebCore::LibWebRTCMediaEndpoint::addPendingTrackEvent):
(WebCore::LibWebRTCMediaEndpoint::newTransceiver):
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
LayoutTests:
- webrtc/video-addTrack.html:
- 7:10 AM Changeset in webkit [244735] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
[GTK] [l10n] Updated Ukrainian translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=197364
Patch by Yuri Chornoivan <yurchor@ukr.net> on 2019-04-29
Rubber-stamped by Michael Catanzaro.
- uk.po:
- 7:08 AM Changeset in webkit [244734] by
-
- 1 edit1 add in trunk/Source/WebCore/platform/gtk/po
Add Danish translation
https://bugs.webkit.org/show_bug.cgi?id=194850
Patch by scootergrisen <scootergrisen@gmail.com> on 2019-04-29
Rubber-stamped by Michael Catanzaro.
- da.po: Added.
- 7:02 AM Changeset in webkit [244733] by
-
- 2 edits in trunk/Source/WebKit
Build fix.
- UIProcess/ios/WKActionSheet.mm:
(-[WKActionSheet updateSheetPosition]):
- 5:24 AM Changeset in webkit [244732] by
-
- 4 edits in trunk/Source/WebKit
Unreviewed, rolling out r244648.
https://bugs.webkit.org/show_bug.cgi?id=197363
Lots of tests are crashing (Requested by KaL on #webkit).
Reverted changeset:
"[GTK] Back/forward gesture snapshot always times out"
https://bugs.webkit.org/show_bug.cgi?id=197233
https://trac.webkit.org/changeset/244648
- 3:14 AM Changeset in webkit [244731] by
-
- 6 edits in trunk/Source/WebCore
REGRESSION(r244635): [GTK] Wrong background color used in non-dark mode
https://bugs.webkit.org/show_bug.cgi?id=197276
Reviewed by Michael Catanzaro.
Since r244635, we are now getting the frame view background color from the theme. That's correct for dark mode,
but in non-dark mode we still want to use white backgrounds by default. This made a lot of tests to fail.
- css/CSSValueKeywords.in: Add -webkit-control-background when HAVE(OS_DARK_MODE_SUPPORT).
- css/html.css: Use -webkit-control-background instead of -apple-system-control-background.
- page/FrameView.cpp:
(WebCore::FrameView::updateBackgroundRecursively): Use CSSValueWindow instead of CSSValueWindowframe.
- rendering/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::systemColor const): Only get the window background from the theme in dark mode. Handle
also CSSValueWebkitControlBackground.
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::systemColor const): Handle CSSValueWebkitControlBackground when HAVE(OS_DARK_MODE_SUPPORT).
- 2:14 AM Changeset in webkit [244730] by
-
- 5 edits in trunk/Tools
run-benchmarks should have an intial prep and restore env call for tasks that are too expensive to do for every iteration
https://bugs.webkit.org/show_bug.cgi?id=197339
Reviewed by Dewei Zhu.
Add two new functions prepare_inital_env and restore_env_after_all_testing around the entire
test run for setup steps that are too expensive to do every iteration.
- Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner._run_benchmark):
- Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:
(BrowserDriver):
(BrowserDriver.prepare_initial_env):
(BrowserDriver.restore_env_after_all_testing):
- Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py:
(LinuxBrowserDriver.prepare_initial_env):
(LinuxBrowserDriver.restore_env_after_all_testing):
- Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:
(OSXBrowserDriver.prepare_initial_env):
(OSXBrowserDriver.restore_env_after_all_testing):
- 1:36 AM Changeset in webkit [244729] by
-
- 2 edits in trunk/Source/WebKit
[WPE][GTK] window-object-cleared documentation should reference webkit_frame_get_js_context_for_script_world()
https://bugs.webkit.org/show_bug.cgi?id=197357
Reviewed by Carlos Garcia Campos.
We should recommend using the non-deprecated replacement for
webkit_frame_get_javascript_context_for_script_world().
- WebProcess/InjectedBundle/API/glib/WebKitScriptWorld.cpp:
- 1:08 AM Changeset in webkit [244728] by
-
- 31 edits in trunk/LayoutTests
Update the CSS Text WPT test suite
https://bugs.webkit.org/show_bug.cgi?id=197326
Unreviewed test gardening.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html:
- web-platform-tests/css/css-text/overflow-wrap/w3c-import.log:
- web-platform-tests/css/css-text/parsing/text-transform-valid.html:
- web-platform-tests/css/css-text/parsing/word-break-invalid-expected.txt:
- web-platform-tests/css/css-text/parsing/word-break-invalid.html:
- web-platform-tests/css/css-text/parsing/word-break-valid-expected.txt:
- web-platform-tests/css/css-text/parsing/word-break-valid.html:
- web-platform-tests/css/css-text/text-transform/w3c-import.log:
- web-platform-tests/css/css-text/white-space/break-spaces-003-expected.html:
- web-platform-tests/css/css-text/white-space/break-spaces-003.html:
- web-platform-tests/css/css-text/white-space/break-spaces-004.html:
- web-platform-tests/css/css-text/white-space/break-spaces-005-expected.html:
- web-platform-tests/css/css-text/white-space/break-spaces-005.html:
- web-platform-tests/css/css-text/white-space/break-spaces-006-expected.html:
- web-platform-tests/css/css-text/white-space/break-spaces-006.html:
- web-platform-tests/css/css-text/white-space/break-spaces-007-expected.html:
- web-platform-tests/css/css-text/white-space/break-spaces-007.html:
- web-platform-tests/css/css-text/white-space/break-spaces-008-expected.html:
- web-platform-tests/css/css-text/white-space/break-spaces-008.html:
- web-platform-tests/css/css-text/white-space/break-spaces-009-expected.html:
- web-platform-tests/css/css-text/white-space/break-spaces-009.html:
- web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html:
- web-platform-tests/css/css-text/white-space/pre-wrap-008.html:
- web-platform-tests/css/css-text/white-space/pre-wrap-015.html:
- web-platform-tests/css/css-text/white-space/pre-wrap-016.html:
- web-platform-tests/css/css-text/white-space/textarea-break-spaces-001-expected.html:
- web-platform-tests/css/css-text/white-space/w3c-import.log:
LayoutTests:
- TestExpectations:
- The break-spaces-008.html fails due to bug 197277
Apr 28, 2019:
- 10:17 PM Changeset in webkit [244727] by
-
- 2 edits in trunk/Source/WebCore
[Apple Pay] Increment the API version from 6 to 7
https://bugs.webkit.org/show_bug.cgi?id=197041
<rdar://problem/49986625>
Reviewed by Geoffrey Garen.
- Modules/applepay/PaymentCoordinatorClient.cpp:
(WebCore::PaymentCoordinatorClient::supportsVersion):
- 12:28 PM Changeset in webkit [244726] by
-
- 10 edits in trunk
Fix the watchOS engineering build.
.:
- Source/Makefile: Moved libwebrtc logic into Source/ThirdParty/Makefile.
Source/ThirdParty:
- Makefile: Started building libwebrtc on watchOS.
Source/ThirdParty/libwebrtc:
- Makefile: Set OTHER_OPTIONS to build libwebrtc's boringssl target on watchOS, which is a
dependency for TestWebKitAPI's TCPServer.
Source/WebCore:
- Modules/webgpu/WebGPUComputePassEncoder.cpp: Included Logging.h.
Tools:
- TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm:
(TestWebKitAPI::TEST): AVVideoPerformanceMetrics does not exist on watchOS.
- 12:06 PM Changeset in webkit [244725] by
-
- 3 edits in trunk/LayoutTests/imported/w3c
Fix imported/w3c/web-platform-tests/fetch/api/request/request-keepalive.html assert_throws call
https://bugs.webkit.org/show_bug.cgi?id=197338
Reviewed by Darin Adler.
- 12:02 PM Changeset in webkit [244724] by
-
- 3 edits in trunk/Source/WebCore
Remove no longer needed mDNS ICE candidate resolution code
https://bugs.webkit.org/show_bug.cgi?id=197315
Reviewed by Eric Carlson.
No change of behavior.
Removed code is no longer exercised as mDNS resolution happens inside libwebrtc
using the same resolution mechanism as for TURN/STUN server names.
- Modules/mediastream/PeerConnectionBackend.cpp:
(WebCore::PeerConnectionBackend::addIceCandidateSucceeded):
(WebCore::PeerConnectionBackend::addIceCandidateFailed):
- Modules/mediastream/PeerConnectionBackend.h: