Timeline
Oct 22, 2018:
- 11:10 PM Changeset in webkit [237347] by
-
- 34 edits6 adds in trunk
Registered custom properties should support syntax parameter for <length> and *
https://bugs.webkit.org/show_bug.cgi?id=190039
Patch by Justin Michaud <Justin Michaud> on 2018-10-22
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
Update WPT test results to fail in a new way.
- web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing-expected.txt:
- web-platform-tests/css/css-properties-values-api/registered-properties-inheritance-expected.txt:
- web-platform-tests/css/css-properties-values-api/registered-property-cssom-expected.txt:
- web-platform-tests/css/css-properties-values-api/typedom.tentative-expected.txt:
- web-platform-tests/css/css-properties-values-api/var-reference-registered-properties-cycles-expected.txt:
- web-platform-tests/css/css-properties-values-api/var-reference-registered-properties-expected.txt:
Source/WebCore:
Refactor code so that:
- All properties applied in StyleResolver::applyMatchedProperties are only applied once.
- Custom properties are only resolved once, in StyleResolver, when they are applied to the RenderStyle. They were previously resolved every time they were referenced, and again in RenderStyle.
- The font-size property is applied after its variable references, but before custom properties that depend on it.
- Cycles are detected at the same time as resolution.
- MutableStyleProperties' custom properties cannot be set from Javascript or WebKitLegacy if they do not parse for the property's type. If they contain var(--...) references, however, then they can be set because we cannot check if the references are valid from setProperty. This behaviour matches chrome, but is not documented in the spec.
- Custom property values have more explicit resolved/unresolved state.
- RenderStyle only ever holds resolved custom properties, and StyleResolver::CascadedProperties only holds unresolved properties.
Tests: css-custom-properties-api/crash.html
css-custom-properties-api/cycles.html
css-custom-properties-api/inline.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::customPropertyValue):
- css/CSSCustomPropertyValue.cpp:
(WebCore::CSSCustomPropertyValue::equals const):
(WebCore::CSSCustomPropertyValue::customCSSText const):
(WebCore::CSSCustomPropertyValue::tokens const):
(WebCore::CSSCustomPropertyValue::checkVariablesForCycles const): Deleted.
(WebCore::CSSCustomPropertyValue::resolveVariableReferences const): Deleted.
(WebCore::CSSCustomPropertyValue::setResolvedTypedValue): Deleted.
- css/CSSCustomPropertyValue.h:
- css/CSSRegisteredCustomProperty.cpp:
(WebCore::CSSRegisteredCustomProperty::CSSRegisteredCustomProperty):
- css/CSSRegisteredCustomProperty.h:
- css/CSSStyleSheet.h:
- css/CSSVariableData.cpp:
(WebCore::CSSVariableData::CSSVariableData):
(WebCore::CSSVariableData::consumeAndUpdateTokens): Deleted.
(WebCore::CSSVariableData::checkVariablesForCycles const): Deleted.
(WebCore::CSSVariableData::checkVariablesForCyclesWithRange const): Deleted.
(WebCore::CSSVariableData::resolveVariableFallback const): Deleted.
(WebCore::CSSVariableData::resolveVariableReference const): Deleted.
(WebCore::CSSVariableData::resolveVariableReferences const): Deleted.
(WebCore::CSSVariableData::resolveTokenRange const): Deleted.
- css/CSSVariableData.h:
(WebCore::CSSVariableData::create):
(WebCore::CSSVariableData::createResolved): Deleted.
(WebCore::CSSVariableData::needsVariableResolution const): Deleted.
(WebCore::CSSVariableData::CSSVariableData): Deleted.
- css/CSSVariableReferenceValue.cpp:
(WebCore::resolveVariableFallback):
(WebCore::resolveVariableReference):
(WebCore::resolveTokenRange):
(WebCore::CSSVariableReferenceValue::resolveVariableReferences const):
(WebCore::CSSVariableReferenceValue::checkVariablesForCycles const): Deleted.
- css/CSSVariableReferenceValue.h:
(WebCore::CSSVariableReferenceValue::create):
(WebCore::CSSVariableReferenceValue::equals const):
(WebCore::CSSVariableReferenceValue::variableDataValue const): Deleted.
- css/DOMCSSRegisterCustomProperty.cpp:
(WebCore::DOMCSSRegisterCustomProperty::registerProperty):
- css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::setProperty):
- css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyInitialCustomProperty):
(WebCore::StyleBuilderCustom::applyValueCustomProperty):
- css/StyleProperties.cpp:
(WebCore::MutableStyleProperties::setCustomProperty):
- css/StyleProperties.h:
- css/StyleResolver.cpp:
(WebCore::StyleResolver::State::setStyle):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::applyMatchedProperties):
(WebCore::StyleResolver::applyPropertyToCurrentStyle):
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::resolvedVariableValue const):
(WebCore::StyleResolver::CascadedProperties::applyDeferredProperties):
(WebCore::StyleResolver::CascadedProperties::Property::apply):
(WebCore::StyleResolver::applyCascadedCustomProperty):
(WebCore::StyleResolver::applyCascadedProperties):
- css/StyleResolver.h:
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseValueWithVariableReferences):
- css/parser/CSSParser.h:
- css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::CSSPropertyParser):
(WebCore::CSSPropertyParser::canParseTypedCustomPropertyValue):
(WebCore::CSSPropertyParser::parseTypedCustomPropertyValue):
(WebCore::CSSPropertyParser::collectParsedCustomPropertyValueDependencies):
(WebCore::CSSPropertyParser::parseValueStart):
(WebCore::CSSPropertyParser::parseSingleValue):
- css/parser/CSSPropertyParser.h:
- css/parser/CSSVariableParser.cpp:
(WebCore::CSSVariableParser::parseDeclarationValue):
- dom/ConstantPropertyMap.cpp:
(WebCore::ConstantPropertyMap::setValueForProperty):
(WebCore::variableDataForPositivePixelLength):
(WebCore::variableDataForPositiveDuration):
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::checkVariablesInCustomProperties): Deleted.
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::setInheritedCustomPropertyValue):
(WebCore::RenderStyle::setNonInheritedCustomPropertyValue):
- rendering/style/StyleCustomPropertyData.h:
(WebCore::StyleCustomPropertyData::operator== const):
(WebCore::StyleCustomPropertyData::setCustomPropertyValue):
(WebCore::StyleCustomPropertyData::StyleCustomPropertyData):
(): Deleted.
LayoutTests:
Add tests for inline styles, font-size cycles with custom properties, and a crash that was reported.
- css-custom-properties-api/crash-expected.txt: Added.
- css-custom-properties-api/crash.html: Added.
- css-custom-properties-api/cycles-expected.txt: Added.
- css-custom-properties-api/cycles.html: Added.
- css-custom-properties-api/inline-expected.txt: Added.
- css-custom-properties-api/inline.html: Added.
- 6:52 PM Changeset in webkit [237346] by
-
- 2 edits in trunk/Tools
REGRESSION (r237331): InteractionDeadlockAfterCrash API test fails
https://bugs.webkit.org/show_bug.cgi?id=190801
<rdar://problem/43674361>
- TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm:
(TEST):
Use a parented WKWebView for this test, otherwise none of the assertions
about gesture recognizers work anymore.
- 5:52 PM Changeset in webkit [237345] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: [iOS] Layout Test media/media-fullscreen-pause-inline.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=187618
Unreviewed test gardening.
- platform/ios/TestExpectations: Mark test as flaky.
- 5:46 PM Changeset in webkit [237344] by
-
- 21 edits5 copies1 add in trunk
CSS Paint API should give a 2d rendering context
https://bugs.webkit.org/show_bug.cgi?id=190762
Patch by Justin Michaud <Justin Michaud> on 2018-10-22
Reviewed by Dean Jackson.
Source/WebCore:
Add a new type of canvas and 2d rendering context to support the CSS Painting API.
Make many of the methods from HTMLCanvasElement virtual functions on CanvasBase, and
remove many of the downcasts in CanvasRenderingContext2DBase as a result.
- CMakeLists.txt:
- DerivedSources.make:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSPaintRenderingContext2DCustom.cpp: Copied from Source/WebCore/css/CSSPaintCallback.h.
(WebCore::root):
(WebCore::JSPaintRenderingContext2DOwner::isReachableFromOpaqueRoots):
(WebCore::JSPaintRenderingContext2D::visitAdditionalChildren):
- bindings/js/WebCoreBuiltinNames.h:
- css/CSSPaintCallback.h:
- css/CSSPaintCallback.idl:
- html/CanvasBase.cpp:
(WebCore::CanvasBase::~CanvasBase):
- html/CanvasBase.h:
(WebCore::CanvasBase::isCustomPaintCanvas const):
- html/CustomPaintCanvas.cpp: Added.
(WebCore::CustomPaintCanvas::create):
(WebCore::CustomPaintCanvas::CustomPaintCanvas):
(WebCore::CustomPaintCanvas::~CustomPaintCanvas):
(WebCore::CustomPaintCanvas::width const):
(WebCore::CustomPaintCanvas::setWidth):
(WebCore::CustomPaintCanvas::height const):
(WebCore::CustomPaintCanvas::setHeight):
(WebCore::CustomPaintCanvas::size const):
(WebCore::CustomPaintCanvas::setSize):
(WebCore::CustomPaintCanvas::getContext):
(WebCore::CustomPaintCanvas::copiedImage const):
(WebCore::CustomPaintCanvas::drawingContext const):
(WebCore::CustomPaintCanvas::existingDrawingContext const):
(WebCore::CustomPaintCanvas::makeRenderingResultsAvailable):
- html/CustomPaintCanvas.h: Copied from Source/WebCore/html/OffscreenCanvas.h.
- html/HTMLCanvasElement.h:
- html/OffscreenCanvas.h:
- html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::wouldTaintOrigin):
- html/canvas/CanvasRenderingContext.h:
(WebCore::CanvasRenderingContext::isPaint const):
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::DisplayListDrawingContext::DisplayListDrawingContext):
(WebCore::CanvasRenderingContext2DBase::unwindStateStack):
(WebCore::CanvasRenderingContext2DBase::isAccelerated const):
(WebCore::CanvasRenderingContext2DBase::setStrokeStyle):
(WebCore::CanvasRenderingContext2DBase::setFillStyle):
(WebCore::CanvasRenderingContext2DBase::resetTransform):
(WebCore::CanvasRenderingContext2DBase::clearCanvas):
(WebCore::CanvasRenderingContext2DBase::transformAreaToDevice const):
(WebCore::CanvasRenderingContext2DBase::rectContainsCanvas const):
(WebCore::CanvasRenderingContext2DBase::calculateCompositingBufferRect):
(WebCore::CanvasRenderingContext2DBase::compositeBuffer):
(WebCore::CanvasRenderingContext2DBase::createPattern):
(WebCore::CanvasRenderingContext2DBase::didDrawEntireCanvas):
(WebCore::CanvasRenderingContext2DBase::didDraw):
(WebCore::CanvasRenderingContext2DBase::paintRenderingResultsToCanvas):
(WebCore::CanvasRenderingContext2DBase::drawingContext const):
- html/canvas/CanvasRenderingContext2DBase.h:
- html/canvas/PaintRenderingContext2D.cpp: Copied from Source/WebCore/css/CSSPaintCallback.h.
(WebCore::PaintRenderingContext2D::create):
(WebCore::PaintRenderingContext2D::PaintRenderingContext2D):
- html/canvas/PaintRenderingContext2D.h: Copied from Source/WebCore/css/CSSPaintCallback.h.
- html/canvas/PaintRenderingContext2D.idl: Copied from Source/WebCore/css/CSSPaintCallback.idl.
- html/canvas/WebMetalRenderPassAttachmentDescriptor.h:
- platform/graphics/CustomPaintImage.cpp:
(WebCore::CustomPaintImage::doCustomPaint):
LayoutTests:
- fast/css-custom-paint/basic.html:
- 5:35 PM Changeset in webkit [237343] by
-
- 1 copy in tags/Safari-606.3.1
Tag Safari-606.3.1.
- 5:21 PM Changeset in webkit [237342] by
-
- 3 edits in trunk/LayoutTests
Unreviewed, update TestExpectations for imported/w3c/web-platform-tests/fetch/nosniff/importscripts.html.
https://bugs.webkit.org/show_bug.cgi?id=157068
- TestExpectations: Mark test as a flaky failure for release builds.
- platform/mac-wk1/TestExpectations: Remove duplicate expectation.
- 5:15 PM Changeset in webkit [237341] by
-
- 5 edits in trunk/LayoutTests/imported/w3c
Update web-platform-tests/resource-timing
https://bugs.webkit.org/show_bug.cgi?id=190550
Reviewed by Youenn Fablet.
- resources/import-expectations.json:
- web-platform-tests/resource-timing/resource_initiator_types-expected.txt:
- web-platform-tests/resource-timing/resource_subframe_self_navigation-expected.txt:
- web-platform-tests/resource-timing/resource_timing_buffer_full_eventually.html:
- web-platform-tests/resource-timing/resources/TAOResponse.py:
(main):
- 5:02 PM WebKitGTK/2.22.x edited by
- Propose more backports (diff)
- 4:58 PM Changeset in webkit [237340] by
-
- 6 edits in trunk/Source
Use Location = "Relative to Build Products" rather than "Relative to Group"
https://bugs.webkit.org/show_bug.cgi?id=190781
Reviewed by Alexey Proskuryakov.
Almost all Derived Files are included in Xcode projects with the
Location attribute set to "Relative to Group". While this currently
works, the Derived Files can no longer be found when enabling XCBuild
(which has stricter requirements). Fix this by setting the Location
attribute to "Relative to Build Products".
Source/JavaScriptCore:
- JavaScriptCore.xcodeproj/project.pbxproj:
Source/WebCore:
No new tests -- no changed functionality.
- WebCore.xcodeproj/project.pbxproj:
Source/WebKit:
- WebKit.xcodeproj/project.pbxproj:
- 4:56 PM Changeset in webkit [237339] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r234330): [mac-wk1] Layout Test fast/repaint/animation-after-layer-scroll.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=188421
Unreviewed test gardening.
Patch by Dawei Fenton <realdawei@apple.com> on 2018-10-22
- platform/mac-wk1/TestExpectations: Mark test as flaky.
- 4:17 PM Changeset in webkit [237338] by
-
- 2 edits in trunk/LayoutTests
[ Mojave WK1 ] Layout Test storage/indexeddb/database-odd-names.html is failing
https://bugs.webkit.org/show_bug.cgi?id=190350
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations: Mark test as failing.
- 4:05 PM Changeset in webkit [237337] by
-
- 2 edits in trunk/LayoutTests
[macOS WK1] Layout Test http/tests/security/cross-origin-xsl-redirect-BLOCKED.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=189723
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations: Mark test as flaky.
- 4:05 PM Changeset in webkit [237336] by
-
- 2 edits in trunk/Tools
REGRESSION (r234081): TestWebKitAPI.VideoControlsManager.VideoControlsManagerAudioElementFollowingUserInteraction is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=187972
Unreviewed test gardening.
- TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm:
(TestWebKitAPI::TEST): Disable the flaky test.
- 3:12 PM Changeset in webkit [237335] by
-
- 1 copy in tags/Safari-606.2.104.1.2
Tag Safari-606.2.104.1.2.
- 3:02 PM Changeset in webkit [237334] by
-
- 2 edits in trunk/LayoutTests
Layout Test imported/w3c/web-platform-tests/intersection-observer/containing-block.html is a flaky failure on Debug builds
https://bugs.webkit.org/show_bug.cgi?id=190808
Unreviewed test gardening.
- 3:02 PM Changeset in webkit [237333] by
-
- 2 edits in trunk/LayoutTests
Some WK1 repaint tests are flaky on Mojave
https://bugs.webkit.org/show_bug.cgi?id=190627
Unreviewed, marked tests as flaky.
Patch by Dawei Fenton <realdawei@apple.com> on 2018-10-22
- platform/mac-wk1/TestExpectations:
- 2:52 PM Changeset in webkit [237332] by
-
- 7 edits in branches/safari-606.2.104.1-branch/Source
Versioning.
- 2:22 PM Changeset in webkit [237331] by
-
- 4 edits in trunk/Source/WebKit
Don't waste time under -setupInteraction under -initWithFrame for unparented WKWebViews
https://bugs.webkit.org/show_bug.cgi?id=190801
<rdar://problem/43674361>
Reviewed by Megan Gardner.
- UIProcess/ios/WKContentView.mm:
(-[WKContentView _commonInitializationWithProcessPool:configuration:]):
(-[WKContentView didMoveToWindow]):
Defer the first call to WKContentViewInteraction's -setupInteraction
until the view is parented. This avoids a few milliseconds of unnecessary
work for views that are never parented.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setupInteraction]):
(-[WKContentView cleanupInteraction]):
Keep track of the current state of WKContentViewInteraction's gestures.
Use this to make it OK to call -setupInteraction multiple times.
- 2:05 PM Changeset in webkit [237330] by
-
- 2 edits in trunk/Source/WebKitLegacy
Regression (r232410): StorageTracker.db file gets unlinked while in use
https://bugs.webkit.org/show_bug.cgi?id=190795
Reviewed by Chris Dumez.
WK2 stopped using StorageTracker.db file in r232410 and would delete
the file for safety.
It turned out WK1 could use the same file path, so WK2 may delete the
file while WK1 is using it.
- Storage/StorageTracker.cpp:
(WebKit::StorageTracker::trackerDatabasePath):
- 2:05 PM Changeset in webkit [237329] by
-
- 5 edits in trunk/Source
Deque's contains() and findIf() should be const
https://bugs.webkit.org/show_bug.cgi?id=190796
Reviewed by Antti Koivisto.
Source/WebKit:
Mark method as const now that Deque's implementation allows it to be.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::hasSuspendedPageProxyFor const):
(WebKit::WebProcessPool::hasSuspendedPageProxyFor): Deleted.
- UIProcess/WebProcessPool.h:
Source/WTF:
Deque's contains() and findIf() should be const as they do not modify the container.
- wtf/Deque.h:
(WTF::inlineCapacity>::findIf):
(WTF::inlineCapacity>::findIf const):
(WTF::inlineCapacity>::contains const):
(WTF::inlineCapacity>::contains): Deleted.
- 1:12 PM Changeset in webkit [237328] by
-
- 9 edits in trunk
[iOS] [Datalist] fast/forms/datalist/datalist-show-hide.html fails
https://bugs.webkit.org/show_bug.cgi?id=190777
Reviewed by Tim Horton.
Tools:
Implement isShowingDataListSuggestions on iOS. See below for more details.
- DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::isShowingDataListSuggestions const):
Add a stub implementation for DumpRenderTree.
- TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::isShowingDataListSuggestions const):
Move this stub implementation to !PLATFORM(COCOA).
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::forEachViewInHierarchy):
Add a helper function to apply a given function to a UIView and each of its subviews, recursively.
(WTR::UIScriptController::isShowingDataListSuggestions const):
For iOS, return whether the UIRemoteKeyboardWindow contains a subview of type WKDataListSuggestionsPickerView.
LayoutTests:
Refactor this test such that it passes on both iOS and macOS. This test verifies that datalist suggestions menu
UI can be shown and hidden. On macOS, we focus and then blur the input field; on iOS, we tap in the datalist
button to show the suggestions UI, and then tap in the text field to bring back the regular keyboard.
- fast/forms/datalist/datalist-show-hide-expected.txt:
- fast/forms/datalist/datalist-show-hide.html:
- platform/ios/TestExpectations:
Unskip the layout test on iOS.
- resources/ui-helper.js:
(window.UIHelper.isShowingDataListSuggestions):
Tweak this helper function to resolve with either true or false (Boolean types), instead of the strings "true"
and "false".
- 12:24 PM Changeset in webkit [237327] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Open Quickly dialog doesn't show named scripts that appear in the debugger sidebar
https://bugs.webkit.org/show_bug.cgi?id=190649
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-10-22
Reviewed by Devin Rousso.
- UserInterface/Views/OpenResourceDialog.js:
(WI.OpenResourceDialog.prototype.didPresentDialog):
(WI.OpenResourceDialog.prototype._addResourcesForTarget):
(WI.OpenResourceDialog.prototype._addScriptsForTarget):
Include non-resource named scripts from the main target in
the open quickly dialog.
- 12:07 PM Changeset in webkit [237326] by
-
- 1 edit1 add in trunk/JSTests
DFGAbstractValue::m_arrayModes expects IndexingMode values, not IndexingType.
https://bugs.webkit.org/show_bug.cgi?id=190515
<rdar://problem/45222379>
Rubber-stamped by Saam Barati.
Adding another test.
- stress/regress-190515-2.js: Added.
- 10:18 AM Changeset in webkit [237325] by
-
- 7 edits1 add in trunk
DFGAbstractValue::m_arrayModes expects IndexingMode values, not IndexingType.
https://bugs.webkit.org/show_bug.cgi?id=190515
<rdar://problem/45222379>
Reviewed by Saam Barati.
JSTests:
- stress/regress-190515.js: Added.
Source/JavaScriptCore:
- Fixes calls to asArrayModes() to take a structure's IndexingMode instead of IndexingType.
- DFG's compileNewArrayBuffer()'s HaveABadTime case was previously using the node's indexingType (instead of indexingMode) to choose the array structure to use for creating an array buffer with. This turns out to not be an issue because when the VM is in having a bad time, all the arrayStructureForIndexingTypeDuringAllocation structure pointers will point to the SlowPutArrayStorage structure anyway. However, to be strictly correct, we'll fix it to use the structure for the node's indexingMode.
- dfg/DFGAbstractValue.cpp:
(JSC::DFG::AbstractValue::set):
(JSC::DFG::AbstractValue::mergeOSREntryValue):
- dfg/DFGAbstractValue.h:
(JSC::DFG::AbstractValue::validate const):
- dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::executeOSRExit):
- dfg/DFGRegisteredStructureSet.cpp:
(JSC::DFG::RegisteredStructureSet::arrayModesFromStructures const):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileNewArrayBuffer):
- 9:27 AM Changeset in webkit [237324] by
-
- 5 edits in trunk/Source/WebCore
[LFC][IFC] Add justify text-align support.
https://bugs.webkit.org/show_bug.cgi?id=190779
Reviewed by Antti Koivisto.
Collect expansion opportunities and adjust runs accordingly.
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::layoutInlineContent const):
- layout/inlineformatting/InlineFormattingContext.h:
- layout/inlineformatting/InlineRun.h:
(WebCore::Layout::InlineRun::expansionOpportunity):
(WebCore::Layout::InlineRun::TextContext::setStart):
(WebCore::Layout::InlineRun::TextContext::setLength):
(WebCore::Layout::InlineRun::setTextContext):
(WebCore::Layout::InlineRun::createRun): Deleted.
(WebCore::Layout::InlineRun::createTextRun): Deleted.
- layout/inlineformatting/Line.cpp:
(WebCore::Layout::InlineFormattingContext::Line::Line):
(WebCore::Layout::InlineFormattingContext::Line::init):
(WebCore::Layout::InlineFormattingContext::Line::computeExpansionOpportunities):
(WebCore::Layout::InlineFormattingContext::Line::appendContent):
(WebCore::Layout::InlineFormattingContext::Line::justifyRuns):
(WebCore::Layout::InlineFormattingContext::Line::close):
(WebCore::Layout::isNonCollapsedText): Deleted.
- 9:02 AM Changeset in webkit [237323] by
-
- 9 edits in trunk/Source/WebCore
[LFC][IFC] Add (right, center)text-align support.
https://bugs.webkit.org/show_bug.cgi?id=190745
Reviewed by Antti Koivisto.
Adjust the logical left of each run while closing the line.
- layout/Verification.cpp:
(WebCore::Layout::outputMismatchingSimpleLineInformationIfNeeded):
(WebCore::Layout::outputMismatchingComplexLineInformationIfNeeded):
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::trimLeadingRun):
(WebCore::Layout::InlineFormattingContext::layoutInlineContent const):
- layout/inlineformatting/InlineFormattingContext.h:
(WebCore::Layout::InlineFormattingContext::Line::hasContent const):
(WebCore::Layout::InlineFormattingContext::Line::contentLogicalLeft const): Deleted.
- layout/inlineformatting/InlineLineBreaker.cpp:
(WebCore::Layout::InlineLineBreaker::nextRun):
(WebCore::Layout::InlineLineBreaker::splitRun):
- layout/inlineformatting/InlineLineBreaker.h:
- layout/inlineformatting/InlineRun.h:
(WebCore::Layout::InlineRun::setLogicalLeft):
(WebCore::Layout::InlineRun::TextContext::start const):
(WebCore::Layout::InlineRun::createRun):
(WebCore::Layout::InlineRun::createTextRun):
(WebCore::Layout::InlineRun::InlineRun):
(WebCore::Layout::InlineRun::TextContext::TextContext):
(WebCore::Layout::InlineRun::TextContext::position const): Deleted.
- layout/inlineformatting/Line.cpp:
(WebCore::Layout::InlineFormattingContext::Line::Line):
(WebCore::Layout::InlineFormattingContext::Line::init):
(WebCore::Layout::adjustedLineLogicalLeft):
(WebCore::Layout::InlineFormattingContext::Line::contentLogicalRight):
(WebCore::Layout::InlineFormattingContext::Line::appendContent):
(WebCore::Layout::InlineFormattingContext::Line::close):
(WebCore::Layout::InlineFormattingContext::Line::setConstraints): Deleted.
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::outputInlineRuns):
- 8:48 AM Changeset in webkit [237322] by
-
- 2 edits in trunk/LayoutTests
[ MacOS WK1 ] Layout Test platform/mac/media/audio-session-category-video-paused.html is flaky Timeout
https://bugs.webkit.org/show_bug.cgi?id=189680
Unreviewed Test Gardening
- platform/mac-wk1/TestExpectations:
- 8:42 AM Changeset in webkit [237321] by
-
- 6 edits in trunk/Source/WebCore
[LFC][IFC] Implement Replaced helper class.
https://bugs.webkit.org/show_bug.cgi?id=190719
Reviewed by Antti Koivisto.
- layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::Box):
- layout/layouttree/LayoutBox.h:
(WebCore::Layout::Box::replaced const):
- layout/layouttree/LayoutReplaced.cpp:
(WebCore::Layout::Replaced::Replaced):
(WebCore::Layout::Replaced::hasIntrinsicWidth const):
(WebCore::Layout::Replaced::hasIntrinsicHeight const):
(WebCore::Layout::Replaced::hasIntrinsicRatio const):
(WebCore::Layout::Replaced::intrinsicWidth const):
(WebCore::Layout::Replaced::intrinsicHeight const):
(WebCore::Layout::Replaced::intrinsicRatio const):
- layout/layouttree/LayoutReplaced.h:
(WebCore::Layout::Replaced::hasIntrinsicWidth const): Deleted.
(WebCore::Layout::Replaced::hasIntrinsicHeight const): Deleted.
(WebCore::Layout::Replaced::hasIntrinsicRatio const): Deleted.
(WebCore::Layout::Replaced::intrinsicWidth const): Deleted.
(WebCore::Layout::Replaced::intrinsicHeight const): Deleted.
(WebCore::Layout::Replaced::intrinsicRatio const): Deleted.
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::TreeBuilder::createSubTree):
- 8:21 AM Changeset in webkit [237320] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Block formatting context roots avoid floats.
https://bugs.webkit.org/show_bug.cgi?id=190723
Reviewed by Antti Koivisto.
Inline formatting context roots don't avoid floats (unless they also establish block formatting context).
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layoutFormattingContextRoot const):
- 12:19 AM Changeset in webkit [237319] by
-
- 3 edits in branches/safari-606-branch/Source/WebKit
Cherry-pick r235739. rdar://problem/45445194
WebKit/Platform/IPC/mac/ConnectionMac.mm:222: _dispatch_bug_kevent_vanished
https://bugs.webkit.org/show_bug.cgi?id=189314
<rdar://problem/41248286>
Reviewed by Anders Carlsson.
There is a short period in time when m_isServer is true, after open() has been
called, but before we've receive the InitializeConnection IPC, where m_receiveSource
has been initialized but m_isConnected is still false. If platformInvalidate() gets
called during this period of time, we would fail to cancel / release m_receiveSource
and we would forcefully deallocate m_receivePort, leading to the libdispatch simulated
crashes.
To address the issue, platformInvalidate() now properly cancels / releases
m_receiveSource if present, and only deallocates m_receivePort manually if m_receiveSource
has not been initialized (i.e. open() has not been called yet).
- Platform/IPC/Connection.h:
- Platform/IPC/mac/ConnectionMac.mm: (IPC::Connection::platformInvalidate): (IPC::Connection::clearReceiveSource):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235739 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:19 AM Changeset in webkit [237318] by
-
- 2 edits in branches/safari-606-branch/Source/JavaScriptCore
Cherry-pick r237215. rdar://problem/45445113
GetIndexedPropertyStorage can GC.
https://bugs.webkit.org/show_bug.cgi?id=190625
<rdar://problem/45309366>
Reviewed by Saam Barati.
This is because if the ArrayMode type is String, the DFG and FTL will be emitting
a call to operationResolveRope, and operationResolveRope can GC. This patch
updates doesGC() to reflect this.
- dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237215 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:19 AM Changeset in webkit [237317] by
-
- 2 edits in branches/safari-606-branch/Source/WebKit
Apply patch. rdar://problem/45285649
- 12:19 AM Changeset in webkit [237316] by
-
- 2 edits in branches/safari-606-branch/Source/WTF
Cherry-pick r236969. rdar://problem/45285687
StringTypeAdapter constructor is not properly enforcing String::MaxLength.
https://bugs.webkit.org/show_bug.cgi?id=190392
<rdar://problem/45116210>
Reviewed by Saam Barati.
Previously, the StringTypeAdapter constructor for a UChar* string was summing the
unsigned length of the source string without an overflow check. We now make that
length a size_t which removes this issue, and assert that it's within
String::MaxLength thereafter.
Also made the StringTypeAdapter constructor for a LChar* string behave in an
equivalent manner for consistency. In both cases, we'll crash in a RELEASE_ASSERT
if the source string length exceeds String::MaxLength.
- wtf/text/StringConcatenate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@236969 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:19 AM Changeset in webkit [237315] by
-
- 10 edits1 add in branches/safari-606-branch
Cherry-pick r236804. rdar://problem/45285687
Make string MaxLength for all WTF and JS strings consistently equal to INT_MAX.
https://bugs.webkit.org/show_bug.cgi?id=190187
<rdar://problem/42512909>
Reviewed by Michael Saboff.
JSTests:
- stress/regress-190187.js: Added.
Source/JavaScriptCore:
Allowing different max string lengths at each level opens up opportunities for
bugs to creep in. With 2 different max length values, it is more difficult to
keep the story straight on how we do overflow / bounds checks at each place in
the code. It's also difficult to tell if a seemingly valid check at the WTF level
will have bad ramifications at the JSC level. Also, it's also not meaningful to
support a max length > INT_MAX. To eliminate this class of bugs, we'll
standardize on a MaxLength of INT_MAX at all levels.
We'll also standardize the way we do length overflow checks on using
CheckedArithmetic, and add some asserts to document the assumptions of the code.
- runtime/FunctionConstructor.cpp: (JSC::constructFunctionSkippingEvalEnabledCheck):
- Fix OOM error handling which crashed a test after the new MaxLength was applied.
- runtime/JSString.h: (JSC::JSString::finishCreation): (JSC::JSString::createHasOtherOwner): (JSC::JSString::setLength):
- runtime/JSStringInlines.h: (JSC::jsMakeNontrivialString):
- runtime/Operations.h: (JSC::jsString):
Source/WTF:
- wtf/text/StringConcatenate.h: (WTF::tryMakeStringFromAdapters): (WTF::sumWithOverflow): Deleted.
- wtf/text/StringImpl.h:
- wtf/text/WTFString.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@236804 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:19 AM Changeset in webkit [237314] by
-
- 18 edits2 adds in branches/safari-606-branch
Cherry-pick r234127. rdar://problem/45285391
[INTL] Language tags are not canonicalized
https://bugs.webkit.org/show_bug.cgi?id=185836
Patch by Andy VanWagoner <andy@vanwagoner.family> on 2018-07-23
Reviewed by Keith Miller.
JSTests:
Remove expected failures that have been fixed.
- test262/expectations.yaml:
Source/JavaScriptCore:
Canonicalize language tags, replacing deprecated tag parts with the
preferred values. Remove broken support for algorithmic numbering systems,
that can cause an error in icu, and are not supported in other engines.
Generate the lookup functions from the language-subtag-registry.
Also initialize the UNumberFormat in initializeNumberFormat so any
failures are thrown immediately instead of failing to format later.
- CMakeLists.txt:
- DerivedSources.make:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Scripts/generateIntlCanonicalizeLanguage.py: Added.
- runtime/IntlDateTimeFormat.cpp: (JSC::IntlDateTimeFormat::initializeDateTimeFormat):
- runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatNumber): (JSC::IntlNumberFormat::formatToParts): (JSC::IntlNumberFormat::createNumberFormat): Deleted.
- runtime/IntlNumberFormat.h:
- runtime/IntlObject.cpp: (JSC::intlNumberOption): (JSC::intlDefaultNumberOption): (JSC::preferredLanguage): (JSC::preferredRegion): (JSC::canonicalLangTag): (JSC::canonicalizeLanguageTag): (JSC::defaultLocale): (JSC::removeUnicodeLocaleExtension): (JSC::numberingSystemsForLocale): (JSC::grandfatheredLangTag): Deleted.
- runtime/IntlObject.h:
- runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::initializePluralRules):
- runtime/JSGlobalObject.cpp: (JSC::addMissingScriptLocales): (JSC::JSGlobalObject::intlCollatorAvailableLocales): (JSC::JSGlobalObject::intlDateTimeFormatAvailableLocales): (JSC::JSGlobalObject::intlNumberFormatAvailableLocales): (JSC::JSGlobalObject::intlPluralRulesAvailableLocales):
- ucd/language-subtag-registry.txt: Added.
LayoutTests:
Use gregory instead of gregorian, matching test262/intl402 and other engines.
Remove tests for algorithmic numbering systems. Add NumberFormat numbering system tests.
- js/intl-datetimeformat-expected.txt:
- js/intl-numberformat-expected.txt:
- js/script-tests/intl-datetimeformat.js:
- js/script-tests/intl-numberformat.js: (string_appeared_here):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234127 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Oct 21, 2018:
- 7:06 PM Changeset in webkit [237313] by
-
- 3 edits in trunk/Source/WebKitLegacy/win
[Win][Clang] WebView.h: warning: 'QueryInterface' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
https://bugs.webkit.org/show_bug.cgi?id=190744
Reviewed by Alex Christensen.
clang-cl reports compilation warnings for inconsistent 'override'
keyword usage.
WebView::flushPendingGraphicsLayerChanges is used only if USE(CA).
This can't be marked 'override' if !USE(CA).
- WebView.cpp:
(WebView::flushPendingGraphicsLayerChanges): Define flushPendingGraphicsLayerChanges only if USE(CA).
- WebView.h: Marked all overriding member function declarations of WebView 'override'.
Declare flushPendingGraphicsLayerChanges only if USE(CA).