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

Timeline



Nov 10, 2019:

10:25 PM Changeset in webkit [252321] by Kocsen Chung
  • 4 edits in branches/safari-608.4.9.0-branch/Source

Cherry-pick r252297. rdar://problem/57040122

[WebAuthn] Add quirk needed to support legacy Google NFC Titan security keys
https://bugs.webkit.org/show_bug.cgi?id=204024
<rdar://problem/56962320>

Reviewed by Brent Fulgham.

Source/WebCore:

Covered by manual tests.

  • Modules/webauthn/fido/FidoConstants.h:

Source/WebKit:

Some legacy U2F keys such as Google T1 Titan don't understand the FIDO applet command. Instead,
they are configured to only have the FIDO applet. Therefore, when the above command fails, we
use U2F_VERSION command to double check if the connected tag can actually speak U2F, indicating
we are interacting with one of these legacy keys.

  • UIProcess/WebAuthentication/Cocoa/NfcConnection.mm: (WebKit::fido::compareVersion): (WebKit::fido::trySelectFidoApplet): (WebKit::NfcConnection::transact const): (WebKit::NfcConnection::didDetectTags):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252297 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:08 PM Changeset in webkit [252320] by Kocsen Chung
  • 7 edits in branches/safari-608.4.9.0-branch/Source

Versioning.

10:04 PM Changeset in webkit [252319] by Kocsen Chung
  • 4 edits in branches/safari-608.4.9.1-branch/Source

Cherry-pick r252297. rdar://problem/57058404

[WebAuthn] Add quirk needed to support legacy Google NFC Titan security keys
https://bugs.webkit.org/show_bug.cgi?id=204024
<rdar://problem/56962320>

Reviewed by Brent Fulgham.

Source/WebCore:

Covered by manual tests.

  • Modules/webauthn/fido/FidoConstants.h:

Source/WebKit:

Some legacy U2F keys such as Google T1 Titan don't understand the FIDO applet command. Instead,
they are configured to only have the FIDO applet. Therefore, when the above command fails, we
use U2F_VERSION command to double check if the connected tag can actually speak U2F, indicating
we are interacting with one of these legacy keys.

  • UIProcess/WebAuthentication/Cocoa/NfcConnection.mm: (WebKit::fido::compareVersion): (WebKit::fido::trySelectFidoApplet): (WebKit::NfcConnection::transact const): (WebKit::NfcConnection::didDetectTags):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252297 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9:59 PM Changeset in webkit [252318] by Kocsen Chung
  • 7 edits in branches/safari-608.4.9.1-branch/Source

Versioning.

9:39 PM Changeset in webkit [252317] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

iOS: fast/events/scroll-subframe-in-rendering-update.html always fails
https://bugs.webkit.org/show_bug.cgi?id=204045

Reviewed by Wenson Hsieh.

Enable async & frame scrolling to make the test work in iOS.

  • fast/events/scroll-subframe-in-rendering-update.html:
8:09 PM Changeset in webkit [252316] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

[LFC][IFC] Move Line::Run's line layout specific logic to InlineItemRun
https://bugs.webkit.org/show_bug.cgi?id=204055
<rdar://problem/57053232>

Reviewed by Antti Koivisto.

Line::Run started getting a bit overloaded through supporting the line layout logic and providing the 'run' interface
to the caller (e.g. merging multiple runs happens at the very end of the line layout, when the line is being closed. When a run
is expanded some of the properties do not make sense anymore. It makes part of the Run's logic unnecessarily complicated).
This patch introduces the InlineItemRun structure to support the line layout logic. We construct InlineItemRuns
as InlineItems are getting appended to the line and when the line is getting closed, we turn them into Line::Runs (InlineItems are never merged, only Line::Runs are).

  • layout/displaytree/DisplayRun.h:

(WebCore::Display::Run::TextContext::setExpansion):
(WebCore::Display::Run::Run):
(WebCore::Display::Run::TextContext::resetExpansion): Deleted.

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::setDisplayBoxesForLine):

  • layout/inlineformatting/InlineFormattingContextQuirks.cpp:

(WebCore::Layout::InlineFormattingContext::Quirks::lineDescentNeedsCollapsing const):

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::InlineItemRun::layoutBox const):
(WebCore::Layout::InlineItemRun::logicalRect const):
(WebCore::Layout::InlineItemRun::textContext const):
(WebCore::Layout::InlineItemRun::isText const):
(WebCore::Layout::InlineItemRun::isBox const):
(WebCore::Layout::InlineItemRun::isContainerStart const):
(WebCore::Layout::InlineItemRun::isContainerEnd const):
(WebCore::Layout::InlineItemRun::type const):
(WebCore::Layout::InlineItemRun::setIsCollapsed):
(WebCore::Layout::InlineItemRun::isCollapsed const):
(WebCore::Layout::InlineItemRun::isCollapsedToZeroAdvanceWidth const):
(WebCore::Layout::InlineItemRun::isCollapsible const):
(WebCore::Layout::InlineItemRun::isWhitespace const):
(WebCore::Layout::InlineItemRun::hasExpansionOpportunity const):
(WebCore::Layout::InlineItemRun::InlineItemRun):
(WebCore::Layout::InlineItemRun::setCollapsesToZeroAdvanceWidth):
(WebCore::Layout::Line::Run::Run):
(WebCore::Layout::Line::Run::adjustExpansionBehavior):
(WebCore::Layout::Line::Run::expansionBehavior const):
(WebCore::Layout::Line::Run::setHasExpansionOpportunity):
(WebCore::Layout::Line::Run::setComputedHorizontalExpansion):
(WebCore::Layout::Line::Run::expand):
(WebCore::Layout::Line::~Line):
(WebCore::Layout::Line::isVisuallyEmpty const):
(WebCore::Layout::Line::close):
(WebCore::Layout::Line::alignContentVertically const):
(WebCore::Layout::Line::justifyRuns const):
(WebCore::Layout::Line::alignContentHorizontally const):
(WebCore::Layout::Line::removeTrailingTrimmableContent):
(WebCore::Layout::Line::trailingTrimmableWidth const):
(WebCore::Layout::Line::appendNonBreakableSpace):
(WebCore::Layout::Line::appendTextContent):
(WebCore::Layout::Line::appendNonReplacedInlineBox):
(WebCore::Layout::Line::appendReplacedInlineBox): Need to find a better place for setImage.
(WebCore::Layout::Line::appendLineBreak):
(WebCore::Layout::Line::alignContentVertically): Deleted.
(WebCore::Layout::Line::justifyRuns): Deleted.
(WebCore::Layout::Line::alignContentHorizontally): Deleted.

  • layout/inlineformatting/InlineLine.h:

(WebCore::Layout::Line::Run::layoutBox const):
(WebCore::Layout::Line::Run::logicalRect const):
(WebCore::Layout::Line::Run::textContext const):
(WebCore::Layout::Line::Run::isCollapsedToVisuallyEmpty const):
(WebCore::Layout::Line::Run::adjustLogicalTop):
(WebCore::Layout::Line::Run::moveHorizontally):
(WebCore::Layout::Line::Run::moveVertically):
(WebCore::Layout::Line::Run::setTextContext):
(WebCore::Layout::Line::Run::setIsCollapsedToVisuallyEmpty):
(WebCore::Layout::Line::Run::hasExpansionOpportunity const):
(WebCore::Layout::Line::Run::expansionOpportunityCount const):
(WebCore::Layout::Line::Run::displayRun const): Deleted.
(WebCore::Layout::Line::Run::isCollapsed const): Deleted.
(WebCore::Layout::Line::Run::isCollapsible const): Deleted.
(WebCore::Layout::Line::Run::hasTrailingCollapsedContent const): Deleted.
(WebCore::Layout::Line::Run::isWhitespace const): Deleted.
(WebCore::Layout::Line::Run::setIsCollapsed): Deleted.
(WebCore::Layout::Line::Run::isCollapsedToZeroAdvanceWidth const): Deleted.
(WebCore::Layout::Line::Run::setCollapsesToZeroAdvanceWidth): Deleted.
(WebCore::Layout::Line::Run::expansionBehavior const): Deleted.
(WebCore::Layout::Line::Run::setHasExpansionOpportunity): Deleted.
(WebCore::Layout::Line::Run::adjustExpansionBehavior): Deleted.
(WebCore::Layout::Line::Run::setComputedHorizontalExpansion): Deleted.

4:16 PM Changeset in webkit [252315] by Wenson Hsieh
  • 8 edits in trunk/Source/WebCore

[Clipboard API] Add some infrastructure to resolve ClipboardItems into pasteboard data for writing
https://bugs.webkit.org/show_bug.cgi?id=203707

Reviewed by Ryosuke Niwa.

Implements a new method that will be used in a future patch to aggregate data vended by ClipboardItems when
writing items to the platform pasteboard. See below for more details; no new tests, since there is no change in
behavior yet.

  • Modules/async-clipboard/ClipboardItem.cpp:

(WebCore::ClipboardItem::collectDataForWriting):

Add a new virtual collectDataForWriting method, which is used when writing ClipboardItem data to the
pasteboard. This allows ClipboardItems to asynchronously convert data to a PasteboardCustomData after resolving
promises to strings or blobs; or alternately, cancel all data loading if a promise is rejected.

In order to convert items into a list of PasteboardCustomData, we do the following:

set up a PasteboardCustomData corresponding to each clipboard item
for each clipboard item:

for each type in the clipboard item:

try to resolve the promise
if the promise resolved to a string:

write the string to custom data under the type

if the promise resolved to a blob:

load the blob data as either text or an ArrayBuffer (depending on the type)
write either the loaded string or buffer to custom data under the type

if the promise rejected or resolved to an unsupported value, bail from these steps

  • Modules/async-clipboard/ClipboardItem.h:
  • Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:

(WebCore::documentFromClipboard):
(WebCore::readTypeForMIMEType):
(WebCore::ClipboardItemBindingsDataSource::collectDataForWriting):
(WebCore::ClipboardItemBindingsDataSource::invokeCompletionHandler):
(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::ClipboardItemTypeLoader):
(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::~ClipboardItemTypeLoader):

Add a helper class to hold state associated with loading each clipboard type. This includes the final data
itself (a variant that holds either a String or Blob), as well as a FileReaderLoader which may be present in the
case where the clipboard item type resolves to a blob.

(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::didFinishLoading):
(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::didFail):

Each ClipboardItemType is also the client for its FileReaderLoader, if present; when the FileReaderLoader
finishes loading or fails, we then extract data from the loader and invoke the completion handler.

(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::invokeCompletionHandler):
(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::didResolveToBlob):
(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::didFailToResolve):
(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::didResolveToString):

One of these three methods is called when the promise corresponding to a clipboard type is either resolved or
rejected. If rejected or resolved to an incompatible type, we call the completion handler immediately with no
data; if we resolve to a string, we simply store the string in m_data and invoke the completion handler;
otherwise, if we resolve to a blob, we create a new loader to fetch either the string or data buffer for the
blob, and wait until either didFinishLoading or didFail is called.

  • Modules/async-clipboard/ClipboardItemBindingsDataSource.h:

(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::create):
(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::type):
(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::data):

  • Modules/async-clipboard/ClipboardItemDataSource.h:
  • Modules/async-clipboard/ClipboardItemPasteboardDataSource.cpp:

(WebCore::ClipboardItemPasteboardDataSource::collectDataForWriting):

For the time being, leave this unimplemented; a future patch will add support for writing ClipboardItems that
came from the platform pasteboard, as opposed to those created by the page.

  • Modules/async-clipboard/ClipboardItemPasteboardDataSource.h:
3:45 PM Changeset in webkit [252314] by ddkilzer@apple.com
  • 4 edits in trunk/Source/WebKit

StorageManagerSet.m_storageAreas should use weak pointers to StorageArea
<https://webkit.org/b/204048>
<rdar://problem/55342744>

Reviewed by Geoffrey Garen.

  • NetworkProcess/WebStorage/StorageArea.h:

(class WebKit::StorageArea):

  • Inherit from CanMakeWeakPtr<StorageArea>.
  • NetworkProcess/WebStorage/StorageManagerSet.cpp:

(WebKit::StorageManagerSet::removeConnection):
(WebKit::StorageManagerSet::waitUntilSyncingLocalStorageFinished):
(WebKit::StorageManagerSet::connectToLocalStorageArea):
(WebKit::StorageManagerSet::connectToTransientLocalStorageArea):
(WebKit::StorageManagerSet::connectToSessionStorageArea):
(WebKit::StorageManagerSet::disconnectFromStorageArea):
(WebKit::StorageManagerSet::getValues): Initialize quotaError
stack value since it is not guaranteed to be set.
(WebKit::StorageManagerSet::setItem):
(WebKit::StorageManagerSet::removeItem):
(WebKit::StorageManagerSet::clear):

  • Use makeWeakPtr() to add StorageArea pointers to m_storageAreas.
  • Use const auto& to store WeakPtr<StorageArea> values from m_storageAreas.
  • Add nullptr checks before using WeakPtr<StorageArea> values.
  • NetworkProcess/WebStorage/StorageManagerSet.h:

(WebKit::StorageManagerSet::m_storageAreas):

  • Use WeakPtr<StorageArea>.
12:01 AM Changeset in webkit [252313] by Antti Koivisto
  • 11 edits in trunk/Source/WebCore

Stack allocate StyleResolver state
https://bugs.webkit.org/show_bug.cgi?id=204053

Reviewed by Zalan Bujtas.

State is currently awkwardly a member that gets cleared. It should be stack allocated and
passed around where needed.

  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::updateBlendingKeyframes):

  • css/DOMCSSRegisterCustomProperty.cpp:

(WebCore::DOMCSSRegisterCustomProperty::registerProperty):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::builderContext):

Helper for initializing Style::Builder from resolver state.

(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::keyframeStylesForAnimation):
(WebCore::StyleResolver::pseudoStyleForElement):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::defaultStyleForElement):
(WebCore::StyleResolver::pseudoStyleRulesForElement):
(WebCore::StyleResolver::applyMatchedProperties):
(WebCore::StyleResolver::State::clear): Deleted.

Nothing to clear, state is transient.

(WebCore::StyleResolver::setNewStateWithElement): Deleted.
(WebCore::StyleResolver::applyPropertyToStyle): Deleted.
(WebCore::StyleResolver::applyPropertyToCurrentStyle): Deleted.

Style::Builder can be used directly to apply properties instead of via these functions that require state setup.

(WebCore::StyleResolver::initializeFontStyle): Deleted.

  • css/StyleResolver.h:

(WebCore::StyleResolver::inspectorCSSOMWrappers):
(WebCore::StyleResolver::style const): Deleted.
(WebCore::StyleResolver::parentStyle const): Deleted.
(WebCore::StyleResolver::rootElementStyle const): Deleted.
(WebCore::StyleResolver::element const): Deleted.
(WebCore::StyleResolver::state): Deleted.
(WebCore::StyleResolver::state const): Deleted.

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::setFont):

Use Style::Builder directly to apply properties.

  • style/StyleBuilder.cpp:

(WebCore::Style::Builder::Builder):

Encapsulte immutable arguments into BuilderContext type.

(WebCore::Style::Builder::applyPropertyValue):

  • style/StyleBuilder.h:
  • style/StyleBuilderState.cpp:

(WebCore::Style::BuilderState::BuilderState):
(WebCore::Style::BuilderState::updateFontForZoomChange):
(WebCore::Style::BuilderState::updateFontForGenericFamilyChange):

  • style/StyleBuilderState.h:

(WebCore::Style::BuilderState::parentStyle const):
(WebCore::Style::BuilderState::rootElementStyle const):
(WebCore::Style::BuilderState::document const):
(WebCore::Style::BuilderState::element const):
(WebCore::Style::BuilderState::parentFontDescription):

Nov 9, 2019:

11:12 PM Changeset in webkit [252312] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

iOS: fast/events/scroll-subframe-in-rendering-update.html always fails
https://bugs.webkit.org/show_bug.cgi?id=204045

Reviewed by Alexey Proskuryakov.

Add a failing test expectation for now while we investigate how to fix the test.

  • platform/ios/TestExpectations:
7:30 PM Changeset in webkit [252311] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

iOS: fast/events/scroll-subframe-in-rendering-update.html always fails
https://bugs.webkit.org/show_bug.cgi?id=204045

Reviewed by Alexey Proskuryakov.

Disable the frame flattening to make the test work on iOS.

  • fast/events/scroll-subframe-in-rendering-update.html:
3:35 PM Changeset in webkit [252310] by Tadeu Zagallo
  • 9 edits
    1 add in trunk/Source/JavaScriptCore

[WebAssembly] Improve bytecode dumping
https://bugs.webkit.org/show_bug.cgi?id=204051

Reviewed by Keith Miller.

This patch improves the bytecode dumping for Wasm by:

  • Adding a new option that dumps only the Wasm bytecode. It can be quite hard to find the Wasm bytecode in the middle of a ton of JS bytecode dumps.
  • Adding a header with name of the function and stats, similar to the JS dump.
  • Using Wasm types to properly print constants, and including the type in constants table at the end of the dump.

Here's an example of the updated bytecode dump:

<?>.wasm-function[26] : (I32) -> [I32]
wasm size: 4 bytes
bytecode: 6 instructions (0 16-bit instructions, 0 32-bit instructions); 14 bytes; 1 parameter(s); 18 local(s); 22 callee register(s)
[ 0] enter
[ 1] mov loc18, null(const0)
[ 4] mov loc20, loc4
[ 7] mov loc19, loc20
[ 10] mov loc4, loc19
[ 13] ret

Constants:

const0 : Anyref = null

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/BytecodeDumper.cpp:

(JSC::Wasm::BytecodeDumper::dumpBlock):
(JSC::Wasm::BytecodeDumper::dumpConstants):
(JSC::Wasm::BytecodeDumper::constantName const):
(JSC::Wasm::BytecodeDumper::formatConstant const):

  • bytecode/BytecodeDumper.h:

(JSC::BytecodeDumper::~BytecodeDumper):

  • runtime/OptionsList.h:
  • wasm/WasmFunctionCodeBlock.cpp:
  • wasm/WasmFunctionCodeBlock.h:

(JSC::Wasm::FunctionCodeBlock::functionIndex const):
(JSC::Wasm::FunctionCodeBlock::numVars const):
(JSC::Wasm::FunctionCodeBlock::numCalleeLocals const):
(JSC::Wasm::FunctionCodeBlock::numArguments const):
(JSC::Wasm::FunctionCodeBlock::constantTypes const):
(JSC::Wasm::FunctionCodeBlock::constants const):
(JSC::Wasm::FunctionCodeBlock::instructions const):
(JSC::Wasm::FunctionCodeBlock::getConstantType const):

  • wasm/WasmGeneratorTraits.h: Added.
  • wasm/WasmLLIntGenerator.cpp:

(JSC::Wasm::LLIntGenerator::addConstant):

  • wasm/WasmLLIntPlan.cpp:

(JSC::Wasm::LLIntPlan::didCompleteCompilation):

12:32 PM WebKitGoalsfor2020 edited by mjs@apple.com
(diff)
12:14 PM Changeset in webkit [252309] by dino@apple.com
  • 7 edits
    2 adds in trunk

Clicky Orbing support.apple.com categories shows a PNG instead of the web page preview, tapping loads image asset only instead of web page
https://bugs.webkit.org/show_bug.cgi?id=204037
<rdar://55614939>

Reviewed by Simon Fraser.

Source/WebKit:

When Safari adopted the ContextMenu API they began providing a PreviewViewController that
showed the image rather than the link, for the case of <a><img></a>.

This could be fixed in Safari, but I noticed that we actually tell the delegate that the
type of the activated element is an image, which is why they treat it as such. It's not
clear that because the image also has a link attached, a client should defer to the link.

Instead, I think it makes more sense to identify this as a link, because that is the more
important information in this API.

While here I also changed the logic to make sure we call the API if both the API and SPI
are available.

New ContextMenus and WKRequestActivatedElementInfo API tests.

  • UIProcess/API/Cocoa/_WKActivatedElementInfo.mm: Identify as a link if you have a link.

(-[_WKActivatedElementInfo _initWithInteractionInformationAtPosition:userInfo:]):

  • UIProcess/ios/WKContentViewInteraction.mm: Look for the API before the SPI.

(-[WKContentView continueContextMenuInteraction:]):

Tools:

New tests for a link wrapping an image, and the ordering of API and SPI.

Rename these tests so that they are much easier to filter on the command line.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm:

(TEST):
(-[TestContextMenuAPIBeforeSPIUIDelegate webView:contextMenuConfigurationForElement:completionHandler:]):
(-[TestContextMenuAPIBeforeSPIUIDelegate _webView:contextMenuConfigurationForElement:completionHandler:]):
(-[TestContextMenuAPIBeforeSPIUIDelegate webView:contextMenuWillPresentForElement:]):

  • TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/image.html: Added.
  • TestWebKitAPI/Tests/WebKitCocoa/link-with-image.html: Added.
9:09 AM Changeset in webkit [252308] by Antti Koivisto
  • 19 edits
    1 copy
    1 add in trunk/Source/WebCore

Move style adjustment code out of StyleResolver and into a class of its own
https://bugs.webkit.org/show_bug.cgi?id=204041

Reviewed by Zalan Bujtas.

Introduce Style::Adjuster.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::pseudoStyleForElement):
(WebCore::addIntrinsicMargins): Deleted.
(WebCore::equivalentBlockDisplay): Deleted.
(WebCore::doesNotInheritTextDecoration): Deleted.
(WebCore::isScrollableOverflow): Deleted.
(WebCore::hasEffectiveDisplayNoneForDisplayContents): Deleted.
(WebCore::adjustDisplayContentsStyle): Deleted.
(WebCore::StyleResolver::adjustSVGElementStyle): Deleted.
(WebCore::computeEffectiveTouchActions): Deleted.
(WebCore::hasTextChild): Deleted.
(WebCore::StyleResolver::adjustRenderStyleForTextAutosizing): Deleted.
(WebCore::StyleResolver::adjustRenderStyle): Deleted.
(WebCore::StyleResolver::adjustRenderStyleForSiteSpecificQuirks): Deleted.

  • css/StyleResolver.h:
  • page/Page.cpp:

(WebCore::Page::recomputeTextAutoSizingInAllFrames):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustStyle):

None of this code uses the StyleResolver argument so remove it.

(WebCore::RenderTheme::adjustCheckboxStyle const):
(WebCore::RenderTheme::adjustRadioStyle const):
(WebCore::RenderTheme::adjustButtonStyle const):
(WebCore::RenderTheme::adjustInnerSpinButtonStyle const):
(WebCore::RenderTheme::adjustTextFieldStyle const):
(WebCore::RenderTheme::adjustTextAreaStyle const):
(WebCore::RenderTheme::adjustMenuListStyle const):
(WebCore::RenderTheme::adjustMeterStyle const):
(WebCore::RenderTheme::adjustCapsLockIndicatorStyle const):
(WebCore::RenderTheme::adjustAttachmentStyle const):
(WebCore::RenderTheme::adjustListButtonStyle const):
(WebCore::RenderTheme::adjustProgressBarStyle const):
(WebCore::RenderTheme::adjustMenuListButtonStyle const):
(WebCore::RenderTheme::adjustMediaControlStyle const):
(WebCore::RenderTheme::adjustSliderTrackStyle const):
(WebCore::RenderTheme::adjustSliderThumbStyle const):
(WebCore::RenderTheme::adjustSearchFieldStyle const):
(WebCore::RenderTheme::adjustSearchFieldCancelButtonStyle const):
(WebCore::RenderTheme::adjustSearchFieldDecorationPartStyle const):
(WebCore::RenderTheme::adjustSearchFieldResultsDecorationPartStyle const):
(WebCore::RenderTheme::adjustSearchFieldResultsButtonStyle const):

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::adjustApplePayButtonStyle const):

  • rendering/RenderThemeCocoa.h:
  • rendering/RenderThemeCocoa.mm:

(WebCore::RenderThemeCocoa::adjustApplePayButtonStyle const):

  • rendering/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::adjustButtonStyle const):
(WebCore::RenderThemeGtk::adjustMenuListStyle const):
(WebCore::RenderThemeGtk::adjustMenuListButtonStyle const):
(WebCore::RenderThemeGtk::adjustTextFieldStyle const):
(WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle const):
(WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationPartStyle const):
(WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle const):
(WebCore::RenderThemeGtk::adjustListButtonStyle const):
(WebCore::RenderThemeGtk::adjustSearchFieldStyle const):
(WebCore::RenderThemeGtk::adjustSliderTrackStyle const):
(WebCore::RenderThemeGtk::adjustSliderThumbStyle const):
(WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle const):
(WebCore::RenderThemeGtk::adjustProgressBarStyle const):

  • rendering/RenderThemeGtk.h:
  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::adjustCheckboxStyle const):
(WebCore::RenderThemeIOS::adjustRadioStyle const):
(WebCore::RenderThemeIOS::adjustMenuListButtonStyle const):
(WebCore::RenderThemeIOS::adjustSliderTrackStyle const):
(WebCore::RenderThemeIOS::adjustSearchFieldStyle const):
(WebCore::RenderThemeIOS::adjustButtonStyle const):

  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::setFontFromControlSize const):
(WebCore::RenderThemeMac::adjustListButtonStyle const):
(WebCore::RenderThemeMac::adjustTextFieldStyle const):
(WebCore::RenderThemeMac::adjustTextAreaStyle const):
(WebCore::RenderThemeMac::adjustProgressBarStyle const):
(WebCore::RenderThemeMac::adjustMenuListStyle const):
(WebCore::RenderThemeMac::adjustMenuListButtonStyle const):
(WebCore::RenderThemeMac::adjustSliderTrackStyle const):
(WebCore::RenderThemeMac::adjustSliderThumbStyle const):
(WebCore::RenderThemeMac::adjustSearchFieldStyle const):
(WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle const):
(WebCore::RenderThemeMac::adjustSearchFieldDecorationPartStyle const):
(WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationPartStyle const):
(WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle const):

  • style/StyleAdjuster.cpp: Added.

(WebCore::Style::Adjuster::Adjuster):
(WebCore::Style::addIntrinsicMargins):
(WebCore::Style::equivalentBlockDisplay):
(WebCore::Style::isAtShadowBoundary):
(WebCore::Style::doesNotInheritTextDecoration):
(WebCore::Style::isScrollableOverflow):
(WebCore::Style::computeEffectiveTouchActions):
(WebCore::Style::Adjuster::adjust const):
(WebCore::Style::hasEffectiveDisplayNoneForDisplayContents):
(WebCore::Style::Adjuster::adjustDisplayContentsStyle const):
(WebCore::Style::Adjuster::adjustSVGElementStyle):
(WebCore::Style::Adjuster::adjustForSiteSpecificQuirks const):
(WebCore::Style::hasTextChild):
(WebCore::Style::Adjuster::adjustForTextAutosizing):

  • style/StyleAdjuster.h: Added.
  • svg/SVGElement.cpp:

(WebCore::SVGElement::resolveCustomStyle):

3:05 AM Changeset in webkit [252307] by graouts@webkit.org
  • 2 edits in trunk/Source/WebCore

[Web Animations] Optimize animation resolution to not re-compute whether effects only contain accelerated animation properties
https://bugs.webkit.org/show_bug.cgi?id=204009

Reviewed by Dean Jackson.

A KeyframeEffect already exposes whether it only affects CSS properties that can be accelerated, so use this information instead
of iterating over an effect's animated properties during resolution to get at the same information.

No tests or changes to existed test expectations as this should not yield any change in behavior.

  • dom/Element.cpp:

(WebCore::Element::applyKeyframeEffects):

Note: See TracTimeline for information about the timeline view.