Timeline
Sep 13, 2020:
- 5:00 PM Changeset in webkit [267007] by
-
- 76 edits in trunk/Source/WebCore
[WebIDL] Remove need for [MayThrowException] on constructors and legacy factory functions
https://bugs.webkit.org/show_bug.cgi?id=216442
Reviewed by Darin Adler.
Deduce implementation potentially throwing by using the existing overload of
toJSNewlyCreated that conditionally checks for exceptions based on the return
type. constexpr IsExceptionOr to maintain existing optimizations around conditional
calls to RETURN_IF_EXCEPTION.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateConstructorDefinition):
Update code generation to output code that can handle constructors that return either
ExceptionOr or not. Maintain existing static assertion that the underlying return type
is a Ref<> using std::conditional_t predicated on IsExceptionOr and maintain the existing
optimization to not check for an exception after toJSNewlyCreated if one could not have
been made by again utilizing IsExceptionOr.
- bindings/scripts/IDLAttributes.json:
Remove [LegacyFactoryFunctionMayThrowException] now that it is not needed.
- Modules/applepay/ApplePaySession.idl:
- Modules/encryptedmedia/legacy/WebKitMediaKeys.idl:
- Modules/fetch/FetchHeaders.idl:
- Modules/fetch/FetchRequest.idl:
- Modules/fetch/FetchResponse.idl:
- Modules/mediarecorder/MediaRecorder.idl:
- Modules/mediastream/RTCIceCandidate.idl:
- Modules/mediastream/RTCPeerConnection.idl:
- Modules/paymentrequest/MerchantValidationEvent.idl:
- Modules/paymentrequest/PaymentRequest.idl:
- Modules/webaudio/AnalyserNode.idl:
- Modules/webaudio/AudioBuffer.idl:
- Modules/webaudio/AudioBufferSourceNode.idl:
- Modules/webaudio/AudioContext.idl:
- Modules/webaudio/BiquadFilterNode.idl:
- Modules/webaudio/ChannelMergerNode.idl:
- Modules/webaudio/ChannelSplitterNode.idl:
- Modules/webaudio/ConstantSourceNode.idl:
- Modules/webaudio/ConvolverNode.idl:
- Modules/webaudio/DelayNode.idl:
- Modules/webaudio/DynamicsCompressorNode.idl:
- Modules/webaudio/GainNode.idl:
- Modules/webaudio/IIRFilterNode.idl:
- Modules/webaudio/MediaElementAudioSourceNode.idl:
- Modules/webaudio/MediaStreamAudioDestinationNode.idl:
- Modules/webaudio/MediaStreamAudioSourceNode.idl:
- Modules/webaudio/OfflineAudioContext.idl:
- Modules/webaudio/OscillatorNode.idl:
- Modules/webaudio/PannerNode.idl:
- Modules/webaudio/PeriodicWave.idl:
- Modules/webaudio/StereoPannerNode.idl:
- Modules/webaudio/WaveShaperNode.idl:
- Modules/webaudio/WebKitAudioContext.idl:
- Modules/webaudio/WebKitOfflineAudioContext.idl:
- Modules/websockets/WebSocket.idl:
- Modules/webxr/WebXRRigidTransform.idl:
- Modules/webxr/WebXRWebGLLayer.idl:
- animation/KeyframeEffect.idl:
- css/DOMMatrix.idl:
- css/DOMMatrixReadOnly.idl:
- css/WebKitCSSMatrix.idl:
- dom/StaticRange.idl:
- dom/TextDecoder.idl:
- dom/TextDecoderStreamDecoder.idl:
- html/DOMURL.idl:
- html/HTMLOptionElement.h:
- html/HTMLOptionElement.idl:
- html/ImageData.idl:
- html/URLSearchParams.idl:
- html/track/TextTrackCue.idl:
- page/EventSource.idl:
- page/IntersectionObserver.idl:
- workers/Worker.idl:
Remove all uses of [LegacyFactoryFunctionMayThrowException] and [MayThrowException]
on constructors.
- html/HTMLAudioElement.cpp:
(WebCore::HTMLAudioElement::createForLegacyFactoryFunction):
(WebCore::HTMLAudioElement::createForJSConstructor): Deleted.
- html/HTMLAudioElement.h:
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::createForLegacyFactoryFunction):
(WebCore::HTMLImageElement::createForJSConstructor): Deleted.
- html/HTMLImageElement.h:
- html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::createForLegacyFactoryFunction):
(WebCore::HTMLOptionElement::createForJSConstructor): Deleted.
Renamed createForJSConstructor to createForLegacyFactoryFunction to better
match current WebIDL terminology.
- bindings/scripts/test/JS/JSExposedToWorkerAndWindow.cpp:
(WebCore::JSExposedToWorkerAndWindowConstructor::construct):
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructorConstructor::construct):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::construct):
- bindings/scripts/test/JS/JSTestLegacyFactoryFunction.cpp:
(WebCore::JSTestLegacyFactoryFunctionLegacyFactoryFunction::construct):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNodeConstructor::construct):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::construct):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::constructJSTestOverloadedConstructors1):
(WebCore::constructJSTestOverloadedConstructors2):
(WebCore::constructJSTestOverloadedConstructors3):
(WebCore::constructJSTestOverloadedConstructors4):
(WebCore::constructJSTestOverloadedConstructors5):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
(WebCore::constructJSTestOverloadedConstructorsWithSequence1):
(WebCore::constructJSTestOverloadedConstructorsWithSequence2):
- bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
(WebCore::JSTestPromiseRejectionEventConstructor::construct):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::construct):
- bindings/scripts/test/TestLegacyFactoryFunction.idl:
Update tests/expectations.
- 4:55 PM Changeset in webkit [267006] by
-
- 2 edits in trunk/Source/WebCore
FIXME in MediaDevices.idl is incorrect
https://bugs.webkit.org/show_bug.cgi?id=216459
Reviewed by Anders Carlsson.
- Modules/mediastream/MediaDevices.idl:
Remove FIXME about making MediaDevices an EventTarget subclass as it is a subclass
EventTarget.
- 4:50 PM Changeset in webkit [267005] by
-
- 2 edits in trunk/Source/WebCore
FIXME in MouseEventInit.idl is incorrect (we do support unsigned short buttons = 0)
https://bugs.webkit.org/show_bug.cgi?id=216460
Reviewed by Darin Adler.
- dom/MouseEventInit.idl:
Removes incorrect FIXME, adds spec link, and updates formatting to match spec.
- 2:17 PM Changeset in webkit [267004] by
-
- 3 edits in trunk/Source/WebCore/PAL
Clean up AVKitSPI.h
https://bugs.webkit.org/show_bug.cgi?id=216449
Reviewed by Darin Adler.
- pal/spi/cocoa/AVFoundationSPI.h:
Remove a duplicated AVKit header file.
- pal/spi/cocoa/AVKitSPI.h:
Organize header files (and definitions) in the following order:
- General AVKit header files
- General AVKit internal header files and definitions
- Feature specific internal header files and definitions
- 1:32 PM Changeset in webkit [267003] by
-
- 13 edits2 deletes in trunk/Source/WebCore
Consolidate BaseDateAndTimeInputType and BaseChooserOnlyDateAndTimeInputType
https://bugs.webkit.org/show_bug.cgi?id=216414
Reviewed by Devin Rousso.
BaseChooserOnlyDateAndTimeInputType is the only derived class of
BaseDateAndTimeInputType. Furthermore, with the introduction of editable
components, "ChooserOnly" no longer makes sense as a name for the
derived class. Consequently, all logic in BaseChooserOnlyDateAndTimeInputType
was moved into BaseDateAndTimeInputType, and the derived classes of the
"ChooserOnly" type now inherit BaseDateAndTimeInputType.
Also changed some methods from override to final, and made some protected
methods private, where possible.
No new tests, as there is no change in behavior.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- html/BaseChooserOnlyDateAndTimeInputType.cpp: Removed.
- html/BaseChooserOnlyDateAndTimeInputType.h: Removed.
- html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::DateTimeFormatValidator::visitField):
(WebCore::BaseDateAndTimeInputType::DateTimeFormatValidator::validateFormat):
(WebCore::BaseDateAndTimeInputType::~BaseDateAndTimeInputType):
(WebCore::BaseDateAndTimeInputType::isMouseFocusable const):
(WebCore::BaseDateAndTimeInputType::shouldHaveSecondField const):
(WebCore::BaseDateAndTimeInputType::shouldHaveMillisecondField const):
(WebCore::BaseDateAndTimeInputType::setValue):
(WebCore::BaseDateAndTimeInputType::handleDOMActivateEvent):
(WebCore::BaseDateAndTimeInputType::createShadowSubtree):
(WebCore::BaseDateAndTimeInputType::destroyShadowSubtree):
(WebCore::BaseDateAndTimeInputType::updateInnerTextValue):
(WebCore::BaseDateAndTimeInputType::hasCustomFocusLogic const):
(WebCore::BaseDateAndTimeInputType::attributeChanged):
(WebCore::BaseDateAndTimeInputType::elementDidBlur):
(WebCore::BaseDateAndTimeInputType::detach):
(WebCore::BaseDateAndTimeInputType::isPresentingAttachedView const):
(WebCore::BaseDateAndTimeInputType::handleKeydownEvent):
(WebCore::BaseDateAndTimeInputType::handleKeypressEvent):
(WebCore::BaseDateAndTimeInputType::handleKeyupEvent):
(WebCore::BaseDateAndTimeInputType::handleFocusEvent):
(WebCore::BaseDateAndTimeInputType::accessKeyAction):
(WebCore::BaseDateAndTimeInputType::didBlurFromControl):
(WebCore::BaseDateAndTimeInputType::didChangeValueFromControl):
(WebCore::BaseDateAndTimeInputType::isEditControlOwnerDisabled const):
(WebCore::BaseDateAndTimeInputType::isEditControlOwnerReadOnly const):
(WebCore::BaseDateAndTimeInputType::localeIdentifier const):
(WebCore::BaseDateAndTimeInputType::didChooseValue):
(WebCore::BaseDateAndTimeInputType::didEndChooser):
(WebCore::BaseDateAndTimeInputType::closeDateTimeChooser):
- html/BaseDateAndTimeInputType.h:
- html/DateInputType.cpp:
(WebCore::DateInputType::DateInputType):
- html/DateInputType.h:
- html/DateTimeLocalInputType.cpp:
- html/DateTimeLocalInputType.h:
- html/MonthInputType.h:
- html/TimeInputType.cpp:
(WebCore::TimeInputType::TimeInputType):
- html/TimeInputType.h:
- html/WeekInputType.h:
- 1:30 PM Changeset in webkit [267002] by
-
- 20 edits in trunk/Source
Overflow:scroll rubberbanding is interrupted by post-layout scrolling
https://bugs.webkit.org/show_bug.cgi?id=216463
<rdar://problem/67095741>
Reviewed by Darin Adler.
When rubberbanding overflow:scroll RenderLayer has an overscrolled scroll offset.
If RenderLayer::updateScrollInfoAfterLayout() happens when in this state, it can
clamp the scroll offset, causing the rubberband to collapse which interferes with
the user interaction. This happend on Gmail when composing a reply.
Fix by tracking the rubberbanding state in the scrolling tree, and having RenderLayer
query this state via the ScrollingCoordinator. RenderLayer::updateScrollInfoAfterLayout()
already tested isRubberBandInProgress(). This is similar to how isUserScrollInProgress()
and isScrollSnapInProgress() work.
This patch also fixes the tracking of rubberbanding state. Previously setMainFrameIsRubberBanding()
was just based on when the timer was started and stopped, which did not match the
implementation of ScrollController::isRubberBandInProgress(). Now ScrollController
correctly notifies its clients when the rubberbanding state changes by updating that
state whenever any of the conditions consulted in isRubberBandInProgressInternal() change.
Source/WebCore:
I tried to make tests for this, but the timing of wheel and scroll event delivery makes
reliable detection of interrupted rubberbands impossible in WebKitTestRunner.
- page/FrameView.cpp:
(WebCore::FrameView::isRubberBandInProgress const):
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::isRubberBandInProgress const):
- page/scrolling/AsyncScrollingCoordinator.h:
- page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::isRubberBandInProgress const):
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::isRubberBandInProgressForNode):
(WebCore::ScrollingTree::setRubberBandingInProgressForNode):
(WebCore::ScrollingTree::isRubberBandInProgress): Deleted.
(WebCore::ScrollingTree::setMainFrameIsRubberBanding): Deleted.
- page/scrolling/ScrollingTree.h:
- page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::commitStateBeforeChildren):
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::currentScrollPositionChanged):
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateMainFramePinAndRubberbandState):
- page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.h:
- page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm:
(WebCore::ScrollingTreeOverflowScrollingNodeMac::currentScrollPositionChanged):
- page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h:
- page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::currentScrollPositionChanged):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::isRubberBandInProgress const):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::didStopRubberbandSnapAnimation):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::rubberBandingStateChanged):
- platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::notifyPositionChanged):
- platform/cocoa/ScrollController.h:
(WebCore::ScrollControllerClient::rubberBandingStateChanged):
- platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::handleWheelEvent):
(WebCore::ScrollController::snapRubberBandTimerFired):
(WebCore::ScrollController::scrollPositionChanged):
(WebCore::ScrollController::isRubberBandInProgress const):
(WebCore::ScrollController::stopSnapRubberbandTimer):
(WebCore::ScrollController::isRubberBandInProgressInternal const):
(WebCore::ScrollController::updateRubberBandingState):
(WebCore::ScrollController::updateGestureInProgressState):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::isRubberBandInProgress const):
(WebCore::RenderLayer::updateScrollInfoAfterLayout):
Source/WebKit:
- WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.h:
- WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm:
(WebKit::RemoteScrollingCoordinator::isRubberBandInProgress const):
(WebKit::RemoteScrollingCoordinator::scrollingStateInUIProcessChanged):
- 12:18 PM Changeset in webkit [267001] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Create LineBox::InlineBox for [ContainerEnd] runs forced to the next line.
https://bugs.webkit.org/show_bug.cgi?id=216462
Reviewed by Antti Koivisto.
Normally the [container end] run forms a continous content with the runs in front of it
(there's no breaking opportunity between e.g the last text run and the [container end] run).
However in certain cases the [container end] run may be forced over to the next line.
e.g.
<span>the [container end] run is forced over to the next line<br></span>over here
runs: [container start][text run][line break run]<-new line->[container end][text run]
- layout/inlineformatting/InlineLineBox.cpp:
(WebCore::Layout::LineBox::constructInlineBoxes):
- 11:47 AM Changeset in webkit [267000] by
-
- 4 edits in trunk
Make CanvasRenderingContext2D functions parameters not default to undefined
https://bugs.webkit.org/show_bug.cgi?id=216438
Patch by Rob Buis <rbuis@igalia.com> on 2020-09-13
Reviewed by Sam Weinig.
Source/WebCore:
Some string parameters default to "undefined", however the code path is the same when
no default is given and implicitly a null string is passed, so remove the default
values.
- html/canvas/CanvasRenderingContext2D.idl:
LayoutTests:
Adjust expected test result.
- inspector/canvas/recording-2d-full-expected.txt:
- 11:13 AM Changeset in webkit [266999] by
-
- 31 edits in trunk/Source/WebCore
[WebIDL] Remove need for [MayThrowException] on indexed and named setters
https://bugs.webkit.org/show_bug.cgi?id=216441
Reviewed by Darin Adler.
Deduce implementation potentially throwing by introspecting the return
type of the setters implementation in a new helper, invokeFunctorPropagatingExceptionIfNecessary.
This allows us to remove another set of uses of [MayThrowException].
- bindings/js/JSDOMConvertBase.h:
- dom/ExceptionOr.h:
Move IsExceptionOr to ExceptionOr.h so it can be used more widely.
- bindings/js/JSDOMExceptionHandling.h:
(WebCore::invokeFunctorPropagatingExceptionIfNecessary):
Add helper that invokes the passed in functor and calls propagateException
if the return type was an ExceptionOr<>. If the return type is not an
ExceptionOr<>, it just invokes the functor and returns.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateInvokeIndexedPropertySetter):
(GenerateInvokeNamedPropertySetter):
Update to call invokeFunctorPropagatingExceptionIfNecessary.
- css/CSSStyleDeclaration.idl:
- dom/DOMStringMap.idl:
- storage/Storage.idl:
- svg/SVGLengthList.idl:
- svg/SVGNumberList.idl:
- svg/SVGPathSegList.idl:
- svg/SVGPointList.idl:
- svg/SVGStringList.idl:
- svg/SVGTransformList.idl:
Remove now unneeded [MayThrowException].
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyOverrideBuiltIns.cpp:
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.cpp:
- bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.cpp:
- bindings/scripts/test/TestIndexedSetterThrowingException.idl:
- bindings/scripts/test/TestNamedAndIndexedSetterThrowingException.idl:
- bindings/scripts/test/TestNamedSetterThrowingException.idl:
Update tests/expectations.
- 10:52 AM Changeset in webkit [266998] by
-
- 2 edits in trunk/Source/WebCore
Fix FIXME in XPathEvaluatorBase about using [NewObject]
https://bugs.webkit.org/show_bug.cgi?id=216458
Reviewed by Anders Carlsson.
- xml/XPathEvaluatorBase.idl:
Address FIXME by applying [NewObject] to createExpression. The implementation already matches this.
- 10:21 AM Changeset in webkit [266997] by
-
- 2 edits in trunk/Tools
Move block-spammers tool to python 3
https://bugs.webkit.org/show_bug.cgi?id=216457
Reviewed by Sam Weinig.
- Scripts/block-spammers: Updated for new print() and translate() syntax, and
moved from raw_input() to input().
- 9:46 AM Changeset in webkit [266996] by
-
- 2 edits in trunk/Source/WebCore
[LFC][Tree building] Table rows may not have any children.
https://bugs.webkit.org/show_bug.cgi?id=216456
Reviewed by Antti Koivisto.
Cover the case when the table row has no children at all (call numberOfCellsPerRow.append() on evey row when needed).
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::TreeBuilder::buildTableStructure):
- 9:19 AM Changeset in webkit [266995] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Text run is at incorrect vertical position when parent inline box is stretched
https://bugs.webkit.org/show_bug.cgi?id=216453
Reviewed by Antti Koivisto.
Text runs don't necessarily start at the top of the parent inline box. When the inline box is
stretched by some other content (nested inline box or atomic inline-level box) the run is pushed down.
This patch computes the correct vertical position by using the inline box's baseline (text always sits on the baseline).
- layout/inlineformatting/InlineLineBox.cpp:
(WebCore::Layout::LineBox::logicalRectForTextRun const):
- 9:18 AM Changeset in webkit [266994] by
-
- 2 edits in trunk/Source/WebCore
[LFC] Fix showLayoutTree to show anonymous inline boxes
https://bugs.webkit.org/show_bug.cgi?id=215437
Reviewed by Antti Koivisto.
This patch also adds baseline and run content logging.
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::outputLayoutBox):
(WebCore::Layout::outputLayoutTree):
- 8:43 AM Changeset in webkit [266993] by
-
- 9 edits in trunk
Add a key to the text manipulation userInfo dictionary indicating whether the translated item is on-screen
https://bugs.webkit.org/show_bug.cgi?id=216452
<rdar://problem/68785397>
Reviewed by Darin Adler.
Source/WebCore:
For debugging purposes, and also to provide a hint as to what text should be prioritized when translating
web pages, WebKit clients have requested a new field in the userInfo metadata dictionary associated with each
token that indicates whether or not a translation (i.e. text manipulation) token represents an element that is
currently on-screen. See below for more details.
Test: TextManipulation.StartTextManipulationExtractsUserInfo
- editing/TextManipulationController.cpp:
(WebCore::tokenInfo):
Set the flag by checking whether or not the absolute bounding rect intersects with the visible content rect of
the enclosing frame. Note that since subframe content is currently never extracted for translation, we don't
need logic yet to recursively check that parent iframe elements are visible.
- editing/TextManipulationController.h:
Add a new
boolflag inManipulationTokenInfo.
(WebCore::TextManipulationController::ManipulationTokenInfo::encode const):
(WebCore::TextManipulationController::ManipulationTokenInfo::decode):
Source/WebKit:
Add
_WKTextManipulationTokenUserInfoVisibilityKeyand set its value to the value of theisVisiblemember in
ManipulationTokenInfo. See WebCore ChangeLog for more details.
- UIProcess/API/Cocoa/WKWebView.mm:
(createUserInfo):
- UIProcess/API/Cocoa/_WKTextManipulationToken.h:
- UIProcess/API/Cocoa/_WKTextManipulationToken.mm:
Tools:
Adjust an existing test so that it adds a fourth text paragraph with 2000px of top margin, and also
programmatically scrolls after loading the page so that only this last paragraph is visible. We expect the
metadata to indicate that none of the other tokens except this last one has a value ofYESfor
_WKTextManipulationTokenUserInfoVisibilityKey.
- TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
- 5:07 AM Changeset in webkit [266992] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, GTK/WPE EME build fixes after r266721
The Thunder decryptor changes were not tested before landing, this code path is not enabled
on any bot currently, hence requires manual testing.
- platform/graphics/gstreamer/eme/WebKitThunderDecryptorGStreamer.cpp:
(protectionSystemId):
(cdmProxyAttached):
(decrypt):
- platform/graphics/gstreamer/eme/WebKitThunderDecryptorGStreamer.h:
- 2:45 AM Changeset in webkit [266991] by
-
- 7 edits in trunk/Source/WebCore
Clean up LazyLoadImageObserver
https://bugs.webkit.org/show_bug.cgi?id=216435
Patch by Rob Buis <rbuis@igalia.com> on 2020-09-13
Reviewed by Darin Adler.
Clean up LazyLoadImageObserver to match LazyLoadFrameObserver, inspired by the
review of bug 215442. Specifically remove the friend declaration and create
function, rename m_lazyLoadImageObserver to make its use more clear and therefore
remove the comment about it.
- dom/Document.cpp:
(WebCore::Document::lazyLoadImageObserver):
- html/HTMLIFrameElement.cpp:
- html/LazyLoadFrameObserver.cpp:
(WebCore::LazyLoadFrameObserver::observe):
(WebCore::LazyLoadFrameObserver::unobserve):
(WebCore::LazyLoadFrameObserver::intersectionObserver):
(WebCore::LazyLoadFrameObserver::isObserved const):
- html/LazyLoadFrameObserver.h:
- html/LazyLoadImageObserver.cpp:
(WebCore::LazyLoadImageObserver::unobserve):
(WebCore::LazyLoadImageObserver::intersectionObserver):
(WebCore::LazyLoadImageObserver::isObserved const):
- html/LazyLoadImageObserver.h:
(WebCore::LazyLoadImageObserver::create): Deleted.
- 1:13 AM Changeset in webkit [266990] by
-
- 4 edits in trunk/Source/WebKit
[GTK][WPE] Build fails when -DENABLE_SERVICE_WORKER=OFF
https://bugs.webkit.org/show_bug.cgi?id=216455
Unreviewed build fix.
- UIProcess/API/glib/WebKitWebsiteData.cpp:
(recordContainsSupportedDataTypes):
(toWebKitWebsiteDataTypes):
- UIProcess/API/glib/WebKitWebsiteDataManager.cpp:
(toWebsiteDataTypes):
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoad):
Sep 12, 2020:
- 11:39 PM Changeset in webkit [266989] by
-
- 4 edits2 adds in trunk
Safely handle overly-long CSS variable values
https://bugs.webkit.org/show_bug.cgi?id=216407
Patch by Tyler Wilcock <Tyler Wilcock> on 2020-09-12
Reviewed by Darin Adler.
Source/WebCore:
Per spec, treat overly long CSS variable values as invalid.
https://drafts.csswg.org/css-variables/#long-variables
Test: fast/css/variables/invalidate-overly-long-variable-values.html
- css/CSSVariableReferenceValue.cpp:
(WebCore::resolveVariableReference):
Return false for any variable values greater thanmaxSubstitutionTokenslong.
- css/CSSVariableReferenceValue.h:
Add
maxSubstitutionTokens.
LayoutTests:
- fast/css/variables/invalidate-overly-long-variable-values.html: Added.
- fast/css/variables/invalidate-overly-long-variable-values-expected.html: Added.
- 11:21 PM Changeset in webkit [266988] by
-
- 18 edits4 copies in trunk
Send TestRendered event after running a test but before dumping
https://bugs.webkit.org/show_bug.cgi?id=216428
Reviewed by Sam Weinig.
Tools:
- DumpRenderTree/CMakeLists.txt: Added the new files and directories.
- DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Ditto.
- DumpRenderTree/PlatformWin.cmake: Temporarily disable precompiled headers
on WinCairo since they were not working properly with JSBasics.cpp.
- DumpRenderTree/mac/FrameLoadDelegate.mm:
(-[FrameLoadDelegate readyToDumpState]): Added. Calls sendTestRenderedEvent.
(-[FrameLoadDelegate processWork:]): Call readyToDumpState.
(-[FrameLoadDelegate webView:locationChangeDone:forDataSource:]): Ditto.
- DumpRenderTree/win/FrameLoadDelegate.cpp:
(readyToDumpState): Added. Calls sendTestRenderedEvent.
(FrameLoadDelegate::processWork): Call readyToDumpState.
(FrameLoadDelegate::locationChangeDone): Ditto.
- TestRunnerShared/Bindings/JSBasics.cpp: Added.
(WTR::JSValueMakeBooleanOrNull): Moved from JSWrappable.h.
(WTR::JSValueToNullableBoolean): Ditto.
(WTR::JSValueMakeStringOrNull): Ditto.
(WTR::createJSString): Ditto.
(WTR::makeValue): Ditto.
(WTR::objectProperty): Ditto.
(WTR::setProperty): Added. Sets a named property value to a boolean.
(WTR::call): Moved from JSWrappable.h.
(WTR::callConstructor): Added. Gets a global constructor and calls it.
- TestRunnerShared/Bindings/JSBasics.h: Added. Declares the above functions.
- TestRunnerShared/Bindings/JSWrappable.h:
(WTR::JSValueMakeBooleanOrNull): Deleted.
(WTR::JSValueToNullableBoolean): Deleted.
(WTR::JSValueMakeStringOrNull): Deleted.
(WTR::createJSString): Deleted.
(WTR::makeValue): Deleted.
(WTR::objectProperty): Deleted.
(WTR::call): Deleted.
(WTR::hasRefTestWaitAttribute): Deleted.
- TestRunnerShared/Bindings/JSWrapper.h: Updated includes.
- TestRunnerShared/ReftestFunctions.cpp: Added.
(WTR::sendTestRenderedEvent): Added. Creates and dispatches a TestRendered event.
(WTR::hasReftestWaitAttribute): Moved from JSWrappable.h and renamed to use a
lowercase T since that's how web-platform-tests names things.
- TestRunnerShared/ReftestFunctions.h: Added. Declares the above functions.
- WebKitTestRunner/CMakeLists.txt: Added the new files and directories.
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::frameDidChangeLocation): Call sendTestRenderedEvent
before calling dumpAfterWaitAttributeIsRemoved.
- WebKitTestRunner/InjectedBundle/mac/AccessibilityTextMarkerMac.mm: Added a
missing include of "config.h" to fix build failures I was seeing. An alternative,
since this is a Cocoa-only source file, would be to put config.h into a
precompiled prefix header.
- WebKitTestRunner/InjectedBundle/mac/AccessibilityTextMarkerRangeMac.mm: Ditto.
- WebKitTestRunner/PlatformWin.cmake: Temporarily disable precompiled headers
on WinCairo since they were not working properly with JSBasics.cpp.
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Added the new
files and directories.
LayoutTests:
- platform/gtk/TestExpectations:
- platform/mac/TestExpectations:
Unskip two tests that no longer time out since we are sending this event.
- platform/win/TestExpectations:
Add a failure expectation for a test that has a couple non-green pixels.
- 9:55 PM Changeset in webkit [266987] by
-
- 6 edits in trunk/Source/WebCore
Fix root cause of problem with text replacements at the beginnings of sentences so we can remove the workaround
https://bugs.webkit.org/show_bug.cgi?id=216450
Reviewed by Tim Horton.
- dom/SimpleRange.cpp:
(WebCore::compareByDocumentOrder): Added so we can use std::min/max.
(WebCore::unionRange): Refactored to use std::min/max.
(WebCore::intersection): Added.
- dom/SimpleRange.h: Added intersection.
- editing/Editor.cpp:
(WebCore::Editor::markMisspellingsAfterTypingToWord): Intersect with the sentence range,
since we don't have a guarantee that moving to the start of a word and end of a word
stays within the sentence since the word and sentence algorithms are not wholly consistent.
In such cases we would like to restrict our checking to the sentence. Another way to fix
this would be to change the behavior of the word and sentence boundary functions.
(WebCore::Editor::markAndReplaceFor): Remove the boolean "true" flags that we used to
trigger our workaround for the above.
- editing/TextCheckingHelper.cpp:
(WebCore::TextCheckingParagraph::automaticReplacementStart const): Removed the boolean
argument and the workaround code that runs when it's true.
(WebCore::TextCheckingParagraph::automaticReplacementLength const): Ditto.
- editing/TextCheckingHelper.h: Removed the boolean arguments.
- 6:31 PM Changeset in webkit [266986] by
-
- 18 edits in trunk/Source/WebCore
Replace formatForDebugger() which uses raw char* with debugDescription()
https://bugs.webkit.org/show_bug.cgi?id=216447
Reviewed by Darin Adler.
formatForDebugger() relied on raw char* and buffer lengths. Replace with debugDescription()
which returns a String, and is already a convention used in various classes.
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper debugDescriptionForTextMarker:]):
(formatForDebugger):
- dom/Element.cpp:
(WebCore::Element::formatForDebugger const): Deleted.
- dom/Element.h:
- dom/Node.cpp:
(WebCore::Node::debugDescription const):
(WebCore::Node::formatForDebugger const): Deleted.
- dom/Node.h:
- dom/Position.cpp:
(WebCore::Position::debugDescription const):
(WebCore::Position::formatForDebugger const): Deleted.
- dom/Position.h:
- dom/Range.cpp:
(WebCore::Range::debugDescription const):
(WebCore::Range::formatForDebugger const): Deleted.
- dom/Range.h:
- dom/Text.cpp:
(WebCore::Text::formatForDebugger const): Deleted.
- dom/Text.h:
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::debugDescription const):
(WebCore::FrameSelection::formatForDebugger const): Deleted.
- editing/FrameSelection.h:
- editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::debugDescription const):
(WebCore::VisiblePosition::formatForDebugger const): Deleted.
- editing/VisiblePosition.h:
- editing/VisibleSelection.cpp:
(WebCore::VisibleSelection::debugDescription const):
(WebCore::VisibleSelection::formatForDebugger const): Deleted.
- editing/VisibleSelection.h:
- 6:30 PM Changeset in webkit [266985] by
-
- 5 edits in trunk/Source/WebCore
Use an OptionSet<> for LayoutBox::BaseTypeFlags
https://bugs.webkit.org/show_bug.cgi?id=216445
Reviewed by Darin Adler.
Use an OptionSet<> for LayoutBox::BaseTypeFlags.
- layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::Box):
- layout/layouttree/LayoutBox.h:
(WebCore::Layout::Box::isInitialContainingBlock const):
(WebCore::Layout::Box::isContainerBox const):
(WebCore::Layout::Box::isInlineTextBox const):
(WebCore::Layout::Box::isLineBreakBox const):
(WebCore::Layout::Box::isReplacedBox const):
- layout/layouttree/LayoutContainerBox.cpp:
(WebCore::Layout::ContainerBox::ContainerBox):
- layout/layouttree/LayoutContainerBox.h:
(WebCore::Layout::ContainerBox::ContainerBox):
- 4:44 PM Changeset in webkit [266984] by
-
- 8 edits2 adds in trunk
REGRESSION (r266817): ASSERTION FAILED: injectedBundle.isTestRunning() on imported/w3c/web-platform-tests/service-workers/service-worker/svg-target-reftest.https.html
https://bugs.webkit.org/show_bug.cgi?id=216440
[GTK] imported/w3c/web-platform-tests/service-workers/service-worker/svg-target-reftest.https.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=210375
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/service-workers/service-worker/resources/svg-target-reftest-frame.html: Added.
- web-platform-tests/service-workers/service-worker/resources/svg-target-reftest-001-frame.html: Added.
Somehow these files were missed in the web-platform-tests import, and they are both used by the
svg-target-reftest.https.html test.
- web-platform-tests/service-workers/service-worker/svg-target-reftest.https-expected.html:
Updated the path in this expected result file. The test importer script should have done this;
not sure why it did not.
Tools:
Did some hardening of the reftest-wait mechanism in WebKitTestRunner.
We can later do the same in DumpRenderTree if the same problem comes up there,
but at this time I don't have a test that reproduces the issue there so not
changing it for now. Don't want to add speculative code without testing it.
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::hasRefTestWaitAttribute): Changed to take a WKBundlePageRef instead of
a InjectedBundlePage&.
(WTR::dumpAfterWaitAttributeIsRemoved): Changed to take a WKBundlePageRef.
Added code to handle cases where an explicit dump occurs while we are waiting
for the attribute to be removed. Identify the page with the WKBundlePageRef,
which can be retained/released.
(WTR::InjectedBundlePage::frameDidChangeLocation): Check page for null
instead of indirectly checking by asking if the pageCount is 0. Also pass
a WKBundlePageRef in to dumpAfterWaitAttributeIsRemoved.
LayoutTests:
- TestExpectations: Skip svg-target-reftest.https.html because it fails in
legacy WebKit and the symptom is a hang waiting for the reftest-wait attribute
to be removed. The failure is not new.
- platform/gtk/TestExpectations: Removed expectation that this same test will
be flaky. The addition of reftest-wait support and the subresource along with
the bug fix to WebKitTestRunner should leave this passing and non-flaky on GTK.
Feel free to add this back if that proves wrong.
- platform/wk2/TestExpectations: Expect a pass for this test. It's working fine
on modern WebKit.
- 4:11 PM Changeset in webkit [266983] by
-
- 9 edits in trunk/Source/WebCore
[WebIDL] Remove need for [MayThrowException] on named deleters
https://bugs.webkit.org/show_bug.cgi?id=216429
Reviewed by Darin Adler.
Deduce implementation potentially thowing by introspecting the return
type of the deleters implementation. This allows us to remove another
use of [MayThrowException].
- bindings/js/JSDOMAbstractOperations.h:
(WebCore::performLegacyPlatformObjectDeleteOperation):
Add helper function to house shared implementation of the various
combinations of return types allowed.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateDeletePropertyCommon):
Convert the commented expectation that unnamed deleters return bool
or ExceptionOr<bool> into a static assertion and use the new helper
function to simplify code generation.
- storage/Storage.idl:
Remove now unneeded [MayThrowException].
- bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
- bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
- bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
- bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
- bindings/scripts/test/TestNamedDeleterThrowingException.idl:
Update tests/expectations.
- 4:01 PM Changeset in webkit [266982] by
-
- 13 edits in trunk
[Apple Win] Add a CTFont member to FontPlatformData
https://bugs.webkit.org/show_bug.cgi?id=216432
Reviewed by Darin Adler.
.:
Include *CoreText.cpp files on the Apple Win port.
- Source/cmake/OptionsAppleWin.cmake:
Source/WebCore:
This is the second step on the path to replacing the Apple Win port's use of CGFont with CTFont.
This patch adds m_ctFont to FontPlatformData, and makes FontPlatformData's constructors create
this object from their existing arguments. It also enables the USE(CORE_TEXT) flag on the Apple
Win port, but manually disables each of the USE(CORE_TEXT) sites on Windows, so there isn't any
behavior change just yet. The new member, m_ctFont, is therefore still unused in this patch. The
next steps will be replacing our current Apple Win font functions with their USE(CORE_TEXT)
counterparts, one-by-one. (Replacing them one-by-one is better than doing them all at once in a
giant mondo-patch.)
No new tests because there is no behavior change yet.
- PlatformAppleWin.cmake:
- platform/graphics/Font.cpp:
- platform/graphics/FontCascade.cpp:
- platform/graphics/FontPlatformData.cpp:
- platform/graphics/FontPlatformData.h: The #defines are temporarily getting worse before they'll
be getting better. When this project is done, there will be fewer #defines, and this file will be
cleaner than it was when I started.
(WebCore::FontPlatformData::cgFont const):
(WebCore::FontPlatformData::ctFont const):
- platform/graphics/coretext/FontCascadeCoreText.cpp:
- platform/graphics/coretext/FontCoreText.cpp:
- platform/graphics/coretext/FontPlatformDataCoreText.cpp:
- platform/graphics/coretext/GlyphPageCoreText.cpp:
- platform/graphics/win/FontPlatformDataCGWin.cpp:
(WebCore::FontPlatformData::platformDataInit):
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::hash const):
(WebCore::FontPlatformData::platformIsEqual const):
- 3:10 PM Changeset in webkit [266981] by
-
- 1 edit1 delete in trunk/Source/WebCore
Remove dead code FontCascadeCGWin.cpp
https://bugs.webkit.org/show_bug.cgi?id=216444
Reviewed by Darin Adler.
This file isn't actually referenced by any port's build system.
The Apple Win port uses FontCGWin.cpp instead, which defines the same symbols as this file.
No new tests because there is no behavior change.
- platform/graphics/win/FontCascadeCGWin.cpp: Removed.
- 3:02 PM Changeset in webkit [266980] by
-
- 4 edits in trunk/Source
Convert TextStream::FormattingFlags to an OptionSet<>
https://bugs.webkit.org/show_bug.cgi?id=216443
Reviewed by Darin Adler.
Source/WebCore:
Use an OptionSet<> for FormattingFlags.
- rendering/RenderTreeAsText.cpp:
(WebCore::externalRepresentation):
(WebCore::counterValueForElement):
Source/WTF:
Use an OptionSet<> for FormattingFlags.
- wtf/text/TextStream.h:
(WTF::TextStream::TextStream):
(WTF::TextStream::formattingFlags const):
(WTF::TextStream::setFormattingFlags):
(WTF::TextStream::hasFormattingFlag const):
- 12:30 PM Changeset in webkit [266979] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Simplify LineBox offset computation
https://bugs.webkit.org/show_bug.cgi?id=216434
Reviewed by Antti Koivisto.
This is still inline with the half leading logic where the ascent + descent (LineBox height) and the line spacing are
used to position the inline content.
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computedLineLogicalRect const):
- 10:07 AM Changeset in webkit [266978] by
-
- 6 edits2 adds in trunk
[LFC][IFC] Add support for non-root-inline-box line spacing
https://bugs.webkit.org/show_bug.cgi?id=216433
Reviewed by Antti Koivisto.
Source/WebCore:
While the LineBox vertically contains all the LineBox::InlineBoxes, its height value does not
include any line spacing (FontMetrics::lineSpacing).
Each LineBox::InlineBox may have a different line spacing value (this value is zero in many cases).
This patch collects line spacing values from the LineBox::InlineBoxes on the line and adjusts the final
line height value accordingly.
Test: fast/layoutformattingcontext/inline-box-with-line-spacing-simple.html
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computedLineLogicalRect const):
- layout/inlineformatting/InlineLineBox.cpp:
(WebCore::Layout::LineBox::constructInlineBoxes):
- layout/inlineformatting/InlineLineBox.h:
(WebCore::Layout::LineBox::InlineBox::lineSpacing const):
(WebCore::Layout::LineBox::InlineBox::setLineSpacing):
(WebCore::Layout::LineBox::inlineBoxList const):
LayoutTests:
- fast/layoutformattingcontext/inline-box-with-line-spacing-simple-expected.html: Added.
- fast/layoutformattingcontext/inline-box-with-line-spacing-simple.html: Added.
- 3:37 AM Changeset in webkit [266977] by
-
- 4 edits4 copies1 add1 delete in trunk/Source/WebCore
Addressing feedback on r266936
https://bugs.webkit.org/show_bug.cgi?id=216431
Unreviewed.
I didn't follow the reviewer's advice thoroughly.
No new tests because there is no behavior change.
- PlatformMac.cmake:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/coretext/FontCascadeCoreText.cpp: Renamed from Source/WebCore/platform/graphics/ct/FontCascadeCoreText.cpp.
- platform/graphics/coretext/FontCoreText.cpp: Renamed from Source/WebCore/platform/graphics/ct/FontCoreText.cpp.
- platform/graphics/coretext/FontPlatformDataCoreText.cpp: Renamed from Source/WebCore/platform/graphics/ct/FontPlatformDataCoreText.cpp.
- platform/graphics/coretext/GlyphPageCoreText.cpp: Renamed from Source/WebCore/platform/graphics/ct/GlyphPageCoreText.cpp.
- 1:35 AM Changeset in webkit [266976] by
-
- 23 edits1 copy1 add in trunk
Implement lazy iframe loading
https://bugs.webkit.org/show_bug.cgi?id=215442
Patch by Rob Buis <rbuis@igalia.com> on 2020-09-12
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Update improved test result.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-base-url-2.tentative-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-base-url.tentative-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event.tentative-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-multiple-times.tentative-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-referrerpolicy-change.sub.tentative-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-to-eager.tentative-expected.txt:
Source/WebCore:
Implement lazy iframe loading as specified [1, 2]. Lazy iframe loading
is controlled by the loading attribute on <iframe>. When the loading attribute is
not specified, the behavior is like before this patch, i.e. loading is eager.
This changes the way iframe attribute processing is handled as specified here [2].
This implementation relies on Intersection Observer and hence works on WK2 only.
[1] https://html.spec.whatwg.org/#attr-iframe-loading
[2] https://html.spec.whatwg.org/#process-the-iframe-attributes
Tests: imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-base-url-2.tentative.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-base-url.tentative.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event.tentative.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-multiple-times.tentative.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-referrerpolicy-change.sub.tentative.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-to-eager.tentative.html
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::openURL):
- html/HTMLFrameElementBase.h:
(WebCore::HTMLFrameElementBase::frameURL const):
(WebCore::HTMLFrameElementBase::setFrameURL):
- html/HTMLFrameOwnerElement.h:
(WebCore::HTMLFrameOwnerElement::shouldLoadFrameLazily):
(WebCore::HTMLFrameOwnerElement::isLazyLoadObserverActive const):
- html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::parseAttribute):
(WebCore::HTMLIFrameElement::referrerPolicy const):
(WebCore::HTMLIFrameElement::loadingForBindings const):
(WebCore::HTMLIFrameElement::setLoadingForBindings):
(WebCore::isFrameLazyLoadable):
(WebCore::HTMLIFrameElement::shouldLoadFrameLazily):
(WebCore::HTMLIFrameElement::isLazyLoadObserverActive const):
(WebCore::HTMLIFrameElement::loadDeferredFrame):
(WebCore::HTMLIFrameElement::lazyLoadFrameObserver):
- html/HTMLIFrameElement.h:
- html/HTMLIFrameElement.idl:
- html/LazyLoadFrameObserver.cpp: Added.
(WebCore::LazyLoadFrameObserver::LazyLoadFrameObserver):
(WebCore::LazyLoadFrameObserver::observe):
(WebCore::LazyLoadFrameObserver::unobserve):
(WebCore::LazyLoadFrameObserver::intersectionObserver):
(WebCore::LazyLoadFrameObserver::isObserved const):
- html/LazyLoadFrameObserver.h: Copied from Source/WebCore/html/canvas/WebGLCompressedTextureETC1.cpp.
(WebCore::LazyLoadFrameObserver::frameURL const):
(WebCore::LazyLoadFrameObserver::referrerPolicy const):
- html/canvas/WebGLCompressedTextureETC1.cpp:
- html/shadow/DateTimeFieldElement.cpp:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::preventsParentFromBeingComplete const):
(WebCore::FrameLoader::allChildrenAreComplete const):
- loader/FrameLoader.h:
LayoutTests:
Unskip iframe-loading-lazy-to-eager.tentative.html and
disable lazy iframe loading tests for WK1.
- TestExpectations:
- platform/mac-wk1/TestExpectations:
- 12:09 AM Changeset in webkit [266975] by
-
- 4 edits in trunk
[GTK] REGRESSION(r266815): Several GTK API tests are timing out
https://bugs.webkit.org/show_bug.cgi?id=216361
Reviewed by Adrian Perez de Castro.
Source/WebInspectorUI:
Add missing trailing ';'.
- UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
Tools:
Unskip tests that are now passing.
- TestWebKitAPI/glib/TestExpectations.json:
- 12:07 AM Changeset in webkit [266974] by
-
- 4 edits in trunk
[GTK] Timeouts after reftest-wait class enablement in r266817
https://bugs.webkit.org/show_bug.cgi?id=216397
Reviewed by Adrian Perez de Castro.
Tools:
Tests are timing out because dumpAfterWaitAttributeIsRemoved() is called recursively from a WebCore timer, not
allowing other sources with lower priority like display refresh monitor one to be run. This patch simply adds a
1 millisecond delay between dumpAfterWaitAttributeIsRemoved tries to allow other sources to be run in the main
loop.
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::dumpAfterWaitAttributeIsRemoved):
LayoutTests:
Update expectations for tests that are now passing and failing.
- platform/gtk/TestExpectations: