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

Timeline



Oct 29, 2017:

8:40 PM Changeset in webkit [224168] by commit-queue@webkit.org
  • 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 jmarcell@apple.com
  • 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 Chris Dumez
  • 6 edits
    2 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 weinig@apple.com
  • 13 edits
    4 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 graouts@webkit.org
  • 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 graouts@webkit.org
  • 5 edits
    2 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 Laszlo Gombos
(diff)
10:58 AM Changeset in webkit [224162] by jmarcell@apple.com
  • 2 edits in branches/safari-604-branch/LayoutTests

Cherry-pick r224139. rdar://problem/35143359

10:58 AM Changeset in webkit [224161] by jmarcell@apple.com
  • 2 edits in branches/safari-604-branch/Source/WebKit

Cherry-pick r224135. rdar://problem/35143359

10:58 AM Changeset in webkit [224160] by jmarcell@apple.com
  • 15 edits
    29 adds in branches/safari-604-branch

Cherry-pick r224134. rdar://problem/35143359

3:15 AM Changeset in webkit [224159] by rniwa@webkit.org
  • 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 dino@apple.com
  • 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 commit-queue@webkit.org
  • 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 commit-queue@webkit.org
  • 74 edits
    1 copy
    4 moves
    287 adds
    26 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 mmaxfield@apple.com
  • 6 edits
    3 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 weinig@apple.com
  • 9 edits
    1 move
    3 adds
    2 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 Chris Dumez
  • 6 edits
    3 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 Chris Dumez
  • 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 Michael Catanzaro
  • 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 Alan Bujtas
  • 34 edits
    2 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 commit-queue@webkit.org
  • 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 commit-queue@webkit.org
  • 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 commit-queue@webkit.org
  • 13 edits
    1 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 rniwa@webkit.org
  • 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.

Note: See TracTimeline for information about the timeline view.