Timeline
Feb 15, 2020:
- 2:20 PM Changeset in webkit [256706] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Build failure with Clang/libc++ due to missing WallTime→float for std::isnan()
https://bugs.webkit.org/show_bug.cgi?id=207757
Unreviewed build fix.
No new tests needed.
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(CachedResourceStreamingClient::dataReceived): Add std:: namespace to overloaded
std::isnan() function call to ensure that the overloaded version for WTF::WallTime
is used.
- 2:02 PM Changeset in webkit [256705] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed build fix for non-unified builds.
No new tests needed.
- animation/AnimationEventBase.cpp: Add missing include.
- animation/DeclarativeAnimation.cpp: Ditto.
- 2:01 PM Changeset in webkit [256704] by
-
- 3 edits in trunk/Source/WebCore
[LFC][BFC] ConstraintsPair is only needed for the pre-computed vertical position
https://bugs.webkit.org/show_bug.cgi?id=207814
<rdar://problem/59485612>
Reviewed by Antti Koivisto.
After r256099 (Pre-compute vertical position only when we really need it), ConstraintsPair<> is only
needed in few functions.
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
(WebCore::Layout::BlockFormattingContext::placeInFlowPositionedChildren):
(WebCore::Layout::BlockFormattingContext::computeStaticVerticalPosition):
(WebCore::Layout::BlockFormattingContext::computeStaticHorizontalPosition):
(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):
- layout/blockformatting/BlockFormattingContext.h:
- 1:30 PM WebKitGTK/2.26.x edited by
- (diff)
- 1:29 PM WebKitGTK/2.28.x edited by
- (diff)
- 1:26 PM WebKitGTK/2.26.x edited by
- (diff)
- 1:24 PM Changeset in webkit [256703] by
-
- 2 edits in trunk/Source/WebKit
[Geoclue] Avoid usage of provider in callbacks after it has been destroyed
https://bugs.webkit.org/show_bug.cgi?id=207420
GeoclueGeolocationProvider was making non-cancelable g_dbus_proxy_call(s) with
bare |this| pointer.
Patch by Pavel Feldman <pavel.feldman@gmail.com> on 2020-02-15
Reviewed by Carlos Garcia Campos.
- UIProcess/geoclue/GeoclueGeolocationProvider.cpp:
(WebKit::GeoclueGeolocationProvider::start):
(WebKit::GeoclueGeolocationProvider::stop):
(WebKit::GeoclueGeolocationProvider::setupManager):
(WebKit::GeoclueGeolocationProvider::createClient):
(WebKit::GeoclueGeolocationProvider::startClient):
(WebKit::GeoclueGeolocationProvider::didFail):
- UIProcess/geoclue/GeoclueGeolocationProvider.h:
- 7:17 AM Changeset in webkit [256702] by
-
- 8 edits in trunk/Source/WebCore
[LFC] Introduce OutOfFlowHorizontalConstraints
https://bugs.webkit.org/show_bug.cgi?id=207805
<rdar://problem/59482286>
Reviewed by Antti Koivisto.
Borders and paddings are resolved against the containing block's content box as if the box was an in-flow box.
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::layoutOutOfFlowContent):
- layout/FormattingContext.h:
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::horizontalConstraintsForOutOfFlow):
- layout/LayoutContext.cpp:
(WebCore::Layout::LayoutContext::layoutFormattingContextSubtree):
- layout/LayoutUnits.h:
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
- 6:15 AM Changeset in webkit [256701] by
-
- 4 edits in trunk/Source/WebCore
[LFC][IFC] Anonymous inline boxes/line break boxes do not generate Display::Boxes
https://bugs.webkit.org/show_bug.cgi?id=207802
<rdar://problem/59480138>
Reviewed by Antti Koivisto.
- Painting should not expect a Display::Box per Layout::Box.
- Do not generate empty Display::Boxes for anonymous inline text boxes/line breaks.
- layout/FormattingState.cpp:
(WebCore::Layout::FormattingState::displayBox):
- layout/displaytree/DisplayPainter.cpp:
(WebCore::Display::paintSubtree):
(WebCore::Display::collectPaintRootsAndContentRect):
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
Feb 14, 2020:
- 10:54 PM Changeset in webkit [256700] by
-
- 17 edits in trunk
Unreviewed, rolling out r256633.
https://bugs.webkit.org/show_bug.cgi?id=207807
4% memory regression in new Membuster, possibly some leaking
in WebKit Malloc? (Requested by yusukesuzuki on #webkit).
Reverted changeset:
"[Win] Implement NetworkCache::Data by using
FileSystem::MappedFileData"
https://bugs.webkit.org/show_bug.cgi?id=197684
https://trac.webkit.org/changeset/256633
- 8:25 PM Changeset in webkit [256699] by
-
- 2 edits in trunk/LayoutTests
[GTK] Layout test imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_timeupdate_noautoplay.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=160129
Last timeout was in r251772 and before that in r217571. Updating
expectation to reflect the new flaky crash affecting media tests
tracked in bug198830.
Unreviewed test gardening.
- platform/gtk/TestExpectations:
- 7:19 PM Changeset in webkit [256698] by
-
- 3 edits in trunk/JSTests
Unreviewed: fix broken tests added in r256665
https://bugs.webkit.org/show_bug.cgi?id=207727
Our inline WAT doesn't seem to like named blocks/branch targets.
- wasm/regress/llint-callee-saves-with-fast-memory.js:
- wasm/regress/llint-callee-saves-without-fast-memory.js:
- 7:19 PM Changeset in webkit [256697] by
-
- 12 edits3 adds in trunk
Mask WebGL strings
https://bugs.webkit.org/show_bug.cgi?id=207608
Reviewed by Dean Jackson.
Source/WebCore:
Test: platform/mac/webgl/fingerprinting-strings.html
Add new experimental feature to mask WebGL vendor, renderer, and shading language strings.
- html/canvas/WebGL2RenderingContext.cpp: Whitespace cleanup also.
(WebCore::WebGL2RenderingContext::getParameter): Check against the runtime feature to return the
old string.
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getParameter): Ditto.
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setMaskWebGLStringsEnabled):
(WebCore::RuntimeEnabledFeatures::maskWebGLStringsEnabled const):
Source/WebKit:
Test: platform/mac/webgl/fingerprinting-strings.html
- Shared/WebPreferences.yaml: Add new experimental feature.
Source/WebKitLegacy/mac:
Test: platform/mac/webgl/fingerprinting-strings.html
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
- WebView/WebPreferencesPrivate.h:
- WebView/WebView.mm:
LayoutTests:
- platform/mac/webgl/fingerprinting-strings-expected.txt: Added.
- platform/mac/webgl/fingerprinting-strings.html: Added.
- 7:02 PM Changeset in webkit [256696] by
-
- 2 edits in branches/safari-609-branch/Source/WebCore
Cherry-pick r256636. rdar://problem/59478734
[Web Animations] Missing call to DocumentTimeline::resumeAnimations() in Frame::resumeActiveDOMObjectsAndAnimations()
https://bugs.webkit.org/show_bug.cgi?id=207784
<rdar://problem/59251858>
Patch by Antoine Quint <graouts@webkit.org> on 2020-02-14
Reviewed by Dean Jackson.
After auditing the code, there was one call to CSSAnimationController::resumeAnimationsForDocument() that missed a matching DocumentTimeline::resumeAnimations()
call should the Web Animations flag be on.
- page/Frame.cpp: (WebCore::Frame::resumeActiveDOMObjectsAndAnimations):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256636 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [256695] by
-
- 4 edits in branches/safari-609-branch
Cherry-pick r256629. rdar://problem/59478949
Allow UIDNAInfo.errors from uidna_nameToUnicode that would not cause URL parsing failures
https://bugs.webkit.org/show_bug.cgi?id=207360
<rdar://problem/57825317>
Patch by Alex Christensen <achristensen@webkit.org> on 2020-02-14
Reviewed by Ryosuke Niwa.
Source/WTF:
- wtf/URLHelpers.cpp: (WTF::URLHelpers::mapHostName):
Tools:
- TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm: (TestWebKitAPI::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256629 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [256694] by
-
- 4 edits2 adds in branches/safari-609-branch
Cherry-pick r256623. rdar://problem/59478938
Ensure animations that lose their effect don't schedule an animation update
https://bugs.webkit.org/show_bug.cgi?id=207713
rdar://59174840
Patch by Sunny He <sunny_he@apple.com> on 2020-02-14
Reviewed by Antoine Quint.
Source/WebCore:
An active animation for which the effect is removed may be considered for
an upcoming animation resolution. However, WebAnimation::timeToNextTick()
expects a valid effect to be available to be able to determine timing.
We now check an animation is relevant before calling timeToNextTick() and
add an ASSERT() in that function to catch cases where an animation effect
might not be available.
Source/WebCore:
Test: webanimations/animation-null-effect.html
- animation/DocumentTimeline.cpp: (WebCore::DocumentTimeline::scheduleNextTick):
- animation/WebAnimation.cpp: (WebCore::WebAnimation::timeToNextTick const):
LayoutTests:
- webanimations/animation-null-effect-expected.txt: Added.
- webanimations/animation-null-effect.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256623 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [256693] by
-
- 4 edits in branches/safari-609-branch
Cherry-pick r256580. rdar://problem/59478981
Dark Mode: In Notes, list item becomes invisible in dark mode after outdenting
https://bugs.webkit.org/show_bug.cgi?id=207676
Reviewed by Wenson Hsieh and Timothy Hatcher.
Source/WebCore:
The bug was caused by EditingStyle::inverseTransformColorIfNeeded converting -apple-system-label to
transparent color in ReplaceSelectionCommand when InsertListCommand invokes moveParagraphs.
This patch fixes the bug in EditingStyle::inverseTransformColorIfNeeded by treating any semantic color
name or semantic RGB color value as if the color was not specified.
It also fixes the bug that removeStyleFromRulesAndContext was incapable of removing superflous semantic
color names that appear in the inline since the context's computed style only contain RGB values by
replacing the inline style's color values with that of the computed style. This fix is necessary to
eliminate -apple-system-label in the pasted content, which can cause issues when such a content is
sync'ed to other devices via iCloud, etc...
Tests: PasteHTML.TransformColorsOfDarkContentButNotSemanticColor
PasteHTML.DoesNotTransformColorsOfLightContentDuringOutdent
- editing/EditingStyle.cpp: (WebCore::EditingStyle::removeStyleFromRulesAndContext): (WebCore::EditingStyle::inverseTransformColorIfNeeded):
Tools:
Added regression tests for pasting content with -apple-system-label and outdenting content.
- TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm: (PasteHTML.TransformColorsOfDarkContentButNotSemanticColor): (PasteHTML.DoesNotTransformColorsOfLightContentDuringOutdent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256580 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [256692] by
-
- 5 edits in branches/safari-609-branch/Source
Cherry-pick r256498. rdar://problem/59478929
[JSC] Compact JITCodeMap by storing BytecodeIndex and CodeLocation separately
https://bugs.webkit.org/show_bug.cgi?id=207673
Reviewed by Mark Lam.
Source/JavaScriptCore:
While BytecodeIndex is 4 bytes, CodeLocation is 8 bytes. So the tuple of them "JITCodeMap::Entry"
becomes 16 bytes because it adds 4 bytes padding. We should store BytecodeIndex and CodeLocation separately
to avoid this padding.
This patch introduces JITCodeMapBuilder. We use this to build JITCodeMap data structure as a immutable final result.
- jit/JIT.cpp: (JSC::JIT::link):
- jit/JITCodeMap.h: (JSC::JITCodeMap::JITCodeMap): (JSC::JITCodeMap::find const): (JSC::JITCodeMap::operator bool const): (JSC::JITCodeMap::codeLocations const): (JSC::JITCodeMap::indexes const): (JSC::JITCodeMapBuilder::append): (JSC::JITCodeMapBuilder::finalize): (JSC::JITCodeMap::Entry::Entry): Deleted. (JSC::JITCodeMap::Entry::bytecodeIndex const): Deleted. (JSC::JITCodeMap::Entry::codeLocation): Deleted. (JSC::JITCodeMap::append): Deleted. (JSC::JITCodeMap::finish): Deleted.
Source/WTF:
- wtf/MallocPtr.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256498 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [256691] by
-
- 16 edits in branches/safari-609-branch/Source
Cherry-pick r256482. rdar://problem/59478881
Shrink CachedResource
https://bugs.webkit.org/show_bug.cgi?id=207618
Reviewed by Mark Lam.
Source/WebCore:
This patch shrinks sizeof(CachedResource) by 80 bytes by aggressively using bit-fields and Markable<>.
For each enum class, we definebitsOfXXXvalue, which indicates # of bits to represent it. And using
this value for bit-field's width.
No behavior change.
- loader/FetchOptions.h: (WebCore::FetchOptions::encode const):
- loader/ResourceLoaderOptions.h: (WebCore::ResourceLoaderOptions::ResourceLoaderOptions): (WebCore::ResourceLoaderOptions::loadedFromOpaqueSource):
- loader/cache/CachedImage.cpp: (WebCore::CachedImage::CachedImage): (WebCore::CachedImage::shouldDeferUpdateImageData const): (WebCore::CachedImage::didUpdateImageData):
- loader/cache/CachedImage.h:
- loader/cache/CachedResource.cpp: (WebCore::CachedResource::CachedResource): (WebCore::CachedResource::load): (WebCore::CachedResource::finish):
- loader/cache/CachedResource.h: (WebCore::CachedResource::setStatus):
- page/csp/ContentSecurityPolicyResponseHeaders.h: (WebCore::ContentSecurityPolicyResponseHeaders::MarkableTraits::isEmptyValue): (WebCore::ContentSecurityPolicyResponseHeaders::MarkableTraits::emptyValue): (WebCore::ContentSecurityPolicyResponseHeaders::ContentSecurityPolicyResponseHeaders):
- platform/network/NetworkLoadMetrics.h: (WebCore::NetworkLoadMetrics::isolatedCopy const): (WebCore::NetworkLoadMetrics::clearNonTimingData): (WebCore::NetworkLoadMetrics::operator== const): (WebCore::NetworkLoadMetrics::encode const): (WebCore::NetworkLoadMetrics::decode):
- platform/network/ResourceLoadPriority.h:
- platform/network/ResourceRequestBase.h: (WebCore::ResourceRequestBase::ResourceRequestBase):
- platform/network/ResourceResponseBase.h:
- platform/network/StoredCredentialsPolicy.h:
Source/WTF:
- wtf/Markable.h: (WTF::Markable::asOptional const): Add helper method to get Optional easily from Markable.
- wtf/ObjectIdentifier.h: (WTF::ObjectIdentifier::MarkableTraits::isEmptyValue): (WTF::ObjectIdentifier::MarkableTraits::emptyValue): (WTF::ObjectIdentifier::ObjectIdentifier): Add MarkableTraits for ObjectIdentifier.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256482 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [256690] by
-
- 2 edits in branches/safari-609-branch/Source/JavaScriptCore
Cherry-pick r256467. rdar://problem/59478994
[JSC] Make RegExpCache small
https://bugs.webkit.org/show_bug.cgi?id=207619
Reviewed by Mark Lam.
We can compact RegExpKey by using PackedRefPtr, so that we can shrink memory consumption of RegExpCache.
- runtime/RegExpKey.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256467 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [256689] by
-
- 3 edits in branches/safari-609-branch/Source/WebCore
Cherry-pick r256423. rdar://problem/59478731
Compress ImmutableStyleProperties by using PackedPtr
https://bugs.webkit.org/show_bug.cgi?id=207604
Reviewed by Mark Lam.
ImmutableStyleProperties is kept so long and consumes enough memory.
We already attempted to compact it by storing CSSProperty's members separately.
But we can compact further by using PackedPtr. This patch makes,
- Use PackedPtr for CSSValue* in ImmutableStyleProperties so that we can cut some bytes
- Reorder CSSValue* and StylePropertyMetadata arrays since StylePropertyMetadata requires alignment while PackedPtr<CSSValue> is not.
No behavior change.
- css/StyleProperties.cpp: (WebCore::sizeForImmutableStylePropertiesWithPropertyCount): (WebCore::ImmutableStyleProperties::ImmutableStyleProperties): (WebCore::ImmutableStyleProperties::~ImmutableStyleProperties): (WebCore::ImmutableStyleProperties::findCustomPropertyIndex const):
- css/StyleProperties.h: (WebCore::ImmutableStyleProperties::valueArray const): (WebCore::ImmutableStyleProperties::metadataArray const): (WebCore::ImmutableStyleProperties::propertyAt const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256423 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [256688] by
-
- 13 edits2 adds in branches/safari-609-branch
Cherry-pick r254681. rdar://problem/59474790
[Win] Fix AppleWin build
https://bugs.webkit.org/show_bug.cgi?id=206299
Reviewed by Brent Fulgham.
.:
This patch has been created by don.olmstead@sony.com and pvollan@apple.com. Add target files for WTF and
JavaScriptCore. Also, to make sure headers are copied to the forwarding headers directory, add the CMake
keywork ALL when adding custom target for copying files.
- Source/cmake/TargetJavaScriptCore.cmake: Added.
- Source/cmake/TargetWTF.cmake: Added.
- Source/cmake/WebKitMacros.cmake:
Source/JavaScriptCore:
Include required target. Build internal builds with VS2019.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.proj:
Source/WebCore:
Include required targets. Build internal builds with VS2019.
- CMakeLists.txt:
- WebCore.vcxproj/WebCore.proj:
Source/WebKitLegacy:
Include required targets. Build internal builds with VS2019.
- CMakeLists.txt:
- WebKitLegacy.vcxproj/WebKitLegacy.proj:
Source/WTF:
Build internal builds with VS2019.
- WTF.vcxproj/WTF.proj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254681 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [256687] by
-
- 3 edits in branches/safari-609-branch/Source
Cherry-pick r252849. rdar://problem/59446998
Crash in WebCore::ServiceWorkerRegistrationKey::hash() const
https://bugs.webkit.org/show_bug.cgi?id=204497
<rdar://problem/57348603>
Reviewed by Alex Christensen.
Source/WebCore:
Update ServiceWorkerContainer::jobResolvedWithRegistration to handle the case of a
ServiceWorkerContainer that might have a job whose promise is not related to the same context.
In that case, the ServiceWorkerContainer might get stopped, thus its m_ongoingSettledRegistrations be cleared.
But the promise may get settled shortly after since its context is not stopped and will then retrieve an empty registration data key.
This is difficult to test given we do not control when the resolvedWithRegistration task is posted to the client.
- workers/service/ServiceWorkerContainer.cpp: (WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):
- workers/service/ServiceWorkerRegistrationKey.h: (WebCore::ServiceWorkerRegistrationKey::encode const): Add release asserts to make sure we do not store/transfer empty registration keys.
Source/WebKit:
- WebProcess/Storage/WebSWClientConnection.cpp: (WebKit::WebSWClientConnection::scheduleJobInServer): Add a release assert to be able to further debug the crash.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252849 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [256686] by
-
- 2 edits in branches/safari-609-branch/Source/WTF
Cherry-pick r256203. rdar://problem/59446995
Unreviewed, speculative build fix on watchOS simulator
https://bugs.webkit.org/show_bug.cgi?id=207183
- wtf/HashTable.h: (WTF::HashTableCapacityForSize::capacityForSize):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256203 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [256685] by
-
- 2 edits in branches/safari-609-branch/Source/WTF
Cherry-pick r256194. rdar://problem/59446995
Unreviewed, fix build failure on watchOS simulator
https://bugs.webkit.org/show_bug.cgi?id=207183
- wtf/HashTable.h: (WTF::HashTableCapacityForSize::capacityForSize):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256194 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [256684] by
-
- 4 edits in branches/safari-609-branch
Cherry-pick r256093. rdar://problem/59446995
[WTF] Try using 75% load factor for HashTable
https://bugs.webkit.org/show_bug.cgi?id=207183
Reviewed by Mark Lam.
Source/WTF:
We know that hash-table is one of the most memory consuming part in WebKit.
By analyzing many production hash-table implementations[1], I found that many
of them are using 75% load-factor while our one is 50%.
This patch changes the load-factor from 50% to 75%. But we pick 75% only for
small tables which capacity is <= 1024 based on collected data by micro-benchmarking.
The collected data is telling that longer probe-length affects on performance if table
size gets larger.
[1]: LLVM DenseMap, Abseil's, rust's, and so on.
- wtf/HashTable.h: (WTF::HashTableCapacityForSize::shouldExpand): (WTF::HashTableCapacityForSize::capacityForSize): (WTF::HashTable::shouldExpand const): (WTF::KeyTraits>::computeBestTableSize):
Tools:
- TestWebKitAPI/Tests/WTF/HashSet.cpp: (TestWebKitAPI::testInitialCapacity):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256093 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [256683] by
-
- 4 edits in branches/safari-609-branch
Cherry-pick r256011. rdar://problem/59446995
Unreviewed, revert 75% load-factor because of JetStream2/string-unpack-code-SP regression
https://bugs.webkit.org/show_bug.cgi?id=207183
Source/WTF:
- wtf/HashTable.h: (WTF::HashTable::shouldExpand const): (WTF::KeyTraits>::computeBestTableSize): (WTF::HashTable::shouldExpand): Deleted. (WTF::HashTableCapacityForSize::capacityForSize): Deleted.
Tools:
- TestWebKitAPI/Tests/WTF/HashSet.cpp: (TestWebKitAPI::testInitialCapacity):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256011 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [256682] by
-
- 6 edits in branches/safari-609-branch
Cherry-pick r255889. rdar://problem/59446995
[WTF] Try using 75% load factor for HashTable
https://bugs.webkit.org/show_bug.cgi?id=207183
Reviewed by Mark Lam.
Source/WTF:
We know that hash-table is one of the most memory consuming part in WebKit.
By analyzing many production hash-table implementations[1], I found that many
of them are using 75% load-factor while our one is 50%.
A/B test shows that 75% load-factor is performance-neutral in Speedometer2 and
JetStream2, while it offers 2~% improvement in Membuster. This means that we are
wasting too much memory for no-performance-improvement.
This patch changes the load-factor from 50% to 75%.
[1]: LLVM DenseMap, Abseil's, rust's, and so on.
- wtf/HashTable.h: (WTF::HashTable::shouldExpand): (WTF::HashTable::shouldExpand const): (WTF::HashTableCapacityForSize::capacityForSize): (WTF::KeyTraits>::computeBestTableSize):
Tools:
Fix load-factor assumption in existing tests.
- TestWebKitAPI/Tests/WTF/HashSet.cpp: (TestWebKitAPI::testInitialCapacity):
LayoutTests:
It seems that this test is relying on hash-table's order.
- http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@255889 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [256681] by
-
- 5 edits in branches/safari-609-branch
Cherry-pick r255611. rdar://problem/59446995
Reduce size of HashMap and HashSet
https://bugs.webkit.org/show_bug.cgi?id=207138
Reviewed by Yusuke Suzuki.
Source/WTF:
This reduces sizeof(HashMap) and sizeof(HashSet) from 24 to 8 on 64-bit systems.
I measured that the overwhelming majority of HashMaps and HashSets never see more than 0 elements,
so I moved the table metadata (tableSize, tableSizeMask, keyCount, deletedCount) to inside the
dynamically allocated memory. This makes another branch in size() for non-empty tables
and an additional read and write when rehashing in exchange for fewer writes in the constructor
and increased cache locality of everything that uses HashMap and HashSet, which is basically everything.
- wtf/HashTable.h: (WTF::HashTable::~HashTable): (WTF::HashTable::end): (WTF::HashTable::end const): (WTF::HashTable::random): (WTF::HashTable::size const): (WTF::HashTable::capacity const): (WTF::HashTable::isEmpty const): (WTF::HashTable::reserveInitialCapacity): (WTF::HashTable::shouldExpand const): (WTF::HashTable::mustRehashInPlace const): (WTF::HashTable::shouldShrink const): (WTF::HashTable::shrink): (WTF::HashTable::makeIterator): (WTF::HashTable::makeConstIterator const): (WTF::HashTable::makeKnownGoodIterator): (WTF::HashTable::makeKnownGoodConstIterator const): (WTF::HashTable::tableSize const): (WTF::HashTable::setTableSize const): (WTF::HashTable::tableSizeMask const): (WTF::HashTable::setTableSizeMask): (WTF::HashTable::keyCount const): (WTF::HashTable::setKeyCount const): (WTF::HashTable::deletedCount const): (WTF::HashTable::setDeletedCount const): (WTF::KeyTraits>::HashTable): (WTF::KeyTraits>::inlineLookup): (WTF::KeyTraits>::lookupForWriting): (WTF::KeyTraits>::fullLookupForWriting): (WTF::KeyTraits>::addUniqueForInitialization): (WTF::KeyTraits>::add): (WTF::KeyTraits>::addPassingHashCode): (WTF::KeyTraits>::remove): (WTF::KeyTraits>::removeIf): (WTF::KeyTraits>::allocateTable): (WTF::KeyTraits>::deallocateTable): (WTF::KeyTraits>::expand): (WTF::KeyTraits>::shrinkToBestSize): (WTF::KeyTraits>::deleteReleasedWeakBuckets): (WTF::KeyTraits>::rehash): (WTF::KeyTraits>::clear): (WTF::KeyTraits>::swap): (WTF::KeyTraits>::checkTableConsistencyExceptSize const):
Tools:
- TestWebKitAPI/Tests/WTF/HashMap.cpp: (TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/HashSet.cpp: (TestWebKitAPI::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@255611 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:02 PM Changeset in webkit [256680] by
-
- 3 edits in branches/safari-609-branch/Source/WebKit
Cherry-pick r256578. rdar://problem/59447009
Protect WebSWServerConnection::scheduleJobInServer from bad scopeURL
https://bugs.webkit.org/show_bug.cgi?id=207722
Reviewed by Chris Dumez.
- NetworkProcess/ServiceWorker/WebSWServerConnection.cpp: (WebKit::WebSWServerConnection::scheduleJobInServer): In case of bad scope, fail the job early on.
- WebProcess/Storage/WebSWClientConnection.cpp: (WebKit::WebSWClientConnection::scheduleJobInServer): Remove the RELEASE_ASSERT from now since we defend in Network process. We will add it back in ServiceWorkerRegistration::getOrCreate as a follow-up.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256578 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:01 PM Changeset in webkit [256679] by
-
- 11 edits in branches/safari-609-branch/Source/WebCore
Cherry-pick r256494. rdar://problem/59446989
CSSValuePool's constant CSS values should not be allocated dynamically (and same for Vectors)
https://bugs.webkit.org/show_bug.cgi?id=207666
Reviewed by Mark Lam.
r252785 changes contents (CSSValues and Vectors) of CSSValuePool from static ones to
dynamically allocated ones. This was done since we would like to use static CSSValues
even in the other threads (workers etc.) for OffscreenCanvas feature.
But this causes memory regression in Membuster since we allocates many CSSValues and
large Vectors, and they are kept persistently.
This patch removes dynamic allocation part of r252785 to recover memory regression.
The key of this patch is introducing Static CSSValue feature. When incrementing / decrementing
m_refCount of CSSValue, we add / subtract by 0x2. And we put 0x1 as a static-flag. So, even if
this CSSValue is used by multiple threads, we never see that CSSValue gets 0 m_refCount if
it is marked as static (having 0x1). This is the same design to our static StringImpl.
No behavior change.
- css/CSSInheritedValue.h:
- css/CSSInitialValue.h:
- css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
- css/CSSPrimitiveValue.h:
- css/CSSRevertValue.h:
- css/CSSUnsetValue.h:
- css/CSSValue.cpp:
- css/CSSValue.h: (WebCore::CSSValue::ref const): (WebCore::CSSValue::hasOneRef const): (WebCore::CSSValue::refCount const): (WebCore::CSSValue::hasAtLeastOneRef const): (WebCore::CSSValue::deref): (WebCore::CSSValue::makeStatic):
- css/CSSValuePool.cpp: (WebCore::StaticCSSValuePool::StaticCSSValuePool): (WebCore::StaticCSSValuePool::init): (WebCore::CSSValuePool::CSSValuePool): (WebCore::CSSValuePool::singleton): (WebCore::CSSValuePool::createIdentifierValue): (WebCore::CSSValuePool::createColorValue): (WebCore::CSSValuePool::createValue):
- css/CSSValuePool.h: (WebCore::CSSValuePool::createInheritedValue): (WebCore::CSSValuePool::createImplicitInitialValue): (WebCore::CSSValuePool::createExplicitInitialValue): (WebCore::CSSValuePool::createUnsetValue): (WebCore::CSSValuePool::createRevertValue):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256494 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:01 PM Changeset in webkit [256678] by
-
- 3 edits in branches/safari-609-branch/Source/WebCore
Cherry-pick r256474. rdar://problem/59446973
Web Inspector: inspector/cpu-profiler/threads.html is flaky crashing
https://bugs.webkit.org/show_bug.cgi?id=207588
<rdar://problem/57458123>
Reviewed by Yusuke Suzuki.
- page/cocoa/ResourceUsageThreadCocoa.mm: (WebCore::ResourceUsageThread::platformCollectCPUData): Use a fence to force Thread to be completely ready for use by other threads prior to storing it. Otherwise, ResourceUsageThread may see it too early.
- workers/WorkerThread.cpp: (WebCore::WorkerThread::start): Ignore worker threads that are not fully initialized.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256474 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:01 PM Changeset in webkit [256677] by
-
- 2 edits in branches/safari-609-branch/Source/WebCore
Cherry-pick r256470. rdar://problem/59446998
ServiceWorkerContainer::jobResolvedWithRegistration scopeExit should capture all lambda parameters by value
https://bugs.webkit.org/show_bug.cgi?id=207657
Reviewed by Chris Dumez.
shouldNotifyWhenResolved is captured by reference in the notifyIfExitEarly ScopeExit lambda.
The ScopeExit is not always called synchronously so it is unsafe to capture values by reference here.
- workers/service/ServiceWorkerContainer.cpp: (WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256470 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:01 PM Changeset in webkit [256676] by
-
- 2 edits in branches/safari-609-branch/Source/WebKit
Cherry-pick r256452. rdar://problem/59446979
Pages that trigger a redirect will sometimes be left blank
https://bugs.webkit.org/show_bug.cgi?id=207614
rdar://problem/59077740
Reviewed by Tim Horton.
TiledCoreAnimationDrawingArea::setRootCompositingGraphicsLayer() can be called when the layer tree
is frozen, in which case we stash away the layer in m_pendingRootLayer to be parented later at flush
time. However, this sequence of calls had a bug:
setRootCompositingGraphicsLayer() when frozen
-> stash in m_pendingRootLayer
setRootCompositingGraphicsLayer() when not frozen
-> set the root layer
flushLayers()
-> set the root layer to the (old) m_pendingRootLayer
So we need to clear m_pendingRootLayer at step 2.
Very timing dependent, hard to test.
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256452 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:01 PM Changeset in webkit [256675] by
-
- 2 edits in branches/safari-609-branch/Source/WebCore
Cherry-pick r256447. rdar://problem/59446998
RELEASE_ASSERT() under WebSWClientConnection::didResolveRegistrationPromise()
https://bugs.webkit.org/show_bug.cgi?id=207637
<rdar://problem/59093490>
Reviewed by Youenn Fablet.
We were capturing data by reference in the notifyIfExitEarly ScopeExit lambda and then capturing it
in the task posted to the event loop, which was unsafe.
- workers/service/ServiceWorkerContainer.cpp: (WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256447 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:01 PM Changeset in webkit [256674] by
-
- 4 edits2 adds in branches/safari-609-branch
Cherry-pick r256427. rdar://problem/59447029
Fix crash due to uninitialized currentStyle in CSSTransition
https://bugs.webkit.org/show_bug.cgi?id=205959
<rdar://57073673>
Patch by Sunny He <sunny_he@apple.com> on 2020-02-12
Reviewed by Antoine Quint.
Source/WebCore:
Test: legacy-animation-engine/transitions/svg-bad-scale-crash.html
- animation/CSSTransition.cpp: (WebCore::CSSTransition::create): (WebCore::CSSTransition::CSSTransition):
- animation/CSSTransition.h:
LayoutTests:
Fix crash due to uninitialized currentStyle in CSSTransition
- legacy-animation-engine/transitions/svg-bad-scale-crash-expected.txt: Added.
- legacy-animation-engine/transitions/svg-bad-scale-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256427 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:01 PM Changeset in webkit [256673] by
-
- 2 edits in branches/safari-609-branch/Source/WebKit
Cherry-pick r256401. rdar://problem/59447020
WebPage::getFocusedElementInformation should be robust when the focused element changes during layout
https://bugs.webkit.org/show_bug.cgi?id=207582
<rdar://problem/47634344>
Reviewed by Tim Horton.
- This is a speculative fix for <rdar://problem/47634344>, wherein the …
- getFocusedElementInformation may cause the currently focused element to disappear (or change). In the case where m_focusedElement becomes nil, we end up crashing with a null pointer deref, since the rest of the method assumes that m_focusedElement exists.
To patch this crash, bail early (after the first layout update) if m_focusedElement changed during the layout
pass. Since the rest of the function my trigger even more layout updates that could nuke m_focusedElement, I
also changed the rest of the function to use the locally storedfocusedElementvariable instead of
m_focusedElement, on WebPage.
- WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::getFocusedElementInformation):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256401 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:01 PM Changeset in webkit [256672] by
-
- 4 edits in branches/safari-609-branch
Cherry-pick r256395. rdar://problem/59447024
Bug 207424: Crash in WebCore::ParsedContentType::parseContentType when parsing invalid MIME type
<https://webkit.org/b/207424>
<rdar://problem/59250384>
Patch by Rob Buis <rbuis@igalia.com> and David Kilzer <ddkilzer@apple.com> on 2020-02-11
Reviewed by Rob Buis.
Source/WebCore:
Return StringView directly rather than wrapping
it in Optional, since StringView's can be null tested.
Tests: TestWebKitAPI.ParsedContentType
- platform/network/ParsedContentType.cpp:
(WebCore::parseToken):
(WebCore::parseQuotedString):
(WebCore::ParsedContentType::parseContentType): Don't set type
parameter if parameterName is null string. Remove unneeded
parameterNamevariable; use keyRange.toString() instead.
Tools:
- TestWebKitAPI/Tests/WebCore/ParsedContentType.cpp: (TestWebKitAPI::TEST): Add more tests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256395 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:01 PM Changeset in webkit [256671] by
-
- 5 edits in branches/safari-609-branch
Cherry-pick r256377. rdar://problem/59446971
Regression: RTCRtpSender.getCapabilities("video") returns null on iOS 13.4 (17E5223h)
https://bugs.webkit.org/show_bug.cgi?id=207325
<rdar://problem/59224810>
Reviewed by Eric Carlson.
Source/WebCore:
Manually tested and covered by API test.
- platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.cpp: (WebCore::LibWebRTCProvider::webRTCAvailable): Return true unconditionally on iOS since libwebrtc.dylib is always available.
Tools:
- TestWebKitAPI/Tests/WebKit/GetUserMedia.mm: (TestWebKitAPI::TEST): Add a test validating that RTCRtpSender.getCapabilities does not return null.
- TestWebKitAPI/Tests/WebKit/getUserMedia.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256377 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:01 PM Changeset in webkit [256670] by
-
- 4 edits2 adds in branches/safari-609-branch
Cherry-pick r256346. rdar://problem/59446984
video.currentTime is not being updated in iOS 13.4 Beta
https://bugs.webkit.org/show_bug.cgi?id=207489
<rdar://problem/59322640>
Reviewed by Youenn Fablet.
Source/WebKit:
Allow the Web process and the GPU process to communicate with
'com.apple.coremedia.audiodeviceclock.xpc' because it is necessary to use a
CMTimeBase, which is used by MediaPlayerPrivateMediaStreamAVFObjC for currentTime.
Test: fast/mediastream/media-element-current-time.html
- Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
LayoutTests:
- fast/mediastream/media-element-current-time.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256346 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:01 PM Changeset in webkit [256669] by
-
- 2 edits in branches/safari-609-branch/Source/WebCore/PAL
Cherry-pick r256320. rdar://problem/59447006
AX: Wrong includes for internal SDK
https://bugs.webkit.org/show_bug.cgi?id=207554
Reviewed by Chris Dumez.
- pal/spi/mac/HIServicesSPI.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256320 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:01 PM Changeset in webkit [256668] by
-
- 2 edits in branches/safari-609-branch/Source/WebKit
Cherry-pick r256233. rdar://problem/59447027
WebKit::WebProcessPool::initializeClassesForParameterCoding() should keep a copy of CString
<https://webkit.org/b/207519>
<rdar://problem/59043436>
Reviewed by Brent Fulgham.
- UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::initializeClassesForParameterCoding):
- Change
classNameto keep a copy of the CString object.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256233 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:01 PM Changeset in webkit [256667] by
-
- 8 edits in branches/safari-609-branch
Cherry-pick r256207. rdar://problem/59447263
Don't update selection when calling setSelectionRange on a disconnected input element
https://bugs.webkit.org/show_bug.cgi?id=207357
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
Rebaselined the test that progressed a little. The test now passes offset checks but still fails direction check.
- web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-textarea-expected.txt:
Source/WebCore:
Don't update FrameSelection when the text form control element is disconnected from document.
- html/HTMLTextFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::setSelectionRange):
LayoutTests:
Rebaselined the test that has progressed with this change.
- platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
- platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256207 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:01 PM Changeset in webkit [256666] by
-
- 2 edits in branches/safari-609-branch/Source/WebKit
Cherry-pick r256187. rdar://problem/59446994
Crash under WebProcessProxy::shouldSendPendingMessage()
https://bugs.webkit.org/show_bug.cgi?id=207464
<rdar://problem/59293825>
Reviewed by Alex Christensen.
I suspect the WebProcessProxy object is getting destroyed as we are iterating over the
pending messages in AuxiliaryProcessProxy::didFinishLaunching(), thus crashing when
calling WebProcessProxy::shouldSendPendingMessage() inside the loop. As a speculative
fix, protect |this| at the beginning of WebProcessProxy::didFinishLaunching().
- UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::didFinishLaunching):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:57 PM Changeset in webkit [256665] by
-
- 9 edits2 adds in trunk
[WASM] Wasm interpreter's calling convention doesn't match Wasm JIT's convention.
https://bugs.webkit.org/show_bug.cgi?id=207727
JSTests:
Reviewed by Mark Lam.
- wasm/regress/llint-callee-saves-with-fast-memory.js: Added.
- wasm/regress/llint-callee-saves-without-fast-memory.js: Added.
Source/JavaScriptCore:
Reviewed by Mark Lam.
The Wasm JIT has unusual calling conventions, which were further complicated by the addition
of the interpreter, and the interpreter did not correctly follow these conventions (by incorrectly
saving and restoring the callee save registers used for the memory base and size). Here's a summary
of the calling convention:
- When entering Wasm from JS, the wrapper must:
- Preserve the base and size when entering LLInt regardless of the mode. (Prior to this patch we only preserved the base in Signaling mode)
- Preserve the memory base in either mode, and the size for BoundsChecking.
- Both tiers must preserve every *other* register they use. e.g. the LLInt must preserve PB and wasmInstance, but must *not* preserve memoryBase and memorySize.
- Changes to memoryBase and memorySize are visible to the caller. This means that:
- Intra-module calls can assume these registers are up-to-date even if the memory was resized. The only exception here is if the LLInt calls a signaling JIT, in which case the JIT will not update the size register, since it won't be using it.
- Inter-module and JS calls require the caller to reload these registers. These calls may result in memory changes (e.g. the callee may call memory.grow).
- A Signaling JIT caller must be aware that the LLInt may trash the size register, since it always bounds checks.
- llint/WebAssembly.asm:
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::addCall):
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::addCall):
- wasm/WasmCallee.cpp:
(JSC::Wasm::LLIntCallee::calleeSaveRegisters):
- wasm/WasmCallingConvention.h:
- wasm/WasmLLIntPlan.cpp:
(JSC::Wasm::LLIntPlan::didCompleteCompilation):
- wasm/WasmMemoryInformation.cpp:
(JSC::Wasm::PinnedRegisterInfo::get):
(JSC::Wasm::getPinnedRegisters): Deleted.
- 6:36 PM Changeset in webkit [256664] by
-
- 20 edits in trunk/Source
Simplify WebProcess handling of unregistering of service workers
https://bugs.webkit.org/show_bug.cgi?id=207669
Reviewed by Chris Dumez.
Source/WebCore:
Instead of creating a job in WebProcess, we now create it at SWServer level.
This allows the ServiceWorkerContainer to only provide the service worker registration identifier
to start the unregistering process.
To simplify things, a completion handler is used to resolve the promise once the unregister job run.
This allows to send less information from ServiceWorkerContainer to SWServer through IPC.
No observable change of behavior.
- workers/service/SWClientConnection.cpp:
(WebCore::SWClientConnection::unregistrationJobResolvedInServer): Deleted.
- workers/service/SWClientConnection.h:
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::unregisterRegistration):
- workers/service/ServiceWorkerContainer.h:
- workers/service/ServiceWorkerJobData.cpp:
(WebCore::serviceWorkerOrClientIdentifier):
(WebCore::ServiceWorkerJobData::ServiceWorkerJobData):
- workers/service/ServiceWorkerJobData.h:
- workers/service/ServiceWorkerRegistration.cpp:
(WebCore::ServiceWorkerRegistration::unregister):
- workers/service/WorkerSWClientConnection.cpp:
(WebCore::WorkerSWClientConnection::scheduleUnregisterJobInServer):
- workers/service/WorkerSWClientConnection.h:
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::scheduleUnregisterJob):
- workers/service/server/SWServer.h:
Source/WebKit:
Use Async Reply IPC for scheduling an unregister job.
Make WebSWServerConnection own a map of CompletionHandler keyed by unregister job identifiers.
WebSWServerConnection then asks SWServer to schedule the unregister job.
When job is run, WebSWServerConnection will call the corresponding completion handler.
The completion handler will trigger an IPC response that will trigger the unregister promise to be resolved.
- NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::resolveUnregistrationJobInClient):
(WebKit::WebSWServerConnection::scheduleUnregisterJobInServer):
- NetworkProcess/ServiceWorker/WebSWServerConnection.h:
- NetworkProcess/ServiceWorker/WebSWServerConnection.messages.in:
- Scripts/webkit/messages.py:
- WebProcess/Storage/WebSWClientConnection.cpp:
(WebKit::WebSWClientConnection::scheduleUnregisterJobInServer):
- WebProcess/Storage/WebSWClientConnection.h:
- WebProcess/Storage/WebSWClientConnection.messages.in:
- 6:20 PM Changeset in webkit [256663] by
-
- 8 edits in branches/safari-609-branch/Source
Versioning.
- 6:15 PM Changeset in webkit [256662] by
-
- 2 edits in trunk/Source/WebKit
Improve NSURLSession WebSocket message handling in case of error
https://bugs.webkit.org/show_bug.cgi?id=207799
Reviewed by Alex Christensen.
Tested by running layout tests with NSURLSession WebSocket code path enabled..
- NetworkProcess/cocoa/WebSocketTaskCocoa.mm:
(WebKit::WebSocketTask::readNextMessage):
readNextMessage completion handler may be called when the connection is closed or in case of real error.
We discriminate this case by checking closeCode and if not null, we do nothing since the connection is being closed.
Otherwise, we communicate the error to WebProcess and close the connection.
(WebKit::WebSocketTask::sendString):
Add workaround until this gets fixed underneath.
(WebKit::WebSocketTask::sendData):
Add workaround until this gets fixed underneath.
- 5:20 PM Changeset in webkit [256661] by
-
- 2 edits in trunk/Source/WebKit
[WebAuthn] Make Local Authenticator appear as an experimental feature
https://bugs.webkit.org/show_bug.cgi?id=207797
<rdar://problem/59475709>
Reviewed by Brent Fulgham.
- Shared/WebPreferences.yaml:
- 5:20 PM Changeset in webkit [256660] by
-
- 7 edits in trunk/Source/WebKit
Dynamically generate media-related mach connections when not using the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=207743
<rdar://problem/59449750>
Reviewed by Per Arne Vollan.
Stop using permanent sandbox permissions to connect to media-related XPC services. Instead,
create them dynamically in the UIProcess and vend them to the relevant WebContent process
as needed. If all media features are active in the GPU process, do not emit extensions since
they should not be needed in the WebContent process at that point.
Tested by existing media and GPU process tests.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: Remove permanet rules in
preference for dynamic extensions.
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const): Serialize new service connections.
(WebKit::WebProcessCreationParameters::decode): Ditto.
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::mediaRelatedMachServices): Helper function listing needed services.
(WebKit::WebProcessPool::platformInitializeWebProcess): Create service connections when
needed.
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess): Consume media-related connections
when needed.
- WebProcess/com.apple.WebProcess.sb.in: Remove permanet rules in preference for
dynamic extensions.
- 5:18 PM Changeset in webkit [256659] by
-
- 26 edits2 adds in trunk
new FontFace() should not throw when failing to parse arguments
https://bugs.webkit.org/show_bug.cgi?id=205770
Patch by Nikos Mouchtaris <Nikos Mouchtaris> on 2020-02-14
Reviewed by Myles Maxfield.
Source/WebCore:
Change FontFace constructor to conform to API specification:
https://drafts.csswg.org/css-font-loading/#dom-fontface-fontface.
No longer throws. For parsing failure, now rejects promise, sets
status to error, and sets FontFace members to default string.
Test: http/tests/css/font-face-constructor.html
- css/CSSFontFace.cpp:
(WebCore::CSSFontFace::setErrorState):
- css/CSSFontFace.h:
- css/CSSFontFaceSet.cpp:
(WebCore::CSSFontFaceSet::addToFacesLookupTable):
(WebCore::CSSFontFaceSet::remove):
(WebCore::CSSFontFaceSet::fontFace):
- css/CSSSegmentedFontFace.cpp:
(WebCore::CSSSegmentedFontFace::fontRanges):
- css/FontFace.cpp:
(WebCore::FontFace::setErrorState):
(WebCore::FontFace::create):
(WebCore::FontFace::family const):
(WebCore::FontFace::style const):
(WebCore::FontFace::weight const):
(WebCore::FontFace::stretch const):
(WebCore::FontFace::unicodeRange const):
(WebCore::FontFace::featureSettings const):
(WebCore::FontFace::display const):
(WebCore::FontFace::fontStateChanged):
- css/FontFace.h:
- css/FontFace.idl:
LayoutTests:
Tests that constructor doesn't throw, sets members to corresponding default strings.
- http/tests/css/font-face-constructor-expected.txt: Added.
- http/tests/css/font-face-constructor.html: Added.
- 5:01 PM Changeset in webkit [256658] by
-
- 10 edits1 copy in trunk/Source
Introduce MediaStreamPrivate::forEachTrack
https://bugs.webkit.org/show_bug.cgi?id=207773
Reviewed by Eric Carlson.
Source/WebCore:
Introduce forEachTrack to allow read-only iterating through the tracks.
This is more efficient than copying the tracks.
Add a helper routine to select the tracks to record in MediaRecorderPrivate.
No change of behavior.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentReadyState):
- platform/mediarecorder/MediaRecorderPrivate.cpp: Added.
(WebCore::MediaRecorderPrivate::selectTracks):
- platform/mediarecorder/MediaRecorderPrivate.h:
- platform/mediarecorder/MediaRecorderPrivateAVFImpl.cpp:
(WebCore::MediaRecorderPrivateAVFImpl::create):
- platform/mediastream/MediaStreamPrivate.cpp:
(WebCore::MediaStreamPrivate::forEachTrack const):
- platform/mediastream/MediaStreamPrivate.h:
Source/WebKit:
- WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
(WebKit::MediaRecorderPrivate::MediaRecorderPrivate):
Use helper routine instead of MediaStreamPrviate::streamTracks().
- 5:01 PM Changeset in webkit [256657] by
-
- 3 edits in trunk/LayoutTests
Fix flaky tests that scroll before first paint
https://bugs.webkit.org/show_bug.cgi?id=207780
After https://bugs.webkit.org/show_bug.cgi?id=207516, a couple of tests are now flaky. This
is because that patch delays first paint until there is enough content to render, and some
of these tests are issuing scroll events on controls before those controls render. To fix
this, we delay issuing the events until after the page loads.
Patch by Ben Nham <Ben Nham> on 2020-02-14
Reviewed by Simon Fraser.
- fast/events/scroll-in-scaled-page-with-overflow-hidden.html:
- fast/scrolling/scroll-container-horizontally.html:
- 3:51 PM Changeset in webkit [256656] by
-
- 3 edits in trunk/LayoutTests
[ Mac wk2 ] fast/html/marquee-child-wrap.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=207793
Unreviewed test fix.
Increased the scrolldelay on this test to stop the flakiness.
- fast/html/marquee-child-wrap.html:
- platform/mac-wk2/TestExpectations:
- 3:45 PM Changeset in webkit [256655] by
-
- 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations
Need a short description (OOPS!).
Need the bug URL (OOPS!).
Reviewed by NOBODY (OOPS!).
- platform/mac-wk2/TestExpectations:
- 3:45 PM Changeset in webkit [256654] by
-
- 2 edits in trunk/LayoutTests
[ Mac wk2 Release ] webrtc/connection-state.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=207798
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 3:23 PM Changeset in webkit [256653] by
-
- 2 edits in trunk/LayoutTests
[ Mac wk2 Release ] fast/box-shadow/hidpi-box-shadow.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=207796
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 3:18 PM Changeset in webkit [256652] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: VoiceOver doesn't read selected panel tab
https://bugs.webkit.org/show_bug.cgi?id=207735
<rdar://problem/59445157>
Reviewed by Timothy Hatcher.
- UserInterface/Views/NavigationBar.js:
(WI.NavigationBar):
(WI.NavigationBar.prototype._mouseDown):
(WI.NavigationBar.prototype._mouseUp):
Navigation bar itself shouldn't receive focus - its items should.
- UserInterface/Views/RadioButtonNavigationItem.js:
(WI.RadioButtonNavigationItem):
"tab" was passed as a label by mistake. VoiceOver read every tab as "tab" instead of it's actual label.
(WI.RadioButtonNavigationItem.prototype.set selected):
When clicking on a tab, focus on it so VoiceOver could read it.
- 3:17 PM Changeset in webkit [256651] by
-
- 6 edits in trunk/Source/WebCore
[Curl] Implement NetworkStorageSession::get/set/deleteCookie
https://bugs.webkit.org/show_bug.cgi?id=207450
Patch by Pavel Feldman <pavel.feldman@gmail.com> on 2020-02-14
Reviewed by Don Olmstead.
- platform/network/curl/CookieJarCurl.cpp:
(WebCore::CookieJarCurl::getAllCookies const):
(WebCore::CookieJarCurl::setCookie const):
(WebCore::CookieJarCurl::deleteCookie const):
- platform/network/curl/CookieJarCurl.h:
- platform/network/curl/CookieJarDB.cpp:
(WebCore::CookieJarDB::getAllCookies):
- platform/network/curl/CookieJarDB.h:
- platform/network/curl/NetworkStorageSessionCurl.cpp:
(WebCore::NetworkStorageSession::NetworkStorageSession):
(WebCore::NetworkStorageSession::setCookie):
(WebCore::NetworkStorageSession::deleteCookie):
(WebCore::NetworkStorageSession::getAllCookies):
- 3:05 PM Changeset in webkit [256650] by
-
- 2 edits in trunk/LayoutTests
[ Mac wk2 ] fast/html/marquee-child-wrap.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=207793
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 3:02 PM Changeset in webkit [256649] by
-
- 2 edits2 moves in trunk/LayoutTests
[css-grid] Move grid-gutters-and-alignment test to WPT folder
https://bugs.webkit.org/show_bug.cgi?id=207751
Patch by Rossana Monteriso <rmonteriso@igalia.com> on 2020-02-14
Reviewed by Javier Fernandez.
LayoutTests/imported/w3c:
Add grid-gutters-and-alignment test, checked and adapted to WPT, with its expected.txt file.
Imported to WPT with this PR: https://github.com/web-platform-tests/wpt/pull/21717
- web-platform-tests/css/css-grid/alignment/grid-gutters-and-alignment-expected.txt:
- web-platform-tests/css/css-grid/alignment/grid-gutters-and-alignment.html:
LayoutTests:
Remove grid-gutters-and-alignment test and its expected.txt file. The test is being replaced
by an adapted test in the corresponding WPT test folder.
- fast/css-grid-layout/grid-gutters-and-alignment-expected.txt: Removed.
- fast/css-grid-layout/grid-gutters-and-alignment.html: Removed.
- 3:01 PM Changeset in webkit [256648] by
-
- 15 edits in trunk
WebKit support for Apple Pay Buttons with custom corner radii
https://bugs.webkit.org/show_bug.cgi?id=207664
Source/WebCore:
<rdar://problem/43718114>
Patch by Nikos Mouchtaris <Nikos Mouchtaris> on 2020-02-14
Reviewed by Andy Estes.
Added support for border-radius css property for apple pay
button drawing.
Modified old tests to test this new behavior.
- rendering/RenderThemeCocoa.mm:
(WebCore::RenderThemeCocoa::paintApplePayButton):
Source/WebCore/PAL:
<rdar://problem/43718114>
Patch by Nikos Mouchtaris <Nikos Mouchtaris> on 2020-02-14
Reviewed by Andy Estes.
Added link for PKDrawApplePayButtonWithCornerRadius and
PKApplePayButtonDefaultCornerRadius.
- pal/cocoa/PassKitSoftLink.h:
- pal/cocoa/PassKitSoftLink.mm:
- pal/spi/cocoa/PassKitSPI.h:
LayoutTests:
Patch by Nikos Mouchtaris <Nikos Mouchtaris> on 2020-02-14
Reviewed by Andy Estes.
Modified both tests to test new functionality for setting custom corner
radii.
- http/tests/ssl/applepay/ApplePayButton.html:
- http/tests/ssl/applepay/ApplePayButtonV4.html:
- platform/mac-highsierra/http/tests/ssl/applepay/ApplePayButton-expected.png:
- platform/mac-highsierra/http/tests/ssl/applepay/ApplePayButton-expected.txt:
- platform/mac/http/tests/ssl/applepay/ApplePayButton-expected.png:
- platform/mac/http/tests/ssl/applepay/ApplePayButton-expected.txt:
- platform/mac/http/tests/ssl/applepay/ApplePayButtonV4-expected.png:
- platform/mac/http/tests/ssl/applepay/ApplePayButtonV4-expected.txt:
- 2:45 PM Changeset in webkit [256647] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Bezier editor popover should be strictly LTR
https://bugs.webkit.org/show_bug.cgi?id=206968
<rdar://problem/59007065>
Reviewed by Timothy Hatcher.
webkitConvertPointFromPageToNode does not work correctly with the zoom level other than 1.
Replace all uses of webkitConvertPointFromPageToNode with getBoundingClientRect.
- UserInterface/Models/Geometry.js:
(WI.Point.fromEventInElement):
- UserInterface/Views/ColorSquare.js:
(WI.ColorSquare.prototype._updateColorForMouseEvent):
- UserInterface/Views/GradientSlider.js:
(WI.GradientSlider.prototype._updateShadowKnob):
- UserInterface/Views/Slider.js:
(WI.Slider.prototype._localPointForEvent):
(WI.Slider):
- 2:37 PM Changeset in webkit [256646] by
-
- 2 edits in trunk/Source/WebKit
WKWebView._setResourceLoadDelegate should clear the WebPageProxy's ResourceLoadClient
https://bugs.webkit.org/show_bug.cgi?id=205887
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setResourceLoadDelegate:]):
WebPageProxy::setResourceLoadClient has some special logic to possibly clear a bit in the web process that will reduce IPCs.
This is a small oversight in my original implementation.
- 2:27 PM Changeset in webkit [256645] by
-
- 2 edits in trunk/LayoutTests
[Web Animations] Unflake web-animations/timing-model/timelines/update-and-send-events.html WPT test
https://bugs.webkit.org/show_bug.cgi?id=202109
Unreviewed test gardening.
- TestExpectations: The attempt to unflake this test in r256619 was unsuccesful.
- 1:59 PM Changeset in webkit [256644] by
-
- 1 copy in tags/Safari-610.1.3
Tag Safari-610.1.3.
- 1:59 PM Changeset in webkit [256643] by
-
- 1 delete in tags/Safari-610.1.3
Delete tag.
- 1:56 PM Changeset in webkit [256642] by
-
- 1 copy in tags/Safari-609.1.18
Tag Safari-609.1.18.
- 1:55 PM Changeset in webkit [256641] by
-
- 1 copy in tags/Safari-610.1.3
Tag Safari-610.1.3.
- 1:36 PM Changeset in webkit [256640] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] imported/w3c/IndexedDB-private-browsing are all flaky timeouts
https://bugs.webkit.org/show_bug.cgi?id=207786
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations: Fixed the bug number.
- 1:30 PM Changeset in webkit [256639] by
-
- 2 edits in trunk/LayoutTests
[ Mac wk2 ] fast/events/keydown-1.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=207785
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 1:27 PM Changeset in webkit [256638] by
-
- 2 edits in trunk/LayoutTests
[GTK] http/tests/misc/form-submit-file-cross-site-redirect.html fails with incomplete form data
https://bugs.webkit.org/show_bug.cgi?id=207016
After bug206517 was fixed, this test has been passing in all GTK bots.
Unreviewed test gardening.
Patch by Lauro Moura <Lauro Moura> on 2020-02-14
- platform/gtk/TestExpectations:
- 1:22 PM Changeset in webkit [256637] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] imported/w3c/IndexedDB-private-browsing are all flaky timeouts
https://bugs.webkit.org/show_bug.cgi?id=207786
Updatating expectations for all IndexedDP-private-browsing tests.
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 1:19 PM Changeset in webkit [256636] by
-
- 2 edits in trunk/Source/WebCore
[Web Animations] Missing call to DocumentTimeline::resumeAnimations() in Frame::resumeActiveDOMObjectsAndAnimations()
https://bugs.webkit.org/show_bug.cgi?id=207784
<rdar://problem/59251858>
Patch by Antoine Quint <graouts@webkit.org> on 2020-02-14
Reviewed by Dean Jackson.
After auditing the code, there was one call to CSSAnimationController::resumeAnimationsForDocument() that missed a matching DocumentTimeline::resumeAnimations()
call should the Web Animations flag be on.
- page/Frame.cpp:
(WebCore::Frame::resumeActiveDOMObjectsAndAnimations):
- 1:13 PM Changeset in webkit [256635] by
-
- 3 edits in branches/safari-609-branch/Tools
Cherry-pick r256297. rdar://problem/59442308
[iOS] Non-internal API test runners frequently crash due to Objective-C exceptions
https://bugs.webkit.org/show_bug.cgi?id=207525
<rdar://problem/59110543>
Reviewed by Tim Horton.
After the fix for <rdar://problem/56301207>, some scroll view content offset changes will attempt to call into
CoreAnalytics API to try and report data about scrolling velocities. In the iOS 13.3 simulator, this involves
creating a dictionary, of which one of the keys is the bundle identifier of the application. The value is
unconditionally inserted into the dictionary. Since TestWebKitAPI does not run in the context of a
UIApplication, the bundle identifier (that is,NSBundle.mainBundle.bundleIdentifier) ends up being nil,
causing us to crash upon trying to create the dictionary.
While it would make things easier, we can't just swizzle -bundleIdentifier for the entirely of every test, since
some tests expect the bundle identifier to be nil (or call into system frameworks that expect the bundle
identifier to be nil). These tests fail or time out when -bundleIdentifier is unconditionally swizzled
throughout the test run. To work around this bug for the time being, simply pretend that we have a bundle
identifier when running API tests on iOS, by swizzling-[NSBundle bundleIdentifier]to return a string at the
beginning of each API test.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/cocoa/TestWKWebView.mm: (overrideBundleIdentifier):
Move this to the top of the file, so it can be shared.
(+[WKWebView initialize]):
At the start of each test, force UIKit to cache a fake value for
_UIMainBundleIdentifier()by invoking an
internal class method that calls into the internal helper function, with no other side effects.
- TestWebKitAPI/ios/UIKitSPI.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256297 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:09 PM Changeset in webkit [256634] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, fix the iOS 13.1 build after r256520
These two methods are not in the internal iOS 13.1 SDK.
- Platform/spi/ios/UIKitSPI.h:
- 12:06 PM Changeset in webkit [256633] by
-
- 17 edits in trunk
[Win] Implement NetworkCache::Data by using FileSystem::MappedFileData
https://bugs.webkit.org/show_bug.cgi?id=197684
Reviewed by Fujii Hironori.
Source/WebKit:
- NetworkProcess/NetworkProcess.cpp:
Ensure that the CacheStorage directory is actually being created.
- NetworkProcess/cache/NetworkCacheData.cpp:
- NetworkProcess/cache/NetworkCacheData.h:
- NetworkProcess/cache/NetworkCacheDataCocoa.mm:
- NetworkProcess/cache/NetworkCacheDataSoup.cpp:
- NetworkProcess/cache/NetworkCacheFileSystem.cpp:
Use more FileSystem functionality to share code across platforms.
- NetworkProcess/cache/NetworkCacheDataCurl.cpp:
Use Optional<Vector> for m_buffer since we need to differentiate isEmpty and isNull.
Source/WTF:
- wtf/FileSystem.cpp:
- wtf/FileSystem.h:
Added FileAccessPermission flag when opening files.
Remove default argument for the listDirectory filter since the defaut
String() filter doesn't match all files on Mac and Windows.
- wtf/glib/FileSystemGlib.cpp:
- wtf/posix/FileSystemPOSIX.cpp:
Added (S_IRUSR | S_IWUSR) file open modes.
- wtf/win/FileSystemWin.cpp:
Implement getVolumeFreeSpace since some of the tests use it when toggling cache.
- wtf/win/PathWalker.cpp:
LayoutTests:
- platform/wincairo/TestExpectations:
- 11:53 AM Changeset in webkit [256632] by
-
- 26 edits in trunk
NetworkLoadMetrics should be shared by multiple ResourceResponse instances
https://bugs.webkit.org/show_bug.cgi?id=207747
Reviewed by Keith Miller.
Source/WebCore:
ResourceResponse is value data, and it is copied multiple times in various places, (1) to create a new ResourceResponse
which has slightly different fields, or (1) to hold ResourceResponse even after loading finishes. For example, DocumentLoader
has Vector<ResourceResponse> to replay response dispatching in the case of loading from BackForwardCache. The problem is
that ResourceResponse is very large: 440 bytes.
While we sometimes copy ResourceResponse to modify some part of it, NetworkLoadMetrics is immutable. It is set when response is created,
and is never changed. And NetworkLoadMetrics is large: sizeof(NetworkLoadMetrics) is 184 bytes. Given that we have multiple
copies of ResourceResponse in WebCore, we should share NetworkLoadMetrics by them.
This patch puts Box<NetworkLoadMetrics> in ResourceResponse to share it with all copied ResourceResponses. We do not make NetworkLoadMetrics
RefCounted<> for now since some legit data structures embed NetworkLoadMetrics. This patch adds ArgumentCoder for Box so that we
can encode / decode Box<NetworkLoadMetrics> in ResourceResponse in IPC. To ensure NetworkLoadMetrics in ResourceResponse immutable,
we add ResourceResponse::setDeprecatedNetworkLoadMetrics instead of modifying NetworkLoadMetrics already created in ResourceResponse.
We also attempt to compact ResourceResponse more by using bit-fields. And removing m_isValid field in ParsedContentRange since
this can be represented by the different field. These changes make sizeof(ResourceResponse) from 440 to 248.
No behavior change.
- inspector/agents/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::buildObjectForTiming):
(WebCore::InspectorNetworkAgent::buildObjectForResourceResponse):
- inspector/agents/InspectorNetworkAgent.h:
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::loadRequest):
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didFinishLoading):
- page/PerformanceTiming.cpp:
(WebCore::PerformanceTiming::domainLookupStart const):
(WebCore::PerformanceTiming::domainLookupEnd const):
(WebCore::PerformanceTiming::connectStart const):
(WebCore::PerformanceTiming::connectEnd const):
(WebCore::PerformanceTiming::secureConnectionStart const):
(WebCore::PerformanceTiming::requestStart const):
(WebCore::PerformanceTiming::responseStart const):
- platform/network/NetworkLoadMetrics.h:
- platform/network/ParsedContentRange.cpp:
(WebCore::areContentRangeValuesValid):
(WebCore::parseContentRange):
(WebCore::ParsedContentRange::ParsedContentRange):
(WebCore::ParsedContentRange::headerValue const):
- platform/network/ParsedContentRange.h:
(WebCore::ParsedContentRange::isValid const):
(WebCore::ParsedContentRange::invalidValue):
(WebCore::ParsedContentRange::MarkableTraits::isEmptyValue):
(WebCore::ParsedContentRange::MarkableTraits::emptyValue):
(WebCore::ParsedContentRange::ParsedContentRange): Deleted.
- platform/network/ResourceHandle.h:
- platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::ResourceResponseBase):
(WebCore::ResourceResponseBase::crossThreadData const):
(WebCore::ResourceResponseBase::fromCrossThreadData):
(WebCore::ResourceResponseBase::compare):
- platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::deprecatedNetworkLoadMetricsOrNull const):
(WebCore::ResourceResponseBase::setDeprecatedNetworkLoadMetrics):
(WebCore::ResourceResponseBase::encode const):
(WebCore::ResourceResponseBase::decode):
(WebCore::ResourceResponseBase::deprecatedNetworkLoadMetrics const): Deleted.
- platform/network/cf/ResourceResponse.h:
(WebCore::ResourceResponse::ResourceResponse):
- platform/network/cocoa/NetworkLoadMetrics.mm:
(WebCore::copyTimingData):
- platform/network/curl/CurlResourceHandleDelegate.cpp:
(WebCore::CurlResourceHandleDelegate::curlDidReceiveResponse):
- platform/network/curl/ResourceResponse.h:
- platform/network/curl/ResourceResponseCurl.cpp:
(WebCore::ResourceResponse::setDeprecatedNetworkLoadMetrics): Deleted.
- platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::getConnectionTimingData):
- platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
Source/WebKit:
Add ArgumentCoder support for Box<T>.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
- NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::dispatchDidReceiveResponse):
- Platform/IPC/ArgumentCoders.h:
(IPC::ArgumentCoder<Box<T>>::encode):
(IPC::ArgumentCoder<Box<T>>::decode):
Tools:
- TestWebKitAPI/Tests/WebCore/ParsedContentRange.cpp:
(TestWebKitAPI::TEST):
- 11:29 AM Changeset in webkit [256631] by
-
- 6 edits in trunk/Source/WebCore
Implementation of AXIsolatedObject::isDescendantOfObject.
https://bugs.webkit.org/show_bug.cgi?id=207697
Reviewed by Chris Fleizach.
- Moved the implementation of AccessibilityObject::isDescendantOfObject
and isAncestorOfObject to the base class AXCoreObject.
- Implemented AXIsolatedObject::hasChildren by caching the value from
the associated AXObject. It is used in isDescendantOfObject.
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isDescendantOfObject const): MOved to AXCoreObject.
(WebCore::AccessibilityObject::isAncestorOfObject const): Moved to AXCoreObject.
- accessibility/AccessibilityObject.h:
- accessibility/AccessibilityObjectInterface.h:
(WebCore::AXCoreObject::isDescendantOfObject const):
(WebCore::AXCoreObject::isAncestorOfObject const):
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeAttributeData): Sets the HasChildren attribute.
(WebCore::AXIsolatedObject::hasChildren const): Deleted.
(WebCore::AXIsolatedObject::isDescendantOfObject const): Deleted.
(WebCore::AXIsolatedObject::isAncestorOfObject const): Deleted.
- accessibility/isolatedtree/AXIsolatedObject.h:
- 11:22 AM Changeset in webkit [256630] by
-
- 6 edits in trunk/Source/WebCore
When updating a subtree of the IsolatedTree, first remove the entire subtree, not just the subtree root.
https://bugs.webkit.org/show_bug.cgi?id=207759
Reviewed by Chris Fleizach.
When updating an IsolatedTree subtree, we were removing just the root
of the subtree. Added AXIsolatedTree::removeSubtree that is now used in
updateIsolatedTree.
- accessibility/AXObjectCache.cpp:
(WebCore::createIsolatedTreeHierarchy): If the wrapper is attached
during creation, set it to null in the NodeChange so that it is not
re-attached on the AX thread.
(WebCore::AXObjectCache::updateIsolatedTree): removeSubtree instead of
removeNode.
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::~AXIsolatedObject): When an IsolatedObject
is destroyed, it must have been detached from its wrapper.
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::NodeChange::NodeChange): Constructors now
take an IsolatedObject instead of a Ref.
(WebCore::AXIsolatedTree::removeNode):
(WebCore::AXIsolatedTree::removeSubtree):
(WebCore::AXIsolatedTree::applyPendingChanges): Attach wrappers only if
not null. The IsolatedObject refCount must be 2 at that point.
- accessibility/isolatedtree/AXIsolatedTree.h:
- 11:09 AM Changeset in webkit [256629] by
-
- 4 edits in trunk
Allow UIDNAInfo.errors from uidna_nameToUnicode that would not cause URL parsing failures
https://bugs.webkit.org/show_bug.cgi?id=207360
<rdar://problem/57825317>
Patch by Alex Christensen <achristensen@webkit.org> on 2020-02-14
Reviewed by Ryosuke Niwa.
Source/WTF:
- wtf/URLHelpers.cpp:
(WTF::URLHelpers::mapHostName):
Tools:
- TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:
(TestWebKitAPI::TEST):
- 11:05 AM Changeset in webkit [256628] by
-
- 2 edits in trunk/LayoutTests
LayoutTests/imported/w3c:
[Web Animations] Style changes due to Web Animations should not trigger CSS Transitions
https://bugs.webkit.org/show_bug.cgi?id=207760
<rdar://problem/59458111>
Patch by Antoine Quint <graouts@webkit.org> on 2020-02-14
Reviewed by Simon Fraser.
Mark Web Platform Tests progressions.
- web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt:
- web-platform-tests/web-animations/interfaces/Animation/style-change-events-expected.txt:
- web-platform-tests/web-animations/interfaces/DocumentTimeline/style-change-events-expected.txt:
- web-platform-tests/web-animations/interfaces/KeyframeEffect/style-change-events-expected.txt:
Source/WebCore:
[Web Animations] Style changes due to Web Animations should not trigger CSS Transitions
https://bugs.webkit.org/show_bug.cgi?id=207760
<rdar://problem/59458111>
Patch by Antoine Quint <graouts@webkit.org> on 2020-02-14
Reviewed by Simon Fraser.
While we would consider the unanimated style of CSS Animations specifically when considering what the "start" style values (before-change style in spec terminology)
should be when considering whether to start a CSS Transition during style resolution, we would not consider other types of animations, specifically JS-created Web
Animations. However, Web Platform Tests specifically test whether changes made using the Web Animations API may trigger transitions, and until now they would because
the RenderStyle used to determine the before-change style was the style from the previous resolution, which would include animated values.
To fix this, we make it so that KeyframeEffect objects now keep a copy of the unanimated style used when blending animated values for the very first time. That style
is cleared each time keyframes change, which is rare, but may happen through the Web Animations API. Then in AnimationTimeline::updateCSSTransitionsForElementAndProperty(),
we look for a KeyframeEffect currently affecting the property for which we're considering starting a CSS Transition, and use its unanimated style.
If that unanimated style has not been set yet, this is because the KeyframeEffect has not had a chance to apply itself with a non-null progress. In this case, the before-change
and after-change styles should be the same in order to prevent a transition from being triggered as the unanimated style for this keyframe effect will most likely be this
after-change style, or any future style change that may happen before the keyframe effect starts blending animated values.
Finally, tracking the unanimated style at the KeyframeEffect level means we no longer to track it specifically for CSSAnimation.
- animation/AnimationTimeline.cpp:
(WebCore::keyframeEffectForElementAndProperty):
(WebCore::AnimationTimeline::updateCSSTransitionsForElementAndProperty):
- animation/AnimationTimeline.h:
- animation/CSSAnimation.cpp:
(WebCore::CSSAnimation::create):
(WebCore::CSSAnimation::CSSAnimation):
- animation/CSSAnimation.h:
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::animatesProperty const): Because the backing KeyframeList object may not have been created by the first time we query a KeyframeEffect during
CSS Transitions resolution, we provide a method that will check the values provided by the Web Animations API to determine whether it targets a given CSS property.
(WebCore::KeyframeEffect::clearBlendingKeyframes):
(WebCore::KeyframeEffect::computeDeclarativeAnimationBlendingKeyframes):
(WebCore::KeyframeEffect::computeCSSAnimationBlendingKeyframes):
(WebCore::KeyframeEffect::apply):
- animation/KeyframeEffect.h:
(WebCore::KeyframeEffect::unanimatedStyle const):
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::createAnimatedElementUpdate):
LayoutTests:
[ macOS wk2 ] webgpu/whlsl/dereference-pointer-should-type-check.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=207779
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 11:00 AM Changeset in webkit [256627] by
-
- 15 edits in trunk
[Web Animations] Style changes due to Web Animations should not trigger CSS Transitions
https://bugs.webkit.org/show_bug.cgi?id=207760
<rdar://problem/59458111>
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
Mark Web Platform Tests progressions.
- web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt:
- web-platform-tests/web-animations/interfaces/Animation/style-change-events-expected.txt:
- web-platform-tests/web-animations/interfaces/DocumentTimeline/style-change-events-expected.txt:
- web-platform-tests/web-animations/interfaces/KeyframeEffect/style-change-events-expected.txt:
Source/WebCore:
While we would consider the unanimated style of CSS Animations specifically when considering what the "start" style values (before-change style in spec terminology)
should be when considering whether to start a CSS Transition during style resolution, we would not consider other types of animations, specifically JS-created Web
Animations. However, Web Platform Tests specifically test whether changes made using the Web Animations API may trigger transitions, and until now they would because
the RenderStyle used to determine the before-change style was the style from the previous resolution, which would include animated values.
To fix this, we make it so that KeyframeEffect objects now keep a copy of the unanimated style used when blending animated values for the very first time. That style
is cleared each time keyframes change, which is rare, but may happen through the Web Animations API. Then in AnimationTimeline::updateCSSTransitionsForElementAndProperty(),
we look for a KeyframeEffect currently affecting the property for which we're considering starting a CSS Transition, and use its unanimated style.
If that unanimated style has not been set yet, this is because the KeyframeEffect has not had a chance to apply itself with a non-null progress. In this case, the before-change
and after-change styles should be the same in order to prevent a transition from being triggered as the unanimated style for this keyframe effect will most likely be this
after-change style, or any future style change that may happen before the keyframe effect starts blending animated values.
Finally, tracking the unanimated style at the KeyframeEffect level means we no longer to track it specifically for CSSAnimation.
- animation/AnimationTimeline.cpp:
(WebCore::keyframeEffectForElementAndProperty):
(WebCore::AnimationTimeline::updateCSSTransitionsForElementAndProperty):
- animation/AnimationTimeline.h:
- animation/CSSAnimation.cpp:
(WebCore::CSSAnimation::create):
(WebCore::CSSAnimation::CSSAnimation):
- animation/CSSAnimation.h:
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::animatesProperty const): Because the backing KeyframeList object may not have been created by the first time we query a KeyframeEffect during
CSS Transitions resolution, we provide a method that will check the values provided by the Web Animations API to determine whether it targets a given CSS property.
(WebCore::KeyframeEffect::clearBlendingKeyframes):
(WebCore::KeyframeEffect::computeDeclarativeAnimationBlendingKeyframes):
(WebCore::KeyframeEffect::computeCSSAnimationBlendingKeyframes):
(WebCore::KeyframeEffect::apply):
- animation/KeyframeEffect.h:
(WebCore::KeyframeEffect::unanimatedStyle const):
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::createAnimatedElementUpdate):
LayoutTests:
Mark that a couple of tests are no longer flaky.
- 10:54 AM Changeset in webkit [256626] by
-
- 2 edits in trunk/LayoutTests
[ macOS ] http/tests/media/now-playing-info.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=206699
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 10:47 AM Changeset in webkit [256625] by
-
- 2 edits in trunk/LayoutTests
LayoutTest fast/scrolling/scroll-container-horizontally.html frequently times out & fails
https://bugs.webkit.org/show_bug.cgi?id=158237
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 10:37 AM Changeset in webkit [256624] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] IndexedDB tests are flaky timing out.
https://bugs.webkit.org/show_bug.cgi?id=207778
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 10:29 AM Changeset in webkit [256623] by
-
- 4 edits2 adds in trunk
Ensure animations that lose their effect don't schedule an animation update
https://bugs.webkit.org/show_bug.cgi?id=207713
rdar://59174840
Patch by Sunny He <sunny_he@apple.com> on 2020-02-14
Reviewed by Antoine Quint.
Source/WebCore:
An active animation for which the effect is removed may be considered for
an upcoming animation resolution. However, WebAnimation::timeToNextTick()
expects a valid effect to be available to be able to determine timing.
We now check an animation is relevant before calling timeToNextTick() and
add an ASSERT() in that function to catch cases where an animation effect
might not be available.
Source/WebCore:
Test: webanimations/animation-null-effect.html
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::scheduleNextTick):
- animation/WebAnimation.cpp:
(WebCore::WebAnimation::timeToNextTick const):
LayoutTests:
- webanimations/animation-null-effect-expected.txt: Added.
- webanimations/animation-null-effect.html: Added.
- 10:23 AM Changeset in webkit [256622] by
-
- 2 edits in trunk/LayoutTests
[EME][GStreamer] REGRESSION(r256429): Several encrypted-media tests are crashing or failing
https://bugs.webkit.org/show_bug.cgi?id=207741
Skip WPT encrypted-media tests, in-line with the expectations of
the GTK port until they have been properly triaged.
Unreviewed gardening.
- platform/wpe/TestExpectations: Skip all WPT encrypted-media
tests. They behave in incompliant ways and need time for correct
triage.
- 10:08 AM Changeset in webkit [256621] by
-
- 27 edits in trunk/Source/WebCore
IndexedDB: prefetch cursor records on client side
https://bugs.webkit.org/show_bug.cgi?id=207602
<rdar://problem/58483927>
Reviewed by Brady Eidson.
Cache cursor records on client side and use those records for iterate operations.
This makes cursor continue/advance tests in PerformanceTests/IndexedDB/basics ~3x faster.
- Headers.cmake:
- Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::setGetResult): Record the ID of TransactionOperation that updates cached record.
(WebCore::IDBCursor::iterateWithPrefetchedRecords): IDBCursor uses cached records for iterate opertaions if
there is no write operation between last cached records update and current iteration operation.
(WebCore::IDBCursor::clearPrefetchedRecords):
- Modules/indexeddb/IDBCursor.h:
- Modules/indexeddb/IDBGetResult.cpp:
(WebCore::IDBGetResult::isolatedCopy):
- Modules/indexeddb/IDBGetResult.h:
(WebCore::IDBGetResult::IDBGetResult):
(WebCore::IDBGetResult::prefetchedRecords const):
(WebCore::IDBGetResult::encode const):
(WebCore::IDBGetResult::decode):
- Modules/indexeddb/IDBRequest.cpp: Record corresponding TransactionOperation ID in request.
(WebCore::IDBRequest::didOpenOrIterateCursor):
- Modules/indexeddb/IDBRequest.h:
(WebCore::IDBRequest::pendingCursor const):
(WebCore::IDBRequest::setTransactionOperationID):
- Modules/indexeddb/IDBTransaction.cpp: If a cursor iterate request can be handled with cached records,
IDBClient does not need to send request to IDBServer and wait for response. But requests before that iterate
request may need to wait server to answer, and spec requires to handle requests in order. Therefore, we now keep
all the results in m_transactionOperationResultMap and handle them according to the ordering in
m_transactionOperationsInProgressQueue.
(WebCore::IDBTransaction::abortInProgressOperations):
(WebCore::IDBTransaction::removeRequest): Because result of a cursor request can be answered sooner, it is
possible that in finishedDispatchEventForRequest, m_currentlyCompletingRequest (which is a cursor request) is
set to nullptr, and then it is set back to the same cursor request in handleOperationsCompletedOnServer right
after. This happens in dispatchEvent of the cursor request, where request would remove itself from request list
of transaction at the end.
In this case, when request list becomes empty, transaction may commit automatically. But transaction should not
because that request is still valid as m_currentlyCompletingRequest and should not be removed from list.
(WebCore::IDBTransaction::scheduleOperation):
(WebCore::IDBTransaction::operationCompletedOnServer):
(WebCore::IDBTransaction::handleOperationsCompletedOnServer): All requests were sent to IDBServer and the
response/result ordering would naturally be the same as request order. Now that results can be created in both
IDBClient and IDBServer, we no longer handle requests using m_completedOnServerQueue.
(WebCore::IDBTransaction::createObjectStore): Mark as write operation to track last write operation.
(WebCore::IDBTransaction::renameObjectStore): Ditto.
(WebCore::IDBTransaction::createIndex): Ditto.
(WebCore::IDBTransaction::renameIndex): Ditto.
(WebCore::IDBTransaction::requestDeleteRecord): Ditto.
(WebCore::IDBTransaction::requestClearObjectStore): Ditto.
(WebCore::IDBTransaction::requestPutOrAdd): Ditto.
(WebCore::IDBTransaction::deleteObjectStore): Ditto.
(WebCore::IDBTransaction::deleteIndex): Ditto.
(WebCore::IDBTransaction::iterateCursorOnServer): Only use cached records if the request does not specify target
key. If cursor is iterated successfully with cache, send a message to IDBServer to notify about the progress.
Otherwise, fall back to depend on IDBServer to answer the request.
(WebCore::IDBTransaction::generateOperationID): TransactionOperation ID is unique in a transaction.
- Modules/indexeddb/IDBTransaction.h:
- Modules/indexeddb/IndexedDB.h:
- Modules/indexeddb/client/IDBConnectionProxy.cpp:
(WebCore::IDBClient::IDBConnectionProxy::iterateCursor): Don't track result of TransactionOperation in
IDBConnectionProxy if TransactionOperation does not need a reply from IDBServer.
- Modules/indexeddb/client/TransactionOperation.cpp:
(WebCore::IDBClient::TransactionOperation::TransactionOperation):
- Modules/indexeddb/client/TransactionOperation.h: Add ID to TransactionOperation.
(WebCore::IDBClient::TransactionOperation::operationID const):
(WebCore::IDBClient::TransactionOperation::TransactionOperation):
- Modules/indexeddb/server/IDBBackingStore.h: remove prefetchCursor as it is not used now.
- Modules/indexeddb/server/MemoryIDBBackingStore.h: Ditto. Also this patch only deals with prefetching in
persistent store.
- Modules/indexeddb/server/MemoryIDBBackingStore.h:
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::createIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::getAllIndexRecords):
(WebCore::IDBServer::SQLiteIDBBackingStore::getIndexRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::iterateCursor): Only prefetch at when request needs to be answered.
(WebCore::IDBServer::SQLiteIDBBackingStore::prefetchCursor): Deleted.
- Modules/indexeddb/server/SQLiteIDBBackingStore.h:
- Modules/indexeddb/server/SQLiteIDBCursor.cpp:
(WebCore::IDBServer::SQLiteIDBCursor::currentData): Provide an option to include prefetched records in result.
(WebCore::IDBServer::SQLiteIDBCursor::objectStoreRecordsChanged): Reset count to prefetch when there is a
change. This is used with increaseCountToPrefetch to make prefetch adaptive.
(WebCore::IDBServer::SQLiteIDBCursor::objectStoreRecordsChanged):
(WebCore::IDBServer::SQLiteIDBCursor::prefetchOneRecord):
(WebCore::IDBServer::SQLiteIDBCursor::increaseCountToPrefetch):
(WebCore::IDBServer::SQLiteIDBCursor::prefetch): Count to prefetch is decided by SQLiteCursor now.
(WebCore::IDBServer::SQLiteIDBCursor::internalFetchNextRecord):
(WebCore::IDBServer::SQLiteIDBCursor::currentValue const):
- Modules/indexeddb/server/SQLiteIDBCursor.h:
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::iterateCursor): Move call to prefetch cursor to SQLiteIDBBackingStore.
(WebCore::IDBServer::UniqueIDBDatabase::prefetchCursor): Deleted.
- Modules/indexeddb/server/UniqueIDBDatabase.h:
- Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::iterateCursor):
- Modules/indexeddb/shared/IDBCursorRecord.h: Stop using pointer for IDBValue for easier encoding and decoding.
(WebCore::IDBCursorRecord::size const):
(WebCore::IDBCursorRecord::isolatedCopy const):
- Modules/indexeddb/shared/IDBIterateCursorData.cpp:
(WebCore::IDBIterateCursorData::isolatedCopy const):
- Modules/indexeddb/shared/IDBIterateCursorData.h: Add an option to let IDBServer know whether it should answer
the cursor request.
(WebCore::IDBIterateCursorData::encode const):
(WebCore::IDBIterateCursorData::decode):
- WebCore.xcodeproj/project.pbxproj:
- 10:05 AM Changeset in webkit [256620] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer][EME] Fix warnings in LOG_DISABLED build
https://bugs.webkit.org/show_bug.cgi?id=207691
Unreviewed build fix.
- platform/graphics/gstreamer/eme/CDMProxyClearKey.cpp: It would
be nice if the LOG macros could arrange for the VA_ARGS to be
UNUSED_VARIABLE's. Not sure if that is possible, so be ugly with
the ifdef's instead.
(WebCore::CDMProxyClearKey::cencSetCounterVector):
(WebCore::CDMProxyClearKey::cencSetDecryptionKey):
(WebCore::CDMProxyClearKey::cencDecryptFullSample):
- 9:52 AM Changeset in webkit [256619] by
-
- 18 edits in trunk
[Web Animations] Ensure CSS Transition and CSS Animation events are queued, sorted and dispatched by their timeline
https://bugs.webkit.org/show_bug.cgi?id=207364
<rdar://problem/59370413>
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
There are some progressions but also some "regressions". The progressions are real, showing the delivery of all animation events at the correct
time. However, the regressions are misleading. The fact that the "style change" tests would work was due to a design issue in the test which would
only wait one frame to detect whether a CSS Transition was started after a change made through the Web Animations API. These would work because
events were queued in the next frame, but delivered later due to the dedicated per-animation queue used, which meant the test was fooled into
thinking the CSS Transition did not start, as expected. Changing those test to use more than one frame to test for the lack of a CSS Transition
would have shown the FAIL results.
However, in order to not regress our WPT score, the issue of "style change" events will be addressed in a follow-up patch.
- web-platform-tests/css/css-transitions/CSSTransition-startTime.tentative-expected.txt:
- web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt:
- web-platform-tests/web-animations/interfaces/Animation/style-change-events-expected.txt:
- web-platform-tests/web-animations/interfaces/KeyframeEffect/style-change-events-expected.txt:
- web-platform-tests/web-animations/timing-model/timelines/update-and-send-events-expected.txt:
Source/WebCore:
Until now, AnimationPlaybackEvent events, which are new events introduced by the Web Animations spec, were enqueued in a shared queue on the DocumentTimeline
and dispatched during the "update animations and send events" procedure. However, AnimationEvent and TransitionEvent events, dispatched by CSS Animations
and CSS Transitions, were dispatched via a dedicated per-animation queue, which meant typically that those events were dispathed one runloop after the
AnimationPlaybackEvent events.
We now remove the dedicated per-animation queue and enqueue all events in the shared DocumentTimeline queue for dispatch during the "update animations and send
events" procedure. To do this correctly, we need to do a couple of other things that ensure we don't regress tests.
First, we update the DocumentTimeline::shouldRunUpdateAnimationsAndSendEventsIgnoringSuspensionState() to account for whether there are pending animation events,
guaranteeing that an animation update is scheduled should there be any.
Second, when animation events are enqueued in DocumentTimeline::enqueueAnimationEvent() we schedule an animation update if needed, since we know we now
have pending events that will need to be delivered in an upcoming update. We also maintain a flag between the start of the "update animations and send events"
procedure and the moment when the pending animation events queue is cleared prior to dispatching events so that events enqueued in the meantime do not
prematurely schedule animation resolution. The need for a new animation resolution will be checked at the end of the procedure.
Finally, declarative animations used to have a special suclass of WebAnimation::needsTick() that would check whether they had any pending events, ensuring
they would not be removed prematurely. We now reset a flag to false as WebAnimation::tick() is called (as part of the "update animations and send events"
procedure) and set it to true in case an animation is enqueued. This flag is then used in needsTick() to guarantee the animation is not removed before
the DocumentTimeline has had a chance to dispatch the enqueued event.
Note also that, for clarity, the DocumentTimeline::unscheduleAnimationResolution() was renamed to DocumentTimeline::clearTickScheduleTimer() since it wouldn't
actually cancel a previous animation resolution schedule.
- animation/CSSTransition.h: Fix a newly found build error due to the missing wtf/MonotonicTime.h header.
- animation/DeclarativeAnimation.cpp: Remove all code related to the dedicated per-animation queue and instead call the new WebAnimation::enqueueAnimationEvent()
method to enqueue events on the DocumentTimeline.
(WebCore::DeclarativeAnimation::DeclarativeAnimation):
(WebCore::DeclarativeAnimation::tick):
(WebCore::DeclarativeAnimation::enqueueDOMEvent):
- animation/DeclarativeAnimation.h:
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::detachFromDocument): Ensure the pending events queue is cleared when the timeline is detached from a document, ensuring that there no
longer events that would cause a ref-cycle (DocumentTimeline -> AnimationPlaybackEvent -> WebAnimation -> DocumentTimeline).
(WebCore::DocumentTimeline::suspendAnimations):
(WebCore::DocumentTimeline::removeAnimation):
(WebCore::DocumentTimeline::scheduleAnimationResolution):
(WebCore::DocumentTimeline::clearTickScheduleTimer):
(WebCore::DocumentTimeline::shouldRunUpdateAnimationsAndSendEventsIgnoringSuspensionState const):
(WebCore::DocumentTimeline::updateCurrentTime):
(WebCore::DocumentTimeline::updateAnimationsAndSendEvents):
(WebCore::DocumentTimeline::internalUpdateAnimationsAndSendEvents):
(WebCore::DocumentTimeline::scheduleNextTick):
(WebCore::DocumentTimeline::animationAcceleratedRunningStateDidChange):
(WebCore::DocumentTimeline::enqueueAnimationEvent):
- animation/DocumentTimeline.h:
- animation/WebAnimation.cpp:
(WebCore::WebAnimation::enqueueAnimationPlaybackEvent):
(WebCore::WebAnimation::enqueueAnimationEvent):
(WebCore::WebAnimation::needsTick const):
(WebCore::WebAnimation::tick):
- animation/WebAnimation.h:
LayoutTests:
Fix a couple of tests that made some incorrect assumptions.
- TestExpectations: imported/w3c/web-platform-tests/web-animations/timing-model/timelines/update-and-send-events.html is no longer flaky.
- compositing/backing/animate-into-view.html: Because the "animationstart" event is now dispatched during the "update animations and send events" procedure, which happens
during page rendering _before_ rAF callbacks are serviced, we must remove the rAF callback used prior to adding the "animationstart" event listener or else we would never
get it and the test would time out.
- webanimations/css-transition-in-flight-reversal-accelerated.html: We must wait for the initial transition to start and then two frames before reversing the transition,
to be certain that the animation did start. Indeed, the "transitionstart" event will be fired right before the next rAF callback is called, as the animation starts in that
very same frame, and so progress will be 0 and the transition wouldn't be reversable until the next frame when the animation has progress > 0.
- 9:49 AM Changeset in webkit [256618] by
-
- 2 edits in trunk/LayoutTests
N[ iOS ] imported/w3c/IndexedDB-private-browsing/idbcursor_advance_index3.html is flaky timing out
https://bugs.webkit.org/show_bug.cgi?id=207776
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 9:39 AM Changeset in webkit [256617] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] imported/w3c/IndexedDB-private-browsing/cursor-overloads.html is flaky timing out
https://bugs.webkit.org/show_bug.cgi?id=207775
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 9:22 AM Changeset in webkit [256616] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] http/wpt/service-workers/third-party-cookie.html is flaky timing out
https://bugs.webkit.org/show_bug.cgi?id=207774
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 9:06 AM Changeset in webkit [256615] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] http/wpt/service-workers/persistent-importScripts.html is flaky timing out
https://bugs.webkit.org/show_bug.cgi?id=207771
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 8:52 AM Changeset in webkit [256614] by
-
- 3 edits in trunk/LayoutTests
[ iOS ] http/tests/security/strip-referrer-to-origin-for-third-party-redirects-in-private-mode.html is flaky timing out
https://bugs.webkit.org/show_bug.cgi?id=207647
Updating expectations
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 8:44 AM Changeset in webkit [256613] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] http/tests/cache/disk-cache/disk-cache-vary-cookie.html is flaky timing out
https://bugs.webkit.org/show_bug.cgi?id=207770
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 8:43 AM Changeset in webkit [256612] by
-
- 3 edits in trunk/Source/WebKit
[WPE] WPEQtView.h includes the uninstalled WPEQtViewBackend.h
https://bugs.webkit.org/show_bug.cgi?id=207765
Reviewed by Philippe Normand.
Do a forward declaration instead of including the header.
- UIProcess/API/wpe/qt/WPEQtView.cpp:
- UIProcess/API/wpe/qt/WPEQtView.h:
- 8:35 AM Changeset in webkit [256611] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] crypto/subtle/rsa-indexeddb-non-exportable.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=207769
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 8:34 AM Changeset in webkit [256610] by
-
- 17 edits2 copies in trunk/Source/WebCore
[Web Animations] Make all animation event types inherit from the same base class
https://bugs.webkit.org/show_bug.cgi?id=207629
Reviewed by Simon Fraser.
Currently we dispatch events CSS Transitions and CSS Animations events using a dedicated event queue on DeclarativeAnimation, while the events
added by the Web Animations specification (of type AnimationPlaybackEvent) are dispatched using a shared queue on the DocumentTimeline that is
processed during the "update animations and send events procedure". The Web Animations specification dictates that all events should be dispatched
during that procedure, which includes sorting of such events based on their timeline time and associated animation relative composite order.
In this patch, we prepare the work towards spec compliance for animation events dispatch by making all event types (AnimationPlaybackEvent,
TransitionEvent and AnimationEvent) inherit from a single AnimationEventBase interface. This will allow DocumentTimeline to enqueue, sort and
dispatch all such events with a single queue in a future patch.
Due to CSSAnimationController, we must make the "timeline time" and "animation" parameters optional. When we drop support for CSSAnimationController
we'll be able to enforce stronger requirements for these.
No new test since this should not introduce any behavior change.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- animation/AnimationEventBase.cpp: Added.
(WebCore::AnimationEventBase::AnimationEventBase):
- animation/AnimationEventBase.h: Added.
(WebCore::AnimationEventBase::create):
(WebCore::AnimationEventBase::isAnimationPlaybackEvent const):
(WebCore::AnimationEventBase::isAnimationEvent const):
(WebCore::AnimationEventBase::isTransitionEvent const):
(WebCore::AnimationEventBase::timelineTime const):
(WebCore::AnimationEventBase::animation const):
- animation/AnimationPlaybackEvent.cpp:
(WebCore::AnimationPlaybackEvent::AnimationPlaybackEvent):
(WebCore::AnimationPlaybackEvent::bindingsTimelineTime const):
- animation/AnimationPlaybackEvent.h:
- animation/CSSAnimation.cpp:
(WebCore::CSSAnimation::createEvent):
- animation/CSSAnimation.h:
- animation/CSSTransition.cpp:
(WebCore::CSSTransition::createEvent):
- animation/CSSTransition.h:
- animation/DeclarativeAnimation.cpp:
(WebCore::DeclarativeAnimation::enqueueDOMEvent):
- animation/DeclarativeAnimation.h:
- animation/WebAnimation.cpp:
(WebCore::WebAnimation::enqueueAnimationPlaybackEvent):
- dom/AnimationEvent.cpp:
(WebCore::AnimationEvent::AnimationEvent):
- dom/AnimationEvent.h:
- dom/TransitionEvent.cpp:
(WebCore::TransitionEvent::TransitionEvent):
- dom/TransitionEvent.h:
- page/animation/CSSAnimationController.cpp:
(WebCore::CSSAnimationControllerPrivate::fireEventsAndUpdateStyle):
- 8:28 AM Changeset in webkit [256609] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r253312): imported/w3c/web-platform-tests/content-security-policy/reporting/report-same-origin-with-cookies.html is super flaky
https://bugs.webkit.org/show_bug.cgi?id=205216
Correcting typo.
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 8:22 AM Changeset in webkit [256608] by
-
- 2 edits in trunk/LayoutTests
[GTK] Gardening more debug timeouts
https://bugs.webkit.org/show_bug.cgi?id=207764
From debug bot build 5916.
Unreviewed test gardening.
Patch by Lauro Moura <Lauro Moura> on 2020-02-14
- platform/gtk/TestExpectations:
- 8:20 AM Changeset in webkit [256607] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] http/wpt/service-workers/useragent.https.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=207768
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 8:18 AM Changeset in webkit [256606] by
-
- 2 edits in trunk/LayoutTests
[ WK2 ] Layout Test http/wpt/service-workers/update-service-worker.https.html is a flaky Timeout
https://bugs.webkit.org/show_bug.cgi?id=187766
Set expectations to include failing.
Unreviewed test gardening.
- platform/wk2/TestExpectations:
- 8:01 AM Changeset in webkit [256605] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] http/wpt/service-workers/online.https.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=207767
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 7:54 AM Changeset in webkit [256604] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] http/wpt/service-workers/header-filtering.https.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=207766
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 7:27 AM Changeset in webkit [256603] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] http/wpt/service-workers/file-upload.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=207763
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 7:20 AM Changeset in webkit [256602] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] http/wpt/service-workers/check-service-worker-header.https.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=207762
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 6:42 AM Changeset in webkit [256601] by
-
- 6 edits in trunk
[CMake] Add Fontconfig::Fontconfig target
https://bugs.webkit.org/show_bug.cgi?id=207730
Reviewed by Adrian Perez de Castro.
.:
Redo the Fontconfig find module to export a target.
- Source/cmake/FindFontconfig.cmake:
Source/WebCore:
Use the Fontconfig::Fontconfig target.
- platform/FreeType.cmake:
Tools:
Use the Fontconfig::Fontconfig target.
- WebKitTestRunner/PlatformGTK.cmake:
- 5:27 AM Changeset in webkit [256600] by
-
- 1 copy in releases/WPE WebKit/webkit-2.26.4
WPE WebKit 2.26.4
- 5:26 AM Changeset in webkit [256599] by
-
- 4 edits in releases/WebKitGTK/webkit-2.26
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.26.4 release
.:
- Source/cmake/OptionsWPE.cmake: Bump version numbers.
Source/WebKit:
- wpe/NEWS: Add release notes for 2.26.4.
- 2:08 AM Changeset in webkit [256598] by
-
- 1 copy in releases/WebKitGTK/webkit-2.26.4
WebKitGTK 2.26.4
- 2:07 AM Changeset in webkit [256597] by
-
- 4 edits in releases/WebKitGTK/webkit-2.26
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.26.4 release
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit:
- gtk/NEWS: Add release notes for 2.26.4.
- 1:40 AM Changeset in webkit [256596] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.26
Merge r254301 - REGRESSION (r253662): Large Data URLs are not being handled properly
https://bugs.webkit.org/show_bug.cgi?id=205979
<rdar://problem/58346124>
Reviewed by Youenn Fablet.
Source/WebCore:
The URL size limitation added in r253662 was too low. We should bump it to handle
reasonable data URI sizes.
Test: fast/url/data-url-large.html.
- page/SecurityOrigin.cpp:
LayoutTests:
- fast/url/data-url-large-expected.txt: Added.
- fast/url/data-url-large.html: Added.
- 1:40 AM Changeset in webkit [256595] by
-
- 2 edits in releases/WebKitGTK/webkit-2.26/Source/WebCore
Merge r253662 - Limit URL to reasonable size
https://bugs.webkit.org/show_bug.cgi?id=203825
<rdar://problem/56878680>
Reviewed by Ryosuke Niwa.
- page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canDisplay const): Place an upper bound on the amount of
memory a URL may consume.
- 1:40 AM Changeset in webkit [256594] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.26
Merge r254220 - Fix specification violation in Font Loading API
https://bugs.webkit.org/show_bug.cgi?id=205901
<rdar://problem/58083743>
Reviewed by Brent Fulgham.
Source/WebCore:
Our Font Loading API does not comply with the spec:
If the parsed value is a CSS-wide keyword, return a syntax error.
Rather than crashing, we should return a syntax error.
Test: fast/text/font-loading-global-keyword.html
- css/CSSFontFaceSet.cpp:
(WebCore::computeFontSelectionRequest):
(WebCore::CSSFontFaceSet::matchingFacesExcludingPreinstalledFonts):
LayoutTests:
Test all the entry points to the CSS Font Loading API that accept CSS keywords.
- fast/text/font-loading-global-keyword-expected.txt: Added.
- fast/text/font-loading-global-keyword.html: Added.
- 1:40 AM Changeset in webkit [256593] by
-
- 4 edits in releases/WebKitGTK/webkit-2.26/Source/WebCore
Merge r253654 - executeIfJavaScriptURL should check requester's security origin
https://bugs.webkit.org/show_bug.cgi?id=205324
Reviewed by Brent Fulgham.
Don't execute the JavaScript in ScriptController::executeIfJavaScriptURL if the security origin
of the current document is no longer accessible from the request originator's security origin.
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::executeIfJavaScriptURL): Added a check.
- bindings/js/ScriptController.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::urlSelected): Pass around the security origin of the requester.
(WebCore::FrameLoader::submitForm):
- 1:40 AM Changeset in webkit [256592] by
-
- 6 edits4 adds in releases/WebKitGTK/webkit-2.26
Merge r253563 - Consider top-level context whose origin is unique as insecure
https://bugs.webkit.org/show_bug.cgi?id=205111
Source/WebCore:
Reviewed by Brent Fulgham.
Tests: http/tests/security/top-level-unique-origin.https.html
http/tests/security/top-level-unique-origin2.https.html
- dom/Document.cpp:
(WebCore::Document::isSecureContext const):
There is no guarantee that top level unique origin contexts like data URL are SecureContext.
This patch makes them no longer SecureContext.
This helps getting closer to https://w3c.github.io/webappsec-secure-contexts/#is-url-trustworthy
which identifies all unique origins as "Not Trustworthy".
Child unique origin contexts will stay SecureContext if their parents are.
Tools:
<rdar://problem/57834967>
Reviewed by Brent Fulgham.
- TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm:
(TEST):
Disable secure context checks so that loading directly about:blank from the API test
can call DeviceOrientationEvent.requestPermission() successfully.
LayoutTests:
Reviewed by Brent Fulgham.
- http/tests/security/top-level-unique-origin.https-expected.txt: Added.
- http/tests/security/top-level-unique-origin.https.html: Added.
- http/tests/security/top-level-unique-origin2.https-expected.txt: Added.
- http/tests/security/top-level-unique-origin2.https.html: Added.
- platform/win/TestExpectations: Skipping second test as timing out in windows.
- 1:40 AM Changeset in webkit [256591] by
-
- 4 edits2 adds in releases/WebKitGTK/webkit-2.26
Merge r253544 - SecurityOrigin should be unique for null blob URLs that have been unregistered
https://bugs.webkit.org/show_bug.cgi?id=205169
Reviewed by Darin Adler.
Source/WebCore:
In case we cannot retrieve a cached origin for a null origin, just create a unique one.
This is better than having an origin with an empty host and empty scheme.
Test: http/tests/security/blob-null-url-location-origin.html
- fileapi/ThreadableBlobRegistry.cpp:
(WebCore::ThreadableBlobRegistry::unregisterBlobURL):
(WebCore::ThreadableBlobRegistry::getCachedOrigin):
LayoutTests:
- http/tests/security/blob-null-url-location-origin-expected.txt: Added.
- http/tests/security/blob-null-url-location-origin.html: Added.
- platform/win/TestExpectations: Skipping test as timing out in windows.
- 1:39 AM Changeset in webkit [256590] by
-
- 3 edits in releases/WebKitGTK/webkit-2.26/Source/ThirdParty/ANGLE
Merge r256491 - Multiple GCC 10 build failures in ANGLE
https://bugs.webkit.org/show_bug.cgi?id=207365
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-02-12
Reviewed by Carlos Alberto Lopez Perez.
- changes.diff: Updated.
- include/platform/Platform.h: Add missing #include to get size_t.
- src/common/PackedEnums.h: Remove problematic const_casts.
- 1:39 AM Changeset in webkit [256589] by
-
- 2 edits in releases/WebKitGTK/webkit-2.26/Source/WebKit
Merge r255865 - [GTK][WPE] Add more fontconfig paths into the sandbox
https://bugs.webkit.org/show_bug.cgi?id=207293
Reviewed by Michael Catanzaro.
These paths were reported to be used on Debian.
- UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::bindFonts):
- 1:39 AM Changeset in webkit [256588] by
-
- 2 edits in releases/WebKitGTK/webkit-2.26/Source/WebCore
Merge r255824 - [GTK] Cannot perform most local loads with sandbox enabled
https://bugs.webkit.org/show_bug.cgi?id=202071
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-02-05
Reviewed by Carlos Garcia Campos.
SecurityOrigin::canDisplay is improperly checking whether the target file URL points to a
file on the same "volume" (mount point) as the source file. That can't happen here because
this code is running in the web process, but only the network process has access to the
unsandboxed filesystem. This code can only check whether the target file exists within the
sandbox's mount namespace, but that's not what we want to do because we're not going to load
that file, we're going to ask the network process to load the file with the same path
outside the mount namespace.
We can probably live without this check. But if bringing it back is desired, it has to be
done someplace totally different, in network process code rather than web process code.
- page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canDisplay const):
- 1:39 AM Changeset in webkit [256587] by
-
- 2 edits in releases/WebKitGTK/webkit-2.26/Source/WebKit
Merge r250077 - [GTK] Compilation errors when GL is disabled
https://bugs.webkit.org/show_bug.cgi?id=200223
Fix following compilation error when building with ENABLE_OPENGL=OFF
../../Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp:123:51: error: use of undeclared identifier 'WaylandCompositor'
parameters.waylandCompositorDisplayName = WaylandCompositor::singleton().displayName();
Patch by Yury Semikhatsky <yurys@chromium.org> on 2019-09-18
Reviewed by Philippe Normand.
- UIProcess/glib/WebProcessPoolGLib.cpp:
(WebKit::WebProcessPool::platformInitializeWebProcess): only make a call when using EGL, this matches
guards in WaylandCompositor.h. The condition was changed in r245807.
- 12:40 AM Changeset in webkit [256586] by
-
- 2 edits in trunk/LayoutTests
[WPE] Gardening, several encrypted-media tests are failing or crashing
https://bugs.webkit.org/show_bug.cgi?id=207742
Unreviewed gardening.
- platform/wpe/TestExpectations: