Timeline
Oct 29, 2017:
- 8:40 PM Changeset in webkit [224168] by
-
- 4 edits in trunk/Source/WebCore
Use of uninitialized value $targetIdlFile in hash element at preprocess-idls.pl line 165.
https://bugs.webkit.org/show_bug.cgi?id=177743
Patch by Fujii Hironori <Fujii Hironori> on 2017-10-29
Reviewed by Darin Adler.
GamepadWebVR.idl supplements Gamepad.idl. But, Gamepad.idl is not
processed because ENABLE_GAMEPAD is OFF.
No new tests since there should be no behavioral change.
- CMakeLists.txt: Include GamepadWebVR.idl only if ENABLE_GAMEPAD.
- Sources.txt: Ditto.
- bindings/scripts/preprocess-idls.pl: Die if a supplemented IDL file is not found.
- 7:23 PM Changeset in webkit [224167] by
-
- 3 edits in branches/safari-604-branch/Source
Apply patch. rdar://problem/35058061
We should ignore HSTS for partitioned, cross-origin subresource requests since HSTS is being abused for cross-site tracking purposes.
- 5:04 PM Changeset in webkit [224166] by
-
- 6 edits2 adds in trunk/LayoutTests
LayoutTests/imported/w3c:
Unreviewed, revaseline a few tests after r224156.
- web-platform-tests/service-workers/service-worker/import-scripts-redirect.https-expected.txt: Added.
- web-platform-tests/service-workers/service-worker/mime-sniffing.https-expected.txt: Added.
- web-platform-tests/service-workers/service-worker/ready.https-expected.txt:
- web-platform-tests/service-workers/service-worker/redirected-response.https-expected.txt:
- web-platform-tests/streams/readable-byte-streams/detached-buffers.serviceworker.https-expected.txt:
LayoutTests:
Unreviewed, rebaseline a few tests after r224156.
- 4:07 PM Changeset in webkit [224165] by
-
- 13 edits4 adds in trunk
[Conic Gradients] Add support for parsing conic gradients
https://bugs.webkit.org/show_bug.cgi?id=178987
Reviewed by Dean Jackson.
Source/WebCore:
Adds initial support, disabled by default, for parsing conic gradients as per
CSS 4 Images - https://www.w3.org/TR/css-images-4/#conic-gradients.
Test: fast/gradients/conic-gradient-parsing.html
- css/CSSGradientValue.cpp:
(WebCore::clone):
(WebCore::CSSGradientValue::isCacheable const):
(WebCore::CSSConicGradientValue::customCSSText const):
(WebCore::CSSConicGradientValue::createGradient):
(WebCore::CSSConicGradientValue::equals const):
- css/CSSGradientValue.h:
Add CSSConicGradientValue as a subclass of CSSGradientValue and implement
customCSSText() and equals(). Stub out createGradient() as painting is not
yet implemented.
- css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::image):
(WebCore::CSSImageGeneratorValue::isFixedSize const):
(WebCore::CSSImageGeneratorValue::fixedSize):
(WebCore::CSSImageGeneratorValue::isPending const):
(WebCore::CSSImageGeneratorValue::knownToBeOpaque const):
(WebCore::CSSImageGeneratorValue::loadSubimages):
- css/CSSValue.cpp:
(WebCore::CSSValue::equals const):
(WebCore::CSSValue::cssText const):
(WebCore::CSSValue::destroy):
Dispatch to CSSConicGradientValue as needed.
- css/CSSValue.h:
(WebCore::CSSValue::isImageGeneratorValue const):
(WebCore::CSSValue::isGradientValue const):
(WebCore::CSSValue::isConicGradientValue const):
Add conic gradient predicate support and update isImageGeneratorValue and
isGradientValue to include conic gradient.
- css/CSSValueKeywords.in:
Add conic-gradient and repeating-conic-gradient.
- css/parser/CSSParser.cpp:
(WebCore::CSSParserContext::CSSParserContext):
(WebCore::operator==):
- css/parser/CSSParserMode.h:
(WebCore::CSSParserContextHash::hash):
Add runtime flags to enable conic gradients.
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::consumeAngleOrPercent):
Helper, similar to consumeLengthOrPercent, for consumeGradientColorStops.
Corresponds to https://drafts.csswg.org/css-values-4/#typedef-angle-percentage
(WebCore::CSSPropertyParserHelpers::consumeGradientColorStops):
Convert to take CSSGradientValue by reference.
(WebCore::CSSPropertyParserHelpers::consumeAngularGradientColorStops):
Helper, similar to consumeGradientColorStops, but for angular color stops
used in conic gradients. Corresponds to https://www.w3.org/TR/css-images-4/#typedef-angular-color-stop-list
but does not yet support double position syntax.
(WebCore::CSSPropertyParserHelpers::consumeDeprecatedRadialGradient):
(WebCore::CSSPropertyParserHelpers::consumeRadialGradient):
(WebCore::CSSPropertyParserHelpers::consumeLinearGradient):
Pass CSSGradientValue by reference.
(WebCore::CSSPropertyParserHelpers::consumeConicGradient):
Parse conic gradient.
(WebCore::CSSPropertyParserHelpers::consumeGeneratedImage):
Dispatch to consumeConicGradient for repeating and non-repeating
conic gradients.
(WebCore::CSSPropertyParserHelpers::isGeneratedImage):
Put each value on its own line to make it more readable and add CSSValueConicGradient
and CSSValueRepeatingConicGradient.
- page/Settings.yaml:
Add a setting to enable conic gradients. Disabled by default.
- features.json:
Move conic gradients to "In Development".
LayoutTests:
- http/wpt/css: Added.
- http/wpt/css/css-images-4: Added.
- http/wpt/css/css-images-4/conic-gradient-parsing-expected.txt: Added.
- http/wpt/css/css-images-4/conic-gradient-parsing.html: Added.
Add tests for basic parsing of conic gradients.
- 2:08 PM Changeset in webkit [224164] by
-
- 2 edits in trunk/Source/WebCore
[Web Animations] Expose the currentTime property on Animation
https://bugs.webkit.org/show_bug.cgi?id=178988
Unreviewed.
Style fixes missed in previous patch.
- animation/WebAnimation.cpp:
(WebCore::WebAnimation::setCurrentTime):
- 1:22 PM Changeset in webkit [224163] by
-
- 5 edits2 adds in trunk
[Web Animations] Expose the currentTime property on Animation
https://bugs.webkit.org/show_bug.cgi?id=178988
Reviewed by Dean Jackson.
Source/WebCore:
We now expose the currentTime property on Animation objects, our first
step in implementing the Web Animations timing model, specifically section
3.5.4. "The current time of an animation" and section 3.5.5. "Setting the
current time of an animation". Setting the startTime has implications on
currentTime and vice-versa.
Test: webanimations/animation-current-time.html
- animation/WebAnimation.cpp:
(WebCore::WebAnimation::setBindingsStartTime):
(WebCore::WebAnimation::startTime const):
(WebCore::WebAnimation::setStartTime):
(WebCore::WebAnimation::bindingsCurrentTime const):
(WebCore::WebAnimation::setBindingsCurrentTime):
(WebCore::WebAnimation::currentTime const):
(WebCore::WebAnimation::setCurrentTime):
- animation/WebAnimation.h:
- animation/WebAnimation.idl:
LayoutTests:
Add a new test that checks that the currentTime property is set
correctly based on the startTime value and the document timeline
currentTime, and that setting the property may raise an exception
and otherwise update the animation startTime.
- webanimations/animation-current-time-expected.txt: Added.
- webanimations/animation-current-time.html: Added.
- 11:24 AM WikiStart edited by
- (diff)
- 10:58 AM Changeset in webkit [224162] by
-
- 2 edits in branches/safari-604-branch/LayoutTests
Cherry-pick r224139. rdar://problem/35143359
- 10:58 AM Changeset in webkit [224161] by
-
- 2 edits in branches/safari-604-branch/Source/WebKit
Cherry-pick r224135. rdar://problem/35143359
- 10:58 AM Changeset in webkit [224160] by
-
- 15 edits29 adds in branches/safari-604-branch
Cherry-pick r224134. rdar://problem/35143359
- 3:15 AM Changeset in webkit [224159] by
-
- 5 edits in trunk/Source/WebCore
Assert that no script is executed during style recalc
https://bugs.webkit.org/show_bug.cgi?id=178845
<rdar://problem/35106129>
Reviewed by Antti Koivisto.
This patch adds NoEventDispatchAssertion to Document::updateStyle and Document::updateStyleIfNeeded
to make sure we don't start mutating DOM in the middle of a style update.
Added NoEventDispatchAssertion::EventAllowedScope for various places in SVGUseElement to update its
shadow tree since that happens while updating the style.
No new tests since there should be no behavioral change.
- dom/Document.cpp:
(WebCore::Document::resolveStyle): Added NoEventDispatchAssertion while flushing pending stylesheets
and calling FrameView::willRecalcStyle, and while the style tree solver is in works. Also moved in
the code to update the selection and schedule to dispatch a fake mouse event into the same scope.
Also increment m_styleRecalcCount in the same code since post resolution callbacks could run author
scripts which in turn trigger another (recursive) style recalc.
(WebCore::Document::updateStyleIfNeeded): Put everything but the call to resolveStyle in a scope with
NoEventDispatchAssertion.
- dom/Element.cpp:
(WebCore::Element::cloneElementWithChildren): Added NoEventDispatchAssertion::EventAllowedScope to the
newly cloned element for SVG use element's shadow tree.
(WebCore::Element::cloneElementWithoutChildren): Ditto.
- dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchEvent): Make the assertion more precise to workaround the fact SVG
use elements update its shadow tree in the middle of style updates. Also removed a redundant assertion
since the result of NoEventDispatchAssertion::isEventDispatchAllowedInSubtree cannot chance without
pushing or popoing the stack frame.
- svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::clearShadowTree):
(WebCore::SVGUseElement::updateShadowTree): Added NoEventDispatchAssertion to the user-agent shadow root
of a SVG use element. Since this is a newly created shadow tree which hasn't been exposed to author
scripts, it's safe to mutate them during the style recalc even though it's not the best design.
(WebCore::SVGUseElement::cloneTarget const): Ditto.
(WebCore::SVGUseElement::expandUseElementsInShadowTree const): Ditto.
(WebCore::SVGUseElement::expandSymbolElementsInShadowTree const): Ditto.
(WebCore::SVGUseElement::transferEventListenersToShadowTree const):
- 3:06 AM Changeset in webkit [224158] by
-
- 14 edits in trunk
createImageBitmap with HTMLCanvasElement
https://bugs.webkit.org/show_bug.cgi?id=178984
<rdar://problem/35238440>
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Update the expected results.
- web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt:
- web-platform-tests/2dcontext/imagebitmap/createImageBitmap-sizeOverflow-expected.txt:
- web-platform-tests/imagebitmap-renderingcontext/bitmaprenderer-as-imagesource-expected.txt:
Source/WebCore:
Implement createImageBitmap(HTMLCanvasElement).
While here, explicitly reject the promises for the
methods we haven't yet implemented. I was hoping this
would avoid a lengthy timeout in one of the imported
WPT tests but, alas, it doesn't. However, it's still
a good idea.
Extend internal WPT proposals to cover canvas creation.
- html/ImageBitmap.cpp:
(WebCore::ImageBitmap::createPromise): Get the image from
the canvas and draw it into a new ImageBitmap buffer.
LayoutTests:
Exercise new creation method.
- http/wpt/2dcontext/imagebitmap/common.js:
(create9x9CanvasWithTargetImage):
- http/wpt/2dcontext/imagebitmap/createImageBitmap-expected.txt:
- http/wpt/2dcontext/imagebitmap/createImageBitmap-sizing-expected.txt:
- http/wpt/2dcontext/imagebitmap/createImageBitmap-sizing.html:
- http/wpt/2dcontext/imagebitmap/createImageBitmap.html:
- http/wpt/2dcontext/imagebitmap/drawImage-ImageBitmap-expected.txt:
- http/wpt/2dcontext/imagebitmap/drawImage-ImageBitmap.html:
Oct 28, 2017:
- 10:31 PM Changeset in webkit [224157] by
-
- 2 edits in trunk/LayoutTests
Make HTTPS WPT tests time out through testharness.js to get better error reports
https://bugs.webkit.org/show_bug.cgi?id=178982
Patch by Youenn Fablet <youenn@apple.com> on 2017-10-28
Reviewed by Chris Dumez.
- resources/testharnessreport.js: extending to tests run over HTTPS WPT port 9443.
- 8:02 PM Changeset in webkit [224156] by
-
- 74 edits1 copy4 moves287 adds26 deletes in trunk/LayoutTests
Rebase WPT tests up to a1c0107
https://bugs.webkit.org/show_bug.cgi?id=178589
Patch by Youenn Fablet <youenn@apple.com> on 2017-10-28
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- resources/TestRepositories:
- resources/import-expectations.json:
- resources/resource-files.json:
- web-platform-tests: Updated.
LayoutTests:
- TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/mac-wk1/imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-sync-default-feature-policy.sub-expected.txt: Added.
- 7:45 PM Changeset in webkit [224155] by
-
- 6 edits3 deletes in trunk
[iOS] Unify Font::platformCharWidthInit() with macOS
https://bugs.webkit.org/show_bug.cgi?id=178951
<rdar://problem/7848198>
Reviewed by Zalan Bujtas.
Source/WebCore:
The only reason these codepaths are different is because historically this codepath
didn't work with GS fonts (which we don't use anymore).
Tests: fast/forms/search-styled.html
fast/forms/text-control-intrinsic-widths.html
fast/forms/textarea-width.html
- platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::platformCharWidthInit):
LayoutTests:
Updating expected results.
- platform/ios-wk2/fast/forms/search-styled-expected.txt: Removed.
- platform/ios-wk2/fast/forms/text-control-intrinsic-widths-expected.txt: Removed.
- platform/ios-wk2/fast/forms/textarea-width-expected.txt: Removed.
- platform/ios/fast/forms/search-styled-expected.txt:
- platform/ios/fast/forms/text-control-intrinsic-widths-expected.txt:
- platform/ios/fast/forms/textarea-width-expected.txt:
- 11:24 AM Changeset in webkit [224154] by
-
- 9 edits1 move3 adds2 deletes in trunk/Source/WebKit
[Settings] Generate more of the WebKit preferences code
https://bugs.webkit.org/show_bug.cgi?id=178945
Reviewed by Chris Dumez.
Generate WebPreferencesKeys.{h,cpp} and WebPreferencesStoreDefaultsMap.cpp
- CMakeLists.txt:
- DerivedSources.make:
- WebKit.xcodeproj/project.pbxproj:
- Scripts/GeneratePreferences.rb:
Generate new files.
- Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb:
Update include.
- Scripts/PreferencesTemplates/WebPreferencesKeys.cpp.erb: Added.
- Scripts/PreferencesTemplates/WebPreferencesKeys.h.erb: Added.
- Scripts/PreferencesTemplates/WebPreferencesStoreDefaultsMap.cpp.erb: Added.
Add template files for new generated files.
- Shared/WebPreferencesDefaultValues.h: Copied from Source/WebKit/Shared/WebPreferencesDefinitionsBase.h.
- Shared/WebPreferencesDefinitionsBase.h:
Renamed WebPreferencesDefinitionsBase.h to WebPreferencesDefaultValues.h to better indicate what it is.
- Shared/WebPreferencesKeys.cpp: Removed.
- Shared/WebPreferencesKeys.h: Removed.
Replaced with generated versions.
- Shared/WebPreferencesStore.cpp:
(WebKit::defaults): Deleted.
- Shared/WebPreferencesStore.h:
Replace macro driven defaults map with generated WebPreferencesStoreDefaultsMap.cpp.
- 10:40 AM Changeset in webkit [224153] by
-
- 6 edits3 adds in trunk
self.ExtendableEvent / Client / Clients / WindowClient do not exist in a Service Worker
https://bugs.webkit.org/show_bug.cgi?id=178976
Reviewed by Sam Weinig.
Source/WebCore:
Test: http/tests/workers/service/ServiceWorkerGlobalScope-properties.html
- workers/service/ExtendableEvent.idl:
- workers/service/FetchEvent.idl:
Drop [Exposed=Worker] as there is already [Exposed=ServiceWorker] and
ServiceWorkerGlobalScope inherits from WorkerGlobalScope. This is redundant
and we would hit assertions and adding the global constructors at runtime
when the feature is enabled, because the property already exists.
Source/WebKit:
Actually enable the Service Worker RuntimeEnabledFeature in the Service Worker
WebProcess.
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::updatePreferences):
LayoutTests:
Add layout test coverage.
- http/tests/workers/service/ServiceWorkerGlobalScope-properties-expected.txt: Added.
- http/tests/workers/service/ServiceWorkerGlobalScope-properties.html: Added.
- http/tests/workers/service/resources/ServiceWorkerGlobalScope-properties-worker.js: Added.
- 10:38 AM Changeset in webkit [224152] by
-
- 6 edits in trunk/LayoutTests
Update testharness.js to work around our lack of support for MessagePort in service workers
https://bugs.webkit.org/show_bug.cgi?id=178977
Reviewed by Sam Weinig.
Update testharness.js to work around our lack of support for MessagePort in service workers, similarly
to what was already done for Edge.
- web-platform-tests/resources/testharness.js:
- 10:18 AM Changeset in webkit [224151] by
-
- 4 edits in trunk/Tools
[WPE] Build gst-plugins-base without pango support
https://bugs.webkit.org/show_bug.cgi?id=178918
Reviewed by Carlos Garcia Campos.
We need to build gst-plugins-base without pango support for WPE. Let's use JHBuild
conditions so we can make platform-specific changes in the shared GStreamer moduleset.
- gstreamer/jhbuild.modules:
- gtk/jhbuildrc:
- wpe/jhbuildrc:
- 8:24 AM Changeset in webkit [224150] by
-
- 34 edits2 adds in trunk/Source
[FrameView::layout cleanup] Move core layout logic to a separate class.
https://bugs.webkit.org/show_bug.cgi?id=178771
<rdar://problem/35166542>
Reviewed by Simon Fraser.
Move layout code out from FrameView to LayoutContext.
Source/WebCore:
LayoutContext holds all the layout related logic (scheduling, needsLayout, handling layout states),
while scrolling, view sizing methods stay in FrameView.
Having a dedicated LayoutContext allows to structure the code better.
Covered by existing tests.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- accessibility/AXObjectCache.cpp:
(WebCore::rendererNeedsDeferredUpdate):
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::updateBackingStore):
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::textUnderElement const):
(WebCore::AccessibilityRenderObject::layoutCount const):
- dom/Document.cpp:
(WebCore::Document::setVisualUpdatesAllowed):
(WebCore::Document::resolveStyle):
(WebCore::Document::updateStyleIfNeeded):
(WebCore::Document::updateLayout):
(WebCore::Document::updateLayoutIfDimensionsOutOfDate):
(WebCore::Document::implicitClose):
(WebCore::Document::isLayoutTimerActive):
- dom/Element.cpp:
(WebCore::Element::absoluteEventHandlerBounds):
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::setSelection):
- html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::renderWidgetLoadingPlugin const):
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::didAttachRenderers):
- inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::update):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopForUserCancel):
- page/Frame.cpp:
(WebCore::Frame::setView):
(WebCore::Frame::clearTimers):
(WebCore::Frame::setPageAndTextZoomFactors):
(WebCore::Frame::resumeActiveDOMObjectsAndAnimations):
- page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::~FrameView):
(WebCore::FrameView::reset):
(WebCore::FrameView::resetScrollbars):
(WebCore::FrameView::didFirstLayout const):
(WebCore::FrameView::willDestroyRenderTree):
(WebCore::FrameView::didDestroyRenderTree):
(WebCore::FrameView::setContentsSize):
(WebCore::FrameView::calculateScrollbarModesForLayout):
(WebCore::FrameView::updateCompositingLayersAfterStyleChange):
(WebCore::FrameView::topContentInsetDidChange):
(WebCore::FrameView::forceLayoutParentViewIfNeeded):
(WebCore::FrameView::adjustScrollbarsForLayout):
(WebCore::FrameView::willDoLayout): This takes care of the view related task right before entering render tree layout.
(WebCore::FrameView::didLayout): post layout tasks.
(WebCore::FrameView::shouldDeferScrollUpdateAfterContentSizeChange):
(WebCore::FrameView::updateLayoutViewport):
(WebCore::FrameView::maintainScrollPositionAtAnchor):
(WebCore::FrameView::updateLayerPositionsAfterScrolling):
(WebCore::FrameView::updateCompositingLayersAfterScrolling):
(WebCore::FrameView::availableContentSizeChanged):
(WebCore::FrameView::updateContentsSize):
(WebCore::FrameView::needsLayout const):
(WebCore::FrameView::setNeedsLayout):
(WebCore::FrameView::scheduleSelectionUpdate):
(WebCore::FrameView::updateEmbeddedObjects):
(WebCore::FrameView::flushAnyPendingPostLayoutTasks):
(WebCore::FrameView::flushPostLayoutTasksQueue):
(WebCore::FrameView::performPostLayoutTasks):
(WebCore::FrameView::sendResizeEventIfNeeded):
(WebCore::FrameView::autoSizeIfEnabled):
(WebCore::FrameView::paintControlTints):
(WebCore::FrameView::paintContents):
(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
(WebCore::FrameView::enableAutoSizeMode):
(WebCore::FrameView::forceLayout):
(WebCore::SubtreeLayoutStateMaintainer::SubtreeLayoutStateMaintainer): Deleted.
(WebCore::SubtreeLayoutStateMaintainer::~SubtreeLayoutStateMaintainer): Deleted.
(WebCore::SubtreeLayoutStateMaintainer::shouldDisableLayoutStateForSubtree): Deleted.
(): Deleted.
(WebCore::RenderTreeNeedsLayoutChecker::~RenderTreeNeedsLayoutChecker): Deleted.
(WebCore::applyTextSizingIfNeeded): Deleted.
(WebCore::FrameView::handleLayoutWithFrameFlatteningIfNeeded): Deleted.
(WebCore::FrameView::updateStyleForLayout): Deleted.
(WebCore::FrameView::canPerformLayout const): Deleted.
(WebCore::FrameView::layout): Deleted.
(WebCore::FrameView::runOrSchedulePostLayoutTasks): Deleted.
(WebCore::FrameView::convertSubtreeLayoutToFullLayout): Deleted.
(WebCore::FrameView::layoutTimerFired): Deleted.
(WebCore::FrameView::scheduleRelayout): Deleted.
(WebCore::isObjectAncestorContainerOf): Deleted.
(WebCore::FrameView::scheduleRelayoutOfSubtree): Deleted.
(WebCore::FrameView::layoutPending const): Deleted.
(WebCore::FrameView::unscheduleRelayout): Deleted.
(WebCore::FrameView::startLayoutAtMainFrameViewIfNeeded): Deleted.
- page/FrameView.h:
- page/LayoutContext.cpp: Added.
(WebCore::isObjectAncestorContainerOf):
(WebCore::SubtreeLayoutStateMaintainer::SubtreeLayoutStateMaintainer):
(WebCore::SubtreeLayoutStateMaintainer::~SubtreeLayoutStateMaintainer):
(WebCore::SubtreeLayoutStateMaintainer::shouldDisableLayoutStateForSubtree):
(WebCore::RenderTreeNeedsLayoutChecker::~RenderTreeNeedsLayoutChecker):
(WebCore::LayoutScope::LayoutScope):
(WebCore::LayoutScope::~LayoutScope):
(WebCore::LayoutContext::LayoutContext):
(WebCore::LayoutContext::layout):
(WebCore::LayoutContext::runOrScheduleAsynchronousTasks):
(WebCore::LayoutContext::runAsynchronousTasks):
(WebCore::LayoutContext::flushAsynchronousTasks):
(WebCore::LayoutContext::reset):
(WebCore::LayoutContext::needsLayout const):
(WebCore::LayoutContext::setNeedsLayout):
(WebCore::LayoutContext::enableSetNeedsLayout):
(WebCore::LayoutContext::disableSetNeedsLayout):
(WebCore::LayoutContext::scheduleLayout):
(WebCore::LayoutContext::unscheduleLayout):
(WebCore::LayoutContext::scheduleSubtreeLayout):
(WebCore::LayoutContext::layoutTimerFired):
(WebCore::LayoutContext::convertSubtreeLayoutToFullLayout):
(WebCore::LayoutContext::setSubtreeLayoutRoot):
(WebCore::LayoutContext::canPerformLayout const):
(WebCore::LayoutContext::applyTextSizingIfNeeded):
(WebCore::LayoutContext::updateStyleForLayout):
(WebCore::LayoutContext::handleLayoutWithFrameFlatteningIfNeeded):
(WebCore::LayoutContext::startLayoutAtMainFrameViewIfNeeded):
(WebCore::LayoutContext::frame const):
(WebCore::LayoutContext::view const):
(WebCore::LayoutContext::renderView const):
(WebCore::LayoutContext::document const):
- page/LayoutContext.h: Added.
(WebCore::LayoutContext::startDisallowingLayout):
(WebCore::LayoutContext::endDisallowingLayout):
(WebCore::LayoutContext::layoutPhase const):
(WebCore::LayoutContext::isLayoutNested const):
(WebCore::LayoutContext::layoutCount const):
(WebCore::LayoutContext::isLayoutPending const):
(WebCore::LayoutContext::isInLayout const):
(WebCore::LayoutContext::isInRenderTreeLayout const):
(WebCore::LayoutContext::inPaintableState const):
(WebCore::LayoutContext::subtreeLayoutRoot const):
(WebCore::LayoutContext::clearSubtreeLayoutRoot):
(WebCore::LayoutContext::resetFirstLayoutFlag):
(WebCore::LayoutContext::didFirstLayout const):
(WebCore::LayoutContext::setNeedsFullRepaint):
(WebCore::LayoutContext::needsFullRepaint const):
(WebCore::LayoutContext::layoutDisallowed const):
(WebCore::LayoutContext::isLayoutSchedulingEnabled const):
(WebCore::LayoutContext::inAsynchronousTasks const):
- page/Page.cpp:
(WebCore::Page::setPageScaleFactor):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::insertPositionedObject):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::imageChanged):
(WebCore::RenderBox::computeLogicalWidthInFragment const):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::clearSubtreeLayoutRootIfNeeded const):
(WebCore::RenderElement::checkForRepaintDuringLayout const):
- rendering/RenderFrameBase.cpp:
(WebCore::RenderFrameBase::performLayoutWithFlattening):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollTo):
- rendering/RenderObject.cpp:
(WebCore::scheduleRelayoutForSubtree):
- rendering/RenderTreeAsText.cpp:
(WebCore::write):
- rendering/RenderVideo.cpp:
(WebCore::RenderVideo::updatePlayer):
- rendering/RenderView.h:
- rendering/RenderWidget.cpp:
(WebCore::RenderWidget::updateWidgetPosition):
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::draw):
- testing/Internals.cpp:
(WebCore::Internals::layoutCount const):
Source/WebKitLegacy/mac:
- WebView/WebClipView.mm:
(-[WebClipView _immediateScrollToPoint:]):
- WebView/WebFrame.mm:
(-[WebFrame layoutCount]):
Source/WebKitLegacy/win:
- WebFrame.cpp:
(WebFrame::layout):
- 7:51 AM Changeset in webkit [224149] by
-
- 2 edits in trunk/Source/WebKit
Make postprocess-framework-headers.sh a little easier to read
https://bugs.webkit.org/show_bug.cgi?id=178971
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-10-28
Reviewed by Sam Weinig.
- mac/postprocess-framework-headers.sh:
- 7:36 AM Changeset in webkit [224148] by
-
- 3 edits in trunk/Source/WebCore
Cleanup PageDebuggable
https://bugs.webkit.org/show_bug.cgi?id=178972
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-10-28
Reviewed by Sam Weinig.
- page/PageDebuggable.cpp:
(WebCore::PageDebuggable::PageDebuggable):
- page/PageDebuggable.h:
- 7:35 AM Changeset in webkit [224147] by
-
- 13 edits1 copy in trunk/Source/WebCore
Extract a WorkerDebuggerProxy interface out of WorkerReportingProxy
https://bugs.webkit.org/show_bug.cgi?id=178975
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-10-28
Reviewed by Sam Weinig.
No new tests, just refactoring.
- workers/WorkerDebuggerProxy.h:
- workers/WorkerReportingProxy.h:
- WebCore.xcodeproj/project.pbxproj:
Extract a method from WorkerReportingProxy to WorkerDebuggerProxy and
rename it to be more general.
- inspector/WorkerToPageFrontendChannel.h:
(WebCore::WorkerToPageFrontendChannel::sendMessageToFrontend):
- workers/DedicatedWorkerThread.cpp:
(WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
- workers/DedicatedWorkerThread.h:
- workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
(WebCore::WorkerMessagingProxy::postMessageToDebugger):
(WebCore::WorkerMessagingProxy::postMessageToPageInspector): Deleted.
- workers/WorkerMessagingProxy.h:
- workers/WorkerThread.cpp:
(WebCore::WorkerThread::WorkerThread):
- workers/WorkerThread.h:
(WebCore::WorkerThread::workerDebuggerProxy const):
- workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::ServiceWorkerThread):
- workers/service/context/ServiceWorkerThread.h:
- workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::create):
(WebCore::ServiceWorkerThreadProxy::ServiceWorkerThreadProxy):
Include a WorkerDebuggerProxy alongside the other proxies.
Use the renamed debugger proxy method.
- 2:17 AM Changeset in webkit [224146] by
-
- 7 edits in trunk/Source/WebCore
Style::Scope::flushPendingUpdate() can replace the entire document in XSLTProcessor::createDocumentFromSource
https://bugs.webkit.org/show_bug.cgi?id=178715
<rdar://problem/35144665>
Reviewed by Brent Fulgham.
Apply XLS tranforms when a 0s timer fires or the document finishes parsing or loading whichever comes first
instead of in the middle of collecting a list of stylesheets.
- dom/Document.cpp:
(WebCore::Document::Document): Initialize the newly added timer.
(WebCore::Document::implicitClose): Apply any pending XSLT before we fire load events since some of the event
handlers may be expecting to see the document after XSLT had been applied.
(WebCore::Document::scheduleToApplyXSLTransforms): Added.
(WebCore::Document::applyPendingXSLTransformsNowIfScheduled): Added.
(WebCore::Document::applyPendingXSLTransformsTimerFired): Added. Moved the logic to apply XSL transforms from
Style::Scope::collectActiveStyleSheets, and merged applyXSLTransform into this function.
(WebCore::Document::applyXSLTransform): Deleted.
(WebCore::Document::finishedParsing): Apply XSLT right before updating the style. This is where used to apply
inline XSLT and it happens much earlier than implicitClose.
(WebCore::Document::suspendScheduledTasks): Suspend the XSLT timer.
(WebCore::Document::resumeScheduledTasks): Reschedule the XSLT timer if m_hasPendingXSLTransforms is set.
- dom/Document.h:
- dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::checkStyleSheet): Schedule XSLT in the document instead of flushing pending
stylesheets, which would have synchronously applied XSLT. We can't apply XSLT synchronously here because this
function can be called from a non-script-resilient call stack.
(WebCore::ProcessingInstruction::sheetLoaded): Ditto.
- style/StyleScope.cpp:
(WebCore::Style::Scope::collectXSLTransforms): Added.
(WebCore::Style::Scope::collectActiveStyleSheets): Removed the code to apply XSLT. Skip ProcessingInstructions
that applies XSLT. Also use RefPtr<StyleSheet> instead of a raw pointer to store StyleSheet.
- style/StyleScope.h:
- xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::doEnd): Apply any pending XSLTs synchronously here as the comment suggests.