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

Timeline



Jul 5, 2020:

5:59 PM Changeset in webkit [263961] by commit-queue@webkit.org
  • 34 edits
    4 deletes in trunk

Unreviewed, reverting r263960.
https://bugs.webkit.org/show_bug.cgi?id=213980

Re-land, because r263959 somehow fixed the build issue caused
by r263953

Reverted changeset:

"Unreviewed, reverting r263953 and r263959."
https://bugs.webkit.org/show_bug.cgi?id=213979
https://trac.webkit.org/changeset/263960

5:46 PM Changeset in webkit [263960] by commit-queue@webkit.org
  • 34 edits
    4 adds in trunk

Unreviewed, reverting r263953 and r263959.
https://bugs.webkit.org/show_bug.cgi?id=213979

Broke internal build

Reverted changesets:

"[Cocoa] Move almost all features from FeatureDefines.xcconfig
to PlatformEnableCocoa.h"
https://bugs.webkit.org/show_bug.cgi?id=212542
https://trac.webkit.org/changeset/263953

"[Cocoa] Remove FEATURE_DEFINES from the Cocoa/Xcode build
system"
https://bugs.webkit.org/show_bug.cgi?id=213976
https://trac.webkit.org/changeset/263959

4:34 PM Changeset in webkit [263959] by Darin Adler
  • 32 edits
    4 deletes in trunk

[Cocoa] Remove FEATURE_DEFINES from the Cocoa/Xcode build system
https://bugs.webkit.org/show_bug.cgi?id=213976

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • Configurations/Base.xcconfig: Removed FEATURE_DEFINES.
  • Configurations/FeatureDefines.xcconfig: Removed.
  • Configurations/JSC.xcconfig: Removed include of FeatureDefines.xcconfig.
  • Configurations/JavaScriptCore.xcconfig: Ditto.
  • Configurations/ToolExecutable.xcconfig: Ditto.
  • DerivedSources-input.xcfilelist: Removed FeatureDefines.xcconfig.
  • DerivedSources.make: Removed FEATURE_DEFINES and FEATURE_DEFINE_FLAGS.
  • JavaScriptCore.xcodeproj/project.pbxproj: Removed FeatureDefines.xcconfig.

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Removed everything except for ENABLE_WEB_RTC.
  • Configurations/WebCore.xcconfig: Removed FEATURE_DEFINES.
  • DerivedSources-input.xcfilelist: Removed FeatureDefines.xcconfig.
  • DerivedSources.make: Removed FEATURE_DEFINES, FEATURE_DEFINE_FLAGS, and the dependency

on FeatureDefines.xcconfig.

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig: Removed.
  • Configurations/PAL.xcconfig: Removed FEATURE_DEFINES and the include

of FeatureDefines.xcconfig.

  • PAL.xcodeproj/project.pbxproj: Removed FeatureDefines.xcconfig.

Source/WebKit:

  • Configurations/BaseTarget.xcconfig: Removed FEATURE_DEFINES, and added

WK_ENABLE_EXPERIMENTAL_FEATURES,

  • Configurations/FeatureDefines.xcconfig: Removed everything except for ENABLE_WEB_RTC.

Source/WebKitLegacy:

  • WebKitLegacy.xcodeproj/project.pbxproj: Removed FeatureDefines.xconfig.

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig: Removed.
  • Configurations/WebKitLegacy.xcconfig: Removed FEATURE_DEFINES and the include of

FeatureDefines.xcconfig.

  • MigrateHeaders.make: Removed FEATURE_DEFINES, FEATURE_DEFINE_FLAGS, and

FEATURE_AND_PLATFORM_DEFINE_DEPENDENCIES. FEATURE_AND_PLATFORM_DEFINES is now used
solely to determine if this is an internal SDK build, which should be cleaned up later.

Tools:

  • Scripts/webkitpy/style/checkers/featuredefines.py: Removed all FeatureDefines.xcconfig

files except for the two that remain, WebCore and WebKit.

  • TestWebKitAPI/Configurations/Base.xcconfig: Removed FEATURE_DEFINES.
  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Removed.
  • TestWebKitAPI/Configurations/TestWTF.xcconfig: Removed include of FeatureDefines.xcconfig.
  • TestWebKitAPI/Configurations/TestWTFLibrary.xcconfig: Ditto.
  • TestWebKitAPI/Configurations/TestWebKitAPILibrary.xcconfig: Ditto.
  • TestWebKitAPI/Configurations/WebProcessPlugIn.xcconfig: Ditto.
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Removed FeatureDefines.xcconfig.
4:32 PM Changeset in webkit [263958] by commit-queue@webkit.org
  • 4 edits in trunk

Text manipulation: add a new heuristic to decide paragraph boundary
https://bugs.webkit.org/show_bug.cgi?id=213918

Patch by Sihui Liu <sihui_liu@appe.com> on 2020-07-05
Reviewed by Wenson Hsieh.

Source/WebCore:

Modified test: TextManipulation.StartTextManipulationTreatsInlineBlockLinksAndButtonsAndSpansAsParagraphs.

  • editing/TextManipulationController.cpp:

(WebCore::isEnclosingItemBoundaryElement):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:

(TestWebKitAPI::TEST):

4:10 PM Changeset in webkit [263957] by Darin Adler
  • 2 edits in trunk/Source/WebCore

[Cocoa] REGRESSION (r263914): Non-Apple-Pay Cocoa builds failing
https://bugs.webkit.org/show_bug.cgi?id=213977

  • Modules/applepay/cocoa/PaymentMethodCocoa.mm: Fixed messed up #endif and

unnecessary #undef at end of file.

4:06 PM Changeset in webkit [263956] by aestes@apple.com
  • 8 edits
    1 add in trunk/Source

[iOS] La Banque Postale app does not respect safe area insets on iOS 14
https://bugs.webkit.org/show_bug.cgi?id=213974
<rdar://problem/65109197>

Reviewed by Darin Adler.

Source/WebCore:

  • platform/RuntimeApplicationChecks.h:
  • platform/cocoa/RuntimeApplicationChecksCocoa.mm:

(WebCore::IOSApplication::isLaBanquePostale): Added.

Source/WebKitLegacy:

  • WebKitLegacy.xcodeproj/project.pbxproj:

Source/WebKitLegacy/mac:

La Banque Postale uses a fixed list of iOS versions that support safe area insets (versions
11 through 13 at the time of writing). Since iOS 14 is not in this list, the app fails to
apply top and bottom safe area insets to its web content. Work around this by adding the
'device-ios12p' class to <body> as if the iOS major version were 13 (the app currently uses
'device-ios12p' to represent both iOS 12 and iOS 13). This quirk will be disabled on
versions of La Banque Postale that link against the iOS 14 SDK (or later).

  • Configurations/WebKitLegacy.xcconfig: Excluded LaBanquePostaleQuirks.js on Mac.
  • Resources/LaBanquePostaleQuirks.js: Added.
  • WebView/WebView.mm:

(needsLaBanquePostaleQuirks): Added. Checks if the quirk is needed.
(leakLaBanquePostaleQuirksScript): Added. Leaks an NSString containing the quirk script.
(-[WebView _injectLaBanquePostaleQuirks]): Added. Injects the quirk as a user script.
(-[WebView _commonInitializationWithFrameName:groupName:]):

3:23 PM Changeset in webkit [263955] by Kocsen Chung
  • 1 copy in tags/Safari-610.1.20.4

Tag Safari-610.1.20.4.

2:57 PM Changeset in webkit [263954] by Kocsen Chung
  • 8 edits in branches/safari-610.1.20-branch/Source

Versioning.

WebKit-610.1.20.4

12:31 PM Changeset in webkit [263953] by Darin Adler
  • 14 edits in trunk

[Cocoa] Move almost all features from FeatureDefines.xcconfig to PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=212542

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Delete everything except

ENABLE_EXPERIMENTAL_FEATURES and ENABLE_WEBRTC.

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Delete everything except

ENABLE_EXPERIMENTAL_FEATURES and ENABLE_WEBRTC.

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig: Delete everything except

ENABLE_EXPERIMENTAL_FEATURES and ENABLE_WEBRTC.

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig: Delete everything except

ENABLE_EXPERIMENTAL_FEATURES and ENABLE_WEBRTC.

  • Configurations/WebKit.xcconfig: Added include of WebKitTargetConditionals.xcconfig.

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig: Delete everything except

ENABLE_EXPERIMENTAL_FEATURES and ENABLE_WEBRTC.

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Delete everything except

ENABLE_EXPERIMENTAL_FEATURES and ENABLE_WEBRTC.

  • TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig: Added include of

WebKitTargetConditionals.xcconfig.

12:00 PM Changeset in webkit [263952] by Wenson Hsieh
  • 8 edits in trunk/Source/WebCore

[macOS 11] Indeterminate progress bar animation periodically jumps
https://bugs.webkit.org/show_bug.cgi?id=213967

Reviewed by Sam Weinig.

Source/WebCore:

The animation for an indeterminate progress bar occasionally jumps to the starting frame on macOS 11. This is
because the indeterinate progress bar animation only lasts for 120 frames on macOS 11, so our current hard-coded
value of 256 frames results in 16 extra frames of animation, before abruptly looping back to the starting frame.

To fix this, instead of specifying the animation frame index when painting progress bars on macOS, specify the
starting time and current time for the animation, and let CoreUI determine which frame to use.

  • rendering/RenderProgress.cpp:

(WebCore::RenderProgress::animationProgress):

Assert that this never gets called with a zero animation duration.

(WebCore::RenderProgress::updateAnimationState):

Instead of checking for the animation duration to determine whether or not we should try and animate progress
bar painting, check for the animation repeat interval instead. This is because on macOS, we no longer hard-code
the animation duration, but still want to be able to animate progress bars.

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

(WebCore::RenderThemeIOS::animationRepeatIntervalForProgressBar const): Deleted.
(WebCore::RenderThemeIOS::animationDurationForProgressBar const): Deleted.

Drive-by fix: remove some unnecessary overridden method implementations on RenderThemeIOS.

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

(WebCore::RenderThemeMac::paintProgressBar):
(WebCore::RenderThemeMac::animationDurationForProgressBar const): Deleted.

Stop overriding this method, and remove the progressAnimationNumFrames constant declared in this file.

Source/WebCore/PAL:

  • pal/spi/mac/CoreUISPI.h: Add declarations for kCUIAnimationStartTimeKey and kCUIAnimationTimeKey.
7:23 AM Changeset in webkit [263951] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Web Inspector: Fix python3 build warnings
https://bugs.webkit.org/show_bug.cgi?id=213971

Patch by Philippe Normand <pnormand@igalia.com> on 2020-07-05
Reviewed by Sam Weinig.

Fix Python3 syntax warnings. Using 'is' with string literals triggers those. Adopt the ==
operator instead, which is more idiomatic anyway.

  • inspector/scripts/codegen/cpp_generator.py:

(CppGenerator.cpp_getter_method_for_type):
(CppGenerator.cpp_setter_method_for_type):

  • inspector/scripts/codegen/objc_generator.py:

(ObjCTypeCategory.category_for_type):
(ObjCGenerator.objc_type_for_raw_name):
(ObjCGenerator.objc_class_for_raw_name):
(ObjCGenerator.protocol_type_for_raw_name):
(ObjCGenerator.objc_protocol_export_expression_for_variable):
(ObjCGenerator.objc_protocol_import_expression_for_variable):
(ObjCGenerator.objc_to_protocol_expression_for_member):
(ObjCGenerator.protocol_to_objc_expression_for_member):
(ObjCGenerator.payload_to_objc_expression_for_member):
(ObjCGenerator.objc_setter_method_for_member_internal):
(ObjCGenerator.objc_getter_method_for_member_internal):
(ObjCGenerator.objc_protocol_export_expression_for_variable.is): Deleted.
(ObjCGenerator.objc_protocol_import_expression_for_variable.is): Deleted.
(ObjCGenerator.objc_to_protocol_expression_for_member.is): Deleted.
(ObjCGenerator.protocol_to_objc_expression_for_member.is): Deleted.

7:15 AM Changeset in webkit [263950] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[WPE] run-wpe-tests Python3 compatibility
https://bugs.webkit.org/show_bug.cgi?id=213969

Patch by Philippe Normand <pnormand@igalia.com> on 2020-07-05
Reviewed by Sam Weinig.

  • Scripts/run-wpe-tests:
3:02 AM Changeset in webkit [263949] by commit-queue@webkit.org
  • 15 edits in trunk

[macOS] Allow selecting HEIF images if the 'accept' attribute includes an image MIME type that the platform can transcode the HEIF to
https://bugs.webkit.org/show_bug.cgi?id=212489

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-07-05
Reviewed by Darin Adler.

Source/WebCore:

Add some utility functions to MIMETypeRegistry. These new functions will
deal with a list of MIME types combined with a list of file extensions.
They are going to be used the FileChooserSettings which reflects the
'accept' attribute of the <input> file element.

  • platform/MIMETypeRegistry.cpp:

(WebCore::trimmedExtension):
(WebCore::MIMETypeRegistry::preferredImageMIMETypeForEncoding):
(WebCore::MIMETypeRegistry::containsImageMIMETypeForEncoding):

(WebCore::MIMETypeRegistry::allowedMIMETypes):
It returns the set of mime types which is stated by a list of mime types
and a list of file extensions.

(WebCore::MIMETypeRegistry::allowedFileExtensions):
It returns the set of extensions which is stated by a list of mime types
and a list of file extensions.

  • platform/MIMETypeRegistry.h:

Source/WebKit:

Make WKOpenPanelParameters call allowedFileExtensions() and allowedMIMETypes()
of MIMETypeRegistry via OpenPanelParameters.

UIDelegate will get allowedMIMETypes() and pass it to WebOpenPanelResultListenerProxy
which will pass it to WebPageProxy. In a following patch, WebPageProxy
will use allowedMIMETypes to transcode the selected images before sending
them to WebPage.

  • UIProcess/API/APIOpenPanelParameters.cpp:

(API::OpenPanelParameters::allowedMIMETypes const):
(API::OpenPanelParameters::allowedFileExtensions const):
(API::OpenPanelParameters::mediaCaptureType const): Deleted.

  • UIProcess/API/APIOpenPanelParameters.h:

(API::OpenPanelParameters::mediaCaptureType const):

  • UIProcess/API/Cocoa/WKOpenPanelParameters.mm:

(-[WKOpenPanelParameters _allowedFileExtensions]):
(-[WKOpenPanelParameters _allowedFileExtensionsTitles]): Deleted.

  • UIProcess/API/Cocoa/WKOpenPanelParametersPrivate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::UIClient::runOpenPanel):

  • UIProcess/WebOpenPanelResultListenerProxy.cpp:

(WebKit::WebOpenPanelResultListenerProxy::chooseFiles):

  • UIProcess/WebOpenPanelResultListenerProxy.h:

(WebKit::WebOpenPanelResultListenerProxy::chooseFiles):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didChooseFilesForOpenPanel):

  • UIProcess/WebPageProxy.h:

Tools:

The scope of this enhancement will be scaled down. No UI change will be
done for now. Only allow HEIF/HEIC images to be selected if the 'accept'
attribute include a mime type which CG supports transcoding the HEIF/HEIC
images to.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController dealloc]):
(-[WK2BrowserWindowController webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:]):
(-[FileExtensionsPopupTarget initWithOpenPanel:allowedFileExtensions:]): Deleted.
(-[FileExtensionsPopupTarget popupAction:]): Deleted.
(-[FileExtensionsPopupTarget dealloc]): Deleted.
(-[WK2BrowserWindowController createFilterView:popupTarget:]): Deleted.

Jul 4, 2020:

6:54 PM Changeset in webkit [263948] by Darin Adler
  • 2 edits in trunk/Source/WTF

[Cocoa] Add almost everything from FeatureDefines.xcconfig to PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=213964

Reviewed by Sam Weinig.

Added logic that matches what FeatureDefines.xcconfig does for everything
except for ENABLE_EXPERIMENTAL_FEATURES.

Changed format so we mostly list platforms where we do not want to enable
a certain feature; also order it pretty consistently macOS, iOS, Mac Catalyst,
watchOS, then tvOS. This format highlights possible mistakes when not enabling
a feature on some platforms in an easier to understand way.

  • wtf/PlatformEnableCocoa.h:

(ENABLE_AIRPLAY_PICKER): List platforms that do *not* enable this.
(ENABLE_APPLE_PAY): All except Mac Catalyst, watchOS, tvOS.
Not sure why disabled in Mac Catalyst, but replicates FeatureDefines.xcconfig.
(ENABLE_APPLE_PAY_REMOTE_UI): List platforms that do *not* enable this.
(ENABLE_AUTOCAPITALIZE): List platforms that do *not* enable this.
(ENABLE_AUTOCORRECT): List platforms that do *not* enable this.
(ENABLE_CONTENT_FILTERING): All except older watchOS simulator and tvOS.
(ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER): Re-sorted this.
(ENABLE_CSS_CONIC_GRADIENTS): All except older macOS and tvOS. The tvOS
exception seems questionable, so added a FIXME.
(ENABLE_DARK_MODE_CSS): All except watchOS and tvOS.
(ENABLE_DATA_INTERACTION): All except macOS, watchOS, and tvOS.
(ENABLE_DATA_DETECTION): All except Mac Catalyst, watchOS, and tvOS.
(ENABLE_EDITABLE_REGION): Only iOS.
(ENABLE_ENCRYPTED_MEDIA): All except older macOS and Mac Catalyst.
(ENABLE_FULLSCREEN_API): All except Mac Catalyst, watchOS, and tvOS.
(ENABLE_FULL_KEYBOARD_ACCESS): All except Mac Catalyst, watchOS, and tvOS.
(ENABLE_GAMEPAD): All except watchOS.
(ENABLE_INPUT_TYPE_DATE): All except macOS, Mac Catalyst, and tvOS.
(ENABLE_INPUT_TYPE_DATETIMELOCAL): Ditto.
(ENABLE_INPUT_TYPE_MONTH): Ditto.
(ENABLE_INPUT_TYPE_TIME): Ditto.
(ENABLE_INPUT_TYPE_WEEK): Ditto.
(ENABLE_MEDIA_CAPTURE): All except macOS.
(ENABLE_MEDIA_SOURCE): All except Mac Catalyst, watchOS, tvOS, and
all simulators.
(ENABLE_MEDIA_STREAM): All except Mac Catalyst, watchOS, and tvOS.
(ENABLE_NAVIGATOR_STANDALONE): All iOS family. (Considered writing as
all except macOS, but left like this to match some .cpp code for now.)
(ENABLE_OVERFLOW_SCROLLING_TOUCH): All iOS family.
(ENABLE_PICTURE_IN_PICTURE_API): All except Mac Catalyst, watchOS, and tvOS.
(ENABLE_SPEECH_SYNTHESIS): All except Mac Catalyst.
(ENABLE_REVEAL): All except older macOS, watchOS, and tvOS.
(ENABLE_SIGILL_CRASH_ANALYZER): All except macOS and watchOS.
(ENABLE_TAKE_UNBOUNDED_NETWORKING_ASSERTION): All except macOS, watchOS, and tvOS.
(ENABLE_VIDEO_PRESENTATION_MODE): All except simulators and tvOS.
(ENABLE_WEBGPU): All except older macOS, Mac Catalyst, and simulators.
(ENABLE_WEB_API_STATISTICS): Re-sorted this.
(ENABLE_WEB_AUTHN): All except Mac Catalyst, watchOS, and tvOS.
(ENABLE_WEB_RTC): All except Mac Catalyst, watchOS, and tvOS.

2:32 PM Changeset in webkit [263947] by Darin Adler
  • 14 edits in trunk

[Cocoa] Remove all features from FeatureDefines.xcconfig that are already mentioned in PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=213962

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Removed all features that were mentioned

in PlatformEnableCocoa.h; the rules in that file now define whether they are enabled.

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Removed all features that were mentioned

in PlatformEnableCocoa.h; the rules in that file now define whether they are enabled.

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig: Removed all features that were mentioned

in PlatformEnableCocoa.h; the rules in that file now define whether they are enabled.

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig: Removed all features that were mentioned

in PlatformEnableCocoa.h; the rules in that file now define whether they are enabled.

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig: Removed all features that were mentioned

in PlatformEnableCocoa.h; the rules in that file now define whether they are enabled.

Source/WTF:

  • wtf/PlatformEnableCocoa.h:

(ENABLE_DRAG_SUPPORT): Before, this was enabled for iOS, iOS simulator, and Mac Catalyst in the
FeatureDefines.xcconfig file, but then disabled for any other iOS family platform here, then enabled
by default in PlatformEnable.h, which covered Mac. Instead, disable here only for watchOS and tvOS,
which gives the same result in a more straightforward way.
(ENABLE_GEOLOCATION): Before, this was enabled for iOS, iOS simulator, Mac Catalyst, and Mac in the
FeatureDefines.xcconfig file, then enabled for any other iOS family platform here. Instead, just
enable here for all Cocoa platforms, which gives the same result in a more straightforward way.

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Removed all features that were mentioned

in PlatformEnableCocoa.h; the rules in that file now define whether they are enabled.

2:17 PM Changeset in webkit [263946] by Alan Bujtas
  • 8 edits in trunk/Source/WebCore

[LFC][BFC] Move PositiveAndNegativeVerticalMargin to UsedVerticalMargin
https://bugs.webkit.org/show_bug.cgi?id=213963

Reviewed by Antti Koivisto.

Now that UsedVerticalMargin is not used in Display::Box, we can merged these 2 layout structures.

  • layout/MarginTypes.h:

(WebCore::Layout::UsedVerticalMargin::PositiveAndNegativePair::Values::isNonZero const):
(WebCore::Layout::PositiveAndNegativeVerticalMargin::Values::isNonZero const): Deleted.

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::precomputeVerticalPositionForBoxAndAncestors):
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):

  • layout/blockformatting/BlockFormattingContext.h:
  • layout/blockformatting/BlockFormattingState.h:

(WebCore::Layout::BlockFormattingState::hasUsedVerticalMargin const):
(WebCore::Layout::BlockFormattingState::setPositiveAndNegativeVerticalMargin): Deleted.
(WebCore::Layout::BlockFormattingState::hasPositiveAndNegativeVerticalMargin const): Deleted.
(WebCore::Layout::BlockFormattingState::positiveAndNegativeVerticalMargin const): Deleted.

  • layout/blockformatting/BlockMarginCollapse.cpp:

(WebCore::Layout::BlockFormattingContext::MarginCollapse::computedPositiveAndNegativeMargin const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginValue const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::updateMarginAfterForPreviousSibling):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::positiveNegativeValues const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::positiveNegativeMarginBefore const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::positiveNegativeMarginAfter const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::collapsedVerticalValues):

  • layout/blockformatting/PrecomputedBlockMarginCollapse.cpp:

(WebCore::Layout::BlockFormattingContext::MarginCollapse::precomputedPositiveNegativeValues const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::precomputedPositiveNegativeMarginBefore const):

  • layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.cpp:

(WebCore::Layout::TableWrapperBlockFormattingContext::computeHeightAndMarginForTableBox):

2:09 PM Changeset in webkit [263945] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][BFC] Remove redundant out-of-flow height-and-margin handling
https://bugs.webkit.org/show_bug.cgi?id=213959

Reviewed by Antti Koivisto.

We will never end up here with an out-of-flow box.

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):

1:06 PM Changeset in webkit [263944] by Alexey Shvayka
  • 5 edits
    3 adds in trunk

%TypedArray%.prototype.{indexOf,lastIndexOf} are not spec-perfect
https://bugs.webkit.org/show_bug.cgi?id=213715

Reviewed by Yusuke Suzuki.

JSTests:

  • microbenchmarks/array-prototype-indexOf-empty.js: Added.
  • microbenchmarks/typed-array-indexOf-empty.js: Added.
  • stress/array-indexof-tointeger-order.js: Added.
  • test262/expectations.yaml: Mark 10 test cases as passing.

Source/JavaScriptCore:

This patch:

  1. Implements step 3 of {Array,%TypedArray%}.prototype.indexOf [1] and %TypedArray%.prototype.lastIndexOf [2] since it is observable when second argument is an object with userland toString() or valueOf() method. Advances provided microbenchmark by 100% for Array and by 25% for %TypedArray%.
  1. Removes argument count check from %TypedArray%.prototype.{indexOf,lastIndexOf}, allowing these methods to be invoked w/o arguments. The spec treats missing arguments as undefined, always returning -1 for typed arrays.

Both changes align JSC with V8 and SpiderMonkey.

[1]: https://tc39.es/ecma262/#sec-array.prototype.indexof
[2]: https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncIndexOf):
(JSC::arrayProtoFuncLastIndexOf):

  • runtime/JSGenericTypedArrayViewPrototypeFunctions.h:

(JSC::genericTypedArrayViewProtoFuncIndexOf):
(JSC::genericTypedArrayViewProtoFuncLastIndexOf):

1:06 PM Changeset in webkit [263943] by Alan Bujtas
  • 15 edits in trunk/Source/WebCore

[LFC][BFC] Store used vertical margin values in the formatting state
https://bugs.webkit.org/show_bug.cgi?id=213958

Reviewed by Antti Koivisto.

Layout related vertical margin values (collapsed vs. non-collapsed) should all go to the FormattingState, while
Display::Box should only have the final values.

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry):

  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::staticVerticalPositionForOutOfFlowPositioned const):

  • layout/MarginTypes.h:

(WebCore::Layout::marginBefore):
(WebCore::Layout::marginAfter):
(WebCore::Layout::UsedVerticalMargin::before const): Deleted.
(WebCore::Layout::UsedVerticalMargin::after const): Deleted.
(WebCore::Layout::UsedVerticalMargin::isCollapsedThrough const): Deleted.
(WebCore::Layout::UsedVerticalMargin::nonCollapsedValues const): Deleted.
(WebCore::Layout::UsedVerticalMargin::collapsedValues const): Deleted.
(WebCore::Layout::UsedVerticalMargin::hasCollapsedValues const): Deleted.
(WebCore::Layout::UsedVerticalMargin::setCollapsedValues): Deleted.
(WebCore::Layout::UsedVerticalMargin::UsedVerticalMargin): Deleted.

  • layout/Verification.cpp:

(WebCore::Layout::outputMismatchingBlockBoxInformationIfNeeded):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::precomputeVerticalPositionForBoxAndAncestors):
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::verticalPositionWithMargin const):

  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):

  • layout/blockformatting/BlockFormattingState.h:

(WebCore::Layout::BlockFormattingState::setUsedVerticalMargin):
(WebCore::Layout::BlockFormattingState::usedVerticalMargin const):

  • layout/blockformatting/BlockMarginCollapse.cpp:

(WebCore::Layout::BlockFormattingContext::MarginCollapse::updateMarginAfterForPreviousSibling):

  • layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.cpp:

(WebCore::Layout::TableWrapperBlockFormattingContext::computeHeightAndMarginForTableBox):

  • layout/displaytree/DisplayBox.cpp:

(WebCore::Display::Box::Box):
(WebCore::Display::Box::nonCollapsedMarginBox const): Deleted.

  • layout/displaytree/DisplayBox.h:

(WebCore::Display::Box::rectWithMargin const):
(WebCore::Display::Box::setHasValidVerticalMargin):
(WebCore::Display::Box::setVerticalMargin):
(WebCore::Display::Box::marginBefore const):
(WebCore::Display::Box::marginAfter const):
(WebCore::Display::Box::VerticalMargin::before const): Deleted.
(WebCore::Display::Box::VerticalMargin::after const): Deleted.
(WebCore::Display::Box::VerticalMargin::isCollapsedThrough const): Deleted.
(WebCore::Display::Box::VerticalMargin::nonCollapsedValues const): Deleted.
(WebCore::Display::Box::VerticalMargin::collapsedValues const): Deleted.
(WebCore::Display::Box::VerticalMargin::hasCollapsedValues const): Deleted.
(WebCore::Display::Box::VerticalMargin::setCollapsedValues): Deleted.
(WebCore::Display::Box::hasCollapsedThroughMargin const): Deleted.
(WebCore::Display::Box::setHasValidVerticalNonCollapsedMargin): Deleted.
(WebCore::Display::Box::VerticalMargin::VerticalMargin): Deleted.
(WebCore::Display::Box::VerticalMargin::NonCollapsedValues::NonCollapsedValues): Deleted.
(WebCore::Display::Box::VerticalMargin::CollapsedValues::CollapsedValues): Deleted.
(WebCore::Display::Box::nonCollapsedMarginBefore const): Deleted.
(WebCore::Display::Box::nonCollapsedMarginAfter const): Deleted.

  • layout/floats/FloatingContext.cpp:

(WebCore::Layout::FloatingContext::verticalPositionWithClearance const):

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
(WebCore::Layout::InlineFormattingContext::computeHeightAndMargin):

  • layout/tableformatting/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::setUsedGeometryForRows):
(WebCore::Layout::TableFormattingContext::setUsedGeometryForSections):
(WebCore::Layout::TableFormattingContext::layoutCell):

12:21 PM Changeset in webkit [263942] by Darin Adler
  • 12 edits in trunk

[Cocoa] Remove unconditional features from FeatureDefines.xcconfig, making sure they are covered in PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=212418

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Removed features that are either unconditionally not enabled,

or unconditionally enabled. Double checked that all the enabled ones are either in PlatformEnable.h or
PlatformEnableCocoa.h.

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Removed features that are either unconditionally not enabled,

or unconditionally enabled. Double checked that all the enabled ones are either in PlatformEnable.h or
PlatformEnableCocoa.h.

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig: Removed features that are either unconditionally not enabled,

or unconditionally enabled. Double checked that all the enabled ones are either in PlatformEnable.h or
PlatformEnableCocoa.h.

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig: Removed features that are either unconditionally not enabled,

or unconditionally enabled. Double checked that all the enabled ones are either in PlatformEnable.h or
PlatformEnableCocoa.h.

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig: Removed features that are either unconditionally not enabled,

or unconditionally enabled. Double checked that all the enabled ones are either in PlatformEnable.h or
PlatformEnableCocoa.h.

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Removed features that are either unconditionally not enabled,

or unconditionally enabled. Double checked that all the enabled ones are either in PlatformEnable.h or
PlatformEnableCocoa.h.

12:20 PM Changeset in webkit [263941] by weinig@apple.com
  • 45 edits
    1 delete in trunk

Part 1 of SimpleColor and SRGBA<uint8_t> are essentially the same - let's converge them
https://bugs.webkit.org/show_bug.cgi?id=213948

Reviewed by Darin Adler.

Source/WebCore:

Begin converging SimpleColor and SRGBA<uint8_t>, starting with removing usages that
were getting SimpleColors to access or operate on the color's components.

  • Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>
  • Replace toSRGBALossy() with toSRGBALossy<float>().
  • Remove direct color component accessors from SimpleColor.
  • Add new ARGB type to support explicit conversion from packed ARGB bits to a color type.
  • Update premulitplication functions to operate on SRGBA<uint8_t> and rename them to match existing function operating on SRGBA<float>.
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:

Removes SimpleColor.cpp

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::colorValue const):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(getAttributeSetForAccessibilityObject):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::colorValue const):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

  • css/DeprecatedCSSOMRGBColor.h:

Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

  • editing/cocoa/DataDetection.mm:

(WebCore::DataDetection::detectContentInRange):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/Color.cpp:

(WebCore::Color::lightened const):
(WebCore::Color::darkened const):
(WebCore::Color::lightness const):
(WebCore::Color::luminance const):
(WebCore::Color::semanticColor const):
(WebCore::Color::toSRGBASimpleColorLossy const): Deleted.
(WebCore::Color::toSRGBALossy const): Deleted.

  • platform/graphics/Color.h:

Remove toSRGBASimpleColorLossy() and templatize toSRGBALossy() to support both
lossy conversion to byte based components as well.

  • platform/graphics/ColorBlending.cpp:

(WebCore::blendSourceOver):
(WebCore::blendWithWhite):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

(WebCore::blend):
(WebCore::blendWithoutPremultiply):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>. Adopt new premultipliedCeiling
and unpremultiplied functions that operate on SRGBA<uint8_t> (rather than SimpleColor) and
clamping conversion to SRGBA<uint8_t> via convertToComponentBytes<SRGBA>. premultipliedCeiling
now works correctly for 0 alpha, so no workaround is needed anymore.

  • platform/graphics/ColorTypes.h:

(WebCore::asARGB):
(WebCore::asSRGBA):
Add new type of color struct representing a format packing. The initial one is ARGB to support
the few places using SimpleColor to manipulate ARGB pixel data.

  • platform/graphics/ColorUtilities.cpp:

(WebCore::unpremultiplied):
(WebCore::premultipliedFlooring):
(WebCore::premultipliedCeiling):
(WebCore::unpremultipliedComponentByte):

  • platform/graphics/ColorUtilities.h:

(WebCore::convertToComponentBytes):
(WebCore::convertToComponentFloats):
Move remaining premultiplication functions here (from SimpleColor.h/cpp) and reimplement
to operate on SRGBA<uint8_t>. Also slightly rename, premultiply -> premultiplied, to
match existing premultiplied functions. While moving them, also fix the premultiplied
functions to better support 0 alpha to avoid workarounds in callers.

Additional, this adds convertToComponentBytes/convertToComponentFloats helper functions
which convert to/from uint8_t/float based color types, and support creating color types
from values potentially outside of their supported value range. Right now, that value
range is always considerer to be 0-255 for uint8_t and 0-1 for float, but that can be
chnaged in the future by allowing color type structs to indicate their supported ranges.

  • platform/graphics/ExtendedColor.cpp:

(WebCore::ExtendedColor::toSRGBAFloatComponentsLossy const):
(WebCore::ExtendedColor::toSRGBALossy const): Deleted.

  • platform/graphics/ExtendedColor.h:

(WebCore::ExtendedColor::toSRGBALossy const):
Rename existing toSRGBALossy() to toSRGBAFloatComponentsLossy() and replace templatize
toSRGBALossy(), with the uint8_t case just down converting via new convertToComponentBytes.

  • platform/graphics/ImageBackingStore.h:

(WebCore::ImageBackingStore::fillRect):
(WebCore::ImageBackingStore::setPixel):
(WebCore::ImageBackingStore::blendPixel):
(WebCore::ImageBackingStore::pixelValue const):
Replace usage of SimpleColor with new ARGB type for conversion from ARGB to SRGBA<uint8_t>.
Update to use new premulitplication functions. Also, update the interface to take pixel
components as uint8_t, rather than unsigned, as that is what the callers are passing anyway,
and it avoids us having to clamp/cast manually all over the case.

  • platform/graphics/SimpleColor.cpp: Removed.
  • platform/graphics/SimpleColor.h:

(WebCore::SimpleColor::alphaComponent const):
(WebCore::SimpleColor::asSRGBA const):
(WebCore::SimpleColor::redComponent const):
(WebCore::SimpleColor::greenComponent const):
(WebCore::SimpleColor::blueComponent const):
(WebCore::operator==):
(WebCore::makeSimpleColor):
Simplify interface, making red, green and blue component accessors private and having
callers all use SRGBA directly. Remove premultiplication functions in favor of new ones
in ColorUtilities.

  • platform/graphics/ca/cocoa/PlatformCAAnimationCocoa.mm:

(WebCore::PlatformCAAnimationCocoa::setFromValue):
(WebCore::PlatformCAAnimationCocoa::setToValue):
(WebCore::PlatformCAAnimationCocoa::setValues):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

  • platform/graphics/ca/win/PlatformCAAnimationWin.cpp:

(PlatformCAAnimationWin::setFromValue):
(PlatformCAAnimationWin::setToValue):
(PlatformCAAnimationWin::setValues):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

  • platform/graphics/cairo/CairoUtilities.cpp:

(WebCore::setSourceRGBAFromColor):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/cairo/GradientCairo.cpp:

(WebCore::addColorStopRGBA):
(WebCore::setCornerColorRGBA):
(WebCore::interpolateColorStop):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/cairo/ImageBufferCairoImageSurfaceBackend.cpp:

(WebCore::ImageBufferCairoImageSurfaceBackend::platformTransformColorSpace):
Replace usage of SimpleColor with new ARGB type for conversion from ARGB to SRGBA<uint8_t>.
Update to use new premulitplication functions.

  • platform/graphics/cairo/NativeImageCairo.cpp:

(WebCore::nativeImageSinglePixelSolidColor):
Replace usage of SimpleColor with new ARGB type for conversion from ARGB to SRGBA<uint8_t>.
Update to use new premulitplication functions.

  • platform/graphics/cpu/arm/filters/FELightingNEON.h:

(WebCore::FELighting::platformApplyNeon):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

  • platform/graphics/filters/FELighting.cpp:

(WebCore::FELighting::drawLighting):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/filters/FilterOperations.cpp:

(WebCore::FilterOperations::transformColor const):
(WebCore::FilterOperations::inverseTransformColor const):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/gtk/ColorGtk.cpp:

(WebCore::Color::operator GdkRGBA const):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::drawBorder):
(WebCore::TextureMapperGL::drawNumber):
(WebCore::prepareFilterProgram):
(WebCore::TextureMapperGL::drawSolidColor):
(WebCore::TextureMapperGL::clearColor):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/win/ColorDirect2D.cpp:

(WebCore::Color::operator D2D1_COLOR_F const):
(WebCore::Color::operator D2D1_VECTOR_4F const):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/win/GradientDirect2D.cpp:

(WebCore::Gradient::generateGradient):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/win/GraphicsContextCGWin.cpp:

(WebCore::GraphicsContext::drawDotsForDocumentMarker):
Replace direct usage component access from SimpleColor with usage of accessed SRGBA<uint8_t>.

  • platform/graphics/win/GraphicsContextDirect2D.cpp:

(WebCore::GraphicsContext::colorWithGlobalAlpha const):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::disabledTextColor const):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • rendering/RenderThemeIOS.mm:

(WebCore::shouldUseConvexGradient):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • rendering/TextPaintStyle.cpp:

(WebCore::textColorIsLegibleAgainstBackgroundColor):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • svg/properties/SVGAnimationAdditiveValueFunctionImpl.h:

(WebCore::SVGAnimationColorFunction::animate):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

Source/WebKit:

  • UIProcess/API/wpe/WebKitColor.cpp:

(webkitColorFillFromWebCoreColor):

  • UIProcess/gtk/ViewGestureControllerGtk.cpp:

(WebKit::ViewGestureController::beginSwipeGesture):

  • WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm:

(WebKit::animationValueFromKeyframeValue):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::getDocumentBackgroundColor):
Adapt to use templatized toSRGBALossy<float/uint8_t>.

Tools:

  • TestWebKitAPI/Tests/WebCore/ColorTests.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:

(TestWebKitAPI::TEST):
Adapt tests to use templatized toSRGBALossy<float/uint8_t>.

12:17 PM Changeset in webkit [263940] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

[LFC] Remove redundant Display::Box::HorizontalMargin c'tors
https://bugs.webkit.org/show_bug.cgi?id=213957

Reviewed by Antti Koivisto.

Let's just have a very simple Display::Box:HorizontalMargin struct.

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin):

  • layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.cpp:

(WebCore::Layout::TableWrapperBlockFormattingContext::computeWidthAndMarginForTableBox):

  • layout/displaytree/DisplayBox.h:

(WebCore::Display::Box::HorizontalMargin::HorizontalMargin): Deleted.

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computeWidthAndMargin):

11:56 AM Changeset in webkit [263939] by svillar@igalia.com
  • 4 edits in trunk

[Flatpak SDK] Require OpenXR 1.0.9
https://bugs.webkit.org/show_bug.cgi?id=213930

Reviewed by Philippe Normand.

.:

Require version 1.0.9 because is the first one that include EGL support for Monado.

  • Source/cmake/OptionsWPE.cmake:

Tools:

  • buildstream/elements/sdk/openxr.bst:
11:37 AM Changeset in webkit [263938] by Alan Bujtas
  • 16 edits in trunk/Source/WebCore

[LFC] Do not cache computed horizontal margin values
https://bugs.webkit.org/show_bug.cgi?id=213956

Reviewed by Antti Koivisto.

Outside of the width + margin computation, computed horizontal margin values are only required by
float positioning. Let's just re-computed them on demand (which is basically just a style.marginStart/end resolve).

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry):

  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):

  • layout/LayoutContext.cpp:

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

  • layout/LayoutUnits.h:
  • layout/Verification.cpp:

(WebCore::Layout::outputMismatchingBlockBoxInformationIfNeeded):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computePositionToAvoidFloats):
(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin):

  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowReplacedWidthAndMargin):

  • layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.cpp:

(WebCore::Layout::TableWrapperBlockFormattingContext::computeWidthAndMarginForTableBox):

  • layout/displaytree/DisplayBox.cpp:

(WebCore::Display::Box::Box):

  • layout/displaytree/DisplayBox.h:

(WebCore::Display::Box::setHasValidVerticalNonCollapsedMargin):
(WebCore::Display::Box::setHasValidHorizontalComputedMargin): Deleted.
(WebCore::Display::Box::ComputedHorizontalMargin::ComputedHorizontalMargin): Deleted.
(WebCore::Display::Box::setHorizontalComputedMargin): Deleted.
(WebCore::Display::Box::computedMarginStart const): Deleted.
(WebCore::Display::Box::computedMarginEnd const): Deleted.

  • layout/floats/FloatingContext.cpp:

(WebCore::Layout::computedHorizontalMargin):
(WebCore::Layout::FloatingContext::positionForFloat const):
(WebCore::Layout::FloatingContext::positionForNonFloatingFloatAvoider const):

  • layout/floats/FloatingContext.h:
  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computeHorizontalMargin):
(WebCore::Layout::InlineFormattingContext::computeWidthAndMargin):

  • layout/inlineformatting/InlineFormattingContextGeometry.cpp:

(WebCore::Layout::InlineFormattingContext::Geometry::inlineBlockWidthAndMargin):

  • layout/tableformatting/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::setUsedGeometryForRows):
(WebCore::Layout::TableFormattingContext::setUsedGeometryForSections):
(WebCore::Layout::TableFormattingContext::layoutCell):

10:18 AM Changeset in webkit [263937] by Darin Adler
  • 2 edits in trunk/Tools

Make generate-unified-sources.sh not depend on features being listed in FEATURE_DEFINES environment variable
https://bugs.webkit.org/show_bug.cgi?id=212420

  • Scripts/generate-unified-sources.sh: Removed --feature-flags from the

arguments passed to generate-unified-source-bundles.rb. Also removed many
unneeded quotes.

9:43 AM Changeset in webkit [263936] by Lauro Moura
  • 2 edits in trunk/WebDriverTests

[WebDriver][WPE][GTK] Garden post update failures

Unreviewed test gardening.

9:41 AM Changeset in webkit [263935] by Darin Adler
  • 16 edits
    1 add in trunk

Make generate-unified-sources.sh not depend on features being listed in FEATURE_DEFINES environment variable
https://bugs.webkit.org/show_bug.cgi?id=212420

Reviewed by Don Olmstead.

.:

  • Source/cmake/WebKitCommon.cmake: Removed call to SET_CONFIGURATION_FOR_UNIFIED_SOURCE_LISTS.
  • Source/cmake/WebKitFeatures.cmake: Removed SET_CONFIGURATION_FOR_UNIFIED_SOURCE_LISTS.
  • Source/cmake/WebKitMacros.cmake: Removed use of "--feature-flags" when invoking the

generate-unified-source-bundles.rb, which also means no longer depending on the
UNIFIED_SOURCE_LIST_ENABLED_FEATURES variable, which was set by the
SET_CONFIGURATION_FOR_UNIFIED_SOURCE_LISTS function.

Source/JavaScriptCore:

  • Scripts/generate-unified-sources.sh: Removed many unneeded quote marks from the

invocation of generate-unified-source-bundles.rb.

Source/WebCore:

  • Scripts/generate-unified-sources.sh: Added code to include sources from

SourcesCocoaInternalSDK.txt, only if USE_INTERNAL_SDK is YES. Removed --feature-flags
argument from invocation of generate-unified-source-bundles.rb. Removed many
unnecessary quotes.

  • SourcesCocoa.txt: Removed the names of the files from the internal SDK.
  • SourcesCocoaInternalSDK.txt: Added. Moved those names here.
  • html/MediaElementSession.cpp: Added some includes, apparently needed because of different

groupings of unified sources.

Source/WebKit:

  • Scripts/generate-unified-sources.sh: Removed --feature-flags from the

arguments passed to generate-unified-source-bundles.rb. Also removed many
unneeded quotes.

Source/WebKitLegacy:

  • scripts/generate-unified-sources.sh: Removed --feature-flags from the

arguments passed to generate-unified-source-bundles.rb. Also removed many
unneeded quotes.

Source/WTF:

  • Scripts/generate-unified-source-bundles.rb: Removed the --feature-flags

command line option along with the code that implements it.

9:33 AM Changeset in webkit [263934] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

[LFC] Used dedicated paint margin structures
https://bugs.webkit.org/show_bug.cgi?id=213955

Reviewed by Antti Koivisto.

This is in preparation for having only final margin values in Display::Box.

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin):

  • layout/displaytree/DisplayBox.h:

(WebCore::Display::Box::VerticalMargin::before const):
(WebCore::Display::Box::VerticalMargin::after const):
(WebCore::Display::Box::VerticalMargin::isCollapsedThrough const):
(WebCore::Display::Box::VerticalMargin::nonCollapsedValues const):
(WebCore::Display::Box::VerticalMargin::collapsedValues const):
(WebCore::Display::Box::VerticalMargin::hasCollapsedValues const):
(WebCore::Display::Box::VerticalMargin::setCollapsedValues):
(WebCore::Display::Box::VerticalMargin::VerticalMargin):
(WebCore::Display::Box::VerticalMargin::NonCollapsedValues::NonCollapsedValues):
(WebCore::Display::Box::VerticalMargin::CollapsedValues::CollapsedValues):
(WebCore::Display::Box::ComputedHorizontalMargin::ComputedHorizontalMargin):
(WebCore::Display::Box::HorizontalMargin::HorizontalMargin):
(WebCore::Display::Box::setHorizontalMargin):
(WebCore::Display::Box::setVerticalMargin):
(WebCore::Display::Box::setHorizontalComputedMargin):
(WebCore::Display::Box::verticalMargin const):
(WebCore::Display::Box::horizontalMargin const):

  • layout/floats/FloatingState.h:

(WebCore::Layout::FloatingState::FloatItem::horizontalMargin const):

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computeWidthAndMargin):
(WebCore::Layout::InlineFormattingContext::computeHeightAndMargin):

9:04 AM Changeset in webkit [263933] by Lauro Moura
  • 2 edits in trunk/Tools

[WebDriver][WPE] Allow running Selenium tests with the WPE WebDriver
https://bugs.webkit.org/show_bug.cgi?id=213500

Reviewed by Carlos Garcia Campos.

Add missing method used to discover the selenium name of
the WPE webdriver.

Proper gardening/triaging of failures will come in following commits.

  • Scripts/webkitpy/webdriver_tests/webdriver_driver_wpe.py:

(WebDriverWPE.selenium_name):

6:32 AM Changeset in webkit [263932] by Darin Adler
  • 12 edits in trunk

Update comment in FeatureDefines.xcconfig since PlatformEnableCocoa.h should be used instead
https://bugs.webkit.org/show_bug.cgi?id=213952

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Updated comment.

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Updated comment.

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig: Updated comment.

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig: Updated comment.

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig: Updated comment.

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Updated comment.
2:18 AM Changeset in webkit [263931] by youenn@apple.com
  • 13 edits in trunk/Source

Enable VTB required low latency code path
https://bugs.webkit.org/show_bug.cgi?id=210609
<rdar://problem/61890332>

Reviewed by Darin Adler.

Source/ThirdParty/libwebrtc:

Enable low latency mode for latest MacOS and iOS versions.
Add a boolean controlling whether to opt in that code path.
Export the setter to that boolean so that it can be controlled by a WebCore runtime flag.

  • Configurations/libwebrtc.iOS.exp:
  • Configurations/libwebrtc.iOSsim.exp:
  • Configurations/libwebrtc.mac.exp:
  • Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
  • Source/webrtc/sdk/WebKit/WebKitEncoder.mm:

(webrtc::setH264LowLatencyEncoderEnabled):
(webrtc::isH264LowLatencyEncoderEnabled):

  • Source/webrtc/sdk/WebKit/WebKitUtilities.h:
  • Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:

(-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):

Source/WebCore:

Add new runtime flag for the low latency code path.
Call webrtc newly introduced setter whenever creating a new encoder factory.
Manually tested.

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::webRTCH264LowLatencyEncoderEnabled const):
(WebCore::RuntimeEnabledFeatures::setWebRTCH264LowLatencyEncoderEnabled):

  • platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.cpp:

(WebCore::LibWebRTCProviderCocoa::createEncoderFactory):

Source/WebKit:

Add a runtime flag to enable/disable the low latency code path.

  • Shared/WebPreferences.yaml:
Note: See TracTimeline for information about the timeline view.