Timeline
Nov 29, 2020:
- 9:36 PM Changeset in webkit [270234] by
-
- 2 edits in trunk/Source/WebKit
Deny logs for benign fontservicesd daemon
https://bugs.webkit.org/show_bug.cgi?id=219180
Patch by Adam Mazander <mazander@apple.com> on 2020-11-29
Reviewed by Per Arne Vollan.
After investigating denials of fontservicesd logs over several submissions
and without any fallout we are removing logging.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- 8:20 PM Changeset in webkit [270233] by
-
- 2 edits in trunk/LayoutTests
[GTK] Gardening WebGL failures
Unreviewed test gardening
- platform/gtk/TestExpectations:
- 6:43 PM Changeset in webkit [270232] by
-
- 2 edits in trunk/LayoutTests
[GLIB] Gardening webrtc crashes
Unreviewed test gardening.
- platform/glib/TestExpectations:
- 5:41 PM Changeset in webkit [270231] by
-
- 4 edits in trunk/LayoutTests
[LFC][Display] Enable LFC tests that are passing now
https://bugs.webkit.org/show_bug.cgi?id=219337
Unreviewed.
- TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 12:50 PM Changeset in webkit [270230] by
-
- 4 edits2 adds in trunk
[LFC][BFC] Do not assume float avoiders have pre-computed vertical positions
https://bugs.webkit.org/show_bug.cgi?id=219326
Reviewed by Antti Koivisto.
Source/WebCore:
Move the final vertical position computation from computeHeightAndMargin() (it does not really belong in there) to
layoutInFlowContent(). This patch also ensures that we only adjust the vertical position when needed.
Test: fast/layoutformattingcontext/block-only/child-containing-block-margin-collapse-when-float-avoiders.html
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):
LayoutTests:
- fast/layoutformattingcontext/block-only/child-containing-block-margin-collapse-when-float-avoiders-expected.html: Added.
- fast/layoutformattingcontext/block-only/child-containing-block-margin-collapse-when-float-avoiders.html: Added.
- 11:44 AM Changeset in webkit [270229] by
-
- 6 edits in trunk/Source/WebCore
[LFC][IFC] Create runs for inline boxes
https://bugs.webkit.org/show_bug.cgi?id=219329
Reviewed by Antti Koivisto.
With this patch we start constructing runs for inline boxes (these are spec "inline boxes" and not legacy line layout "inline boxes").
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):
- layout/inlineformatting/InlineLineBox.cpp:
(WebCore::Layout::LineBox::logicalMarginRectForInlineLevelBox const):
- layout/inlineformatting/InlineLineBox.h:
- layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayInlineBoxes const):
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::showInlineTreeAndRuns):
- 11:10 AM Changeset in webkit [270228] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Remove LineBuilder::availableWidth
https://bugs.webkit.org/show_bug.cgi?id=219330
Reviewed by Antti Koivisto.
There is no "global" available width while building the line. It may very well change as
inline level boxes stretch the line and additional floats turn to intrusive.
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::close):
(WebCore::Layout::LineBuilder::handleFloatOrInlineContent):
(WebCore::Layout::LineBuilder::rebuildLineForTrailingSoftHyphen):
- layout/inlineformatting/InlineLineBuilder.h:
(WebCore::Layout::LineBuilder::availableWidth const): Deleted.
- 10:46 AM Changeset in webkit [270227] by
-
- 5 edits in trunk/Source/WebCore
[LFC][IFC] FloatingContext should take const FloatingState&
https://bugs.webkit.org/show_bug.cgi?id=219331
Reviewed by Antti Koivisto.
Let's not use FloatContext as a proxy for adding float items to the FloatingState.
It enables us to use FloatingContext when we don't have mutable FloatingState e.g. while
computing preferred width.
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
- layout/floats/FloatingContext.cpp:
(WebCore::Layout::FloatingContext::FloatingContext):
(WebCore::Layout::FloatingContext::toFloatItem const):
(WebCore::Layout::FloatingContext::append): Deleted.
- layout/floats/FloatingContext.h:
(WebCore::Layout::FloatingContext::floatingState const):
(WebCore::Layout::FloatingContext::layoutState const):
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):
Nov 28, 2020:
- 10:47 PM Changeset in webkit [270226] by
-
- 2 edits in trunk/JSTests
Unreviewd, annotate stress/bounds-checking-in-cold-loop.js with memoryLimited
- stress/bounds-checking-in-cold-loop.js:
- 10:32 PM Changeset in webkit [270225] by
-
- 4 edits in trunk/Source/WebCore
Non-unified build fixes, late November 2020 edition, take three
https://bugs.webkit.org/show_bug.cgi?id=219333
Unreviewed non-unified build fixes.
- display/css/DisplayBoxFactory.cpp:
- display/css/DisplayCSSPainter.cpp:
- display/css/DisplayContainerBox.cpp:
- 9:10 PM Changeset in webkit [270224] by
-
- 3 edits in trunk/Source/WebCore
[LFC Display] Use a vector to maintain state during display tree building
https://bugs.webkit.org/show_bug.cgi?id=219314
Reviewed by Zalan Bujtas.
Over time more state will be required during tree building. Rather than using the stack
and passing lots of arguments to tree building functions, use a Vector<> to push state
when processing a ContainerBox's children, and pop afterwards.
The vector is declared as a std::unique_ptr<> to hide the state types from the header.
- display/DisplayTreeBuilder.cpp:
(WebCore::Display::TreeBuilder::TreeBuilder):
(WebCore::Display::TreeBuilder::build):
(WebCore::Display::TreeBuilder::pushStateForBoxDescendants):
(WebCore::Display::TreeBuilder::popState):
(WebCore::Display::TreeBuilder::currentState const):
(WebCore::Display::TreeBuilder::positioningContext const):
(WebCore::Display::TreeBuilder::buildInlineDisplayTree):
(WebCore::Display::TreeBuilder::recursiveBuildDisplayTree):
(WebCore::Display::TreeBuilder::buildInlineDisplayTree const): Deleted.
(WebCore::Display::TreeBuilder::recursiveBuildDisplayTree const): Deleted.
- display/DisplayTreeBuilder.h:
- 8:20 PM Changeset in webkit [270223] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, follow-up after r270214
https://bugs.webkit.org/show_bug.cgi?id=219281
ARM64 does not support unary Not32 / Not64.
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::emitAtomicBinaryRMWOp):
- 8:05 PM Changeset in webkit [270222] by
-
- 10 edits1 copy1 add in trunk/Source/WebCore
[LFC Display] Add basic transforms support.
https://bugs.webkit.org/show_bug.cgi?id=219313
Reviewed by Zalan Bujtas.
Add Display::BoxRareGeometry which will hold uncommon per-box geometry like
border-radius and transformation matrix.
At tree building time, compute a TransformationMatrix for the transforms on a box,
using a pixel-snapped transform origin. Also store a bit on Display::Style to indicate
that a transform applies (when set, we assume that BoxRareGeometry is non-null).
At paint time, use the computed matrix to adjust the CTM when painting a stacking
context, post-clipping and pre-effects. We adjust the box's matrix to move the
applied origin to the origin of the border box, and to account for the fact that
descendants will continue to paint in absolute coordinates.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- display/css/DisplayBoxFactory.cpp:
(WebCore::Display::BoxFactory::computeTransformOrigin const):
(WebCore::Display::BoxFactory::computeTransformationMatrix const):
(WebCore::Display::BoxFactory::constructBoxRareGeometry const):
(WebCore::Display::BoxFactory::setupBoxModelBox const):
- display/css/DisplayBoxFactory.h:
- display/css/DisplayBoxModelBox.cpp:
(WebCore::Display::BoxModelBox::setBoxRareGeometry):
(WebCore::Display::BoxModelBox::hasAncestorClip const):
- display/css/DisplayBoxModelBox.h:
(WebCore::Display::BoxModelBox::rareGeometry const):
- display/css/DisplayBoxRareGeometry.cpp: Added.
- display/css/DisplayBoxRareGeometry.h: Copied from Source/WebCore/display/css/DisplayBoxModelBox.h.
(WebCore::Display::BoxRareGeometry::transform const):
(WebCore::Display::BoxRareGeometry::setTransform):
- display/css/DisplayCSSPainter.cpp:
(WebCore::Display::applyAncestorClip):
(WebCore::Display::applyEffects):
(WebCore::Display::CSSPainter::paintAtomicallyPaintedBox):
- display/css/DisplayStyle.cpp:
(WebCore::Display::Style::Style):
- display/css/DisplayStyle.h:
(WebCore::Display::Style::hasTransform const):
(WebCore::Display::Style::setHasTransform):
- 4:19 PM Changeset in webkit [270221] by
-
- 6 edits in trunk/Source/WebCore
[LFC Display] Add basic opacity support.
https://bugs.webkit.org/show_bug.cgi?id=219312
Reviewed by Zalan Bujtas.
Add a TransparencyLayerScope helper that can lazily begin, and end a transparency layer.
Add display tree support for opacity via applyEffects(), which begins a transparency
layer at the start of stacking context painting when alpha is < 1.
- display/css/DisplayBoxDecorationPainter.cpp:
(WebCore::Display::BorderPainter::paintTranslucentBorderSides const):
- display/css/DisplayCSSPainter.cpp:
(WebCore::Display::applyEffects):
(WebCore::Display::CSSPainter::paintAtomicallyPaintedBox):
- display/css/DisplayStyle.cpp:
(WebCore::Display::Style::Style):
- display/css/DisplayStyle.h:
(WebCore::Display::Style::opacity const):
- platform/graphics/GraphicsContext.h:
(WebCore::TransparencyLayerScope::TransparencyLayerScope):
(WebCore::TransparencyLayerScope::beginLayer):
(WebCore::TransparencyLayerScope::~TransparencyLayerScope):
- 11:37 AM Changeset in webkit [270220] by
-
- 26 edits2 adds in trunk/Source/WebCore
Move caret rect computation out of render tree
https://bugs.webkit.org/show_bug.cgi?id=219304
Reviewed by Zalan Bujtas.
Reduce code randomly sprinkled on renderers by moving it into standalone functions.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::localCaretRectForCharacterOffset):
- editing/RenderedPosition.cpp:
(WebCore::RenderedPosition::absoluteRect const):
- editing/RenderedPosition.h:
- editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::localCaretRect const):
- rendering/CaretRectComputation.cpp: Added.
(WebCore::computeCaretRectForEmptyElement):
(WebCore::computeCaretRectForLinePosition):
(WebCore::computeCaretRectForText):
(WebCore::computeCaretRectForLineBreak):
(WebCore::computeCaretRectForSVGInlineText):
(WebCore::computeCaretRectForBox):
(WebCore::computeCaretRectForBlock):
(WebCore::computeCaretRectForInline):
(WebCore::computeLocalCaretRect):
- rendering/CaretRectComputation.h: Added.
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::localCaretRect const): Deleted.
- rendering/RenderBlock.h:
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::computeCaretRect const): Deleted.
- rendering/RenderBlockFlow.h:
- rendering/RenderBox.cpp:
(WebCore::RenderBox::localCaretRect const): Deleted.
- rendering/RenderBox.h:
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::localCaretRectForEmptyElement const): Deleted.
- rendering/RenderBoxModelObject.h:
- rendering/RenderInline.cpp:
(WebCore::RenderInline::localCaretRect const): Deleted.
- rendering/RenderInline.h:
- rendering/RenderLineBreak.cpp:
(WebCore::RenderLineBreak::localCaretRect const): Deleted.
- rendering/RenderLineBreak.h:
- rendering/RenderObject.cpp:
(WebCore::RenderObject::localCaretRect const): Deleted.
- rendering/RenderObject.h:
- rendering/RenderObjectEnums.h:
- rendering/RenderText.cpp:
(WebCore::RenderText::localCaretRect const): Deleted.
- rendering/RenderText.h:
- rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::localCaretRect const): Deleted.
- rendering/svg/RenderSVGInlineText.h:
- 9:05 AM Changeset in webkit [270219] by
-
- 11 edits1 add in trunk/Source
[macOS] Set application information in the Networking process on behalf of the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=218052
<rdar://problem/70586405>
Reviewed by Brent Fulgham.
Source/WebCore/PAL:
Declare function to create ASN from an audit token.
- pal/spi/cocoa/LaunchServicesSPI.h:
Source/WebKit:
In preparation for blocking Launch Services in the WebContent process' sandbox, application information for the process
should be set in the Networking process.
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- NetworkProcess/mac/NetworkConnectionToWebProcessMac.mm: Added.
(WebKit::NetworkConnectionToWebProcess::updateActivePages):
- Scripts/process-entitlements.sh:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::activePagesOrigins):
(WebKit::WebProcess::updateActivePages):
(WebKit::WebProcess::getActivePagesOriginsForTesting):
- WebProcess/com.apple.WebProcess.sb.in:
Source/WTF:
Add define to enable this feature.
- wtf/PlatformEnableCocoa.h:
- 6:40 AM Changeset in webkit [270218] by
-
- 4 edits in trunk/Source/WebCore
Remove enums for GCGLenum constants in GraphicsContextGL and ExtensionsGL
https://bugs.webkit.org/show_bug.cgi?id=219319
Reviewed by Darin Adler.
Both GraphicsContextGL and ExtensionsGL were using C style enums to scope GCGLenum
values. Rather than using the enum static constexpr values of GCGLenum are used
instead.
This removes the need in WebGLDrawBuffers to static_cast the enums to GCGLenum
which works around a narrowing error.
No new tests. No change in behavior.
- html/canvas/WebGLDrawBuffers.cpp:
(WebCore::WebGLDrawBuffers::drawBuffersWEBGL):
- platform/graphics/ExtensionsGL.h:
- platform/graphics/GraphicsContextGL.h:
- 6:07 AM Changeset in webkit [270217] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, GTK LTS build fix after r270195
- rendering/RenderInline.cpp:
(WebCore::RenderInline::linesBoundingBox const):
- 4:52 AM Changeset in webkit [270216] by
-
- 5 edits in trunk/Source/WebKit
[macOS] Issue sandbox extension to icon services when starting a drag operation
https://bugs.webkit.org/show_bug.cgi?id=219159
<rdar://problem/71585876>
Reviewed by Brent Fulgham.
Issue sandbox extension to icon services when starting a drag operation on macOS, since the WebContent process needs
access to these services when a drag is started. This patch detects when a drag is about to start, and sends sandbox
extensions to the icon services along with the mouse event. The sandbox extensions are then temporarily consumed
while handling the mouse event in the WebContent process.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::processNextQueuedMouseEvent):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::mouseEvent):
(WebKit::WebPage::simulateMouseDown):
(WebKit::WebPage::simulateMouseUp):
(WebKit::WebPage::simulateMouseMotion):
(WebKit::WebPage::consumeSandboxExtensions):
(WebKit::WebPage::revokeSandboxExtensions):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in: