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

Timeline



Dec 27, 2019:

9:58 AM Changeset in webkit [253923] by Darin Adler
  • 32 edits
    1 delete in trunk/Source

Refactor to simplify broadcasting to all media elements
https://bugs.webkit.org/show_bug.cgi?id=205567

Reviewed by Eric Carlson.

Source/WebCore:

Over time, we have accumulated many different sets of all the media elements.
With the goal of being a bit abstract and not building too much behavior into
the Document object, we ended up with unnecessary complexity, and many sets
of all the HTMLMediaElement objects. This is a first cut at reducing that complexity.
At the same time, the refactoring makes all the iteration use a safe algorithm that
builds a vector of Ref<HTMLMediaElement>, safe even if the work done for each
media element calls out to arbitrary DOM operations.

Separately, this patch also includes some name changes that still say "atomic"
instead of "atom" left over from our renaming of AtomicString to AtomString.

  • Headers.cmake: Removed ApplicationStateChangeListener.h.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • css/StyleSheetContents.cpp:

(WebCore::StyleSheetContents::estimatedSizeInBytes const): Reworded comment to
say "atom".

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::getElementsByName): Updated for "atomic" -> "atom".
(WebCore::ContainerNode::radioNodeList): Ditto.

  • dom/Document.cpp:

(WebCore::Document::visibilityStateChanged): Moved the code from
the notifyMediaCaptureOfVisibilityChanged in here. No need for a separate
function for the two lines of code.
(WebCore::Document::registerMediaElement): Added. Replaces the multiple registrations
that each media element would do.
(WebCore::Document::unregisterMediaElement): Ditto.
(WebCore::Document::forEachMediaElement): Added. Safely iterates the media elements
and calls a function on each of them.
(WebCore::Document::registerForAllowsMediaDocumentInlinePlaybackChangedCallbacks): Deleted.
(WebCore::Document::unregisterForAllowsMediaDocumentInlinePlaybackChangedCallbacks): Deleted.
(WebCore::Document::allowsMediaDocumentInlinePlaybackChanged): Deleted.
(WebCore::Document::mediaVolumeDidChange): Deleted.
(WebCore::Document::registerForMediaVolumeCallbacks): Deleted.
(WebCore::Document::unregisterForMediaVolumeCallbacks): Deleted.
(WebCore::Document::privateBrowsingStateDidChange): Use forEachMediaElement to call
privateBrowsingStateDidChange on each media element rather than keeping a separate registry.
(WebCore::Document::registerForPrivateBrowsingStateChangedCallbacks): Deleted.
(WebCore::Document::unregisterForPrivateBrowsingStateChangedCallbacks): Deleted.
(WebCore::Document::registerForCaptionPreferencesChangedCallbacks): Updated the type
to be HTMLMediaElement rather than just Element.
(WebCore::Document::unregisterForCaptionPreferencesChangedCallbacks): Ditto.
(WebCore::Document::registerForPageScaleFactorChangedCallbacks): Deleted.
(WebCore::Document::unregisterForPageScaleFactorChangedCallbacks): Deleted.
(WebCore::Document::pageScaleFactorChangedAndStable): Deleted.
(WebCore::Document::registerForUserInterfaceLayoutDirectionChangedCallbacks): Deleted.
(WebCore::Document::unregisterForUserInterfaceLayoutDirectionChangedCallbacks): Deleted.
(WebCore::Document::userInterfaceLayoutDirectionChanged): Deleted.
(WebCore::Document::notifyMediaCaptureOfVisibilityChanged): Deleted.
(WebCore::Document::registerForMediaStreamStateChangeCallbacks): Deleted.
(WebCore::Document::unregisterForMediaStreamStateChangeCallbacks): Deleted.
(WebCore::Document::mediaStreamCaptureStateChanged): Use forEachMediaElement to call
mediaStreamCaptureStarted on each media element rather than keeping a separate registry.
(WebCore::Document::addApplicationStateChangeListener): Deleted.
(WebCore::Document::removeApplicationStateChangeListener): Deleted.
(WebCore::Document::forEachApplicationStateChangeListener): Deleted.

  • dom/Document.h: Clean up forward declarations a bit. Updated for above changes,

removing many function and data members.

  • dom/Element.cpp:

(WebCore::Element::spellcheckAttributeState const): Deleted.
(WebCore::Element::isSpellCheckingEnabled const): Refactored to merge in the logic
from the spellcheckAttributeState function. The combined function is both a bit easier
to understand and smaller than the two functions were.

  • dom/Element.h: Removed some unneeded includes. Removed SpellcheckAttributeState.

Made fastAttributeLookupAllowed private. Removed mediaVolumeDidChange,
privateBrowsingStateDidChange, captionPreferencesChanged, and spellcheckAttributeState.

  • dom/FullscreenManager.cpp: Removed unneeded includes.

(WebCore::FullscreenManager::willEnterFullscreen): Use is<HTMLMediaElement> instead of
calling isMediaElement directly.

  • dom/NameNodeList.cpp:

(WebCore::NameNodeList::~NameNodeList): Updated for "atomic" -> "atom".

  • dom/Node.cpp:

(WebCore::NodeListsNodeData::invalidateCaches): Ditto.
(WebCore::NodeListsNodeData::invalidateCachesForAttribute): Ditto.

  • dom/NodeRareData.h: Removed unneeded includes. Updated for "atomic" -> "atom".

Made a few coding style tweaks.

  • dom/TreeScope.cpp:

(WebCore::TreeScope::getElementById const): Updated for "atomic" -> "atom".

  • html/HTMLMediaElement.cpp:

(WebCore::documentToElementSetMap): Deleted.
(WebCore::addElementToDocumentMap): Deleted.
(WebCore::removeElementFromDocumentMap): Deleted.
(WebCore::HTMLMediaElement::registerWithDocument): Added call to registerMediaElement,
removed eight now-obsolete registrations.
(WebCore::HTMLMediaElement::unregisterWithDocument): Ditto.
(WebCore::HTMLMediaElement::mediaVolumeDidChange): Added an #if !PLATFORM(IOS_FAMILY)
to preserve the current behavior, since this was not registered for PLATFORM(IOS_FAMILY)
before. This should be revisited because it's not clear this platform difference is needed.
(WebCore::HTMLMediaElement::privateBrowsingStateDidChange): Ditto.
(WebCore::HTMLMediaElement::setMediaGroup): Change to use Document::forEachMediaElement
so we don't need to keep our own global set of media elements for each document. Required
a little bit of code structure change. Added a FIXME because the decision about which
media element is selected depends on hash table order as it always has; seems inappropriate.
(WebCore::HTMLMediaElement::setMediaControlsDependOnPageScaleFactor): Removed the code
to register/unregister.
(WebCore::HTMLMediaElement::pageScaleFactorChanged): Only do the work if it's needed;
this replicates the old behavior which was accomplished by registering/unregistering.

  • html/HTMLMediaElement.h: Removed the overrides for various virtual member functions.

Instead these are now public functions. Also removed ApplicationStateChangeListener.

  • html/LabelableElement.cpp:

(WebCore::LabelableElement::labels): Updated for "atomic" -> "atom".

  • html/LabelsNodeList.cpp:

(WebCore::LabelsNodeList::~LabelsNodeList): Ditto.

  • html/RadioNodeList.cpp:

(WebCore::RadioNodeList::~RadioNodeList): Ditto.

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::constructTreeFromHTMLToken): Ditto.

  • loader/appcache/ApplicationCacheStorage.cpp:

(WebCore::parseHeader): Ditto.

  • page/ApplicationStateChangeListener.h: Removed.
  • page/Page.cpp:

(WebCore::Page::renderTreeSize const): Use forEachDocument.
(WebCore::Page::setNeedsRecalcStyleInAllFrames): Ditto.
(WebCore::Page::unmarkAllTextMatches): Ditto.
(WebCore::Page::editableElementsInRect const): Ditto.
(WebCore::Page::setMediaVolume): Tweaked range check so it will reject
NaN values. Use forEachMediaElement to call mediaVolumeDidChange,
eliminating the need for Document::mediaVolumeDidChange.
(WebCore::Page::setPageScaleFactor): Refactored to eliminate large blocks
of repeated code. Use forEachMediaElement to call pageScaleFactorChanged,
eliminating the need for Document::pageScaleFactorChangedAndStable.
(WebCore::Page::setUserInterfaceLayoutDirection): Use forEachMediaElement
to call userInterfaceLayoutDirectionChanged, eliminating the need for
Document::userInterfaceLayoutDirectionChanged.
(WebCore::Page::updateMediaElementRateChangeRestrictions): Use
forEachMediaElement to call updateRateChangeRestrictionas. The old code
would call this on all media elements in the current web process, which
means the functions would be called many times for the same media element.
(WebCore::Page::updateRendering): Use forEachDocument consistently for
all the document iteration. Before it was used for half the function and not
used for the other half; no obvious reason for the differece.
(WebCore::Page::suspendScriptedAnimations): Use forEachDocument.
(WebCore::Page::resumeScriptedAnimations): Ditto.
(WebCore::updateScriptedAnimationsThrottlingReason): Ditto.
(WebCore::Page::userStyleSheetLocationChanged): Ditto.
(WebCore::Page::invalidateStylesForAllLinks): Ditto.
(WebCore::Page::invalidateStylesForLink): Ditto.
(WebCore::Page::invalidateInjectedStyleSheetCacheInAllFrames): Ditto.
(WebCore::Page::setTimerThrottlingState): Ditto.
(WebCore::Page::dnsPrefetchingStateChanged): Ditto.
(WebCore::Page::storageBlockingStateChanged): Ditto.
(WebCore::Page::updateIsPlayingMedia): Ditto.
(WebCore::Page::setMuted): Ditto.
(WebCore::Page::stopMediaCapture): Ditto.
(WebCore::Page::stopAllMediaPlayback): Ditto.
(WebCore::Page::suspendAllMediaPlayback): Ditto.
(WebCore::Page::resumeAllMediaPlayback): Ditto.
(WebCore::Page::suspendAllMediaBuffering): Ditto.
(WebCore::Page::resumeAllMediaBuffering): Ditto.
(WebCore::setSVGAnimationsState): Deleted.
(WebCore::Page::setIsVisibleInternal): Use forEachDocument to call
suspend/resumeDeviceMotionAndOrientationUpdates, obviating the need for
Page::suspend/resumeDeviceMotionAndOrientationUpdates. Use
forEachDocument to call pause/unpauseAnimations, obviating the need for
WebCore::setSVGAnimationsState. Use forEachDocument to call
visibilityStateChanged, removing the need to write out a loop that
gathers the documents into a vector.
(WebCore::Page::suspendDeviceMotionAndOrientationUpdates): Deleted.
(WebCore::Page::resumeDeviceMotionAndOrientationUpdates): Deleted.
(WebCore::Page::captionPreferencesChanged): Use forEachDocument.
(WebCore::Page::setSessionID): Ditto.
(WebCore::Page::setPlaybackTarget): Ditto.
(WebCore::Page::playbackTargetAvailabilityDidChange): Ditto.
(WebCore::Page::setShouldPlayToPlaybackTarget): Ditto.
(WebCore::Page::playbackTargetPickerWasDismissed): Ditto.
(WebCore::Page::setAllowsMediaDocumentInlinePlayback): Use
forEachMediaElement to call allowsMediaDocumentInlinePlaybackChanged,
obviating the need for Document::allowsMediaDocumentInlinePlaybackChanged.
(WebCore::Page::setUnobscuredSafeAreaInsets): Use forEachDocument.
(WebCore::Page::setUseSystemAppearance): Ditto.
(WebCore::Page::setFullscreenInsets): Ditto.
(WebCore::Page::setFullscreenAutoHideDuration): Ditto.
(WebCore::Page::setFullscreenControlsHidden): Ditto.
(WebCore::Page::forEachDocument): Merged the collectDocuments function
in since it's only used here.
(WebCore::Page::collectDocuments): Deleted.
(WebCore::Page::forEachMediaElement): Added.
(WebCore::Page::applicationWillResignActive): Use forEachMediaElement,
eliminating the need for forEachApplicationStateChangeListener.
(WebCore::Page::applicationDidBecomeActive): Ditto.
(WebCore::Page::recomputeTextAutoSizingInAllFrames): Use forEachDocument.

  • page/Page.h: Removed unneeded forward declarations. Removed unused

FindDirection enum. Tweaked formatting. Use bool instead of uint8_t as
underlying type for enum class with only two values. Updated for changes above.

  • platform/text/TextEncoding.cpp:

(WebCore::TextEncoding::TextEncoding): Updated for "atomic" -> "atom".
(WebCore::TextEncoding::domName const): Ditto.
(WebCore::TextEncoding::usesVisualOrdering const): Ditto.

  • platform/text/TextEncodingRegistry.cpp:

(WebCore::addToTextEncodingNameMap): Ditto.
(WebCore::addToTextCodecMap): Ditto.
(WebCore::pruneBlacklistedCodecs): Ditto.
(WebCore::addEncodingName): Ditto.
(WebCore::atomCanonicalTextEncodingName): Ditto.

  • platform/text/TextEncodingRegistry.h: Ditto.
  • xml/XPathFunctions.cpp:

(WebCore::XPath::atomicSubstring): Deleted.
(WebCore::XPath::toStringView): Added. Later could make a StringBuilder member
function instead.
(WebCore::XPath::FunId::evaluate const): Use toStringView and StringView::substring
instead of "atomicSubstring", since getElementById can be called on a StringView
and there's no need to allocate/deallocate an AtomString just to check if it exists.

Source/WebKit:

  • WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:

(WebKit::InjectedBundleHitTestResult::mediaType const): Use is<HTMLMediaElement>.

Source/WebKitLegacy/win:

  • AccessibleBase.cpp:

(AccessibleBase::get_attribute): Updated for "atomic" -> "atom".

8:09 AM Changeset in webkit [253922] by commit-queue@webkit.org
  • 5 edits
    11 moves
    6 adds
    5 deletes in trunk/LayoutTests

LayoutTests/imported/w3c:
[css-grid] Move some alignment tests to the WPT folder and add width-keyword-classes.css
https://bugs.webkit.org/show_bug.cgi?id=204407

Patch by Rossana Monteriso <rmonteriso@igalia.com> on 2019-12-27
Reviewed by Javier Fernandez.

Add some css alignment tests from WebKit, checked and adapted to WPT, in the corresponding css-grid/alignment folder.
Add width-keyword-classes.css support file to css/support, to make it easily available to all css tests.

  • resources/import-expectations.json:
  • web-platform-tests/css/css-grid/alignment/grid-align-content.html:
  • web-platform-tests/css/css-grid/alignment/grid-align-content-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-align-justify-margin-border-padding-vertical-lr.html:
  • web-platform-tests/css/css-grid/alignment/grid-align-justify-margin-border-padding-vertical-lr-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-align-justify-margin-border-padding-vertical-rl.html:
  • web-platform-tests/css/css-grid/alignment/grid-align-justify-margin-border-padding-vertical-rl-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-align-justify-margin-border-padding.html:
  • web-platform-tests/css/css-grid/alignment/grid-align-justify-margin-border-padding-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-align-justify-overflow.html:
  • web-platform-tests/css/css-grid/alignment/grid-align-justify-overflow-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-align-justify-stretch-with-orthogonal-flows.html:
  • web-platform-tests/css/css-grid/alignment/grid-align-justify-stretch-with-orthogonal-flows-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-align-justify-stretch.html:
  • web-platform-tests/css/css-grid/alignment/grid-align-justify-stretch-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-align.html:
  • web-platform-tests/css/css-grid/alignment/grid-align-expected.txt:
  • web-platform-tests/css/css-grid/alignment/w3c-import.log:
  • web-platform-tests/css/support/width-keyword-classes.css:

LayoutTests:
[css-grid] Move some alignment tests to the WPT folder
https://bugs.webkit.org/show_bug.cgi?id=204407

Patch by Rossana Monteriso <rmonteriso@igalia.com> on 2019-12-27
Reviewed by Javier Fernandez.

Remove some tests from fast/css-grid/alignment, that are being replaced by adapted tests in the corresponding WPT test folder.

  • fast/css-grid-layout/grid-align-content-expected.txt: Removed.
  • fast/css-grid-layout/grid-align-expected.txt: Removed.
  • fast/css-grid-layout/grid-align-justify-margin-border-padding-expected.txt: Removed.
  • fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-lr-expected.txt: Removed.
  • fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-rl-expected.txt: Removed.
  • fast/css-grid-layout/grid-align-justify-overflow-expected.txt: Removed.
  • fast/css-grid-layout/grid-align-justify-stretch-expected.txt: Removed.
  • fast/css-grid-layout/grid-align-justify-stretch-with-orthogonal-flows-expected.txt: Removed.
  • fast/css-grid-layout/grid-align-justify-stretch-with-orthogonal-flows.html: Removed.
  • fast/css-grid-layout/grid-align-content.html: Removed.
  • fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-lr.html: Removed.
  • fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-rl.html: Removed.
  • fast/css-grid-layout/grid-align-justify-margin-border-padding.html: Removed.
  • fast/css-grid-layout/grid-align-justify-overflow.html: Removed.
  • fast/css-grid-layout/grid-align-justify-stretch-with-orthogonal-flows.html: Removed.
  • fast/css-grid-layout/grid-align-justify-stretch.html: Removed.
  • fast/css-grid-layout/grid-align.html: Removed.
  • resources/import-expectations.json:
  • web-platform-tests/css/css-grid/alignment/w3c-import.log:
7:22 AM Changeset in webkit [253921] by Antti Koivisto
  • 4 edits in trunk/Source/WebCore

[LFC][Integration] Ensure layout boxes have expected display types
https://bugs.webkit.org/show_bug.cgi?id=205606

Reviewed by Zalan Bujtas.

In some cases render tree may have display property values that don't match the renderer type. This is fine since the behavior is driven by the renderer.

LFC layout is driven by display property so the effective value needs to make sense. This patch fixes assertions seen in

fast/css/fieldset-display-row.html
fast/css-grid-layout/grid-strict-ordering-crash-2.html
imported/w3c/web-platform-tests/css/css-display/display-flow-root-001.html
imported/w3c/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-display.html
tables/mozilla/bugs/bug275625.html

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::LineLayout):

  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::TreeBuilder::buildLayoutTreeForIntegration):

Always set display to 'block' for the root RenderBlockFlow.
Renamed for clarity.

(WebCore::Layout::TreeBuilder::createLayoutBox):

Always set <br> display to inline.

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

Pass the parent container instead of parent renderer so we can read effective style.

  • layout/layouttree/LayoutTreeBuilder.h:
6:13 AM Changeset in webkit [253920] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Fix LayoutTests/fast/backgrounds/size/backgroundSize15.html
https://bugs.webkit.org/show_bug.cgi?id=205602
<rdar://problem/58212499>

Reviewed by Antti Koivisto.

softWrapOpportunityIndex could point after the last inline item in the list (when there's no more wrap opportunity)
e.g text<br> : the softWrapOpportunityIndex is 2.

  • layout/inlineformatting/LineLayoutContext.cpp:

(WebCore::Layout::LineLayoutContext::nextContentForLine):

2:50 AM Changeset in webkit [253919] by commit-queue@webkit.org
  • 8 edits
    3 deletes in trunk

ANGLE: Fix WebGL conformance tests for EXT_texture_filter_anisotropic
https://bugs.webkit.org/show_bug.cgi?id=205520

Fixes get-extension.html and ext-texture-filter-anisotropic.html.

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

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::getExtension):
(WebCore::WebGL2RenderingContext::getSupportedExtensions):
(WebCore::WebGL2RenderingContext::getParameter):

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getExtension):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::getTexParameter):

12:49 AM Changeset in webkit [253918] by commit-queue@webkit.org
  • 6 edits
    4 deletes in trunk

ANGLE: Fix WebGL conformance test framebuffer-object-attachment.html
https://bugs.webkit.org/show_bug.cgi?id=205514

Rely on ANGLE to implement DEPTH_STENCIL_ATTACHMENT instead of emulating it.

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

  • html/canvas/WebGLFramebuffer.cpp:

(WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::setupFlags):
(WebCore::WebGLRenderingContextBase::framebufferRenderbuffer):
(WebCore::WebGLRenderingContextBase::readPixels):

Dec 26, 2019:

12:38 PM Changeset in webkit [253917] by Antti Koivisto
  • 9 edits
    2 adds in trunk

Remove display:compact
https://bugs.webkit.org/show_bug.cgi?id=205597

Reviewed by Anders Carlsson.

Source/WebCore:

It is rendered as 'block' but the value is still parsed. Remove it completely, matching other engines.

Test: fast/css/display-compact-ignored.html

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • css/CSSValueKeywords.in:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::createFor):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustStyle):

  • rendering/style/RenderStyleConstants.cpp:

(WebCore::operator<<):

  • rendering/style/RenderStyleConstants.h:
  • style/StyleAdjuster.cpp:

(WebCore::Style::equivalentBlockDisplay):

LayoutTests:

  • fast/css/display-compact-ignored-expected.txt: Added.
  • fast/css/display-compact-ignored.html: Added.
11:01 AM Changeset in webkit [253916] by Wenson Hsieh
  • 21 edits in trunk/Source/WebCore

Minor code cleanup around WebCore::Path
https://bugs.webkit.org/show_bug.cgi?id=205574

Reviewed by Anders Carlsson.

Carry out some minor refactoring in WebCore::Path:

  • Change PathElementType into an 8-bit-wide enum class, and move it under PathElement's namespace as simply Type.
  • Change PathElement's FloatPoint* that points to an array of 3 FloatPoints into a FloatPoint[3].
  • Change Path::strokeContains() to take a StrokeStyleApplier& instead of a StrokeStyleApplier*, since it assumes that the given StrokeStyleApplier is nonnull anyways.
  • Change Path::RoundedRectStrategy into an 8-bit enum class.
  • Other miscellaneous style fixes.

No change in behavior.

  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

(convertPathToScreenSpaceFunction):

  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::isPointInStrokeInternal):

  • inspector/InspectorOverlay.cpp:

(WebCore::drawShapeHighlight):

  • platform/graphics/FontCascade.cpp:

(WebCore::findPathIntersections):

  • platform/graphics/Path.cpp:

(WebCore::Path::addRoundedRect):
(WebCore::operator<<):

  • platform/graphics/Path.h:

(WebCore::Path::encode const):
(WebCore::Path::decode):

  • platform/graphics/PathTraversalState.cpp:

(WebCore::PathTraversalState::appendPathElement):
(WebCore::PathTraversalState::processPathElement):

  • platform/graphics/PathTraversalState.h:
  • platform/graphics/cairo/PathCairo.cpp:

(WebCore::Path::strokeContains const):
(WebCore::Path::apply const):

  • platform/graphics/cg/PathCG.cpp:

(WebCore::Path::strokeContains const):
(WebCore::CGPathApplierToPathApplier):

  • platform/graphics/win/PathDirect2D.cpp:

(WebCore::Path::strokeContains const):

  • rendering/shapes/BoxShape.cpp:

(WebCore::BoxShape::buildDisplayPaths const):

  • rendering/shapes/RectangleShape.cpp:

(WebCore::RectangleShape::buildDisplayPaths const):

  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::shapeDependentStrokeContains):

  • rendering/svg/SVGMarkerData.h:

(WebCore::SVGMarkerData::updateMarkerDataForPathElement):

  • rendering/svg/SVGPathData.cpp:

(WebCore::pathFromRectElement):

  • rendering/svg/SVGSubpathData.h:

(WebCore::SVGSubpathData::updateFromPathElement):

  • svg/SVGPathTraversalStateBuilder.cpp:

(WebCore::SVGPathTraversalStateBuilder::moveTo):
(WebCore::SVGPathTraversalStateBuilder::lineTo):
(WebCore::SVGPathTraversalStateBuilder::curveToCubic):
(WebCore::SVGPathTraversalStateBuilder::closePath):

  • svg/SVGPathUtilities.cpp:

(WebCore::buildStringFromPath):

  • testing/Internals.cpp:

(WebCore::Internals::pathStringWithShrinkWrappedRects):

8:01 AM Changeset in webkit [253915] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] When align the inline content we need to align the line as well
https://bugs.webkit.org/show_bug.cgi?id=205596
<rdar://problem/58197300>

Reviewed by Antti Koivisto.

Horizontal alignment means that we not only adjust the runs but also make sure the line box is aligned as well.

<div style="text-align: center; width: 100px;">centered text</div>
The line box will also be centered as opposed to start at 0px all the way to [centered text] run's right edge.

  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::close):
(WebCore::Layout::LineBuilder::alignHorizontally):
(WebCore::Layout::LineBuilder::alignContentHorizontally const): Deleted.

  • layout/inlineformatting/InlineLineBuilder.h:
2:12 AM Changeset in webkit [253914] by Carlos Garcia Campos
  • 8 edits
    2 adds in trunk/Source/WebKit

[GTK][WPE] Remove duplicated code
https://bugs.webkit.org/show_bug.cgi?id=205560

Reviewed by Sergio Villar Senin.

Remove duplicated code related to IME between GTK and WPE that can be shared.

  • SourcesGTK.txt:
  • SourcesWPE.txt:
  • WebProcess/WebCoreSupport/glib/WebEditorClientGLib.cpp: Added.

(WebKit::WebEditorClient::handleInputMethodKeydown):
(WebKit::WebEditorClient::didDispatchInputMethodKeydown):

  • WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
  • WebProcess/WebCoreSupport/wpe/WebEditorClientWPE.cpp:
  • WebProcess/WebPage/glib/WebPageGLib.cpp:

(WebKit::WebPage::setInputMethodState):

  • WebProcess/WebPage/gtk/WebPageGtk.cpp:
  • WebProcess/WebPage/wpe/WebPageWPE.cpp:
2:11 AM Changeset in webkit [253913] by youenn@apple.com
  • 3 edits in trunk/LayoutTests

REGRESSION: [ Mojave+ Debug ] fast/mediastream/captureStream/canvas2d-heavy-drawing.html is a flakey failure
https://bugs.webkit.org/show_bug.cgi?id=205365
<rdar://problem/58026430>

Reviewed by Eric Carlson.

  • fast/mediastream/captureStream/canvas2d-heavy-drawing.html:

Unflake test by comparing the number of frames with the number of printLine calls.
They should never diverge too much one from the other.

  • platform/mac-wk2/TestExpectations:
1:18 AM WebKitW3CTesting edited by Pablo Saavedra
(diff)
Note: See TracTimeline for information about the timeline view.