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

Timeline



Nov 27, 2019:

9:22 PM Changeset in webkit [252916] by Alan Bujtas
  • 2 edits in trunk/Tools

[LFC] Unreviewed test gardening.

  • LayoutReloaded/misc/LFC-passing-tests.txt: These tests were passing accidentally.
6:34 PM Changeset in webkit [252915] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Generate fewer InlineItems when new lines are not preserved
https://bugs.webkit.org/show_bug.cgi?id=204653
<rdar://problem/57510133>

Reviewed by Antti Koivisto.

This patch reduces the number of InlineItems by merging (non-preserved)new lines with neighboring whitespace characters.
[text\n\n text] -> [text][ ][text]

  • layout/inlineformatting/InlineTextItem.cpp:

(WebCore::Layout::isWhitespaceCharacter):
(WebCore::Layout::moveToNextNonWhitespacePosition):
(WebCore::Layout::InlineTextItem::createAndAppendTextItems):

3:26 PM Changeset in webkit [252914] by Jonathan Bedard
  • 2 edits in trunk/LayoutTests

[WebGL] Garden dedicated queue (Part 8)
https://bugs.webkit.org/show_bug.cgi?id=204547

Unreviewed test gardening.

  • webgl/TestExpectations:
3:07 PM Changeset in webkit [252913] by Manuel Rego Casasnovas
  • 3 edits in trunk/Source/WebCore

Using char* instead of String for StyleProperties::getShorthandValue()
https://bugs.webkit.org/show_bug.cgi?id=204644

Reviewed by Darin Adler.

This is follow-up patch for r252901. We don't need to create a String object
just for the separator and can use char* instead.
This was suggested by Darin Adler in webkit.org/b/204508.

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getShorthandValue const):

  • css/StyleProperties.h:
1:41 PM Changeset in webkit [252912] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

[LFC] Run layout on the root when InvalidationState is empty.
https://bugs.webkit.org/show_bug.cgi?id=204651
<rdar://problem/57509616>

Reviewed by Antti Koivisto.

InvalidationState captures style/tree mutation related changes. An empty InvalidationState indicates that the horizontal constraint changed
and we need to initiate a layout on the ICB (and the layout logic will propagate the damage down on the tree).

  • layout/LayoutContext.cpp:

(WebCore::Layout::LayoutContext::layout):

  • layout/RenderBlockFlowLineLayout.cpp:

(WebCore::Layout::RenderBlockFlowLineLayout::layout):

  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::printLayoutTreeForLiveDocuments):

  • page/FrameViewLayoutContext.cpp:

(WebCore::FrameViewLayoutContext::layoutUsingFormattingContext):

11:38 AM Changeset in webkit [252911] by graouts@webkit.org
  • 15 edits
    1 delete in trunk

REGRESSION(r252455): imported/w3c/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html fails on iOS and WK1
https://bugs.webkit.org/show_bug.cgi?id=204272
<rdar://problem/57253742>

Reviewed by Dean Jackson.

Source/WebCore:

Events for declarative animations are dispatched using a MainThreadGenericEventQueue which dispatches enqueued events asynchronously. When a declarative
animation would be canceled, AnimationTimeline::cancelDeclarativeAnimation() would be called and would enqueue a "transitioncancel" or "animationcancel"
event (depending on the animation type) by virtue of calling DeclarativeAnimation::cancelFromStyle(), and would also call AnimationTimeline::removeAnimation()
right after. However, calling AnimationTimeline::removeAnimation() could have the side effect of removing the last reference to the DeclarativeAnimation
object, which would destroy its attached MainThreadGenericEventQueue before it had the time to dispatch the queued "transitioncancel" or "animationcancel"
event.

The call to AnimationTimeline::removeAnimation() in AnimationTimeline::cancelDeclarativeAnimation() is actually unnecessary. Simply canceling the animation
via DeclarativeAnimation::cancelFromStyle() will end up calling AnimationTimeline::removeAnimation() the next time animations are updated, which will leave
time for the cancel events to be dispatched. So all we need to do is remove AnimationTimeline::cancelDeclarativeAnimation() and replace its call sites with
simple calls to DeclarativeAnimation::cancelFromStyle().

Making this change broke a test however: imported/w3c/web-platform-tests/css/css-animations/Document-getAnimations.tentative.html. We actually passed that
test by chance without implementing the feature required to make it work. We now implement the correct way to track a global position for an animation by
only setting one for declarative animations once they are disassociated with their owning element and have a non-idle play state.

And a few other tests broke: animations/animation-shorthand-name-order.html, imported/w3c/web-platform-tests/css/css-animations/animationevent-types.html
and webanimations/css-animations.html. The reason for those tests being broken was that not calling AnimationTimeline::removeAnimation() instantly as CSS
Animations were canceled also meant that the KeyframeEffectStack for the targeted element wasn't updated. To solve this, we added the animationTimingDidChange()
method on KeyframeEffect which is called whenever timing on the owning Animation changes, so for instance when cancel() is called as we cancel a CSS
Animation. That way we ensure we add and remove KeyframeEffect instances from the KeyframeEffectStack as the animation becomes relevant, which is now
an added condition checked by KeyframeEffectStack::addEffect().

Finally, this revealed an issue in KeyframeEffectStack::ensureEffectsAreSorted() where we would consider CSSTransition and CSSAnimation objects to be
representative of a CSS Transition or CSS Animation even after the relationship with their owning element had been severed. We now correctly check that
relationship is intact and otherwise consider those animations just like any other animation.

  • animation/AnimationTimeline.cpp:

(WebCore::AnimationTimeline::animationTimingDidChange):
(WebCore::AnimationTimeline::updateGlobalPosition):
(WebCore::AnimationTimeline::removeDeclarativeAnimationFromListsForOwningElement):
(WebCore::AnimationTimeline::updateCSSAnimationsForElement):
(WebCore::AnimationTimeline::updateCSSTransitionsForElementAndProperty):
(WebCore::AnimationTimeline::updateCSSTransitionsForElement):
(WebCore::AnimationTimeline::cancelDeclarativeAnimation): Deleted.

  • animation/AnimationTimeline.h:
  • animation/CSSAnimation.cpp:

(WebCore::CSSAnimation::syncPropertiesWithBackingAnimation):

  • animation/CSSTransition.cpp:

(WebCore::CSSTransition::setTimingProperties):

  • animation/DeclarativeAnimation.cpp:

(WebCore::DeclarativeAnimation::canHaveGlobalPosition):

  • animation/DeclarativeAnimation.h:
  • animation/DocumentTimeline.cpp:

(WebCore::DocumentTimeline::getAnimations const):

  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::animationTimelineDidChange):
(WebCore::KeyframeEffect::animationTimingDidChange):
(WebCore::KeyframeEffect::updateEffectStackMembership):
(WebCore::KeyframeEffect::setAnimation):
(WebCore::KeyframeEffect::setTarget):

  • animation/KeyframeEffect.h:
  • animation/KeyframeEffectStack.cpp:

(WebCore::KeyframeEffectStack::addEffect):
(WebCore::KeyframeEffectStack::ensureEffectsAreSorted):

  • animation/KeyframeEffectStack.h:
  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::timingDidChange):

  • animation/WebAnimation.h:

(WebCore::WebAnimation::canHaveGlobalPosition):

LayoutTests:

Removing this specific expectation for WK1 since it now behaves just like the other configurations.

  • platform/mac-wk1/imported/w3c/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements-expected.txt: Removed.
11:20 AM Changeset in webkit [252910] by Jonathan Bedard
  • 2 edits in trunk/LayoutTests

[WebGL] Garden dedicated queue (Part 7)
https://bugs.webkit.org/show_bug.cgi?id=204547

Unreviewed test gardening.

  • webgl/TestExpectations:
10:59 AM Changeset in webkit [252909] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Enable GPU switching with ANGLE
https://bugs.webkit.org/show_bug.cgi?id=203916

This enables the same GPU switching code that we use with OpenGL on ANGLE
contexts. ANGLE contexts can now be switched to the high power GPU.

Patch by James Darpinian <James Darpinian> on 2019-11-27
Reviewed by Dean Jackson.

  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/GraphicsContext3DManager.cpp:

(WebCore::GraphicsContext3DManager::updateAllContexts):

  • platform/graphics/cocoa/GraphicsContext3DCocoa.mm:

(WebCore::setGPUByRegistryID):
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::updateCGLContext):
(WebCore::GraphicsContext3D::screenDidChange):

9:53 AM Changeset in webkit [252908] by Philippe Normand
  • 2 edits in trunk/Source/WebKit

[GTK][WebInspector] Use CString to store exported data
https://bugs.webkit.org/show_bug.cgi?id=204623

Reviewed by Carlos Garcia Campos.

  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformSave): Use a CString for copy-on-write assignment.

9:11 AM Changeset in webkit [252907] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

[LFC][Render tree] PerformanceTests/Layout/line-layout-simple.html does not update properly with LFC enabled
https://bugs.webkit.org/show_bug.cgi?id=204646

Reviewed by Zalan Bujtas.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::invalidateLineLayoutPath):

Destroy LFC layout here, for now.

9:01 AM Changeset in webkit [252906] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

[LFC][Render tree] RenderBlockFlow::ensureLineBoxes should work with lfc layout
https://bugs.webkit.org/show_bug.cgi?id=204633

Reviewed by Zalan Bujtas.

We need to be able to switch to linebox layout when needed.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::deleteLines):
(WebCore::RenderBlockFlow::invalidateLineLayoutPath):
(WebCore::RenderBlockFlow::ensureLineBoxes):

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::hasLineLayout const):

Also switch to using WTF::Monostate as empty state.

8:54 AM Changeset in webkit [252905] by Antti Koivisto
  • 9 edits in trunk/Source/WebCore

[LFC] Make strings safe
https://bugs.webkit.org/show_bug.cgi?id=204645

Reviewed by Zalan Bujtas.

  • layout/displaytree/DisplayPainter.cpp:

(WebCore::Display::paintInlineContent):

  • layout/displaytree/DisplayRun.h:

(WebCore::Display::Run::TextContext::TextContext):
(WebCore::Display::Run::TextContext::content const):

  • Use String instead of StringView so the underlying StringImpl gets reffed.
  • Make it point the full content string instead of the current range so we don't create unncessary short strings.
  • Construct StringView on fly based on start/end.

(WebCore::Display::Run::setTextContext):
(WebCore::Display::Run::textContext const):
(WebCore::Display::Run::TextContext::expand):
(WebCore::Display::Run::textContext): Deleted.

  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::InlineItemRun::textContext const):
(WebCore::Layout::ContinousContent::close):
(WebCore::Layout::LineBuilder::appendTextContent):

  • layout/inlineformatting/InlineLineBuilder.h:

(WebCore::Layout::LineBuilder::Run::textContext const):

  • layout/layouttree/LayoutBox.cpp:

(WebCore::Layout::Box::Box):

  • layout/layouttree/LayoutBox.h:

(WebCore::Layout::Box::textContext const):

Use Optional<TextContext> since it is small

  • layout/layouttree/LayoutContainer.cpp:

(WebCore::Layout::Container::Container):

  • layout/layouttree/TextContext.h:

Use String instead of StringView so the underlying StringImpl gets reffed.

6:18 AM WPE/Releasing edited by alex
(diff)
6:03 AM Changeset in webkit [252904] by alex
  • 1 copy in releases/WPE WebKit/webkit-2.27.3

WPE Webkit 2.27.3

4:50 AM Changeset in webkit [252903] by Nikolas Zimmermann
  • 2 edits in trunk/LayoutTests

Update test expectations for GTK port

Unreviewed test gardening.

  • platform/gtk/TestExpectations:
4:48 AM Changeset in webkit [252902] by alex
  • 4 edits in trunk

Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.27.3 release

.:

  • Source/cmake/OptionsWPE.cmake: Bump version numbers.

Source/WebKit:

  • wpe/NEWS: Add release notes for 2.27.3.
4:44 AM Changeset in webkit [252901] by Manuel Rego Casasnovas
  • 8 edits in trunk

[css-grid] Serialization of grid-area, grid-row and grid-column should include "/" separator
https://bugs.webkit.org/show_bug.cgi?id=204508

Reviewed by Javier Fernandez.

LayoutTests/imported/w3c:

After this patch several test cases are passing.
There are still failures as the serialization is still not the right one in all the cases,
but this makes WebKit behave like Chromium for these shorthands.

  • web-platform-tests/css/css-grid/grid-layout-properties-expected.txt:
  • web-platform-tests/css/css-grid/parsing/grid-area-valid-expected.txt:
  • web-platform-tests/css/css-grid/parsing/grid-shorthand-valid-expected.txt:
  • web-platform-tests/css/css-grid/parsing/grid-template-shorthand-valid-expected.txt:

Source/WebCore:

Just use "/" separator instead of a white space when serializing the grid shorthands.
There are still failures because serialization of grid shorthands still needs some extra work
(see webkit.org/b/204611), however this change puts WebKit in the same status than Chromium
regarding this topic.

Several WPT test cases are passing thanks to this change.

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getPropertyValue const):
(WebCore::StyleProperties::getGridShorthandValue const):
(WebCore::StyleProperties::getShorthandValue const):

  • css/StyleProperties.h:
4:24 AM Changeset in webkit [252900] by Nikolas Zimmermann
  • 3 edits in trunk/LayoutTests

Update test expectations for GTK/WPE ports

Unreviewed test gardening.

Get rid of outdated expectations referring to not-existing tests, remove duplicates, etc.
Mark Gtk tests as passing that are reported by the bots to pas.

  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
4:05 AM Changeset in webkit [252899] by Nikolas Zimmermann
  • 2 edits in trunk/LayoutTests

Update test expectations for WPE port

Unreviewed test gardening.

Get rid of outdated expectations referring to not-existing tests, remove duplicates, etc.

  • platform/wpe/TestExpectations:
2:19 AM Changeset in webkit [252898] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

[GTK] WebDriver: moving toplevel windows is not supported under wayland
https://bugs.webkit.org/show_bug.cgi?id=204614

Reviewed by Alejandro G. Castro.

So we can stop trying and simply ignore the requests to move the window.

  • UIProcess/API/glib/WebKitUIClient.cpp:

(UIClient::windowConfigureEventCallback): Ensure we only move or resize when actually required and reduce the
time we wait for configure events to 200ms (1 second was too long).

12:55 AM Changeset in webkit [252897] by youenn@apple.com
  • 3 edits in trunk/Source/WebCore

Protect ServiceWorkerThreadProxy while being stopped
https://bugs.webkit.org/show_bug.cgi?id=204610
<rdar://problem/57476332>

Reviewed by Chris Dumez.

Reuse stop implementation in terminateWorker for stopAllServiceWorkers.
Move the worker map value from RefPtr to Ref.
Covered by existing tests no longer crashing.

  • workers/service/context/SWContextManager.cpp:

(WebCore::SWContextManager::terminateWorker):
(WebCore::SWContextManager::stopWorker):
(WebCore::SWContextManager::forEachServiceWorkerThread):
(WebCore::SWContextManager::stopAllServiceWorkers):

  • workers/service/context/SWContextManager.h:

Nov 26, 2019:

8:57 PM Changeset in webkit [252896] by Jonathan Bedard
  • 2 edits in trunk/LayoutTests

[WebGL] Garden dedicated queue (Part 6)
https://bugs.webkit.org/show_bug.cgi?id=204547

Unreviewed test gardening.

Remove duplicates, unicode character.

  • webgl/TestExpectations:
6:32 PM Changeset in webkit [252895] by Fujii Hironori
  • 2 edits in trunk/Tools

[AppleWin] run-webkit-tests is failing to find bin32/DumpRenderTree since r252834
https://bugs.webkit.org/show_bug.cgi?id=204571

Reviewed by Ross Kirsling.

  • BuildSlaveSupport/build.webkit.org-config/steps.py:

(RunWebKitTests.start): Replaced 'bin32' with 'bin64'.

5:53 PM Changeset in webkit [252894] by Chris Dumez
  • 13 edits in trunk

Drop ActiveDOMObject::shouldPreventEnteringBackForwardCache_DEPRECATED()
https://bugs.webkit.org/show_bug.cgi?id=204626

Reviewed by Ryosuke Niwa.

Source/WebCore:

Drop ActiveDOMObject::shouldPreventEnteringBackForwardCache_DEPRECATED() now that it is no longer
used.

  • dom/ActiveDOMObject.h:
  • dom/Document.h:

(WebCore::Document::shouldPreventEnteringBackForwardCacheForTesting const):
(WebCore::Document::preventEnteringBackForwardCacheForTesting):

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::forEachActiveDOMObject const):
(WebCore::ScriptExecutionContext::canSuspendActiveDOMObjectsForDocumentSuspension): Deleted.

  • dom/ScriptExecutionContext.h:
  • history/BackForwardCache.cpp:

(WebCore::canCacheFrame):

  • testing/Internals.cpp:

(WebCore::Internals::Internals):
(WebCore::Internals::preventDocumentFromEnteringBackForwardCache):
(WebCore::Internals::preventDocumentForEnteringBackForwardCache): Deleted.

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKitLegacy/mac:

  • WebView/WebFrame.mm:

(-[WebFrame _cacheabilityDictionary]):

LayoutTests:

  • http/tests/security/navigate-when-restoring-cached-page.html:
12:15 PM Changeset in webkit [252893] by Antti Koivisto
  • 14 edits
    1 copy
    1 add in trunk/Source

[LFC][Render tree] Add LFC line layout path to RenderBlockFlow
https://bugs.webkit.org/show_bug.cgi?id=204613

Reviewed by Zalan Bujtas.

Source/WebCore:

Add a basic LFC line layout implementation for RenderBlockFlow.
It can layout lines and do simple painting but doesn't do anything else (like hit testing) yet.

Add a new layoutFormattingContextRenderTreeIntegrationEnabled feature flag, default to false.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • layout/RenderBlockFlowLineLayout.cpp: Added.

(WebCore::Layout::RenderBlockFlowLineLayout::RenderBlockFlowLineLayout):
(WebCore::Layout::RenderBlockFlowLineLayout::canUseFor):
(WebCore::Layout::RenderBlockFlowLineLayout::layout):
(WebCore::Layout::RenderBlockFlowLineLayout::height const):
(WebCore::Layout::RenderBlockFlowLineLayout::paint):

  • layout/RenderBlockFlowLineLayout.h: Copied from Source/WebCore/layout/displaytree/DisplayPainter.h.
  • layout/displaytree/DisplayPainter.cpp:

(WebCore::Display::Painter::paintInlineFlow):

  • layout/displaytree/DisplayPainter.h:
  • layout/invalidation/InvalidationState.cpp:

(WebCore::Layout::InvalidationState::markNeedsUpdate):

  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::TreeBuilder::buildLayoutTree):

  • layout/layouttree/LayoutTreeBuilder.h:
  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setLayoutFormattingContextRenderTreeIntegrationEnabled):
(WebCore::RuntimeEnabledFeatures::layoutFormattingContextRenderTreeIntegrationEnabled const):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutInlineChildren):
(WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
(WebCore::RenderBlockFlow::paintInlineChildren):
(WebCore::RenderBlockFlow::invalidateLineLayoutPath):
(WebCore::RenderBlockFlow::layoutSimpleLines):
(WebCore::RenderBlockFlow::layoutLFCLines):
(WebCore::RenderBlockFlow::deleteLineBoxesBeforeSimpleLineLayout):

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::hasLFCLineLayout const):
(WebCore::RenderBlockFlow::lfcLineLayout const):
(WebCore::RenderBlockFlow::lfcLineLayout):

Source/WebKit:

  • Shared/WebPreferences.yaml:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

11:44 AM Changeset in webkit [252892] by Jonathan Bedard
  • 2 edits in trunk/LayoutTests

[WebGL] Garden dedicated queue (Part 5)
https://bugs.webkit.org/show_bug.cgi?id=204547

Unreviewed test gardening.

  • webgl/TestExpectations:
10:28 AM Changeset in webkit [252891] by Antti Koivisto
  • 9 edits in trunk/Source/WebCore

Destroy linebox tree from ComplexLineLayout destructor
https://bugs.webkit.org/show_bug.cgi?id=204620

Reviewed by Zalan Bujtas.

Make linebox tree destuction simpler and more robust.

  • rendering/ComplexLineLayout.cpp:

(WebCore::ComplexLineLayout::~ComplexLineLayout):

Destroy linebox tree.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::deleteLines):

Always destroy the line layout.

(WebCore::RenderBlockFlow::layoutSimpleLines):
(WebCore::RenderBlockFlow::deleteLineBoxesBeforeSimpleLineLayout): Deleted.

No need for special path, ComplexLineLayout destruction takes care of this now.

  • rendering/RenderBlockFlow.h:
  • rendering/RenderLineBreak.cpp:

(WebCore::RenderLineBreak::deleteLineBoxesBeforeSimpleLineLayout): Deleted.

No need for special path, InlineBox destruction clears the pointers in associated RenderLineBreaks and RenderTexts.

  • rendering/RenderLineBreak.h:
  • rendering/RenderText.cpp:

(WebCore::RenderText::deleteLineBoxesBeforeSimpleLineLayout): Deleted.

  • rendering/RenderText.h:
  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::removeLineBoxFromRenderObject):

10:16 AM Changeset in webkit [252890] by youenn@apple.com
  • 6 edits in trunk

Update capturing document media state when entering b/f cache
https://bugs.webkit.org/show_bug.cgi?id=204589

Reviewed by Chris Dumez.

Source/WebCore:

Remove enqueuing the task in configureTrackRendering.
This allows stopTrack to trigger the track rendering configuration and document media state computation.
Covered by updated test.

  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::MediaStreamTrack):
(WebCore::MediaStreamTrack::configureTrackRendering):
(WebCore::MediaStreamTrack::suspend):
(WebCore::MediaStreamTrack::stop): Deleted.

  • Modules/mediastream/MediaStreamTrack.h:

LayoutTests:

  • http/tests/navigation/page-cache-mediastream-expected.txt:
  • http/tests/navigation/page-cache-mediastream.html:
9:57 AM Changeset in webkit [252889] by youenn@apple.com
  • 7 edits
    5 adds in trunk

Allow b/f cache in case of connected peer connections
https://bugs.webkit.org/show_bug.cgi?id=204583

Reviewed by Chris Dumez.

Source/WebCore:

Tests: webrtc/peerconnection-page-cache-long.html

webrtc/peerconnection-page-cache.html

Remove guards against b/f cache.
When entering b/f cache, the packets are blocked which will trigger timeouts
and a connection failure of the peer connection after a few seconds.

  • Modules/mediastream/RTCDTMFSender.cpp:
  • Modules/mediastream/RTCDTMFSender.h:
  • Modules/mediastream/RTCDataChannel.h:
  • Modules/mediastream/RTCPeerConnection.cpp:
  • Modules/mediastream/RTCPeerConnection.h:

LayoutTests:

  • fast/history/resources/page-cache-helper-10000ms.html: Added.
  • webrtc/peerconnection-page-cache-expected.txt: Added.
  • webrtc/peerconnection-page-cache-long-expected.txt: Added.
  • webrtc/peerconnection-page-cache-long.html: Added.
  • webrtc/peerconnection-page-cache.html: Added.
8:44 AM Changeset in webkit [252888] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

[LFC] Don't leak Boxes
https://bugs.webkit.org/show_bug.cgi?id=204616

Reviewed by Zalan Bujtas.

Store Boxes to LayoutTreeContent instead of leaking them.

This is probably not the final memory management model.

  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::TreeBuilder::buildTableStructure):
(WebCore::Layout::TreeBuilder::buildSubTree):

  • layout/layouttree/LayoutTreeBuilder.h:

(WebCore::Layout::LayoutTreeContent::addBox):

4:42 AM Changeset in webkit [252887] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.27.3

WebKitGTK 2.27.3

4:41 AM Changeset in webkit [252886] by Carlos Garcia Campos
  • 4 edits in trunk

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.27.3 release

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.27.3.
4:21 AM Changeset in webkit [252885] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Attempting to enable more than one FuzzerAgent should result in an error
https://bugs.webkit.org/show_bug.cgi?id=204607

Patch by Tuomas Karkkainen <tuomas.webkit@apple.com> on 2019-11-26
Reviewed by Antti Koivisto.

  • runtime/VM.cpp:
  • runtime/VM.h:
4:17 AM Changeset in webkit [252884] by alex
  • 3 edits in trunk/LayoutTests

[GTK][WPE] New tests crashing after added in the r251377
https://bugs.webkit.org/show_bug.cgi?id=204112

Unreviewed test gardening, add new tests crashing because we do
not have an implementation of WTR::UIScriptController::copyText,
the test was added in r252450.

  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
4:09 AM Changeset in webkit [252883] by Manuel Rego Casasnovas
  • 9 edits in trunk

LayoutTests/imported/w3c:
[css-grid] Avoid serializing [] in grid-template* specified values
https://bugs.webkit.org/show_bug.cgi?id=204501

Reviewed by Javier Fernandez.

Update tests results, several tests are now passing.
Other are still failing due to different bugs like webkit.org/b/204508.

  • web-platform-tests/css/css-grid/parsing/grid-shorthand-expected.txt:
  • web-platform-tests/css/css-grid/parsing/grid-shorthand-valid-expected.txt:
  • web-platform-tests/css/css-grid/parsing/grid-template-columns-valid-expected.txt:
  • web-platform-tests/css/css-grid/parsing/grid-template-rows-valid-expected.txt:
  • web-platform-tests/css/css-grid/parsing/grid-template-shorthand-expected.txt:
  • web-platform-tests/css/css-grid/parsing/grid-template-shorthand-valid-expected.txt:

Source/WebCore:
[css-grid] Avoid serializing [] in grid-template-* specified values
https://bugs.webkit.org/show_bug.cgi?id=204501

Reviewed by Javier Fernandez.

Based on Blink r699101 by <ericwilligers@chromium.org>.

This patch discards empty list of line names when parsing grid-template-* properties.
That way we avoid these empty lists "[]" during serialization.

This was discussed at: https://github.com/w3c/csswg-drafts/issues/4173.

Several WPT tests are passing thanks to this change.

  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeGridLineNames):
(WebCore::consumeGridTrackList):

3:02 AM Changeset in webkit [252882] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GStreamer] Cache the CString returned by String::utf8()
https://bugs.webkit.org/show_bug.cgi?id=203553

Reviewed by Philippe Normand.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::handleMessage):

2:37 AM Changeset in webkit [252881] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Document::needsStyleRecalc() shouldn't return true for fragment scrolling (m_gotoAnchorNeededAfterStylesheetsLoad)
https://bugs.webkit.org/show_bug.cgi?id=204593

Reviewed by Antti Koivisto.

After r252761, we no longer triggers a fragment scrolling as a part of style resolution.
Consequently, there is no need for Document::needsStyleRecalc() to return true
even when m_gotoAnchorNeededAfterStylesheetsLoad is set and there are no more pending stylesheets.

No new tests since there shouldn't really be any observable behavior difference.

  • dom/Document.cpp:

(WebCore::Document::needsStyleRecalc const):

2:28 AM Changeset in webkit [252880] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit

REGRESSION(2.27.2): [GTK] Incognito mode is broken under flatpak
https://bugs.webkit.org/show_bug.cgi?id=203460

Reviewed by Youenn Fablet.

The problem is that in ephemeral sessions the base disk cache directory is null, and Storage::open() ends up
building a cache path with only the version part (/Version n). For some reason g_mkdir_with_parents() doesn't
return -1 in flatpak when it fails to create the directory due to write permission, like in this case. But the
network process ends up crashing later trying to open a directory that doesn't exist.

  • NetworkProcess/NetworkSession.cpp:

(WebKit::NetworkSession::NetworkSession): Do not create the cache if networkCacheDirectory is null.

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::open): Add an ASSERT to ensure we don't receive a null baseCachePath.

2:11 AM Changeset in webkit [252879] by graouts@webkit.org
  • 3 edits
    2 adds in trunk

[Web Animations] Layout of children of element with forwards-filling opacity animation may be incorrect after removal
https://bugs.webkit.org/show_bug.cgi?id=204602
<rdar://problem/45311541>

Reviewed by Antti Koivisto.

Source/WebCore:

Test: webanimations/child-layer-position-after-removal-of-animation-triggering-stacking-context-with-fill-forwards.html

In the case where we animate a property that affects whether an element establishes a stacking context, for instance opacity, the animation code,
specifically KeyframeEffect::apply(), forces a stacking context by setting setUsedZIndex(0) on the animated RenderStyle in case the element otherwise
has an "auto" z-index. This is required by the Web Animations specification (https://w3c.github.io/web-animations/#side-effects-section).

This means that a fill-forwards animation will still force the element to establish a stacking context after the animation is no longer "active". When
we remove such an animation, it may go from having a z-index to not having one, unless it had an explicit z-index provided through style. When this change
happens, RenderStyle::diff() will merely return "RepaintLayer" and thus will not foce a layout. However, updating the positions of child layers may be
necessary as the animation being removed may mean that there may not be a RenderLayer associated with that element's renderer anymore, and if that RenderLayer
had a position, then the position of child layers will no longer be correct.

Now, in the case where we destroy a layer in RenderLayerModelObject::styleDidChange(), we check whether the layer had a position before it is removed, and
update the position of child layers if it did.

  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::styleDidChange):

LayoutTests:

Add a new ref test that checks that removing a forwards-filling animation that triggers a stacking context (for instance, animating opacity)
after it has completed from an element affecting layout yields the correct layout.

  • webanimations/child-layer-position-after-removal-of-animation-triggering-stacking-context-with-fill-forwards-expected.html: Added.
  • webanimations/child-layer-position-after-removal-of-animation-triggering-stacking-context-with-fill-forwards.html: Added.
12:30 AM Changeset in webkit [252878] by youenn@apple.com
  • 3 edits in trunk/Source/WebCore

Queuing a task in EventLoop is not working with UserMediaRequest allow completion handler
Queuing a task in EventLoop is not working with completion handlers
https://bugs.webkit.org/show_bug.cgi?id=204565
<rdar://problem/57466280>

Reviewed by Ryosuke Niwa.

Do not capture the completion handler in lambda passed to the event queue.
Instead, keep it in UserMediqRequest and call it either when running the task or when destroying UserMediaRequest.
Covered by existing tests failing the debug assertion.

  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::~UserMediaRequest):
(WebCore::UserMediaRequest::allow):

  • Modules/mediastream/UserMediaRequest.h:
12:24 AM Changeset in webkit [252877] by Carlos Garcia Campos
  • 3 edits in trunk/Source/JavaScriptCore

[GLIB] The API lock should be held before calling JSC::createTypeError
https://bugs.webkit.org/show_bug.cgi?id=204573

Reviewed by Mark Lam.

We are missing it in several places. This is causing a crash in test /jsc/object after r252298.

  • API/glib/JSCContext.cpp:

(jscContextGArrayToJSArray):
(jscContextJSArrayToGArray):
(jscContextGValueToJSValue):
(jscContextJSValueToGValue):

  • API/glib/JSCValue.cpp:

(jsc_value_new_array):
(jscValueCallFunction):

Note: See TracTimeline for information about the timeline view.