Timeline
Nov 5, 2017:
- 11:53 PM Changeset in webkit [224482] by
-
- 1 edit in trunk/Source/WebCore/ChangeLog
Unreviewed. Remove stray conflict markers from ChangeLog.
- 11:04 PM Changeset in webkit [224481] by
-
- 2 edits in trunk/Source/WebInspectorUI
REGRESSION (r221338): Web Inspector: NavigationBar incorrectly calculates minimumWidth
https://bugs.webkit.org/show_bug.cgi?id=179292
Reviewed by Devin Rousso.
- UserInterface/Views/NavigationBar.js:
(WI.NavigationBar.prototype._calculateMinimumWidth):
totalItemWidth was the minimumWidth of the last item.
- 10:56 PM Changeset in webkit [224480] by
-
- 3 edits in branches/safari-604.4.7.10-branch/Source/JavaScriptCore
Cherry-pick r224416. rdar://problem/35339831
- 10:47 PM Changeset in webkit [224479] by
-
- 3 edits in branches/safari-604.4.7.0-branch/Source/JavaScriptCore
Cherry-pick r224416. rdar://problem/35296415
- 8:46 PM Changeset in webkit [224478] by
-
- 3 edits in branches/safari-604.4.7.1-branch/Source/JavaScriptCore
Cherry-pick r224416. rdar://problem/35296413
- 8:10 PM Changeset in webkit [224477] by
-
- 3 edits in branches/safari-604.4.7.1-branch/Source/JavaScriptCore
Revert r224473. rdar://problem/35296413
- 7:59 PM Changeset in webkit [224476] by
-
- 2 edits in trunk/Source/WebCore
[WinCairo] Fix build after r224463
https://bugs.webkit.org/show_bug.cgi?id=179310
Unreviewed build fix.
No new tests (No behavior change).
Patch by Fujii Hironori <Fujii Hironori> on 2017-11-05
- platform/graphics/win/GraphicsContextCairoWin.cpp: Include "GraphicsContextImpl.h".
- 7:47 PM Changeset in webkit [224475] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Canvas Tab: selecting Frame tree element should update preview/slider, does nothing
https://bugs.webkit.org/show_bug.cgi?id=179072
<rdar://problem/35278711>
Reviewed by Matt Baker.
- UserInterface/Views/CanvasTabContentView.js:
(WI.CanvasTabContentView.prototype._navigationSidebarTreeOutlineSelectionChanged):
- UserInterface/Views/RecordingActionTreeElement.css:
(.item.action > .titles .parameter.swizzled):
(.tree-outline:not(:focus, .force-focus) .item.action:not(.initial-state, .parent, .invalid) > .icon): Deleted.
(body:not(.window-inactive, .window-docked-inactive) .item.action > .titles .parameter.swizzled): Deleted.
Drive-by: remove extra :focus selectors to prevent icon flashing when the window is blurred.
- 6:17 PM Changeset in webkit [224474] by
-
- 7 edits in branches/safari-604.4.7.1-branch/Source
Versioning.
- 6:17 PM Changeset in webkit [224473] by
-
- 3 edits in branches/safari-604.4.7.1-branch/Source/JavaScriptCore
Cherry-pick r224416. rdar://problem/35296413
- 2:34 PM Changeset in webkit [224472] by
-
- 27 edits in trunk
[Web Animations] Schedule animations registered on the document timeline
https://bugs.webkit.org/show_bug.cgi?id=179236
<rdar://problem/35332669>
Reviewed by Dean Jackson.
Source/WebCore:
We now schedule animations contained in the document timeline using a three-step approach.
- Each time an object that is part of the timing model changes one of its timing properties, we call animationTimingModelDidChange() on the document timeline. This schedules performInvalidationTask() to be called when the current run loop completes, such that we invalidate the timing model just once per run loop.
- Once performInvalidationTask() is called, the timing model is invalidated in updateAnimationSchedule(). We iterate over the registered animations on the timineline and identify the shortest interval between the current time and the next moment one of the animations requires a tick to update its value. If we find a value below 15ms, we schedule animations to be resolved with scheduleAnimationResolution() right away. If the value is above 15ms, and not inifinity, we schedule a one-shot timer for that interval to call scheduleAnimationResolution().
- Once scheduleAnimationResolution() is called, we call scheduleAnimation() on the shared DisplayRefreshMonitorManager to be notified when the next display refresh occurs to actually resolve animations with resolveAnimations().
Note that, in this patch, resolveAnimations() does nothing, we will add support for interpolating values in
a future patch.
Another important thing to note is that every time the document timeline's current time is requested, we cache
it for the duration of the run loop such that the timing model always uses the same value during a given run loop.
Finally, to support tests where we check the state of the timing model by manually advancing time, we expose a
new pause() method on AnimationTimeline for tests to call to avoid the timeline to self-advance.
- animation/AnimationTimeline.cpp:
(WebCore::AnimationTimeline::addAnimation): Mark that the timing model changed as a result of adding an animation.
(WebCore::AnimationTimeline::removeAnimation): Mark that the timing model changed as a result of removing an animation.
(WebCore::AnimationTimeline::bindingsCurrentTime): Update the method signature to no longer be const and call into
currentTime() instead of reading directly from the m_currentTime member variable since a subclass, like DocumentTimeline,
may have a custom currentTime() implementation.
(WebCore::AnimationTimeline::setCurrentTime): Mark that the timing model changed as a result of the timeline current time
changing.
(WebCore::AnimationTimeline::bindingsCurrentTime const): Deleted.
- animation/AnimationTimeline.h:
(WebCore::AnimationTimeline::currentTime): Change both methods signatures to no longer be const so that DocumentTimeline's
implementation of currentTime() may cache the current time in a member variable, enqueuing a callback when the run loop
completes for this member variable to be reset, and updating some states.
(WebCore::AnimationTimeline::pause): To be implemented by subclasses.
(WebCore::AnimationTimeline::animationTimingModelDidChange): Add a new virtual method to indicate that the timing model
needs invalidating.
(WebCore::AnimationTimeline::animations const): Add an accessor to allow animations to be accessed by a subclass.
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::create):
(WebCore::DocumentTimeline::DocumentTimeline): Update the constructor signature to receive a Document and a PlatformDisplayID
since we need a reference to the Document to get at the nowTime() and a PlatformDisplayID to create the DisplayRefreshMonitor.
(WebCore::DocumentTimeline::~DocumentTimeline): Close the task queue when the timeline gets destroyed.
(WebCore::DocumentTimeline::currentTime): If we don't have a current cahed current time, compute one and schedule
the invalidation task if needed so that we may reset the cached value as the run loop completes.
(WebCore::DocumentTimeline::pause): Allows the timeline not to self-advance, for testing purposes only.
(WebCore::DocumentTimeline::animationTimingModelDidChange): If we haven't already done so, mark that we need to update our
animation schedule in the invalidation task and schedule that task if not scheduled yet.
(WebCore::DocumentTimeline::scheduleInvalidationTaskIfNeeded): Schedule the invalidation task to run as the run loop completes
if we haven't already done so.
(WebCore::DocumentTimeline::performInvalidationTask): Update the animation schedule if needed and reset the cached current
time value.
(WebCore::DocumentTimeline::updateAnimationSchedule): Iterate over registed animations and find the shortest interval until
one of them needs to update their animation. If the shortest interval is below 15ms, schedule the animation resolution right
away. If the shortest inverval is finite and above 15ms, then schedule a one-shot timer for that interval to perform the
animation resolution then.
(WebCore::DocumentTimeline::animationScheduleTimerFired): The one-shot timer to perform the animation resolution has fired,
we call scheduleAnimationResolution().
(WebCore::DocumentTimeline::scheduleAnimationResolution): We call scheduleAnimation() on the shared DisplayRefreshMonitorManager
so that we may resolve animations on the next display refresh, or start a timer if the DisplayRefreshMonitorManager is not available.
(WebCore::DocumentTimeline::displayRefreshFired): The display is about to refresh, we call resolveAnimations().
(WebCore::DocumentTimeline::animationResolutionTimerFired): The fallback animation resolution timer has fired, we call resolveAnimations().
(WebCore::DocumentTimeline::resolveAnimations): Currently do nothing, this is where we'll iterate over registered animations to
update them with the current time.
(WebCore::DocumentTimeline::windowScreenDidChange): Notify the shared DisplayRefreshMonitorManager that the PlatformDisplayID
changed.
(WebCore::DocumentTimeline::createDisplayRefreshMonitor const): Provide a DisplayRefreshMonitor as part of the
DisplayRefreshMonitorClient protocol.
- animation/DocumentTimeline.h:
- animation/WebAnimation.cpp:
(WebCore::WebAnimation::create): Remove extra white space.
(WebCore::WebAnimation::setStartTime): Mark that the timing model changed as a result of changing this animation's start time.
(WebCore::WebAnimation::timeToNextRequiredTick const): Compute the interval until the next time we need to resolve this animation.
If the provided current time is before this animation's start time, compute the delay until the start time. If the current time
is after the animation's start time but before the animation's end time, indicate that we want to resolve the animation again
right away and return 0ms. In any other case, return an infinite interval to indicate that we don't need to be refreshed after
the provided time.
- animation/WebAnimation.h:
- dom/Document.cpp:
(WebCore::Document::windowScreenDidChange): Notify the document timeline that the PlatformDisplayID changed.
(WebCore::Document::timeline): Provide the Document and the PlatformDisplayID to the DocumentTimeline.
- testing/Internals.cpp:
(WebCore::Internals::pauseTimeline):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
Adopt the new internals.pauseTimeline() method to ensure that the existing
tests do not have a self-advancing timeline since we're interested in checking
the timing model state based on manually setting the timeline current time.
Also update some WPT expectations with some progressions.
- TestExpectations: Mark two tests as flaky due to the sample time being logged
in the failure.
- http/wpt/web-animations/interfaces/AnimationTimeline/document-timeline-expected.txt:
- http/wpt/web-animations/timing-model/animations/current-time-expected.txt:
- http/wpt/web-animations/timing-model/animations/set-the-animation-start-time-expected.txt:
- http/wpt/wk-web-animations/timing-model/animation-creation-basic.html:
- http/wpt/wk-web-animations/timing-model/animation-current-time.html:
- http/wpt/wk-web-animations/timing-model/animation-effect-timing.html:
- http/wpt/wk-web-animations/timing-model/animation-effect.html:
- http/wpt/wk-web-animations/timing-model/animation-interface-effect-property.html:
- http/wpt/wk-web-animations/timing-model/animation-interface-start-time-property.html:
- http/wpt/wk-web-animations/timing-model/animation-playback-rate.html:
- http/wpt/wk-web-animations/timing-model/document-timeline.html:
- http/wpt/wk-web-animations/timing-model/keyframe-effect-interface-timing-duration.html:
- http/wpt/wk-web-animations/timing-model/keyframe-effect.html:
- http/wpt/wk-web-animations/timing-model/timeline-current-time.html:
- 2:17 PM Changeset in webkit [224471] by
-
- 2 edits in trunk/LayoutTests
Mark http/tests/security/xss-DENIED-xsl-external-entity.xml as a flaky failure on Windows.
https://bugs.webkit.org/show_bug.cgi?id=179301
Unreviewed test gardening.
- platform/win/TestExpectations:
- 12:32 PM Changeset in webkit [224470] by
-
- 2 edits in trunk/LayoutTests
Mark fast/html/menuitem-element.html as failure on Windows.
https://bugs.webkit.org/show_bug.cgi?id=179299
Unreviewed test gardening.
- platform/win/TestExpectations:
- 12:18 PM Changeset in webkit [224469] by
-
- 23 edits in trunk
Implement ServiceWorkerRegistration.update()
https://bugs.webkit.org/show_bug.cgi?id=179270
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Rebaseline WPT tests now that more are passing or at least failing later.
- web-platform-tests/service-workers/service-worker/claim-affect-other-registration.https-expected.txt:
- web-platform-tests/service-workers/service-worker/claim-with-redirect.https-expected.txt:
- web-platform-tests/service-workers/service-worker/import-scripts-redirect.https-expected.txt:
- web-platform-tests/service-workers/service-worker/multiple-register.https-expected.txt:
- web-platform-tests/service-workers/service-worker/multiple-update.https-expected.txt:
- web-platform-tests/service-workers/service-worker/postmessage-from-waiting-serviceworker.https-expected.txt:
- web-platform-tests/service-workers/service-worker/ready.https-expected.txt:
- web-platform-tests/service-workers/service-worker/registration-script.https-expected.txt:
- web-platform-tests/service-workers/service-worker/skip-waiting.https-expected.txt:
- web-platform-tests/service-workers/service-worker/unregister-then-register.https-expected.txt:
- web-platform-tests/service-workers/service-worker/update.https-expected.txt:
I investigated this test and it is still failing later on because we clear registrations too
aggressively on the StorageProcess side we are supposed to make sure the registration does
not have a newestWorker before clearing it when a script fetch fails or a script syntax error
occurs. We properly have those if (!newestWorker) checks in the code but service workers
are not yet populated on the SWServerRegistration object so SWServerRegistration::getNewestWorker()
alwasy returns null.
Source/WebCore:
Implement ServiceWorkerRegistration.update():
We already had support for the Update algorithm in SWServerJobQueue but
this patch enhances our support a bit to get us closer to the specification:
No new tests, rebaselined existing tests.
- workers/service/ServiceWorker.h:
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::updateRegistration):
(WebCore::ServiceWorkerContainer::getRegistration):
(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):
- workers/service/ServiceWorkerContainer.h:
- workers/service/ServiceWorkerJobData.h:
(WebCore::ServiceWorkerJobData::encode const):
(WebCore::ServiceWorkerJobData::decode):
- workers/service/ServiceWorkerJobType.h:
- workers/service/ServiceWorkerRegistration.cpp:
(WebCore::ServiceWorkerRegistration::ServiceWorkerRegistration):
(WebCore::ServiceWorkerRegistration::installing):
(WebCore::ServiceWorkerRegistration::waiting):
(WebCore::ServiceWorkerRegistration::active):
(WebCore::ServiceWorkerRegistration::setInstallingWorker):
(WebCore::ServiceWorkerRegistration::setWaitingWorker):
(WebCore::ServiceWorkerRegistration::setActiveWorker):
(WebCore::ServiceWorkerRegistration::getNewestWorker):
(WebCore::ServiceWorkerRegistration::update):
- workers/service/ServiceWorkerRegistration.h:
- workers/service/server/SWServerJobQueue.cpp:
(WebCore::SWServerJobQueue::scriptFetchFinished):
(WebCore::SWServerJobQueue::scriptContextFailedToStart):
(WebCore::SWServerJobQueue::runNextJobSynchronously):
(WebCore::SWServerJobQueue::runUpdateJob):
- 11:20 AM Changeset in webkit [224468] by
-
- 2 edits in trunk/JSTests
[Win] Skip stress/regress-178385.js.
https://bugs.webkit.org/show_bug.cgi?id=179298
Unreviewed test gardening.
- stress/regress-178385.js:
- 9:51 AM Changeset in webkit [224467] by
-
- 2 edits in trunk/LayoutTests
Mark fast/loader/empty-embed-src-attribute.html as a flaky crash on Windows.
https://bugs.webkit.org/show_bug.cgi?id=179297
Unreviewed test gardening.
- platform/win/TestExpectations:
- 9:06 AM Changeset in webkit [224466] by
-
- 2 edits in trunk/LayoutTests
Mark fast/css/object-fit/object-fit-embed.html and related tests as failing on Windows.
https://bugs.webkit.org/show_bug.cgi?id=179296
Unreviewed test gardening.
- platform/win/TestExpectations:
Nov 4, 2017:
- 10:40 PM Changeset in webkit [224465] by
-
- 3 edits in trunk/Source/WebCore
Move code that maps a CompositeOperator and BlendMode to a CGBlendMode into a helper function
https://bugs.webkit.org/show_bug.cgi?id=179290
Reviewed by Darin Adler.
Move the code, and use nested switch rather than conditionals.
- platform/graphics/GraphicsTypes.h:
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::compositeAndBlendToCGBlendMode):
(WebCore::GraphicsContext::setPlatformCompositeOperation):
- 5:54 PM Changeset in webkit [224464] by
-
- 9 edits in trunk
Index properties on cross origin Window objects should be enumerable
https://bugs.webkit.org/show_bug.cgi?id=179289
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Re-sync WPT test after:
Rebaseline a couple of WPT tests now that more checks are passing.
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt:
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html:
- web-platform-tests/html/browsers/the-window-object/window-indexed-properties-expected.txt:
Source/WebCore:
Index properties on cross origin Window objects should be enumerable:
All exposed properties used to be enumerable but we had to revert this in
r224287 because it was not Web-compatible. The HTML specification has now
been updated so that only index properties are enumerable cross origin.
No new tests, rebaselined existing tests.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
(WebCore::JSDOMWindow::getOwnPropertyNames):
LayoutTests:
Update / rebaseline existing test to match new expected behavior.
- js/dom/getOwnPropertyDescriptor-expected.txt:
- js/resources/getOwnPropertyDescriptor.js:
- 4:43 PM Changeset in webkit [224463] by
-
- 14 edits2 adds in trunk/Source/WebCore
Add a GraphicsContextImpl and use it for DispayList::Recorder
https://bugs.webkit.org/show_bug.cgi?id=179286
Reviewed by Sam Weinig.
Start moving towards a model when GraphicsContext has a pointer to an implementation
("pimpl") by adding GraphicsContextImpl, and converting display list recording to
be an implementation of a GraphicsContextImpl.
No behavior change.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::DisplayListDrawingContext::DisplayListDrawingContext):
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::GraphicsContext):
(WebCore::GraphicsContext::save):
(WebCore::GraphicsContext::restore):
(WebCore::GraphicsContext::setStrokeThickness):
(WebCore::GraphicsContext::setStrokeStyle):
(WebCore::GraphicsContext::setStrokeColor):
(WebCore::GraphicsContext::setShadow):
(WebCore::GraphicsContext::setLegacyShadow):
(WebCore::GraphicsContext::clearShadow):
(WebCore::GraphicsContext::setFillColor):
(WebCore::GraphicsContext::setShadowsIgnoreTransforms):
(WebCore::GraphicsContext::setShouldAntialias):
(WebCore::GraphicsContext::setShouldSmoothFonts):
(WebCore::GraphicsContext::setShouldSubpixelQuantizeFonts):
(WebCore::GraphicsContext::setImageInterpolationQuality):
(WebCore::GraphicsContext::setStrokePattern):
(WebCore::GraphicsContext::setFillPattern):
(WebCore::GraphicsContext::setStrokeGradient):
(WebCore::GraphicsContext::setFillRule):
(WebCore::GraphicsContext::setFillGradient):
(WebCore::GraphicsContext::beginTransparencyLayer):
(WebCore::GraphicsContext::endTransparencyLayer):
(WebCore::GraphicsContext::drawGlyphs):
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawTiledImage):
(WebCore::GraphicsContext::setTextDrawingMode):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::setAlpha):
(WebCore::GraphicsContext::setCompositeOperation):
(WebCore::GraphicsContext::setDrawLuminanceMask):
(WebCore::GraphicsContext::applyDeviceScaleFactor):
(WebCore::GraphicsContext::fillEllipse):
(WebCore::GraphicsContext::strokeEllipse):
- platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::hasPlatformContext const):
(WebCore::GraphicsContext::paintingDisabled const):
(WebCore::GraphicsContext::setDisplayListRecorder): Deleted.
(WebCore::GraphicsContext::isRecording const): Deleted.
- platform/graphics/GraphicsContextImpl.cpp: Added.
(WebCore::GraphicsContextImpl::GraphicsContextImpl):
(WebCore::GraphicsContextImpl::~GraphicsContextImpl):
- platform/graphics/GraphicsContextImpl.h: Added.
(WebCore::GraphicsContextImpl::graphicsContext const):
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::getCTM const):
(WebCore::GraphicsContext::savePlatformState):
(WebCore::GraphicsContext::restorePlatformState):
(WebCore::GraphicsContext::drawRect):
(WebCore::GraphicsContext::drawNativeImage):
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::drawEllipse):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::clipPath):
(WebCore::GraphicsContext::clipBounds const):
(WebCore::GraphicsContext::drawLinesForText):
(WebCore::GraphicsContext::roundToDevicePixels):
(WebCore::GraphicsContext::translate):
(WebCore::GraphicsContext::setPlatformStrokeThickness):
(WebCore::GraphicsContext::setPlatformStrokeStyle):
(WebCore::GraphicsContext::concatCTM):
(WebCore::GraphicsContext::setCTM):
(WebCore::GraphicsContext::beginPlatformTransparencyLayer):
(WebCore::GraphicsContext::endPlatformTransparencyLayer):
(WebCore::GraphicsContext::clearRect):
(WebCore::GraphicsContext::strokeRect):
(WebCore::GraphicsContext::setLineCap):
(WebCore::GraphicsContext::setLineDash):
(WebCore::GraphicsContext::setLineJoin):
(WebCore::GraphicsContext::setMiterLimit):
(WebCore::GraphicsContext::clipOut):
(WebCore::GraphicsContext::rotate):
(WebCore::GraphicsContext::scale):
(WebCore::GraphicsContext::platformFillRoundedRect):
(WebCore::GraphicsContext::fillRectWithRoundedHole):
(WebCore::GraphicsContext::drawPattern):
(WebCore::GraphicsContext::setPlatformShouldAntialias):
(WebCore::GraphicsContext::setPlatformImageInterpolationQuality):
(WebCore::GraphicsContext::isAcceleratedContext const):
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::savePlatformState):
(WebCore::GraphicsContext::restorePlatformState):
(WebCore::GraphicsContext::drawNativeImage):
(WebCore::GraphicsContext::drawPattern):
(WebCore::GraphicsContext::drawRect):
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::drawEllipse):
(WebCore::GraphicsContext::applyStrokePattern):
(WebCore::GraphicsContext::applyFillPattern):
(WebCore::GraphicsContext::drawPath):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::platformFillRoundedRect):
(WebCore::GraphicsContext::fillRectWithRoundedHole):
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::clipOut):
(WebCore::GraphicsContext::clipPath):
(WebCore::GraphicsContext::clipBounds const):
(WebCore::GraphicsContext::beginPlatformTransparencyLayer):
(WebCore::GraphicsContext::endPlatformTransparencyLayer):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::setMiterLimit):
(WebCore::GraphicsContext::clearRect):
(WebCore::GraphicsContext::strokeRect):
(WebCore::GraphicsContext::setLineCap):
(WebCore::GraphicsContext::setLineDash):
(WebCore::GraphicsContext::setLineJoin):
(WebCore::GraphicsContext::scale):
(WebCore::GraphicsContext::rotate):
(WebCore::GraphicsContext::translate):
(WebCore::GraphicsContext::concatCTM):
(WebCore::GraphicsContext::setCTM):
(WebCore::GraphicsContext::getCTM const):
(WebCore::GraphicsContext::roundToDevicePixels):
(WebCore::GraphicsContext::drawLinesForText):
(WebCore::GraphicsContext::setURLForRect):
(WebCore::GraphicsContext::setIsCALayerContext):
(WebCore::GraphicsContext::isCALayerContext const):
(WebCore::GraphicsContext::setIsAcceleratedContext):
(WebCore::GraphicsContext::isAcceleratedContext const):
(WebCore::GraphicsContext::setPlatformTextDrawingMode):
(WebCore::GraphicsContext::setPlatformStrokeColor):
(WebCore::GraphicsContext::setPlatformStrokeThickness):
(WebCore::GraphicsContext::setPlatformFillColor):
(WebCore::GraphicsContext::setPlatformShouldAntialias):
(WebCore::GraphicsContext::setPlatformShouldSmoothFonts):
(WebCore::GraphicsContext::setPlatformAlpha):
(WebCore::GraphicsContext::setPlatformCompositeOperation):
(WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
(WebCore::GraphicsContext::platformFillEllipse):
(WebCore::GraphicsContext::platformStrokeEllipse):
(WebCore::GraphicsContext::setDestinationForRect):
(WebCore::GraphicsContext::addDestinationAtPoint):
- platform/graphics/cocoa/GraphicsContextCocoa.mm:
(WebCore::GraphicsContext::drawFocusRing):
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::Recorder):
(WebCore::DisplayList::Recorder::updateItemExtent const):
(WebCore::DisplayList::Recorder::extentFromLocalBounds const):
- platform/graphics/displaylists/DisplayListRecorder.h:
(WebCore::DisplayList::Recorder::itemCount const):
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint):
- 4:01 PM Changeset in webkit [224462] by
-
- 4 edits in trunk/Source/WebKit
REGRESSION(r223718): Leaking WebProcessPool after reconfiguration
https://bugs.webkit.org/show_bug.cgi?id=179123
<rdar://problem/35294685>
Reviewed by Geoff Garen.
Make sure we destroy the ServiceWorker WebProcess once all other WebProcesses
go away at there is no use keeping it running at this point. Also, this prevents
leaking the WebProcessPool since the WebProcessProxy holds a strong reference
to the WebProcessPool.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::disconnectProcess):
- 3:02 PM Changeset in webkit [224461] by
-
- 6 edits in trunk/Source/WebCore
[LayoutState cleanup] Move all LayoutState* classes to LayoutState.h/cpp
https://bugs.webkit.org/show_bug.cgi?id=179280
<rdar://problem/35348452>
Reviewed by Antti Koivisto.
No change in functionality.
- page/LayoutContext.cpp:
(WebCore::SubtreeLayoutStateMaintainer::SubtreeLayoutStateMaintainer): Deleted.
(WebCore::SubtreeLayoutStateMaintainer::~SubtreeLayoutStateMaintainer): Deleted.
(WebCore::SubtreeLayoutStateMaintainer::shouldDisableLayoutStateForSubtree): Deleted.
- rendering/LayoutState.cpp:
(WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
(WebCore::LayoutStateMaintainer::~LayoutStateMaintainer):
(WebCore::LayoutStateMaintainer::push):
(WebCore::LayoutStateMaintainer::pop):
(WebCore::LayoutStateDisabler::LayoutStateDisabler):
(WebCore::LayoutStateDisabler::~LayoutStateDisabler):
(WebCore::shouldDisableLayoutStateForSubtree):
(WebCore::SubtreeLayoutStateMaintainer::SubtreeLayoutStateMaintainer):
(WebCore::SubtreeLayoutStateMaintainer::~SubtreeLayoutStateMaintainer):
(WebCore::PaginatedLayoutStateMaintainer::PaginatedLayoutStateMaintainer):
(WebCore::PaginatedLayoutStateMaintainer::~PaginatedLayoutStateMaintainer):
- rendering/LayoutState.h:
(WebCore::LayoutStateMaintainer::didPush const):
- rendering/RenderBlockFlow.cpp:
(WebCore::PaginatedLayoutStateMaintainer::PaginatedLayoutStateMaintainer): Deleted.
(WebCore::PaginatedLayoutStateMaintainer::~PaginatedLayoutStateMaintainer): Deleted.
(): Deleted.
- rendering/RenderView.h:
(WebCore::LayoutStateMaintainer::LayoutStateMaintainer): Deleted.
(WebCore::LayoutStateMaintainer::~LayoutStateMaintainer): Deleted.
(WebCore::LayoutStateMaintainer::push): Deleted.
(WebCore::LayoutStateMaintainer::pop): Deleted.
(WebCore::LayoutStateMaintainer::didPush const): Deleted.
(WebCore::LayoutStateDisabler::LayoutStateDisabler): Deleted.
(WebCore::LayoutStateDisabler::~LayoutStateDisabler): Deleted.
- 2:41 PM Changeset in webkit [224460] by
-
- 3 edits in trunk/Source/WebCore
[LayoutState cleanup] Move offset/cliprect/pagination code to dedicate methods
https://bugs.webkit.org/show_bug.cgi?id=179279
<rdar://problem/35348171>
Reviewed by Antti Koivisto.
This is in preparation for creating the initial LayoutSate through LayoutStateMaintainer.
Moving code around. No change in functionality.
- rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
(WebCore::LayoutState::computeOffsets):
(WebCore::LayoutState::computeClipRect):
(WebCore::LayoutState::computePaginationInformation):
- rendering/LayoutState.h:
- 2:19 PM Changeset in webkit [224459] by
-
- 61 edits2 deletes in trunk/Source
Simplify event dispatch code and make it a bit more consistent
https://bugs.webkit.org/show_bug.cgi?id=178991
Reviewed by Chris Dumez.
Source/WebCore:
Straighten out event dispatch code in three ways:
1) Add an Event::resetAfterDispatch function, and use it instead of the multiple
separate functions that were used before to reset after dispatching. This fixed
an extremely minor bug where we would leave some kinds of state on some event
objects in unusual cases after dispatching the events.
2) Remove IDBEventDispatcher and make its callers use EventDispatcher instead.
This leaves us with one less event dispatch code path to maintain, more shared code.
3) Remove boolean return values from functions that take event objects and
dispatch the events. The return values are redundant with various things that
can be checked by looking at the event itself. The legacy return value indicates
whether the event has its "canceled flag" set, which means that the default
behavior should be prevented. If that is what we need to check, it's easier
to read the code and see that it's correct if it calls the named function
"defaultPrevented" directly. More importantly, callers can also call whatever
other function is appropriate to ask the specific relevant question to their needs.
The general rule is that default behavior that we want to allow even with an
untrusted event can be inside a default event handler function. Default behavior
that should only happen for the browser-generated event can and should be done
after dispatching the event, in the code that dispatches it; but that requires
explicitly checking "defaultPrevented".
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::dispatchEvent): Removed boolean return value.
- Modules/indexeddb/IDBDatabase.h: Ditto.
- Modules/indexeddb/IDBEventDispatcher.cpp: Removed.
- Modules/indexeddb/IDBEventDispatcher.h: Removed.
- Modules/indexeddb/IDBOpenDBRequest.cpp:
(WebCore::IDBOpenDBRequest::dispatchEvent): Removed boolean return value.
Added protection for "this" since the function accesses it after dispatching the event.
- Modules/indexeddb/IDBOpenDBRequest.h: Ditto.
- Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::dispatchEvent): Removed boolean return value. Instead of using
IDBEventDispatcher, use EventDispatcher's new function that takes an initializer_list
with a list of event targets. Added protection for "this" since the function accesses
it after dispatching the event.
- Modules/indexeddb/IDBRequest.h: Ditto.
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::dispatchEvent): Ditto.
- Modules/indexeddb/IDBTransaction.h: Ditto.
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::dispatchEvent): Removed boolean return value.
- Modules/mediastream/RTCPeerConnection.h: Ditto.
- Modules/paymentrequest/PaymentRequest.cpp:
(WebCore::PaymentRequest::shippingAddressChanged): Don't dispatch an event if
m_isUpdating is true; preserves behavior that was implemented in
PaymentRequest::dispatchEvent before. Since this is the source of the trusted
event, cleaner to implement the rule here instead of overriding dispatchEvent.
(WebCore::PaymentRequest::shippingOptionChanged): Ditto.
(WebCore::PaymentRequest::dispatchEvent): Deleted.
- Modules/paymentrequest/PaymentRequest.h: Ditto.
- Sources.txt: Removed IDBEventDispatcher.cpp.
- WebCore.xcodeproj/project.pbxproj: Removed IDBEventDispatcher.h/cpp.
- dom/Element.cpp:
(WebCore::Element::dispatchMouseEvent): Updated to call defaultPrevented
directly instead of using the return value of dispatchEvent.
(WebCore::Element::dispatchWheelEvent): Ditto.
(WebCore::Element::dispatchKeyEvent): Ditto.
(WebCore::Element::dispatchFocusInEvent): Removed assertion, since the
underlying event dispatching takes care of it.
(WebCore::Element::dispatchFocusOutEvent): Ditto.
(WebCore::Element::dispatchFocusEvent): Call dispatchEvent instead of
calling EventDispatcher::dispatchEvent. There is no good reason to use
EventDispatcher directly.
(WebCore::Element::dispatchBlurEvent): Ditto.
- dom/Event.cpp:
(WebCore::Event::eventInterface const): Deleted. Moved into header since this is
short and if called in a non-polymorphic context it's good to have it be inlined.
(WebCore::Event::isUIEvent const): Ditto.
(WebCore::Event::isMouseEvent const): Ditto.
(WebCore::Event::isFocusEvent const): Ditto.
(WebCore::Event::isKeyboardEvent const): Ditto.
(WebCore::Event::isInputEvent const): Ditto.
(WebCore::Event::isCompositionEvent const): Ditto.
(WebCore::Event::isTouchEvent const): Ditto.
(WebCore::Event::isClipboardEvent const): Ditto.
(WebCore::Event::isBeforeTextInsertedEvent const): Ditto.
(WebCore::Event::isBeforeUnloadEvent const): Ditto.
(WebCore::Event::isErrorEvent const): Ditto.
(WebCore::Event::isTextEvent const): Ditto.
(WebCore::Event::isWheelEvent const): Ditto.
(WebCore::Event::receivedTarget): Ditto.
(WebCore::Event::resetAfterDispatch): Added. Replaces functions like
clearEventPath and resetPropagationFlags, covering all the things we need to clear
after dispatching an event.
- dom/Event.h: Removed some unneeded includes and forward declarations. Moved bodies
of multi-line inline member functions out of the class definition. Changed argument
type of setEventPhase and m_eventPhase to an enum rather than just an integer, since
only the getter is for use from the bindings. Removed clearEventPath, srcElement, and
resetPropagationFlags. Sorted the isXXX functions alphabetically and removed previous
attempts to make categories out of them. Marked the constructor explicit since it has
a single argument. Moved trivially short bodies into the class definition.
- dom/Event.idl: Use ImplementedAs to implement srcElement so we don't need it in
the C++ code.
- dom/EventContext.cpp:
(WebCore::EventContext::EventContext): Removed assertion since we now handle event
contexts without nodes so we can use this to dispatch events for IDB, for example.
(WebCore::EventContext::handleLocalEvents const): Add code to handle non-node event
targets by calling fireEventListeners directly.
(WebCore::MouseOrFocusEventContext::MouseOrFocusEventContext): Take a reference
insetad of a pointer for the node.
(WebCore::TouchEventContext::TouchEventContext): Ditto.
(WebCore::TouchEventContext::handleLocalEvents const): Streamline a bit by improving
the checkReachability function to be easier to call. Also removed an unneeded assertion
just before calling downcast<>, the same assertion that downcast<> itself does.
(WebCore::TouchEventContext::checkReachability const): Chagned argument type to take
a Ref& so the caller doesn't have to call get() or ptr().
- dom/EventContext.h: Removed unneeded FIXME and currentTargetSameAsTarget function.
Changed arguemnt types to use Node& instead of Node* as appropriate. Removed unused
functions from TouchEventContext, made more private, and changed data members to Ref
instead of RefPtr. Removed unused NotTouchList value from TouchListType enumeration.
Changed touchList function to return a reference instead of a pointer.
- dom/EventDispatcher.cpp: Removed unneeded includes.
(WebCore::dispatchEventInDOM): Removed use of currentTargetSameAsTarget since it's
clearer if written out.
(WebCore::EventDispatcher::dispatchEvent): Changed no-event dispatch assertion to
use RELEASE_ASSERT_WITH_SECURITY_IMPLICATION since the style checker says so, but
it still doesn't assert anything in release builds because the check in
NoEventDispatchAssertion itself is debug-only. Moved the calls to EventPath's
setRelatedTarget and retargetTouchLists functions inside the EventPath constructor.
Removed the second no-event dispatch assertion because we only need one. Replaced
calls to clearEventPath, setCurrentTarget(nullptr), resetPropagationFlags,
and setEventPhase(NONE) and with a call to resetAfterDispatch. Moved the code that
temporarily sets the target to a different value when calling default event handlers
into the block that calls the default event handlers. Added a new overload that
takes an initializer list of event targets so we can dispatch events that are not
being sent to nodes.
- dom/EventDispatcher.h: Fixed misleading copyright dates and names since this file
just contains a couple of function declarations. Added new overload of dispatchEvent.
- dom/EventPath.cpp:
(WebCore::WindowEventContext::WindowEventContext): Take references instead of pointers.
(WebCore::EventPath::EventPath): Moved the bulk of construction into a new function
named buildPath, so it can still use "return" without skipping the additions here.
Added calls to setRelatedTarget and retargetTouchLists and now both can be private.
Also added a new overload that takes event targets that are not nodes.
(WebCore::EventPath::buildPath): Added. Contains what used to be in the constructor.
But use some references instead of pointers and refactor a bit using lambdas.
(WebCore::EventPath::retargetTouchList): Added. Makes the retargetTouchLists function
shorter and less repetetive.
(WebCore::EventPath::retargetTouchLists): Updated to call retargetTouchList.
(WebCore::EventPath::hasEventListeners const): Deleted. This was unused.
- dom/EventPath.h: Added a constructor that takes an initializer list of event targets.
Made retargetTouchEvents and setRelatedTarget private and used them in the constructor
insead of expecting clients to call them. Removed unused hasEventListeners and
lastContextIfExists functions. Moved body of the eventTargetRespectingTargetRules
function out of the class definition.
- dom/EventTarget.cpp:
(WebCore::EventTarget::dispatchEventForBindings): Updated so it does not expect
dispatchEvent to return a boolean. Instead call a function on the event after dispatching.
Decided to use legacyReturnValue instead of !defaultPrevented, because this is exactly
the return value that the returnValue property is referring to.
(WebCore::EventTarget::dispatchEvent): Removed return value. Replaced calls to
resetPropagationFlags and setEventPhase(NONE) with a call to resetAfterDispatch.
I noticed that there was a local boolean here named "defaultPrevented", which was
backwards; the value in that local was "default not prevented". Doesn't matter since
the boolean return value was removed.
(WebCore::EventTarget::fireEventListeners): Removed the boolean return value.
- dom/EventTarget.h: Added initial values to members of ListenerOptions and
AddEventListenerOptions; maybe we can get rid of the constructors some day.
Removed booelan return values from dispatchEvent and fireEventListeners.
- dom/KeyboardEvent.cpp: Removed unneeded include of EventDispatcher.h.
- dom/Node.cpp:
(WebCore::Node::dispatchEvent): Got rid of boolean return value.
Removed special case code that sometimes called dispatchTouchEvent, since that
just turns around and calls EventDispatcher::dispatchEvent just like this function.
(WebCore::Node::dispatchDOMActivateEvent): Removed boolean return value, removed
integer detail argument and moved the logic to compute the value of the detail
peroprty and to call setDefaultHandled on the underlying click event in here.
This is a private helper function used only in one place.
(WebCore::Node::dispatchTouchEvent): Deleted.
(WebCore::Node::defaultEventHandler): Updated for change to dispatchDOMActivateEvent.
- dom/Node.h: Updated for the above changes.
- dom/RejectedPromiseTracker.cpp:
(WebCore::RejectedPromiseTracker::reportUnhandledRejections): Use defaultPrevented
directly instead of the return value from dispatchEvent.
- dom/ScopedEventQueue.cpp:
(WebCore::ScopedEventQueue::enqueueEvent): Moved assertions here ...
(WebCore::ScopedEventQueue::dispatchEvent const): ... from here. Also changed this
to call Node::dispatchEvent instead of calling EventDispatcher::dispatchEvent directly.
- dom/SimulatedClick.cpp:
(WebCore::simulateMouseEvent): Call Element::dispatchEvent instead of calling
EventDispatcher::dispatchEvent directly.
- editing/Editor.cpp:
(WebCore::dispatchBeforeInputEvent): Use defaultPrevented directly instead of the
return value from dispatchEvent.
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::selectAll): Ditto.
(WebCore::FrameSelection::dispatchSelectStart): Ditto.
- html/CheckboxInputType.cpp:
(WebCore::CheckboxInputType::didDispatchClick): Take a reference instead of a pointer.
- html/CheckboxInputType.h: Updated for above and to use final instead of override.
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::checkValidity): Use defaultPrevented directly instead
of the return value from dispatchEvent.
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::prepareForSubmission): Use defaultPrevented directly instead
of the return value from dispatchEvent.
(WebCore::HTMLFormElement::reset): Ditto.
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::didDispatchClickEvent): Updated to pass references instead
of pointer.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::dispatchEvent): Got rid of boolean return value.
- html/HTMLMediaElement.h: Ditto.
- html/HTMLPlugInElement.h: Use "delete" instead of just a private function for something
that should never be called.
- html/InputType.cpp:
(WebCore::InputType::didDispatchClick): Take a reference instead of a pointer.
- html/InputType.h: Ditto.
- html/RadioInputType.cpp:
(WebCore::RadioInputType::didDispatchClick): Ditto.
- html/RadioInputType.h: Updated for above and to use final instead of override.
- html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::dispatchEvent): Got rid of boolean return value.
- html/track/TextTrackCue.h: Ditto.
- inspector/InspectorInstrumentation.cpp: Removed unneeded include of EventDispatcher.h.
- page/DOMWindow.cpp:
(WebCore::DOMWindow::dispatchLoadEvent): Streamlined code a bit so we only have a single
call to dispatchEvent. Improved comments.
(WebCore::DOMWindow::dispatchEvent): Removed return value. Added comments. Replaced
calls to setCurrentTarget(null), setEventPhase(NONE), and resetPropagationFlags with
a call to resetAfterDispatch.
- page/DOMWindow.h: Updated to get rid of the boolean return value.
- page/DragController.cpp:
(WebCore::DragController::dispatchTextInputEventFor): Use defaultPrevented directly instead
of the return value from dispatchEvent.
- page/EventHandler.cpp:
(WebCore::dispatchSelectStart): Use defaultPrevented directly instead
of the return value from dispatchEvent.
(WebCore::EventHandler::accessibilityPreventsEventPropagation): Fixed spelling error in the
name of this function.
(WebCore::EventHandler::dispatchDragSrcEvent): Got rid of boolean return value.
(WebCore::EventHandler::handleTouchEvent): Call dispatchEvent instead of dispatchTouchEvent;
there was no difference between the two except that dispatchTouchEvent required downcasting
and might some day lead to us missing some behavior implemented in an override to dispatchEvent.
- page/EventHandler.h: Updated for above changes.
- platform/graphics/filters/FilterOperation.h:
(WebCore::FilterOperation::clone): Removed dead code that was causing a compiler warning.
- workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::postExceptionToWorkerObject): Use defaultPrevented
directly instead of the return value from dispatchEvent.
Source/WebKit:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEvent.cpp:
(webkit_dom_event_get_src_element): Call target instead of srcElement.
Source/WebKitLegacy/mac:
- DOM/DOMEvent.mm:
(-[DOMEvent srcElement]): Call target instead of srcElement.
- 9:47 AM Changeset in webkit [224458] by
-
- 2 edits in trunk/Tools
[GTK] Fix gtk-doc generation with gtk-doc master
https://bugs.webkit.org/show_bug.cgi?id=179252
Reviewed by Carlos Garcia Campos.
gtkdoc-scangobj has changed to no longer use a shell when executing its subcommands. In
particular, this means we can no longer rely on shell stuff in our run command that we use
to run the scanner. We currently use the RUN envvar to set LD_LIBRARY_PATH, and the end
result is gtkdoc-scangobj now attempts to execute our environment variable instead of the
scanner itself. We can just set LD_LIBRARY_PATH directly, instead of using RUN, in order to
make documentation generation work again.
- gtk/gtkdoc.py:
(GTKDoc._run_gtkdoc_scangobj):
- 1:20 AM Changeset in webkit [224457] by
-
- 26 edits3 copies2 adds in trunk
[Touch Bar Web API] Add support for menuitem tag
https://bugs.webkit.org/show_bug.cgi?id=179020
Patch by Aishwarya Nirmal <anirmal@apple.com> on 2017-11-04
Reviewed by Ryosuke Niwa.
Source/WebCore:
The Touch Bar Web API will make use of the menu and menuitem tags
to represent the NSTouchBar and NSTouchBarItem respectively.
Since WebKit currently does not offer support for the menuitem tag,
this change adds it in. There is a runtime flag for this tag, which
is set to false by default.
A specification for the menuitem element can be found at
https://www.w3.org/TR/2013/WD-html51-20130528/interactive-elements.html#the-menuitem-element.
More attributes of this element will be implemented in future patches.
Test: fast/html/menuitem-element.html
- CMakeLists.txt:
- DerivedSources.cpp:
- DerivedSources.make:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/WebCoreBuiltinNames.h:
- html/HTMLElementsAllInOne.cpp:
- html/HTMLMenuItemElement.cpp: Added.
(WebCore::HTMLMenuItemElement::HTMLMenuItemElement):
(WebCore::HTMLMenuItemElement::create):
- html/HTMLMenuItemElement.h: Added.
- html/HTMLMenuItemElement.idl: Added.
- html/HTMLTagNames.in:
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setMenuItemElementEnabled):
(WebCore::RuntimeEnabledFeatures::menuItemElementEnabled const):
Source/WebKit:
Adds in the MenuItemElementEnabled flag so that the menu item element is a runtime-
enabled feature. It has a default value of false.
- Shared/WebPreferences.yaml:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetMenuItemElementEnabled):
(WKPreferencesGetMenuItemElementEnabled):
- UIProcess/API/C/WKPreferencesRefPrivate.h:
Source/WebKitLegacy/mac:
Adds in properties and methods that allow the menuitem runtime feature
to be enabled or disabled.
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(-[WebPreferences menuItemElementEnabled]):
(-[WebPreferences setMenuItemElementEnabled:]):
- WebView/WebPreferencesPrivate.h:
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Tools:
Defines flags for the menu item test so that the element is recognized
only while its test is being run.
- DumpRenderTree/TestOptions.h:
- DumpRenderTree/TestOptions.mm:
(TestOptions::TestOptions):
- DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
- WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
LayoutTests:
This test ensures that the menuitem element is recognized when
its runtime feature is turned on.
- fast/html/menuitem-element-expected.txt: Added.
- fast/html/menuitem-element.html: Added.
- 1:03 AM Changeset in webkit [224456] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: add contextmenu item to arbitrarily add HTML/Child to DOMTree
https://bugs.webkit.org/show_bug.cgi?id=179042
Reviewed by Joseph Pecoraro.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Models/DOMNode.js:
(WI.DOMNode.prototype.insertAdjacentHTML.inspectedPage_node_insertAdjacentHTML):
(WI.DOMNode.prototype.insertAdjacentHTML):
Call-through toinsertAdjacentHTML
on the corresponding node in the inspected page.
- UserInterface/Views/DOMTreeElement.js:
(WI.DOMTreeElement):
(WI.DOMTreeElement.prototype._populateNodeContextMenu):
(WI.DOMTreeElement.prototype._startEditingAsHTML.dispose):
(WI.DOMTreeElement.prototype._startEditingAsHTML):
(WI.DOMTreeElement.prototype._insertAdjacentHTML.commitCallback):
(WI.DOMTreeElement.prototype._insertAdjacentHTML):
(WI.DOMTreeElement.prototype.updateTitle):
(WI.DOMTreeElement.prototype._singleTextChild):
(WI.DOMTreeElement.prototype._nodeTitleInfo):
(WI.DOMTreeElement.prototype._addHTML):
(WI.DOMTreeElement.prototype._addPreviousSibling):
(WI.DOMTreeElement.prototype._addNextSibling):
(WI.DOMTreeElement.prototype._editAsHTML):
Adjust where the editing element is placed depending on the options passed to_editAsHTML
.
If the placement is as a child, put it inside the child list. If the placement is as a
sibling, place it before/after the selected TreeElement. Otherwise, add it as a child.
- UserInterface/Views/DOMTreeOutline.css:
(.tree-outline.dom):
(.tree-outline.dom li):
(.tree-outline.dom li:not(.editing)):
(.tree-outline.dom li.editing):
(body[dir=ltr] .tree-outline.dom li): Deleted.
(body[dir=rtl] .tree-outline.dom li): Deleted.
Don't add padding when the list item is being edited.
Nov 3, 2017:
- 10:40 PM Changeset in webkit [224455] by
-
- 5 edits in trunk/Source/WebCore
LayoutState should take RenderBox reference.
https://bugs.webkit.org/show_bug.cgi?id=179272
<rdar://problem/35345247>
Reviewed by Simon Fraser.
No change in functionality.
- rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
(WebCore::LayoutState::propagateLineGridInfo):
(WebCore::LayoutState::establishLineGrid):
- rendering/LayoutState.h: type tightening.
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage const):
- rendering/RenderView.cpp:
(WebCore::RenderView::pushLayoutState):
- rendering/RenderView.h:
- 10:19 PM Changeset in webkit [224454] by
-
- 3 edits in trunk/Source/WebKit
Unreviewed, rolling out r224438.
Has caused assertions on the bots
Reverted changeset:
"REGRESSION(r223718): Leaking WebProcessPool after
reconfiguration"
https://bugs.webkit.org/show_bug.cgi?id=179123
https://trac.webkit.org/changeset/224438
- 7:12 PM Changeset in webkit [224453] by
-
- 20 edits4 adds in trunk
Implement ServiceWorkerContainer.getRegistration
https://bugs.webkit.org/show_bug.cgi?id=179253
Patch by Youenn Fablet <youenn@apple.com> on 2017-11-03
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/service-workers/service-worker/activation.https-expected.txt:
- web-platform-tests/service-workers/service-worker/claim-affect-other-registration.https-expected.txt:
- web-platform-tests/service-workers/service-worker/claim-with-redirect.https-expected.txt:
- web-platform-tests/service-workers/service-worker/getregistration.https-expected.txt:
- web-platform-tests/service-workers/service-worker/multi-globals/url-parsing.https-expected.txt:
- web-platform-tests/service-workers/service-worker/navigate-window.https-expected.txt:
- web-platform-tests/service-workers/service-worker/registration-iframe.https-expected.txt:
- web-platform-tests/service-workers/service-worker/skip-waiting-without-using-registration.https-expected.txt:
- web-platform-tests/service-workers/service-worker/synced-state.https-expected.txt:
Source/WebCore:
Test: http/tests/workers/service/service-worker-getRegistration.html
Added a map of ServiceWorkerRegistration in ServiceWorkerContainer.
Removing a similar map from SWClientConnection as it is more convenient to have this map per ScriptExecutionContext.
This map allows returning the same JS object for different getRegistration.
Delegating the actual matching to SWServer::Connection which is implemented on the StorageProcess through IPC.
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::getRegistration):
(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):
(WebCore::ServiceWorkerContainer::jobDidFinish):
- workers/service/ServiceWorkerContainer.h:
- workers/service/ServiceWorkerContainer.idl:
- workers/service/ServiceWorkerRegistration.cpp:
(WebCore::ServiceWorkerRegistration::ServiceWorkerRegistration):
(WebCore::ServiceWorkerRegistration::~ServiceWorkerRegistration):
- workers/service/ServiceWorkerRegistration.h:
- workers/service/server/SWClientConnection.cpp:
(WebCore::SWClientConnection::updateRegistrationState):
(WebCore::SWClientConnection::addServiceWorkerRegistration): Deleted.
(WebCore::SWClientConnection::removeServiceWorkerRegistration): Deleted.
- workers/service/server/SWClientConnection.h:
LayoutTests:
- TestExpectations:
- http/tests/workers/service/resources/service-worker-getRegistration-worker.js: Added.
- http/tests/workers/service/resources/service-worker-getRegistration.js: Added.
- http/tests/workers/service/service-worker-getRegistration-expected.txt: Added.
- http/tests/workers/service/service-worker-getRegistration.html: Added.
- 6:57 PM Changeset in webkit [224452] by
-
- 2 edits in trunk/Source/WebCore
[iOS-WK1] Fix thread safety issue in WebSQLiteDatabaseTrackerClient
https://bugs.webkit.org/show_bug.cgi?id=179190
Reviewed by David Kilzer.
WebSQLiteDatabaseTrackerClient and its HystererisActivity member are constructed on the UIThread. The
HystererisActivity activity also fires on the UIThread, which means that WebSQLiteDatabaseTrackerClient::hysteresisUpdated()
gets called on the UIThread.
However, the code in WebSQLiteDatabaseTrackerClient::willBeginFirstTransaction() / WebSQLiteDatabaseTrackerClient::didFinishLastTransaction()
uses callOnMainThread() before calling methods on the HysteresisActivity. callOnMainThread() dispatches to the WebThread on WK1 iOS, which
would lead to crashes when calling methods of the HystererisActivity object:
* -[CFRunLoopTimer respondsToSelector:]: message sent to deallocated instance 0x1c0b6a500
To address the issue, we now dispatch_async() to the main queue in willBeginFirstTransaction() / didFinishLastTransaction()
instead of using callOnMainThread(). I also added assertions to catch issues like these.
- platform/ios/WebSQLiteDatabaseTrackerClient.mm:
(WebCore::WebSQLiteDatabaseTrackerClient::willBeginFirstTransaction):
(WebCore::WebSQLiteDatabaseTrackerClient::didFinishLastTransaction):
(WebCore::WebSQLiteDatabaseTrackerClient::hysteresisUpdated):
- 6:14 PM Changeset in webkit [224451] by
-
- 1 copy in tags/Safari-604.4.7.0.1
Tag Safari-604.4.7.0.1.
- 5:52 PM Changeset in webkit [224450] by
-
- 1 copy in tags/Safari-604.4.7.0.2
Tag Safari-604.4.7.0.2.
- 5:51 PM Changeset in webkit [224449] by
-
- 1 delete in tags/Safari-604.4.7.0.2
Deleting tag.
- 5:50 PM Changeset in webkit [224448] by
-
- 7 edits in branches/safari-604.4.7.0-branch/Source
Versioning.
- 5:40 PM Changeset in webkit [224447] by
-
- 1 copy in tags/Safari-604.4.7.1.2
Tag Safari-604.4.7.1.2.
- 5:39 PM Changeset in webkit [224446] by
-
- 1 copy in tags/Safari-604.4.7.0.2
Tag Safari-604.4.7.0.2.
- 5:36 PM Changeset in webkit [224445] by
-
- 1 copy in tags/Safari-604.4.7.10.2
Tag Safari-604.4.7.10.2.
- 5:36 PM Changeset in webkit [224444] by
-
- 3 edits in trunk/Source/WebCore
ASSERTION FAILED: NoEventDispatchAssertion::InMainThread::isEventAllowed() (frameView && frameView->isInChildFrameWithFrameFlattening()) https://bugs.webkit.org/show_bug.cgi?id=179259
Reviewed by Youenn Fablet.
Avoid updating the layout inside HTMLMediaElement::stop() and MediaElementSession::~MediaElementSession
No new tests since existing tests cover this.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::userCancelledLoad): Don't update VTT cues when the active DOM objects are being stopped.
- platform/audio/mac/MediaSessionManagerMac.mm:
(WebCore::MediaSessionManagerMac::removeSession): Update the updateNowPlayingInfo asynchronously
since this function can be called inside HTMLMediaElement::~HTMLMediaElement.
- 5:35 PM Changeset in webkit [224443] by
-
- 2 edits in trunk/Source/WebCore
Add WEBCORE_EXPORT to CachedResourceHandleBase
https://bugs.webkit.org/show_bug.cgi?id=179251
- loader/cache/CachedResourceHandle.h:
(WebCore::CachedResourceHandleBase::get const): Deleted.
(WebCore::CachedResourceHandleBase::operator! const): Deleted.
(WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType const): Deleted.
(WebCore::CachedResourceHandleBase::operator=): Deleted.
I'll need this soon for bug 179251, and having to touch CachedResourceHandle.h causes me to rebuild everything.
Committing it separately greatly increases my debugging and comparison speed.
- 4:32 PM Changeset in webkit [224442] by
-
- 12 edits1 delete in trunk/Source
Unreviewed, rolling out r224428, r224435, and r224440.
https://bugs.webkit.org/show_bug.cgi?id=179274
Broke iOS and internal builds (Requested by ryanhaddad on
#webkit).
Reverted changesets:
"Use VCP H264 encoder for platforms supporting it"
https://bugs.webkit.org/show_bug.cgi?id=179076
https://trac.webkit.org/changeset/224428
"Use VCP H264 encoder for platforms supporting it"
https://bugs.webkit.org/show_bug.cgi?id=179076
https://trac.webkit.org/changeset/224435
"Use VCP H264 encoder for platforms supporting it"
https://bugs.webkit.org/show_bug.cgi?id=179076
https://trac.webkit.org/changeset/224440
Patch by Commit Queue <commit-queue@webkit.org> on 2017-11-03
- 4:31 PM Changeset in webkit [224441] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Uncaught Exception: null is not an object (evaluating 'selector.specificity.map') (at SpreadsheetCSSStyleDeclarationSection.js:199:51)
https://bugs.webkit.org/show_bug.cgi?id=179225
<rdar://problem/35329019>
Reviewed by Joseph Pecoraro.
- UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
(WI.SpreadsheetCSSStyleDeclarationSection.prototype._renderSelector):
selector.specificity may not exist when the selector is dynamic and doesn't match the selected element.
- 4:21 PM Changeset in webkit [224440] by
-
- 2 edits in trunk/Source/ThirdParty/libwebrtc
Use VCP H264 encoder for platforms supporting it
https://bugs.webkit.org/show_bug.cgi?id=179076
rdar://problem/35180773
Unreviewed.
Patch by Youenn Fablet <youenn@apple.com> on 2017-11-03
- Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h: build fix for iOS.
- 4:09 PM Changeset in webkit [224439] by
-
- 11 edits4 adds in trunk
Requests handled by Service Worker should not go through preflighting
https://bugs.webkit.org/show_bug.cgi?id=179250
Patch by Youenn Fablet <youenn@apple.com> on 2017-11-03
Reviewed by Alex Christensen.
Source/WebCore:
Test: http/tests/workers/service/service-worker-crossorigin-fetch.html
In case of cross origin requests needed preflighting that may be served through SW, the following is done:
- Bypass preflight
- Put service workers mode as Only so that if SW is not handling the request, the load will fail
- If load fails, restart DocumentThreadableLoader load with preflight.
Additional testing should be added when we properly handle the case where no fetch event handler is registered in the service worker.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequest):
(WebCore::DocumentThreadableLoader::didFail):
- loader/DocumentThreadableLoader.h:
- loader/ResourceLoaderOptions.h:
- loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::setSelectedServiceWorkerIdentifierIfNeeded):
- platform/network/ResourceErrorBase.h:
Source/WebKit:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoad):
- WebProcess/Storage/WebSWClientConnection.cpp:
(WebKit::WebSWClientConnection::startFetch):
- WebProcess/Storage/WebServiceWorkerProvider.cpp:
(WebKit::shouldHandleFetch):
LayoutTests:
- http/tests/workers/service/resources/service-worker-crossorigin-fetch-worker.js: Added.
(event.event.request.url.indexOf):
(event.event.request.url.endsWith):
- http/tests/workers/service/resources/service-worker-crossorigin-fetch.js: Added.
(done):
(async.logStatus):
(async.test):
- http/tests/workers/service/service-worker-crossorigin-fetch-expected.txt: Added.
- http/tests/workers/service/service-worker-crossorigin-fetch.html: Added.
- 4:02 PM Changeset in webkit [224438] by
-
- 3 edits in trunk/Source/WebKit
REGRESSION(r223718): Leaking WebProcessPool after reconfiguration
https://bugs.webkit.org/show_bug.cgi?id=179123
<rdar://problem/35294685>
Reviewed by Geoffrey Garen.
Make sure we destroy the ServiceWorker WebProcess once all other WebProcesses
go away at there is no use keeping it running at this point. Also, this prevents
leaking the WebProcessPool since the WebProcessProxy holds a strong reference
to the WebProcessPool.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::disconnectProcess):
- 3:49 PM Changeset in webkit [224437] by
-
- 2 edits in trunk/Tools
[iOS] Append the platform name to the product directory on all embedded platforms
https://bugs.webkit.org/show_bug.cgi?id=179271
Reviewed by Joseph Pecoraro.
- Scripts/webkitdirs.pm:
(determineConfigurationProductDir):
- 3:42 PM Changeset in webkit [224436] by
-
- 14 edits in trunk/Source/WebCore
Remove redundant LayoutStateMaintainer argument (RenderView&)
https://bugs.webkit.org/show_bug.cgi?id=179269
<rdar://problem/35344397>
Reviewed by Simon Fraser.
No change in functionality.
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::simplifiedLayout):
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutBlock):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::layout):
- rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
- rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::layout):
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock):
- rendering/RenderImage.cpp:
(WebCore::RenderImage::layoutShadowControls):
- rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
- rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::layout):
- rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::layout):
(WebCore::RenderTableSection::layoutRows):
- rendering/RenderVTTCue.cpp:
(WebCore::RenderVTTCue::layout):
- rendering/RenderView.h:
(WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
- 3:03 PM Changeset in webkit [224435] by
-
- 2 edits in trunk/Source/ThirdParty/libwebrtc
Use VCP H264 encoder for platforms supporting it
https://bugs.webkit.org/show_bug.cgi?id=179076
rdar://problem/35180773
Unreviewed.
Patch by Youenn Fablet <youenn@apple.com> on 2017-11-03
- Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h: build fix.
- 2:53 PM Changeset in webkit [224434] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Move Show Compositing Borders/Paint Flashing buttons from Elements tab to Layers tab
https://bugs.webkit.org/show_bug.cgi?id=179211
Reviewed by Joseph Pecoraro.
- UserInterface/Views/DOMTreeContentView.js:
(WI.DOMTreeContentView.prototype.get navigationItems):
(WI.DOMTreeContentView.prototype._updateCompositingBordersButtonToMatchPageSettings):
Guard old buttons with experimental flag.
- UserInterface/Views/Layers3DContentView.js:
(WI.Layers3DContentView):
(WI.Layers3DContentView.prototype.get navigationItems):
(WI.Layers3DContentView.prototype.shown):
(WI.Layers3DContentView.prototype.closed):
(WI.Layers3DContentView.prototype._showPaintRectsSettingChanged):
(WI.Layers3DContentView.prototype._togglePaintFlashing):
(WI.Layers3DContentView.prototype._updateCompositingBordersButtonState):
(WI.Layers3DContentView.prototype._toggleCompositingBorders):
Add buttons to new home.
No need to guard for get/setCompositingBordersVisible anymore, as these were introduced in iOS 7.
- 2:43 PM Changeset in webkit [224433] by
-
- 20 edits in trunk/Source/WebInspectorUI
Web Inspector: move top-level namespace functions in ImageUtilities to static class
https://bugs.webkit.org/show_bug.cgi?id=179207
Reviewed by Brian Burg.
- .eslintrc:
- UserInterface/Base/ImageUtilities.js:
(WI.ImageUtilities.useSVGSymbol):
(WI.ImageUtilities.scratchCanvasContext2D):
(WI.ImageUtilities.imageFromImageData):
(WI.ImageUtilities.imageFromCanvasGradient):
(WI.ImageUtilities):
(useSVGSymbol): Deleted.
(WI.scratchCanvasContext2D): Deleted.
(WI.imageFromImageData): Deleted.
(WI.imageFromCanvasGradient): Deleted.
- UserInterface/Models/Recording.js:
(WI.Recording.prototype.async swizzle):
- UserInterface/Views/ButtonNavigationItem.js:
(WI.ButtonNavigationItem.prototype.set image):
- UserInterface/Views/CallFrameTreeElement.js:
(WI.CallFrameTreeElement.prototype._updateStatus):
- UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
(WI.DOMNodeDetailsSidebarPanel.prototype.initialLayout):
- UserInterface/Views/DOMTreeElement.js:
(WI.DOMTreeElement.prototype._updateBreakpointStatus):
- UserInterface/Views/MultipleScopeBarItem.js:
(WI.MultipleScopeBarItem):
- UserInterface/Views/RecordingActionTreeElement.js:
(WI.RecordingActionTreeElement._generateDOM):
(WI.RecordingActionTreeElement.prototype._handleHasVisibleEffectChanged):
- UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
(WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
- UserInterface/Views/ResourceMetricsContentView.js:
(WI.ResourceMetricsContentView.prototype._refreshResourceSizeSection):
- UserInterface/Views/ScopeRadioButtonNavigationItem.js:
(WI.ScopeRadioButtonNavigationItem):
- UserInterface/Views/ThreadTreeElement.js:
(WI.ThreadTreeElement.prototype._updateStatus):
- UserInterface/Views/TimelineTreeElement.js:
(WI.TimelineTreeElement.prototype._showCloseButton):
- UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
(WI.VisualStyleCommaSeparatedKeywordEditor):
- UserInterface/Views/VisualStyleKeywordIconList.js:
(WI.VisualStyleKeywordIconList):
- UserInterface/Views/VisualStylePropertyEditorLink.js:
(WI.VisualStylePropertyEditorLink):
- UserInterface/Views/VisualStyleSelectorSection.js:
(WI.VisualStyleSelectorSection):
- UserInterface/Views/WebSocketDataGridNode.js:
(WI.WebSocketDataGridNode.prototype.createCellContent):
- 2:30 PM Changeset in webkit [224432] by
-
- 4 edits in trunk/LayoutTests
LayoutTest http/tests/loading/basic-auth-resend-wrong-credentials.html is flaky on WK2
https://bugs.webkit.org/show_bug.cgi?id=159884
Reviewed by Darin Adler.
- http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt:
- http/tests/loading/basic-auth-resend-wrong-credentials.html:
- platform/wk2/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt:
- 2:26 PM Changeset in webkit [224431] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Hide legacy Layers sidebar on Search tab
https://bugs.webkit.org/show_bug.cgi?id=179257
Reviewed by Joseph Pecoraro.
- UserInterface/Views/SearchTabContentView.js:
(WI.SearchTabContentView):
- 2:26 PM Changeset in webkit [224430] by
-
- 2 edits in trunk/LayoutTests
Mark http/tests/security/mixedContent/insecure-css-with-secure-cookies.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=175998
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 2:26 PM Changeset in webkit [224429] by
-
- 2 edits in trunk/LayoutTests
Mark imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event-within-sw.https.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=179248
Unreviewed test gardening.
- 2:13 PM Changeset in webkit [224428] by
-
- 12 edits1 copy2 adds in trunk/Source
Use VCP H264 encoder for platforms supporting it
https://bugs.webkit.org/show_bug.cgi?id=179076
rdar://problem/35180773
Patch by Youenn Fablet <youenn@apple.com> on 2017-11-03
Reviewed by Eric Carlson.
Source/ThirdParty/libwebrtc:
- Configurations/libwebrtc.iOS.exp:
- Configurations/libwebrtc.iOSsim.exp:
- Configurations/libwebrtc.mac.exp:
- Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h: Added.
(webrtc::H264VideoToolboxEncoderVCP::SetActive):
- Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm: Copied from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.mm.
- Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.mm:
(internal::CFStringToString):
(internal::SetVTSessionProperty):
(internal::CopyVideoFrameToPixelBuffer):
(internal::CreatePixelBuffer):
(internal::VTCompressionOutputCallback):
(internal::ExtractProfile):
- Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.h:
- Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.mm:
(webrtc::VideoToolboxVideoEncoderFactory::VideoToolboxVideoEncoderFactory):
(webrtc::VideoToolboxVideoEncoderFactory::CreateSupportedVideoEncoder):
- libwebrtc.xcodeproj/project.pbxproj:
Source/WebCore:
Covered by existing test coverage.
- platform/mediastream/libwebrtc/VideoToolBoxEncoderFactory.cpp:
(WebCore::VideoToolboxVideoEncoderFactory::setActive):
(WebCore::VideoToolboxVideoEncoderFactory::CreateSupportedVideoEncoder):
(WebCore::VideoToolboxVideoEncoderFactory::DestroyVideoEncoder):
- platform/mediastream/libwebrtc/VideoToolBoxEncoderFactory.h:
- 2:04 PM Changeset in webkit [224427] by
-
- 2 edits in trunk/Source/WebCore
[Curl] Fix build after r224373
https://bugs.webkit.org/show_bug.cgi?id=179265
Unreviewed build fix.
Patch by Basuke Suzuki <Basuke Suzuki> on 2017-11-03
- platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::continueWillSendRequest): Deleted.
- 1:45 PM Changeset in webkit [224426] by
-
- 2 edits in trunk/Source/JavaScriptCore
The Abstract Interpreter needs to change similar to clobberize() in r224366
https://bugs.webkit.org/show_bug.cgi?id=179267
Reviewed by Saam Barati.
Add clobberWorld() to HasGenericProperty, HasStructureProperty & GetPropertyEnumerator
cases in the abstract interpreter to match what was done for r224366.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- 1:31 PM Changeset in webkit [224425] by
-
- 1 edit1 add in trunk/JSTests
Add test for ic with side effects
https://bugs.webkit.org/show_bug.cgi?id=179268
Reviewed by Saam Barati.
- stress/put-inline-cache-side-effects.js: Added.
(let.i.of.objs.keys):
(f):
- 1:19 PM Changeset in webkit [224424] by
-
- 6 edits2 adds in branches/safari-604.4.7.10-branch
Cherry-pick r224405. rdar://problem/35339755
- 1:19 PM Changeset in webkit [224423] by
-
- 3 edits2 adds in branches/safari-604.4.7.10-branch
Cherry-pick r224398. rdar://problem/35329712
- 1:13 PM Changeset in webkit [224422] by
-
- 6 edits2 adds in branches/safari-604.4.7.0-branch
Cherry-pick r224405. rdar://problem/35296405
- 1:13 PM Changeset in webkit [224421] by
-
- 3 edits2 adds in branches/safari-604.4.7.0-branch
Cherry-pick r224398. rdar://problem/35329714
- 1:12 PM Changeset in webkit [224420] by
-
- 6 edits2 adds in branches/safari-604.4.7.1-branch
Cherry-pick r224405. rdar://problem/35296404
- 1:12 PM Changeset in webkit [224419] by
-
- 3 edits2 adds in branches/safari-604.4.7.1-branch
Cherry-pick r224398. rdar://problem/35329684
- 1:12 PM Changeset in webkit [224418] by
-
- 2 edits in trunk/Source/WebCore
Remove an invalid ASSERT that is seen intermittently.
https://bugs.webkit.org/show_bug.cgi?id=179186
Unreviewed.
- workers/service/server/SWServerRegistration.cpp:
(WebCore::SWServerRegistration::removeClientServiceWorkerRegistration): This is an invalid ASSERT,
it's definitely racey over IPC.
- 1:02 PM Changeset in webkit [224417] by
-
- 4 edits in trunk/LayoutTests
Remove Yosemite test expectations
https://bugs.webkit.org/show_bug.cgi?id=179143
Reviewed by Ryosuke Niwa.
We only test back to El Capitan. Everything is Yosemite+. Marking tests as failing only on Yosemite isn't useful any more.
- platform/mac-wk1/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 12:57 PM Changeset in webkit [224416] by
-
- 3 edits in trunk/Source/JavaScriptCore
PutProperytSlot should inform the IC about the property before effects.
https://bugs.webkit.org/show_bug.cgi?id=179262
Reviewed by Mark Lam.
This patch fixes an issue where we choose to cache setters based on
incorrect information. If we did so we might end up OSR exiting
more than we would otherwise need to. The new model is that the
PutPropertySlot should inform the IC of what the property looked
like before any potential side effects might have occurred.
- runtime/JSObject.cpp:
(JSC::JSObject::putInlineSlow):
- runtime/Lookup.h:
(JSC::putEntry):
- 12:40 PM Changeset in webkit [224415] by
-
- 2 edits1 add in trunk/LayoutTests
Unreviewed GTK+ gardening. Mark a few failures, posting along the relevant
bug entries. Add a platform-specific baseline for one HTTP test.
- platform/gtk/TestExpectations:
- platform/gtk/http/tests/security/module-no-mime-type-expected.txt: Added.
- 12:26 PM Changeset in webkit [224414] by
-
- 6 edits in trunk/LayoutTests
[Win] Update test expectations after r224324.
Unreviewed test gardening.
- platform/win/css3/selectors3/html/css3-modsel-166-expected.txt:
- platform/win/css3/selectors3/html/css3-modsel-166a-expected.txt:
- platform/win/css3/selectors3/html/css3-modsel-39-expected.txt:
- platform/win/css3/selectors3/html/css3-modsel-39b-expected.txt:
- platform/win/fast/css/first-letter-float-after-float-expected.txt:
- 12:09 PM Changeset in webkit [224413] by
-
- 2 edits in trunk/Tools
[WinCairo] Add --wincairo option to run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=179217
Patch by Basuke Suzuki <Basuke Suzuki> on 2017-11-03
Reviewed by Alex Christensen.
- Scripts/webkitpy/port/factory.py:
(platform_options):
- 11:57 AM Changeset in webkit [224412] by
-
- 3 edits in trunk/Source/WebCore
[WPE] Remove unneeded USE(LIBEPOXY) guards
https://bugs.webkit.org/show_bug.cgi?id=179228
Reviewed by Carlos Garcia Campos.
USE(LIBEPOXY) is already mandatory for WPE.
- platform/graphics/egl/GLContextEGLWPE.cpp:
- platform/graphics/wpe/PlatformDisplayWPE.cpp:
- 11:47 AM Changeset in webkit [224411] by
-
- 2 edits in trunk/LayoutTests
Marked js/intl-datetimeformat.html as failing on High Sierra.
https://bugs.webkit.org/show_bug.cgi?id=179208
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 11:42 AM Changeset in webkit [224410] by
-
- 4 edits1 move1 add in trunk
[WPE][GTK] Avoid duplicating code for dist and distcheck targets
https://bugs.webkit.org/show_bug.cgi?id=179154
Reviewed by Carlos Garcia Campos.
.:
This commit just reduces some CMake code duplication between GTK and WPE.
- Source/PlatformGTK.cmake:
- Source/PlatformWPE.cmake:
- Source/cmake/WebKitDist.cmake: Added.
Tools:
Move the script out of Tools/gtk because it is already used by WPE. Also, drop the .py
prefix because it is executable.
- Scripts/make-dist: Renamed from Tools/gtk/make-dist.py.
- 11:32 AM Changeset in webkit [224409] by
-
- 2 edits in trunk/Source/WebCore
Layout viewport rect is too wide after window resize
https://bugs.webkit.org/show_bug.cgi?id=175235
Fix a formatting mistake that was introduced by r224241.
Patch by Ali Juma <ajuma@chromium.org> on 2017-11-03
Reviewed by Simon Fraser.
No change in behavior.
- platform/ScrollView.cpp:
(WebCore::ScrollView::updateScrollbars):
- 11:21 AM Changeset in webkit [224408] by
-
- 32 edits2 adds in trunk
Implement Service Worker Matching Registration algorithm
https://bugs.webkit.org/show_bug.cgi?id=178882
Patch by Youenn Fablet <youenn@apple.com> on 2017-11-03
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/service-workers/service-worker/multi-globals/url-parsing.https-expected.txt:
- web-platform-tests/service-workers/service-worker/multiple-register.https-expected.txt:
- web-platform-tests/service-workers/service-worker/registration-basic.https-expected.txt:
- web-platform-tests/service-workers/service-worker/registration-scope.https-expected.txt:
- web-platform-tests/service-workers/service-worker/serviceworkerobject-scripturl.https-expected.txt:
- web-platform-tests/service-workers/service-worker/unregister-controller.https-expected.txt:
- web-platform-tests/service-workers/service-worker/unregister.https-expected.txt:
Source/WebCore:
Test: http/tests/workers/service/service-worker-clear.html
Adding support for scope as part of the ServiceWorkerRegistrationKey to disambiguate several service workers registered with different scopes.
Adding the Service Worker Registration algorithm in SWServer and adding internals API to test it.
Making ServiceWorkerRegistrationKey a class to protect its internal field to be reused in wrong places.
Added preliminary support for clearing service workers for a given session ID as this is needed by WTR for stable testing.
- testing/Internals.cpp:
(WebCore::Internals::hasServiceWorkerRegistration):
- testing/Internals.h:
- testing/Internals.idl:
- workers/service/ServiceWorkerJobData.cpp:
(WebCore::ServiceWorkerJobData::registrationKey const):
- workers/service/ServiceWorkerRegistration.h:
- workers/service/ServiceWorkerRegistrationKey.cpp:
(WebCore::ServiceWorkerRegistrationKey::hash const):
(WebCore::ServiceWorkerRegistrationKey::operator== const):
(WebCore::ServiceWorkerRegistrationKey::isolatedCopy const):
- workers/service/ServiceWorkerRegistrationKey.h:
(WebCore::ServiceWorkerRegistrationKey::encode const):
(WebCore::ServiceWorkerRegistrationKey::decode):
- workers/service/server/SWClientConnection.h:
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::clear):
(WebCore::SWServer::doRegistrationMatching const):
- workers/service/server/SWServer.h:
(WebCore::SWServer::Connection::doRegistrationMatching const):
- workers/service/server/SWServerJobQueue.cpp:
(WebCore::SWServerJobQueue::~SWServerJobQueue):
- workers/service/server/SWServerRegistration.h:
Source/WebKit:
Added IPC plumbery for matchRegistration request and response.
Added some limited clearing of workers and registrations.
- StorageProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::matchRegistration):
- StorageProcess/ServiceWorker/WebSWServerConnection.h:
- StorageProcess/ServiceWorker/WebSWServerConnection.messages.in:
- StorageProcess/StorageProcess.cpp:
(WebKit::StorageProcess::deleteWebsiteData):
(WebKit::StorageProcess::deleteWebsiteDataForOrigins):
- WebProcess/Storage/WebSWClientConnection.cpp:
(WebKit::WebSWClientConnection::didMatchRegistration):
(WebKit::WebSWClientConnection::matchRegistration):
- WebProcess/Storage/WebSWClientConnection.h:
- WebProcess/Storage/WebSWClientConnection.messages.in:
- WebProcess/Storage/WebServiceWorkerProvider.h:
LayoutTests:
- TestExpectations:
- http/tests/workers/service/basic-register-exceptions-expected.txt:
- http/tests/workers/service/resources/basic-register.js: Fixing flakiness.
- http/tests/workers/service/service-worker-clear-expected.txt: Added.
- http/tests/workers/service/service-worker-clear.html: Added.
- 11:05 AM Changeset in webkit [224407] by
-
- 9 edits6 adds in trunk
Add basic OffscreenCanvas interface
https://bugs.webkit.org/show_bug.cgi?id=179213
<rdar://problem/35326778>
Reviewed by Sam Weinig.
Source/WebCore:
Add the basic infrastructure for the OffscreenCanvas
object, so it can be created from script.
Test: http/wpt/offscreen-canvas/offscreencanvas.constructor.html
- DerivedSources.make:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSEventTargetCustom.cpp:
- dom/EventTargetFactory.in:
- html/OffscreenCanvas.cpp: Added.
(WebCore::OffscreenCanvas::create):
(WebCore::OffscreenCanvas::OffscreenCanvas):
(WebCore::OffscreenCanvas::width const):
(WebCore::OffscreenCanvas::setWidth):
(WebCore::OffscreenCanvas::height const):
(WebCore::OffscreenCanvas::setHeight):
- html/OffscreenCanvas.h: Added.
- html/OffscreenCanvas.idl: Added.
LayoutTests:
Very basic test that exercises object construction.
- http/wpt/offscreen-canvas/offscreencanvas.constructor-expected.txt: Added.
- http/wpt/offscreen-canvas/offscreencanvas.constructor.html: Added.
- 11:03 AM Changeset in webkit [224406] by
-
- 3 edits in trunk/Source/WebKit
Element fullscreen should use FloatRects instead of IntRects in beganEnterFullScreenWithInitialFrame
https://bugs.webkit.org/show_bug.cgi?id=179033
rdar://problem/35309279
Patch by Jeremy Jones <jeremyj@apple.com> on 2017-11-03
Reviewed by Darin Adler.
Screen coordinates are floats, so use NSRect instead of IntRect on Mac.
- UIProcess/mac/WKFullScreenWindowController.h:
- UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]):
(-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]):
- 10:10 AM Changeset in webkit [224405] by
-
- 12 edits2 adds in trunk
Crash inside ChildListMutationAccumulator::enqueueMutationRecord()
https://bugs.webkit.org/show_bug.cgi?id=179234
<rdar://problem/35287748>
Reviewed by Darin Adler.
Source/WebCore:
Fixed the crash by keeping MutationObserver referenced by MutationObserverInterestGroup alive.
Also added hasCallback() virtual function on MutationObserver to check whether the callback is alive
to work around the bug that JS function referenced by MutationObserver isn't kept alive.
We'll address this bug separately in https://webkit.org/b/179224.
Test: fast/dom/MutationObserver/disconnect-observer-while-mutation-records-are-enqueued-crash.html
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateCallbackHeaderContent): Added an override for the newly added virtual hasCallback().
- dom/MutationCallback.h:
- dom/MutationObserver.cpp:
(WebCore::MutationObserver::deliver): Added the aforementioned workaround.
- dom/MutationObserverInterestGroup.cpp:
(WebCore::MutationObserverInterestGroup::MutationObserverInterestGroup): Fixed the crash by using Ref.
(WebCore::MutationObserverInterestGroup::enqueueMutationRecord): Ditto.
- dom/MutationObserverInterestGroup.h:
- dom/NativeNodeFilter.cpp:
(WebCore::NativeNodeFilter::hasCallback const): Always return true here. This function is never called
but we still need to implement it since NodeFilter has a pure virtual hasCallback() now.
- dom/NativeNodeFilter.h:
- dom/Node.cpp:
(WebCore::collectMatchingObserversForMutation): Use Ref to fix the crash.
(WebCore::Node::registeredMutationObservers): Ditto.
- dom/Node.h:
- dom/NodeFilter.h:
LayoutTests:
Added a regression test.
- fast/dom/MutationObserver/disconnect-observer-while-mutation-records-are-enqueued-crash-expected.txt: Added.
- fast/dom/MutationObserver/disconnect-observer-while-mutation-records-are-enqueued-crash.html: Added.
- 9:59 AM Changeset in webkit [224404] by
-
- 19 edits in trunk/Source/WebCore
RenderObject::*positioned() naming cleanup
https://bugs.webkit.org/show_bug.cgi?id=179206
<rdar://problem/35325254>
Reviewed by Darin Adler.
+isFixedPositioned()
+isAbsolutelyPositioned()
isRelPositioned() -> isRelativelyPositioned()
Covered by existing tests.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::positionOffsetValue):
- dom/Element.cpp:
(WebCore::layoutOverflowRectContainsAllDescendants):
- rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
- rendering/LayoutState.h:
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::renderName const):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::fixedElementLaysOutRelativeToFrame const):
(WebCore::RenderBox::foregroundIsKnownToBeOpaqueInRect const):
(WebCore::RenderBox::mapLocalToContainer const):
(WebCore::RenderBox::pushMappingToContainer const):
(WebCore::RenderBox::mapAbsoluteToLocalPoint const):
(WebCore::RenderBox::offsetFromContainer const):
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned const):
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned const):
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent const):
(WebCore::RenderBoxModelObject::offsetForInFlowPosition const):
- rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::renderName const):
- rendering/RenderFragmentedFlow.cpp:
(WebCore::RenderFragmentedFlow::adjustedPositionRelativeToOffsetParent const):
- rendering/RenderGeometryMap.cpp:
(WebCore::canMapBetweenRenderersViaLayers):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::renderName const):
- rendering/RenderInline.cpp:
(WebCore::RenderInline::renderName const):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::calculateClipRects const):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateCompositedBounds):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateBacking):
(WebCore::RenderLayerCompositor::computeExtent const):
(WebCore::RenderLayerCompositor::reasonsForCompositing const):
(WebCore::RenderLayerCompositor::isViewportConstrainedFixedOrStickyLayer const):
(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):
(WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
- rendering/RenderObject.cpp:
(WebCore::RenderObject::containingBlock const):
(WebCore::RenderObject::outputRenderObject const):
(WebCore::RenderObject::offsetParent const):
- rendering/RenderObject.h:
(WebCore::RenderObject::isPositioned const):
(WebCore::RenderObject::isInFlowPositioned const):
(WebCore::RenderObject::isFixedPositioned const):
(WebCore::RenderObject::isAbsolutePositioned const):
(WebCore::RenderObject::isRelativePositioned const):
(WebCore::RenderObject::isStickyPositioned const):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
(WebCore::RenderObject::RenderObjectBitfields::isRelativePositioned const):
(WebCore::RenderObject::RenderObjectBitfields::isPositioned const):
(WebCore::RenderObject::isRelPositioned const): Deleted.
(WebCore::RenderObject::RenderObjectBitfields::isRelPositioned const): Deleted.
- 9:37 AM Changeset in webkit [224403] by
-
- 45 edits1 copy1 add in trunk/Source
Use a single identifier type to identify Service Workers
https://bugs.webkit.org/show_bug.cgi?id=179192
Reviewed by Brady Eidson.
Source/WebCore:
Use a single identifier type to identify Service Workers. We had both a String
identifier and a uint64_t identifier for each service worker. We now consistently
use a ServiceWorkerIdentifier which is a strongly typed identifier backed by a
uint64_t.
- WebCore.xcodeproj/project.pbxproj:
- loader/ResourceLoaderOptions.h:
- loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::setSelectedServiceWorkerIdentifierIfNeeded):
- loader/cache/CachedResourceRequest.h:
- workers/service/ServiceWorker.cpp:
(WebCore::ServiceWorker::ServiceWorker):
- workers/service/ServiceWorker.h:
- workers/service/ServiceWorkerClient.cpp:
(WebCore::ServiceWorkerClient::postMessage):
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):
- workers/service/ServiceWorkerContextData.cpp:
(WebCore::ServiceWorkerContextData::isolatedCopy const):
- workers/service/ServiceWorkerContextData.h:
(WebCore::ServiceWorkerContextData::encode const):
(WebCore::ServiceWorkerContextData::decode):
- workers/service/ServiceWorkerIdentifier.h: Copied from Source/WebCore/workers/service/ServiceWorkerContextData.cpp.
- workers/service/ServiceWorkerRegistrationData.h:
(WebCore::ServiceWorkerRegistrationData::decode):
- workers/service/context/SWContextManager.cpp:
(WebCore::SWContextManager::serviceWorkerThreadProxy const):
(WebCore::SWContextManager::postMessageToServiceWorkerGlobalScope):
- workers/service/context/SWContextManager.h:
- workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::ServiceWorkerThread):
- workers/service/context/ServiceWorkerThread.h:
(WebCore::ServiceWorkerThread::identifier const):
- workers/service/context/ServiceWorkerThreadProxy.h:
- workers/service/server/SWClientConnection.cpp:
(WebCore::SWClientConnection::postMessageToServiceWorkerClient):
- workers/service/server/SWClientConnection.h:
- workers/service/server/SWServer.cpp:
(WebCore::generateServiceWorkerIdentifier):
(WebCore::SWServer::Connection::scriptContextFailedToStart):
(WebCore::SWServer::Connection::scriptContextStarted):
(WebCore::SWServer::scriptContextFailedToStart):
(WebCore::SWServer::scriptContextStarted):
(WebCore::SWServer::updateWorker):
- workers/service/server/SWServer.h:
- workers/service/server/SWServerJobQueue.cpp:
(WebCore::SWServerJobQueue::scriptContextFailedToStart):
(WebCore::SWServerJobQueue::scriptContextStarted):
- workers/service/server/SWServerJobQueue.h:
- workers/service/server/SWServerRegistration.h:
(WebCore::SWServerRegistration::setActiveServiceWorkerIdentifier):
- workers/service/server/SWServerWorker.cpp:
(WebCore::SWServerWorker::SWServerWorker):
- workers/service/server/SWServerWorker.h:
(WebCore::SWServerWorker::create):
(WebCore::SWServerWorker::identifier const):
Source/WebKit:
Use a single identifier type to identify Service Workers. We had both a String
identifier and a uint64_t identifier for each service worker. We now consistently
use a ServiceWorkerIdentifier which is a strongly typed identifier backed by a
uint64_t.
- Scripts/webkit/messages.py:
(forward_declarations_and_headers):
(forward_declarations_and_headers.templates):
- StorageProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::startFetch):
(WebKit::WebSWServerConnection::postMessageToServiceWorkerGlobalScope):
(WebKit::WebSWServerConnection::postMessageToServiceWorkerClient):
- StorageProcess/ServiceWorker/WebSWServerConnection.h:
- StorageProcess/ServiceWorker/WebSWServerConnection.messages.in:
- StorageProcess/StorageProcess.cpp:
(WebKit::StorageProcess::serviceWorkerContextFailedToStart):
(WebKit::StorageProcess::serviceWorkerContextStarted):
(WebKit::StorageProcess::postMessageToServiceWorkerClient):
- StorageProcess/StorageProcess.h:
- StorageProcess/StorageProcess.messages.in:
- WebProcess/Storage/WebSWClientConnection.cpp:
(WebKit::WebSWClientConnection::postMessageToServiceWorkerGlobalScope):
(WebKit::WebSWClientConnection::postMessageToServiceWorkerClient):
- WebProcess/Storage/WebSWClientConnection.h:
- WebProcess/Storage/WebSWClientConnection.messages.in:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::updateServiceWorker):
(WebKit::WebSWContextManagerConnection::serviceWorkerStartedWithMessage):
(WebKit::WebSWContextManagerConnection::startFetch):
(WebKit::WebSWContextManagerConnection::postMessageToServiceWorkerGlobalScope):
(WebKit::WebSWContextManagerConnection::postMessageToServiceWorkerClient):
- WebProcess/Storage/WebSWContextManagerConnection.h:
- WebProcess/Storage/WebSWContextManagerConnection.messages.in:
Source/WTF:
Introduce class for strongly typed identifiers. This avoids mixing up
different types of identifiers.
- WTF.xcodeproj/project.pbxproj:
- wtf/ObjectIdentifier.h: Added.
(WTF::ObjectIdentifier::encode const):
(WTF::ObjectIdentifier::decode):
(WTF::ObjectIdentifier::operator== const):
(WTF::ObjectIdentifier::operator!= const):
(WTF::ObjectIdentifier::ObjectIdentifier):
(WTF::makeObjectIdentifier):
(WTF::ObjectIdentifierHash::hash):
(WTF::ObjectIdentifierHash::equal):
(WTF::HashTraits<ObjectIdentifier<T>>::emptyValue):
(WTF::HashTraits<ObjectIdentifier<T>>::constructDeletedValue):
(WTF::HashTraits<ObjectIdentifier<T>>::isDeletedValue):
- 9:35 AM Changeset in webkit [224402] by
-
- 19 edits1 add in trunk
[Payment Request] show() should only be called with user activation
https://bugs.webkit.org/show_bug.cgi?id=179056
Reviewed by Sam Weinig.
Source/WebCore:
Updated existing tests to call PaymentRequest.show() with user activation.
- Modules/paymentrequest/PaymentRequest.cpp:
(WebCore::PaymentRequest::show):
LayoutTests:
- http/tests/paymentrequest/payment-address-attributes-and-toJSON-method.https.html:
- http/tests/paymentrequest/payment-request-canmakepayment-method.https.html:
- http/tests/paymentrequest/payment-request-change-shipping-address.https.html:
- http/tests/paymentrequest/payment-request-change-shipping-option.https.html:
- http/tests/paymentrequest/payment-request-show-method.https.html:
- http/tests/paymentrequest/payment-response-complete-method.https.html:
- http/tests/paymentrequest/payment-response-methodName-attribute.https.html:
- http/tests/paymentrequest/payment-response-payerEmail-attribute.https.html:
- http/tests/paymentrequest/payment-response-payerName-attribute.https.html:
- http/tests/paymentrequest/payment-response-payerPhone-attribute.https.html:
- http/tests/paymentrequest/resources/helpers.js:
(async.getPaymentRequestResponse):
- http/tests/paymentrequest/updateWith-method-pmi-handling.https.html:
- http/tests/resources/payment-request.js: Added.
(activateThen):
- http/tests/ssl/applepay/ApplePayMerchantValidationEvent.https.html:
- http/tests/ssl/applepay/ApplePayPaymentMethodUpdateEvent.https.html:
- http/tests/ssl/applepay/PaymentRequest.https.html:
- resources/ui-helper.js:
(window.UIHelper.activateElement):
- 9:33 AM Changeset in webkit [224401] by
-
- 2 edits in trunk/Tools
TestController platformAdjustContext should use provided WKContext for Mac
https://bugs.webkit.org/show_bug.cgi?id=179124
<rdar://problem/35295176>
Reviewed by Darin Adler.
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration): Use the provided WKContext, since that is
a WebProcessPool, instead of creating a second one.
- 9:27 AM Changeset in webkit [224400] by
-
- 4 edits in trunk/LayoutTests
LayoutTests/imported/w3c:
Update Event-timestamp-high-resolution.html.
https://bugs.webkit.org/show_bug.cgi?id=179242
Reviewed by Darin Adler.
Synchronise with upstream to make the test more robust.
- web-platform-tests/dom/events/Event-timestamp-high-resolution.html:
LayoutTests:
[WPE] Update Event-timestamp-high-resolution.html expectations.
https://bugs.webkit.org/show_bug.cgi?id=179242
Reviewed by Darin Adler.
The test now deals more gracefully with the fact that GamepadEvent is
not defined.
- platform/wpe/imported/w3c/web-platform-tests/dom/events/Event-timestamp-high-resolution-expected.txt:
- 9:03 AM Changeset in webkit [224399] by
-
- 5 edits1 add in trunk
CachedCall (and its clients) needs overflow checks.
https://bugs.webkit.org/show_bug.cgi?id=179185
Reviewed by JF Bastien.
JSTests:
- stress/regress-179185.js: Added.
Source/JavaScriptCore:
- interpreter/CachedCall.h:
(JSC::CachedCall::CachedCall):
(JSC::CachedCall::hasOverflowedArguments):
- runtime/ArgList.h:
(JSC::MarkedArgumentBuffer::clear):
- runtime/StringPrototype.cpp:
(JSC::replaceUsingRegExpSearch):
- 8:41 AM Changeset in webkit [224398] by
-
- 3 edits2 adds in trunk
Invalidate node list when associated form control element is removed
https://bugs.webkit.org/show_bug.cgi?id=179232
<rdar://problem/35308269>
Reviewed by Ryosuke Niwa.
Source/WebCore:
A node list represents a live view of the DOM. Invalidate the node list
associated with a form element whenever one of its associated form control
elements is removed.
Test: fast/forms/node-list-remove-button-from-form.html
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::removeFormElement):
LayoutTests:
Add a test to ensure the node list returned by HTMLFormElement.elements stays synchronized
with the document.
- fast/forms/node-list-remove-button-from-form-expected.txt: Added.
- fast/forms/node-list-remove-button-from-form.html: Added.
- 8:24 AM Changeset in webkit [224397] by
-
- 2 edits in trunk/Source/WebKit
Enable display:contents by default as experimental feature
https://bugs.webkit.org/show_bug.cgi?id=179239
<rdar://problem/35334612>
Reviewed by Darin Adler.
We pass most of the WPT tests. What remains is mostly flexbox related edge cases.
- Shared/WebPreferences.yaml:
- 8:11 AM Changeset in webkit [224396] by
-
- 3 edits in trunk/Source/WebKit
Use WK_IOS_TBA instead of WK_MAC_TBA to indicate availability of private functions on iOS
https://bugs.webkit.org/show_bug.cgi?id=179238
Patch by Frederic Wang <fwang@igalia.com> on 2017-11-03
Reviewed by Darin Adler.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- 8:01 AM Changeset in webkit [224395] by
-
- 5 edits in trunk/Source/WebCore
Add USE(APPLE_INTERNAL_SDK)-guards around SPI in ResourceHandle code
https://bugs.webkit.org/show_bug.cgi?id=136107
Based on patch by Daniel Bates <dabates@apple.com>
Patch by Frederic Wang <fwang@igalia.com> on 2017-11-03
Reviewed by Darin Adler.
No new tests, behavior unchanged.
- platform/network/ResourceHandleClient.h: Replace includes of private headers with CFNetworkSPI.h.
- platform/network/ResourceHandleInternal.h: Ditto.
- platform/network/ios/ResourceHandleIOS.mm: Add USE(APPLE_INTERNAL_SDK)-guard around SPI
headers and forward declare NSURLRequest SPI and constant _kCFStreamSSLTrustedLeafCertificates
for clients that build without the internal SDK. Add BSD license block to file.
(WebCore::ResourceHandle::createSSLPropertiesFromNSURLRequest): Fix code style issues; use
nullptr instead of 0, use reinterpret_cast instead of C-style cast, remove unnecessary
"using namespace WebCore"
and rename variables to improve readability.
- platform/network/mac/ResourceErrorMac.mm: Add USE(APPLE_INTERNAL_SDK)-guard around private
headers and add typedef for CFCachedURLResponseRef for clients that build without the
internal SDK.
- 7:46 AM Changeset in webkit [224394] by
-
- 5 edits4 adds in trunk
Crash in WebCore::RenderStyle::overflowX with display:contents
https://bugs.webkit.org/show_bug.cgi?id=178857
<rdar://problem/35201120>
Reviewed by Zalan Bujtas.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-display-3/display-contents-computed-style-expected.txt:
Source/WebCore:
Crash test by Renata Hodovan.
Tests: fast/css/display-contents-all.html
fast/css/display-contents-document-element.html
- css/StyleResolver.cpp:
(WebCore::adjustDisplayContentsStyle):
For document element 'display:contents' should adjust to 'display:block' like it does for other display types.
LayoutTests:
- fast/css/display-contents-all-expected.html: Added.
- fast/css/display-contents-all.html: Added.
- fast/css/display-contents-document-element-expected.txt: Added.
- fast/css/display-contents-document-element.html: Added.
- 4:44 AM Changeset in webkit [224393] by
-
- 2 edits6 adds in trunk/LayoutTests
[WPE] Enable the dom/ directory of web-platform-tests.
https://bugs.webkit.org/show_bug.cgi?id=179180
Reviewed by Carlos Alberto Lopez Perez.
- platform/wpe/TestExpectations: Enable tests; copy expected timeout from generic expectation file.
- platform/wpe/imported/w3c/web-platform-tests/dom/events/Event-timestamp-high-resolution-expected.txt: Added; GamepadEvent is not enabled. (The fragility of the test is fixed upstream.)
- platform/wpe/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt: Added; more subtests pass than in the generic expectation file.
- platform/wpe/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent-expected.txt: Added; more subtests pass than in the generic expectation file.
- 4:21 AM WebKitGTK/Gardening/Howto edited by
- (diff)
- 3:23 AM Changeset in webkit [224392] by
-
- 25 edits in trunk/LayoutTests
Unreviewed WPE gardening. Rebaselining tests affected by r224324.
- platform/wpe/css1/pseudo/firstletter-expected.txt:
- platform/wpe/css1/pseudo/multiple_pseudo_elements-expected.txt:
- platform/wpe/css2.1/t051202-c24-first-lttr-00-b-expected.txt:
- platform/wpe/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
- platform/wpe/css3/selectors3/html/css3-modsel-166-expected.txt:
- platform/wpe/css3/selectors3/html/css3-modsel-166a-expected.txt:
- platform/wpe/css3/selectors3/html/css3-modsel-39-expected.txt:
- platform/wpe/css3/selectors3/html/css3-modsel-39b-expected.txt:
- platform/wpe/css3/selectors3/xhtml/css3-modsel-166-expected.txt:
- platform/wpe/css3/selectors3/xhtml/css3-modsel-166a-expected.txt:
- platform/wpe/css3/selectors3/xhtml/css3-modsel-39-expected.txt:
- platform/wpe/css3/selectors3/xhtml/css3-modsel-39b-expected.txt:
- platform/wpe/css3/selectors3/xml/css3-modsel-166-expected.txt:
- platform/wpe/css3/selectors3/xml/css3-modsel-166a-expected.txt:
- platform/wpe/css3/selectors3/xml/css3-modsel-39-expected.txt:
- platform/wpe/css3/selectors3/xml/css3-modsel-39b-expected.txt:
- platform/wpe/fast/dynamic/first-letter-display-change-expected.txt:
- platform/wpe/ietestcenter/css3/text/textshadow-004-expected.txt:
- platform/wpe/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.txt:
- platform/wpe/svg/custom/glyph-selection-arabic-forms-expected.txt:
- platform/wpe/svg/text/select-textLength-spacingAndGlyphs-squeeze-2-expected.txt:
- platform/wpe/svg/text/select-textLength-spacingAndGlyphs-squeeze-3-expected.txt:
- platform/wpe/svg/text/select-textLength-spacingAndGlyphs-stretch-2-expected.txt:
- platform/wpe/svg/text/select-textLength-spacingAndGlyphs-stretch-3-expected.txt:
- 3:02 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 3:00 AM Changeset in webkit [224391] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Network Table - Include a secure lock indicator in the domain column
https://bugs.webkit.org/show_bug.cgi?id=179233
<rdar://problem/34070883>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-11-03
Reviewed by Devin Rousso.
- UserInterface/Views/NetworkTableContentView.css:
(.network-table .cell.domain > .lock):
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.prototype.tablePopulateCell):
(WI.NetworkTableContentView.prototype._populateDomainCell):
Add a small lock icon by the domain if the request was https/wss.
- 2:32 AM Changeset in webkit [224390] by
-
- 68 edits in trunk/Source/WebCore
Replace some auto* with RefPtr within WebCore/html
https://bugs.webkit.org/show_bug.cgi?id=179218
<rdar://problem/35102567>
Reviewed by Ryosuke Niwa.
No changes in behaviors.
In this patch, it replace some auto* pointers with RefPtrs. The way it achieves this goal is to wrap
the RHS with makeRefPtr(). Also, some methods have been modified to return RefPtrs directly. Those
include:
HTMLInputElement::list,
HTMLInputElement::dataList,
HTMLLabelElement::control,
HTMLLegendElement::associatedControl,
HTMLSummaryElement::detailsElement,
HTMLTableElement::tHead,
HTMLTableElement::tFoot,
HTMLTablePartElement::findParentTable,
HTMLTableRowElement.cpp::findTable, local function
RadioNodeList.cpp::toRadioButtonInputElement, local function
CanvasStyle::canvasGradient,
CanvasStyle::canvasPattern,
WebGLRenderingContextBase::validateTextureBinding,
GraphicsContext::strokeGradient,
GraphicsContext::fillGradient.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::labelChanged):
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::correspondingControlForLabelElement const):
- accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::addChildren):
(WebCore::AccessibilityTable::title const):
- accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
(webkitAccessibleTableGetCaption):
- html/ColorInputType.cpp:
(WebCore::ColorInputType::suggestions const):
- html/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
- html/FileInputType.cpp:
(WebCore::FileInputType::appendFormData const):
(WebCore::FileInputType::disabledAttributeChanged):
(WebCore::FileInputType::multipleAttributeChanged):
- html/FormAssociatedElement.cpp:
(WebCore::FormAssociatedElement::formOwnerRemovedFromTree):
- html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::insertedIntoAncestor):
(WebCore::HTMLBodyElement::didFinishInsertingNode):
(WebCore::HTMLBodyElement::scrollTo):
- html/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::isActiveSummary const):
(WebCore::HTMLDetailsElement::parseAttribute):
- html/HTMLDocument.cpp:
(WebCore::HTMLDocument::namedItem):
- html/HTMLElement.cpp:
(WebCore::HTMLElement::editabilityFromContentEditableAttr):
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::didAttachRenderers):
- html/HTMLFrameOwnerElement.cpp:
(WebCore:: const):
- html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::namedItem):
- html/HTMLHtmlElement.cpp:
(WebCore::HTMLHtmlElement::insertedByParser):
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::bestFitSourceFromPictureElement):
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler):
(WebCore::HTMLInputElement::list const):
(WebCore::HTMLInputElement::dataList const):
(WebCore::HTMLInputElement::setupDateTimeChooserParameters):
- html/HTMLInputElement.h:
- html/HTMLLabelElement.cpp:
(WebCore::firstElementWithIdIfLabelable):
(WebCore::HTMLLabelElement::control const):
(WebCore::HTMLLabelElement::form const):
(WebCore::HTMLLabelElement::setActive):
(WebCore::HTMLLabelElement::setHovered):
(WebCore::HTMLLabelElement::willRespondToMouseClickEvents):
(WebCore::HTMLLabelElement::focus):
(WebCore::HTMLLabelElement::accessKeyAction):
- html/HTMLLabelElement.h:
- html/HTMLLegendElement.cpp:
(WebCore::HTMLLegendElement::associatedControl):
(WebCore::HTMLLegendElement::focus):
(WebCore::HTMLLegendElement::accessKeyAction):
(WebCore::HTMLLegendElement::form const):
- html/HTMLLegendElement.h:
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::setCSSStyleSheet):
(WebCore::HTMLLinkElement::addSubresourceAttributeURLs const):
- html/HTMLMediaElement.cpp:
(WebCore::needsAutoplayPlayPauseEventsQuirk):
(WebCore::HTMLMediaElement::loadResource):
(WebCore::HTMLMediaElement::updateActiveTextTrackCues):
(WebCore::HTMLMediaElement::removeTextTrack):
(WebCore::HTMLMediaElement::layoutSizeChanged):
- html/HTMLObjectElement.cpp:
(WebCore::shouldBeExposed):
(WebCore::HTMLObjectElement::appendFormData):
- html/HTMLOptGroupElement.cpp:
(WebCore::HTMLOptGroupElement::recalcSelectOptions):
- html/HTMLPictureElement.cpp:
(WebCore::HTMLPictureElement::viewportChangeAffectedPicture const):
- html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::bindingsInstance):
- html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::isImageType):
(WebCore::HTMLPlugInImageElement::willDetachRenderers):
(WebCore::HTMLPlugInImageElement::partOfSnapshotOverlay const):
(WebCore::HTMLPlugInImageElement::checkSizeChangeForSnapshotting):
- html/HTMLSlotElement.cpp:
(WebCore::HTMLSlotElement::attributeChanged):
(WebCore:: const):
- html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::parseAttribute):
- html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::addSubresourceAttributeURLs const):
- html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::detailsElement const):
- html/HTMLSummaryElement.h:
- html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::caption const):
(WebCore::HTMLTableElement::tHead const):
(WebCore::HTMLTableElement::tFoot const):
(WebCore::HTMLTableElement::createTHead):
(WebCore::HTMLTableElement::deleteTHead):
(WebCore::HTMLTableElement::createTFoot):
(WebCore::HTMLTableElement::deleteTFoot):
(WebCore::HTMLTableElement::createCaption):
(WebCore::HTMLTableElement::deleteCaption):
- html/HTMLTableElement.h:
- html/HTMLTablePartElement.cpp:
(WebCore::HTMLTablePartElement::findParentTable const):
- html/HTMLTablePartElement.h:
- html/HTMLTableRowElement.cpp:
(WebCore::findTable):
(WebCore::HTMLTableRowElement::rowIndex const):
(WebCore::findRows):
- html/HTMLTableSectionElement.cpp:
(WebCore::HTMLTableSectionElement::additionalPresentationAttributeStyle const):
- html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::mediaElement const):
- html/LinkIconCollector.cpp:
(WebCore::LinkIconCollector::iconsOfTypes):
- html/MediaDocument.cpp:
(WebCore::MediaDocumentParser::createDocumentStructure):
(WebCore::MediaDocument::replaceMediaElementTimerFired):
- html/MediaElementSession.cpp:
(WebCore::needsArbitraryUserGestureAutoplayQuirk):
(WebCore::isElementRectMostlyInMainFrame):
(WebCore::isElementLargeRelativeToMainFrame):
- html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::createDocumentStructure):
(WebCore::PluginDocumentParser::appendBytes):
- html/RadioNodeList.cpp:
(WebCore::toRadioButtonInputElement):
(WebCore::RadioNodeList::value const):
(WebCore::RadioNodeList::setValue):
- html/RangeInputType.cpp:
(WebCore::RangeInputType::updateTickMarkValues):
- html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::wouldTaintOrigin):
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setStrokeStyle):
(WebCore::CanvasRenderingContext2D::setFillStyle):
(WebCore::CanvasRenderingContext2D::fillInternal):
(WebCore::CanvasRenderingContext2D::strokeInternal):
(WebCore::CanvasRenderingContext2D::fillRect):
(WebCore::CanvasRenderingContext2D::strokeRect):
(WebCore::toStyle):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
- html/canvas/CanvasStyle.h:
(WebCore::CanvasStyle::canvasGradient const):
(WebCore::CanvasStyle::canvasPattern const):
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::texStorage2D):
(WebCore::WebGL2RenderingContext::getFramebufferAttachmentParameter):
(WebCore::WebGL2RenderingContext::validateIndexArrayConservative):
- html/canvas/WebGLBuffer.h:
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::WebGLRenderingContext::validateIndexArrayConservative):
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::compressedTexImage2D):
(WebCore::WebGLRenderingContextBase::compressedTexSubImage2D):
(WebCore::WebGLRenderingContextBase::copyTexSubImage2D):
(WebCore::WebGLRenderingContextBase::generateMipmap):
(WebCore::WebGLRenderingContextBase::getTexParameter):
(WebCore::WebGLRenderingContextBase::texImage2DBase):
(WebCore::WebGLRenderingContextBase::validateTexFunc):
(WebCore::WebGLRenderingContextBase::texSubImage2D):
(WebCore::WebGLRenderingContextBase::texSubImage2DBase):
(WebCore::WebGLRenderingContextBase::copyTexImage2D):
(WebCore::WebGLRenderingContextBase::texImage2D):
(WebCore::WebGLRenderingContextBase::texParameter):
(WebCore::WebGLRenderingContextBase::validateTextureBinding):
- html/canvas/WebGLRenderingContextBase.h:
- html/parser/HTMLConstructionSite.cpp:
(WebCore::executeReparentTask):
(WebCore::executeTakeAllChildrenAndReparentTask):
(WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
(WebCore::HTMLConstructionSite::createHTMLElementOrFindCustomElementInterface):
(WebCore::HTMLConstructionSite::findFosterSite):
- html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
- html/parser/XSSAuditorDelegate.cpp:
(WebCore::XSSAuditorDelegate::generateViolationReport):
- html/shadow/TextControlInnerElements.cpp:
(WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
- html/track/InbandGenericTextTrack.cpp:
(WebCore::InbandGenericTextTrack::updateGenericCue):
(WebCore::InbandGenericTextTrack::removeGenericCue):
- html/track/InbandTextTrack.cpp:
(WebCore::InbandTextTrack::willRemove):
- html/track/TextTrack.cpp:
(WebCore::TextTrack::addCue):
(WebCore::TextTrack::addRegion):
- html/track/VideoTrack.cpp:
(WebCore::VideoTrack::willRemove):
- inspector/InspectorCanvas.cpp:
(WebCore::InspectorCanvas::buildInitialState):
- platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::strokeGradient const):
(WebCore::GraphicsContext::fillGradient const):
- rendering/svg/RenderSVGPath.cpp:
(WebCore::useStrokeStyleToFill):
- 12:04 AM Changeset in webkit [224389] by
-
- 17 edits in trunk
Web Inspector: Canvas2D Profiling: highlight expensive context commands in the captured command log
https://bugs.webkit.org/show_bug.cgi?id=178302
<rdar://problem/33158849>
Reviewed by Brian Burg.
Source/JavaScriptCore:
- inspector/protocol/Recording.json:
Add
duration
to each Frame that represents the total time of all the recorded actions.
Source/WebCore:
No new tests, updated existing tests.
- inspector/InspectorCanvas.h:
- inspector/InspectorCanvas.cpp:
(WebCore::InspectorCanvas::recordAction):
(WebCore::InspectorCanvas::finalizeFrame):
(WebCore::InspectorCanvas::markNewFrame): Deleted.
- inspector/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::didFinishRecordingCanvasFrame):
Source/WebInspectorUI:
- UserInterface/Models/RecordingFrame.js:
(WI.RecordingFrame):
(WI.RecordingFrame.fromPayload):
(WI.RecordingFrame.prototype.get duration):
(WI.RecordingFrame.prototype.toJSON):
- UserInterface/Views/RecordingNavigationSidebarPanel.js:
(WI.RecordingNavigationSidebarPanel.prototype.set recording):
- UserInterface/Views/RecordingNavigationSidebarPanel.css:
(.sidebar > .panel.navigation.recording > .content > .tree-outline .item.folder-icon > .status):
LayoutTests:
- inspector/canvas/recording-2d-expected.txt:
- inspector/canvas/recording-webgl-expected.txt:
- inspector/canvas/recording-webgl-snapshots-expected.txt:
- inspector/canvas/resources/recording-utilities.js:
(TestPage.registerInitializer):
- inspector/model/recording-expected.txt:
- inspector/model/recording.html:
Nov 2, 2017:
- 11:20 PM Changeset in webkit [224388] by
-
- 68 edits in trunk/PerformanceTests
Add license for MotionMark
https://bugs.webkit.org/show_bug.cgi?id=179222
Reviewed by Ryosuke Niwa.
- MotionMark/about.html:
- MotionMark/developer.html:
- MotionMark/index.html:
- MotionMark/resources/debug-runner/graph.js:
- MotionMark/resources/debug-runner/motionmark.css:
- MotionMark/resources/debug-runner/motionmark.js:
- MotionMark/resources/debug-runner/tests.js:
- MotionMark/resources/extensions.js:
- MotionMark/resources/statistics.js:
- MotionMark/resources/strings.js:
- MotionMark/tests/3d/resources/webgl.js:
- MotionMark/tests/3d/webgl.html:
- MotionMark/tests/bouncing-particles/bouncing-canvas-images.html:
- MotionMark/tests/bouncing-particles/bouncing-canvas-shapes.html:
- MotionMark/tests/bouncing-particles/bouncing-css-images.html:
- MotionMark/tests/bouncing-particles/bouncing-css-shapes.html:
- MotionMark/tests/bouncing-particles/bouncing-svg-images.html:
- MotionMark/tests/bouncing-particles/bouncing-svg-shapes.html:
- MotionMark/tests/bouncing-particles/bouncing-tagged-images.html:
- MotionMark/tests/bouncing-particles/resources/bouncing-canvas-images.js:
- MotionMark/tests/bouncing-particles/resources/bouncing-canvas-particles.js:
- MotionMark/tests/bouncing-particles/resources/bouncing-canvas-shapes.js:
- MotionMark/tests/bouncing-particles/resources/bouncing-css-images.js:
- MotionMark/tests/bouncing-particles/resources/bouncing-css-shapes.js:
- MotionMark/tests/bouncing-particles/resources/bouncing-particles.js:
- MotionMark/tests/bouncing-particles/resources/bouncing-svg-images.js:
- MotionMark/tests/bouncing-particles/resources/bouncing-svg-particles.js:
- MotionMark/tests/bouncing-particles/resources/bouncing-svg-shapes.js:
- MotionMark/tests/bouncing-particles/resources/bouncing-tagged-images.js:
- MotionMark/tests/dom/compositing-transforms.html:
- MotionMark/tests/dom/focus.html:
- MotionMark/tests/dom/leaves.html:
- MotionMark/tests/dom/particles.html:
- MotionMark/tests/dom/resources/compositing-transforms.js:
- MotionMark/tests/dom/resources/dom-particles.js:
- MotionMark/tests/dom/resources/focus.js:
- MotionMark/tests/dom/resources/leaves.js:
- MotionMark/tests/master/canvas-stage.html:
- MotionMark/tests/master/focus.html:
- MotionMark/tests/master/image-data.html:
- MotionMark/tests/master/leaves.html:
- MotionMark/tests/master/multiply.html:
- MotionMark/tests/master/resources/canvas-stage.js:
- MotionMark/tests/master/resources/canvas-tests.js:
- MotionMark/tests/master/resources/focus.js:
- MotionMark/tests/master/resources/image-data.js:
- MotionMark/tests/master/resources/leaves.js:
- MotionMark/tests/master/resources/multiply.js:
- MotionMark/tests/master/resources/particles.js:
- MotionMark/tests/master/resources/svg-particles.js:
- MotionMark/tests/master/resources/text.js:
- MotionMark/tests/master/svg-particles.html:
- MotionMark/tests/master/text.html:
- MotionMark/tests/resources/main.js:
- MotionMark/tests/resources/math.js:
- MotionMark/tests/resources/stage.css:
- MotionMark/tests/simple/resources/simple-canvas-paths.js:
- MotionMark/tests/simple/resources/simple-canvas.js:
- MotionMark/tests/simple/resources/tiled-canvas-image.js:
- MotionMark/tests/simple/simple-canvas-paths.html:
- MotionMark/tests/simple/tiled-canvas-image.html:
- MotionMark/tests/template/resources/template-canvas.js:
- MotionMark/tests/template/resources/template-css.js:
- MotionMark/tests/template/resources/template-svg.js:
- MotionMark/tests/template/template-canvas.html:
- MotionMark/tests/template/template-css.html:
- MotionMark/tests/template/template-svg.html:
- 11:08 PM Changeset in webkit [224387] by
-
- 11 edits in trunk/Source
Don't try to guess plugin MIME type from a file extension in a URL (no observable effect)
https://bugs.webkit.org/show_bug.cgi?id=178333
Reviewed by Darin Adler.
Source/WebCore:
No test cases because I could not find an observable behavior difference,
even after trying many different plugin loading scenarios.
- html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): loadedMIMEType --> serviceType
(WebCore::HTMLPlugInImageElement::restartSimilarPlugIns): ditto
(WebCore::HTMLPlugInImageElement::userDidClickSnapshot): ditto
(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): ditto
- html/HTMLPlugInImageElement.h:
(WebCore::HTMLPlugInImageElement::loadedMimeType const): Deleted. This was the one call site
for mimeTypeFromURL, and is otherwise just a wrapper for SerciceType()
- platform/URL.cpp:
(WebCore::mimeTypeFromURL): Deleted. This was the only use of MIMETypeDatabase in URL.
- platform/URL.h: Removed declaration for mimeTypeFromURL.
- WebCore.order: Removed mimeTypeFromURL.
Source/WebKit:
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::pluginDidReceiveUserInteraction): loadedMIMEType --> serviceType
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::determinePrimarySnapshottedPlugIn): ditto
Source/WebKitLegacy/win:
- WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::objectContentType): Remove unnecessary call to mimeTypeFromURL
- 11:05 PM Changeset in webkit [224386] by
-
- 3 edits in trunk/Source/WebCore
[Curl] Fix cancellation process implementation
https://bugs.webkit.org/show_bug.cgi?id=179199
Patch by Basuke Suzuki <Basuke Suzuki> on 2017-11-02
Reviewed by Alex Christensen.
- platform/network/curl/CurlRequest.cpp:
(WebCore::CurlRequest::cancel):
(WebCore::CurlRequest::willSendData):
(WebCore::CurlRequest::didReceiveHeader):
(WebCore::CurlRequest::didReceiveData):
(WebCore::CurlRequest::completeDidReceiveResponse):
(WebCore::CurlRequest::pausedStatusChanged):
- platform/network/curl/CurlRequest.h:
(WebCore::CurlRequest::isSyncRequest const):
(WebCore::CurlRequest::isCompletedOrCancelled const):
(WebCore::CurlRequest::needToInvokeDidCancelTransfer const):
(WebCore::CurlRequest::isSyncRequest): Deleted.
- 10:33 PM Changeset in webkit [224385] by
-
- 3 edits1 add in branches/safari-604.4.7.0-branch
Cherry-pick r224366. rdar://problem/35329722
- 10:33 PM Changeset in webkit [224384] by
-
- 3 edits1 add in branches/safari-604.4.7.0-branch
Cherry-pick r224349. rdar://problem/35329729
- 10:32 PM Changeset in webkit [224383] by
-
- 3 edits1 add in branches/safari-604.4.7.10-branch
Cherry-pick r224366. rdar://problem/35329721
- 10:31 PM Changeset in webkit [224382] by
-
- 3 edits1 add in branches/safari-604.4.7.10-branch
Cherry-pick r224349. rdar://problem/35329728
- 10:30 PM Changeset in webkit [224381] by
-
- 3 edits1 add in branches/safari-604.4.7.1-branch
Cherry-pick r224366. rdar://problem/35329720
- 10:30 PM Changeset in webkit [224380] by
-
- 3 edits1 add in branches/safari-604.4.7.1-branch
Cherry-pick r224349. rdar://problem/35329727
- 9:36 PM Changeset in webkit [224379] by
-
- 21 edits1 copy in trunk/Source
SW: Implement "Update Registration State" algorithm (unused for now)
https://bugs.webkit.org/show_bug.cgi?id=179186
Reviewed by Chris Dumez.
Source/WebCore:
No new tests (No behavior change yet).
This algorithm is very simple, and this patch plumbs it through.
But it's not useful to start using this algorithm without "Update Worker State" also.
So to keep this patch small, it's unused for now. Will be used in the next patch.
- WebCore.xcodeproj/project.pbxproj:
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):
- workers/service/ServiceWorkerRegistration.cpp:
(WebCore::ServiceWorkerRegistration::ServiceWorkerRegistration):
(WebCore::ServiceWorkerRegistration::~ServiceWorkerRegistration):
(WebCore::ServiceWorkerRegistration::updateStateFromServer):
- workers/service/ServiceWorkerRegistration.h:
- workers/service/ServiceWorkerTypes.h: Copied from Source/WebCore/workers/service/server/SWServerRegistration.cpp.
- workers/service/server/SWClientConnection.cpp:
(WebCore::SWClientConnection::addServiceWorkerRegistration):
(WebCore::SWClientConnection::removeServiceWorkerRegistration):
(WebCore::SWClientConnection::updateRegistrationState):
- workers/service/server/SWClientConnection.h:
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::Connection::addServiceWorkerRegistrationInServer):
(WebCore::SWServer::Connection::removeServiceWorkerRegistrationInServer):
(WebCore::SWServer::addClientServiceWorkerRegistration):
(WebCore::SWServer::removeClientServiceWorkerRegistration):
- workers/service/server/SWServer.h:
(WebCore::SWServer::getConnection):
- workers/service/server/SWServerJobQueue.cpp:
(WebCore::SWServerJobQueue::runRegisterJob):
- workers/service/server/SWServerRegistration.cpp:
(WebCore::SWServerRegistration::SWServerRegistration):
(WebCore::SWServerRegistration::updateRegistrationState):
(WebCore::SWServerRegistration::addClientServiceWorkerRegistration):
(WebCore::SWServerRegistration::removeClientServiceWorkerRegistration):
- workers/service/server/SWServerRegistration.h:
Source/WebKit:
- Scripts/webkit/messages.py:
(headers_for_type):
- Shared/WebCoreArgumentCoders.h:
- StorageProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::updateRegistrationStateInClient):
- StorageProcess/ServiceWorker/WebSWServerConnection.h:
- StorageProcess/ServiceWorker/WebSWServerConnection.messages.in:
- WebProcess/Storage/WebSWClientConnection.cpp:
(WebKit::WebSWClientConnection::addServiceWorkerRegistrationInServer):
(WebKit::WebSWClientConnection::removeServiceWorkerRegistrationInServer):
- WebProcess/Storage/WebSWClientConnection.h:
- WebProcess/Storage/WebSWClientConnection.messages.in:
- 8:48 PM Changeset in webkit [224378] by
-
- 7 edits in trunk/Source/WebCore
Assert that updateStyle and updateLayout are only called when it's safe to dispatch events
https://bugs.webkit.org/show_bug.cgi?id=179157
<rdar://problem/35144778>
Reviewed by Zalan Bujtas.
Added assertions to Document::updateStyleIfNeeded and Document::updateLayout that these functions are
only called when NoEventDispatchAssertion::isEventAllowedInMainThread() is true with two exceptions:
- Inside SVGImage::draw which triggers a layout on a separate document.
- While doing a nested layout for a frame flattening.
No new tests since there should be no behavioral changes.
- dom/ContainerNode.cpp:
(NoEventDispatchAssertion::DisableAssertionsInScope::s_existingCount): Deleted. This is now an instance
variable of DisableAssertionsInScope.
(ContainerNode::removeNodeWithScriptAssertion): Moved childrenChanged out of the scope since it could
invoke respondToChangedSelection via HTMLTextAreaElement::childrenChanged.
- dom/Document.cpp:
(WebCore::Document::updateStyleIfNeeded): Added the assertion. Allow updateWidgetPositions() to call
this function but exit early when checking needsStyleRecalc().
(WebCore::Document::updateLayout): Added the assertion.
- dom/NoEventDispatchAssertion.h:
(WebCore::NoEventDispatchAssertion::DisableAssertionsInScope::DisableAssertionsInScope): Made this class
store the original value of s_count as an instance variable to support re-entrancy.
(WebCore::NoEventDispatchAssertion::DisableAssertionsInScope::~DisableAssertionsInScope): Ditto.
- page/LayoutContext.cpp:
(WebCore::LayoutContext::runOrScheduleAsynchronousTasks): Temporarily disable the assertion. This is safe
since SVGImage has its own document.
- svg/SVGSVGElement.cpp:
(WebCore::checkIntersectionWithoutUpdatingLayout): Extracted out of SVGSVGElement::checkIntersection.
(WebCore::checkEnclosureWithoutUpdatingLayout): Extracted out of SVGSVGElement::checkEnclosure.
(WebCore::SVGSVGElement::getIntersectionList): Use checkIntersectionWithoutUpdatingLayout to avoid
calling updateLayoutIgnorePendingStylesheets while iterating over elements.
(WebCore::SVGSVGElement::getEnclosureList): Ditto.
(WebCore::SVGSVGElement::checkIntersection):
(WebCore::SVGSVGElement::checkEnclosure):
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::draw): Temporarily disable the assertion. This is safe as SVGImage has its own page.
- 8:44 PM Changeset in webkit [224377] by
-
- 5 edits1 add in branches/safari-604.4.7.0-branch
Cherry-pick r224302. rdar://problem/35296412
- 8:37 PM Changeset in webkit [224376] by
-
- 5 edits1 add in branches/safari-604.4.7.10-branch
Cherry-pick r224302. rdar://problem/35323822
- 8:36 PM Changeset in webkit [224375] by
-
- 5 edits1 add in branches/safari-604.4.7.1-branch
Cherry-pick r224302. rdar://problem/35296408
- 8:16 PM Changeset in webkit [224374] by
-
- 2 edits in trunk/Source/WebCore
Fix Windows debug build after r224371
- platform/graphics/win/DIBPixelData.h:
- 7:54 PM Changeset in webkit [224373] by
-
- 45 edits in trunk/Source
Use CompletionHandlers for redirects
https://bugs.webkit.org/show_bug.cgi?id=179163
Reviewed by Tim Horton.
Source/WebCore:
Having functions sometimes have to remember to call client->continueWillSendRequest is fragile.
CompletionHandler asserts if it's not called once before destruction, and that's what we need here.
This will prevent future bugs, and make ResourceHandle look more like NetworkDataTask.
No change in behavior.
- loader/NetscapePlugInStreamLoader.cpp:
(WebCore::NetscapePlugInStreamLoader::willSendRequest):
- loader/NetscapePlugInStreamLoader.h:
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::willSendRequest):
(WebCore::ResourceLoader::willSendRequestAsync):
- loader/ResourceLoader.h:
- loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::willSendRequestAsync):
- loader/appcache/ApplicationCacheGroup.h:
- platform/network/BlobResourceHandle.cpp:
- platform/network/PingHandle.h:
- platform/network/ResourceHandle.h:
- platform/network/ResourceHandleClient.h:
- platform/network/SynchronousLoaderClient.cpp:
(WebCore::SynchronousLoaderClient::willSendRequestAsync):
- platform/network/SynchronousLoaderClient.h:
- platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::willSendRequest):
(WebCore::ResourceHandle::continueWillSendRequest): Deleted.
- platform/network/cf/ResourceHandleCFURLConnectionDelegate.h:
- platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueWillSendRequest): Deleted.
- platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h:
- platform/network/curl/ResourceHandleCurlDelegate.cpp:
(WebCore::ResourceHandleCurlDelegate::willSendRequest):
- platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::willSendRequest):
(WebCore::ResourceHandle::continueWillSendRequest): Deleted.
- platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h:
- platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate continueWillSendRequest:]): Deleted.
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::doRedirect):
(WebCore::ResourceHandle::continueWillSendRequest): Deleted.
Source/WebKit:
- NetworkProcess/Downloads/BlobDownloadClient.cpp:
(WebKit::BlobDownloadClient::willSendRequestAsync):
- NetworkProcess/Downloads/BlobDownloadClient.h:
- NetworkProcess/NetworkDataTask.h:
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::~NetworkLoad):
(WebKit::NetworkLoad::continueWillSendRequest):
(WebKit::NetworkLoad::willSendRequestAsync):
- NetworkProcess/NetworkLoad.h:
- NetworkProcess/NetworkLoadClient.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):
- UIProcess/API/APIDownloadClient.h:
(API::DownloadClient::willSendRequest):
- UIProcess/API/C/WKContext.cpp:
(WKContextSetDownloadClient):
- UIProcess/Cocoa/DownloadClient.h:
- UIProcess/Cocoa/DownloadClient.mm:
(WebKit::DownloadClient::willSendRequest):
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::willSendRequest):
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::Stream::~Stream):
(WebKit::PluginView::Stream::continueLoad):
(WebKit::PluginView::Stream::willSendRequest):
- WebProcess/WebPage/WebURLSchemeTaskProxy.cpp:
Source/WebKitLegacy/mac:
- Plugins/Hosted/HostedNetscapePluginStream.h:
- Plugins/Hosted/HostedNetscapePluginStream.mm:
(WebKit::HostedNetscapePluginStream::willSendRequest):
- Plugins/WebNetscapePluginStream.h:
- Plugins/WebNetscapePluginStream.mm:
(WebNetscapePluginStream::willSendRequest):
Source/WebKitLegacy/win:
- Plugins/PluginStream.cpp:
(WebCore::PluginStream::willSendRequest):
- Plugins/PluginStream.h:
(WebCore::PluginStreamClient::~PluginStreamClient):
(WebCore::PluginStreamClient::streamDidFinishLoading):
(WebCore::PluginStream::create):
(WebCore::PluginStream::setLoadManually):
- 7:50 PM Changeset in webkit [224372] by
-
- 2 edits in trunk
Reduce duplication in the toplevel Makefile
https://bugs.webkit.org/show_bug.cgi?id=179204
Unreviewed build fix.
- Source/Makefile:
Take three. An empty SDKROOT should be like Mac (and build all the things).
- 7:33 PM Changeset in webkit [224371] by
-
- 150 edits in trunk
Add a FileSystem namespace to FileSystem.cpp
https://bugs.webkit.org/show_bug.cgi?id=179063
Patch by Christopher Reid <chris.reid@sony.com> on 2017-11-02
Reviewed by Darin Adler.
Source/WebCore:
No new tests, no change in behavior.
Adding a FileSystem namespace so its functions aren't global in WebCore.
- Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp:
- Modules/entriesapi/DOMFileSystem.cpp:
- Modules/entriesapi/FileSystemEntry.cpp:
- Modules/indexeddb/IDBDatabaseIdentifier.cpp:
- Modules/indexeddb/server/IDBServer.cpp:
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
- Modules/indexeddb/server/SQLiteIDBTransaction.cpp:
- Modules/indexeddb/shared/InProcessIDBServer.cpp:
- Modules/webdatabase/DatabaseTracker.cpp:
- Modules/webdatabase/OriginLock.cpp:
- Modules/webdatabase/OriginLock.h:
- fileapi/File.cpp:
- fileapi/FileCocoa.mm:
- html/FileListCreator.cpp:
- html/HTMLMediaElement.cpp:
- loader/appcache/ApplicationCacheStorage.cpp:
- page/Page.cpp:
- page/SecurityOrigin.cpp:
- page/SecurityOriginData.cpp:
- platform/FileHandle.cpp:
- platform/FileHandle.h:
- platform/FileStream.cpp:
- platform/FileStream.h:
- platform/FileSystem.cpp: Added FileSystem namespace
- platform/FileSystem.h: Added FileSystem namespace
- platform/SharedBuffer.cpp:
- platform/SharedBuffer.h:
- platform/cf/FileSystemCF.cpp: Added FileSystem namespace
- platform/cocoa/FileMonitorCocoa.mm:
- platform/cocoa/FileSystemCocoa.mm: Added FileSystem namespace
- platform/glib/FileMonitorGLib.cpp:
- platform/glib/FileSystemGlib.cpp: Added FileSystem namespace
- platform/glib/SharedBufferGlib.cpp:
- platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
- platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- platform/graphics/win/DIBPixelData.h:
- platform/ios/QuickLook.mm:
- platform/ios/WebItemProviderPasteboard.mm:
- platform/mac/FileSystemMac.mm: Added FileSystem namespace
- platform/network/BlobDataFileReference.cpp:
- platform/network/BlobRegistryImpl.cpp:
- platform/network/FormData.cpp:
- platform/network/cf/FormDataStreamCFNet.cpp:
- platform/network/cocoa/ResourceRequestCocoa.mm:
- platform/network/curl/CurlCacheEntry.cpp:
- platform/network/curl/CurlCacheEntry.h:
- platform/network/curl/CurlCacheManager.cpp:
- platform/network/curl/CurlDownload.cpp:
- platform/network/curl/CurlRequest.cpp:
- platform/network/curl/CurlRequest.h:
- platform/network/curl/ResourceHandleCurl.cpp:
- platform/network/mac/BlobDataFileReferenceMac.mm:
- platform/network/soup/ResourceRequestSoup.cpp:
- platform/network/soup/SoupNetworkSession.cpp:
- platform/posix/FileSystemPOSIX.cpp: Added FileSystem namespace
- platform/posix/SharedBufferPOSIX.cpp:
- platform/sql/SQLiteFileSystem.cpp:
- platform/text/hyphen/HyphenationLibHyphen.cpp:
- platform/win/FileSystemWin.cpp: Added FileSystem namespace
- rendering/RenderThemeGtk.cpp:
- rendering/RenderThemeWin.cpp:
Source/WebKit:
- NetworkProcess/Downloads/BlobDownloadClient.cpp:
- NetworkProcess/Downloads/BlobDownloadClient.h:
- NetworkProcess/NetworkDataTaskBlob.cpp:
- NetworkProcess/NetworkDataTaskBlob.h:
- NetworkProcess/NetworkProcess.cpp:
- NetworkProcess/cache/CacheStorageEngine.cpp:
- NetworkProcess/cache/CacheStorageEngineCaches.cpp:
- NetworkProcess/cache/NetworkCache.cpp:
- NetworkProcess/cache/NetworkCacheBlobStorage.cpp:
- NetworkProcess/cache/NetworkCacheData.cpp:
- NetworkProcess/cache/NetworkCacheFileSystem.cpp:
- NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:
- NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
- NetworkProcess/cache/NetworkCacheStatistics.cpp:
- NetworkProcess/cache/NetworkCacheStorage.cpp:
- NetworkProcess/capture/NetworkCaptureManager.cpp:
- NetworkProcess/capture/NetworkCaptureManager.h:
- NetworkProcess/capture/NetworkCaptureRecorder.cpp:
- NetworkProcess/capture/NetworkCaptureResource.h:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
- NetworkProcess/soup/NetworkProcessSoup.cpp:
- Shared/Plugins/Netscape/unix/NetscapePluginModuleUnix.cpp:
- Shared/Plugins/unix/PluginSearchPath.cpp:
- Shared/WebMemorySampler.cpp:
- Shared/WebMemorySampler.h:
- Shared/gtk/ProcessExecutablePathGtk.cpp:
- Shared/ios/ChildProcessIOS.mm:
- Shared/mac/ChildProcessMac.mm:
- Shared/mac/SandboxExtensionMac.mm:
- Shared/wpe/ProcessExecutablePathWPE.cpp:
- StorageProcess/StorageProcess.cpp:
- UIProcess/API/APIContentRuleListStore.cpp:
- UIProcess/API/glib/APIWebsiteDataStoreGLib.cpp:
- UIProcess/API/glib/IconDatabase.cpp:
- UIProcess/API/glib/WebKitFaviconDatabase.cpp:
- UIProcess/API/glib/WebKitFileChooserRequest.cpp:
- UIProcess/API/glib/WebKitWebContext.cpp:
- UIProcess/API/glib/WebKitWebsiteDataManager.cpp:
- UIProcess/Automation/WebAutomationSession.cpp:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
- UIProcess/Cocoa/WebViewImpl.mm:
- UIProcess/Launcher/glib/ProcessLauncherGLib.cpp:
- UIProcess/Plugins/gtk/PluginInfoCache.cpp:
- UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
- UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
- UIProcess/ResourceLoadStatisticsPersistentStorage.cpp:
- UIProcess/WebStorage/LocalStorageDatabase.cpp:
- UIProcess/WebStorage/LocalStorageDatabaseTracker.cpp:
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
- UIProcess/gtk/WebProcessPoolGtk.cpp:
- UIProcess/mac/WebPageProxyMac.mm:
- UIProcess/wpe/WebProcessPoolWPE.cpp:
- WebProcess/InjectedBundle/API/glib/WebKitExtensionManager.cpp:
- WebProcess/InjectedBundle/glib/InjectedBundleGlib.cpp:
- WebProcess/MediaCache/WebMediaKeyStorageManager.cpp:
- WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
- WebProcess/Plugins/Netscape/NetscapePluginStream.h:
- WebProcess/WebCoreSupport/SessionStateConversion.cpp:
Source/WebKitLegacy:
- Storage/StorageAreaSync.cpp:
- Storage/StorageSyncManager.cpp:
- Storage/StorageTracker.cpp:
Source/WebKitLegacy/mac:
- Misc/WebNSFileManagerExtras.mm:
- Storage/WebDatabaseProvider.mm:
Source/WebKitLegacy/win:
- Plugins/PluginDatabase.cpp:
- Plugins/PluginPackage.cpp:
- Plugins/PluginStream.cpp:
- Plugins/PluginStream.h:
- WebApplicationCache.cpp:
- WebDatabaseManager.cpp:
- WebDownloadCurl.cpp:
- WebPreferences.cpp:
- WebView.cpp:
Tools:
- DumpRenderTree/win/DumpRenderTree.cpp:
- TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
- TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
- TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
- TestWebKitAPI/Tests/WebCore/SharedBufferTest.cpp:
- TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
- TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
- 6:53 PM Changeset in webkit [224370] by
-
- 19 edits2 adds in trunk
Web Inspector: Canvas Tab: show supported GL extensions for selected canvas
https://bugs.webkit.org/show_bug.cgi?id=179070
<rdar://problem/35278276>
Reviewed by Brian Burg.
Source/JavaScriptCore:
- inspector/protocol/Canvas.json:
Add
extensionEnabled
event that is fired each timegetExtension
is called with a
different string on a WebGL context.
Source/WebCore:
Test: inspector/canvas/extensions.html
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::getExtension):
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension):
Rework common logic into a macro for readability and to simplify adding calls to
InspectorInstrumentation functions.
- html/canvas/WebGLRenderingContextBase.h:
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::extensionIsEnabled):
- inspector/InspectorCanvasAgent.h:
- inspector/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::enable):
(WebCore::InspectorCanvasAgent::didEnableExtension):
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didEnableExtension):
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didEnableExtensionImpl):
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Protocol/CanvasObserver.js:
(WI.CanvasObserver.prototype.extensionEnabled):
- UserInterface/Controllers/CanvasManager.js:
(WI.CanvasManager.prototype.extensionEnabled):
- UserInterface/Models/Canvas.js:
(WI.Canvas.prototype.get extensions):
(WI.Canvas.prototype.enableExtension):
Maintain a Set of enabled extensions, and dispatch an event whenever an extension is enabled.
- UserInterface/Views/CanvasDetailsSidebarPanel.css:
(.sidebar > .panel.details.canvas .details-section.canvas-extensions .content > ul):
- UserInterface/Views/CanvasDetailsSidebarPanel.js:
(WI.CanvasDetailsSidebarPanel.prototype.set canvas):
(WI.CanvasDetailsSidebarPanel.prototype.initialLayout):
(WI.CanvasDetailsSidebarPanel.prototype.layout):
(WI.CanvasDetailsSidebarPanel.prototype._refreshAttributesSection):
(WI.CanvasDetailsSidebarPanel.prototype._refreshExtensionsSection):
Drive-by: hide Attributes section when the canvas has no attributes.
LayoutTests:
- inspector/canvas/extensions-expected.txt: Added.
- inspector/canvas/extensions.html: Added.
- 6:36 PM Changeset in webkit [224369] by
-
- 3 edits7 adds in trunk
Do not check for CORS in case response is coming from a service worker
https://bugs.webkit.org/show_bug.cgi?id=179177
Patch by Youenn Fablet <youenn@apple.com> on 2017-11-02
Reviewed by Chris Dumez.
Source/WebCore:
Test: http/tests/workers/service/cors-image-fetch.html
As per fetch spec, CORS check (https://fetch.spec.whatwg.org/#cors-check) is done
within HTTP fetch (https://fetch.spec.whatwg.org/#http-fetch).
It does not apply to fetches handled by service workers.
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::checkResponseCrossOriginAccessControl):
LayoutTests:
- http/tests/workers/service/cors-image-fetch-expected.txt: Added.
- http/tests/workers/service/cors-image-fetch.html: Added.
- http/tests/workers/service/resources/cors-image-fetch-worker.js: Added.
- http/tests/workers/service/resources/cors-image-fetch.js: Added.
- http/tests/workers/service/resources/tainted-image-fetch.js: Added.
- http/tests/workers/service/tainted-image-fetch-expected.txt: Added.
- http/tests/workers/service/tainted-image-fetch.html: Added.
- 6:30 PM Changeset in webkit [224368] by
-
- 29 edits1 copy3 adds in trunk/Source
Make ServiceWorker a Remote Inspector debuggable target
https://bugs.webkit.org/show_bug.cgi?id=179043
<rdar://problem/34126008>
Reviewed by Brian Burg.
Source/JavaScriptCore:
- inspector/remote/RemoteControllableTarget.h:
- inspector/remote/RemoteInspectionTarget.h:
- inspector/remote/RemoteInspectorConstants.h:
Include a new ServiceWorker remote inspector target type.
- inspector/remote/cocoa/RemoteInspectorCocoa.mm:
(Inspector::RemoteInspector::listingForInspectionTarget const):
Implement listing for a ServiceWorker to include a URL like a page.
- inspector/remote/glib/RemoteInspectorGlib.cpp:
(Inspector::RemoteInspector::listingForInspectionTarget const):
Bail for ServiceWorker support in glib. They will need to implement their support.
Source/WebCore:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
New files.
- workers/service/context/ServiceWorkerDebuggable.h: Added.
- workers/service/context/ServiceWorkerDebuggable.cpp: Added.
(WebCore::ServiceWorkerDebuggable::ServiceWorkerDebuggable):
(WebCore::ServiceWorkerDebuggable::connect):
(WebCore::ServiceWorkerDebuggable::disconnect):
(WebCore::ServiceWorkerDebuggable::dispatchMessageFromRemote):
ServiceWorker remote inspector target, exposes the script url to debuggers.
Pass the channel on to the inspector proxy to hook it up to the worker.
- workers/service/context/ServiceWorkerInspectorProxy.h:
- workers/service/context/ServiceWorkerInspectorProxy.cpp: Added.
(WebCore::ServiceWorkerInspectorProxy::ServiceWorkerInspectorProxy):
(WebCore::ServiceWorkerInspectorProxy::~ServiceWorkerInspectorProxy):
(WebCore::ServiceWorkerInspectorProxy::serviceWorkerTerminated):
Handle interesting events throughout a Service Worker life cycle.
(WebCore::ServiceWorkerInspectorProxy::connectToWorker):
(WebCore::ServiceWorkerInspectorProxy::disconnectFromWorker):
(WebCore::ServiceWorkerInspectorProxy::sendMessageToWorker):
(WebCore::ServiceWorkerInspectorProxy::sendMessageFromWorkerToFrontend):
Implement existing worker debugger hooks for connection setup and sending messages.
Inspector protocol messages come in on the MainThread and hop over to the
WorkerThread to be handled on the expected context thread. Likewise outgoing
messages hop back to be sent through the InspectorFrontend channel on MainThread.
- workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::ServiceWorkerThread):
- workers/service/context/ServiceWorkerThread.h:
- workers/service/context/ServiceWorkerThreadProxy.h:
- workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::ServiceWorkerThreadProxy):
(WebCore::ServiceWorkerThreadProxy::postMessageToDebugger):
Construct the new inspector proxy and debuggable registration.
Call lifecycle events and debugger hooks when appropriate.
Source/WebInspectorUI:
Customize the Web Inspector frontend for a ServiceWorker target.
Currently this just behaves like a JavaScript Context target because
we haven't yet added support for Networking capabilities.
- UserInterface/Controllers/DebuggerManager.js:
(WI.DebuggerManager.prototype.get knownNonResourceScripts):
Drive-by fix a bug where lazily initializing the Resources / Debugger tabs
would show Console evaluation scripts. We should ignore them, like we
do in other places.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Controllers/AppController.js:
(WI.AppController):
(WI.AppController.debuggableTypeFromHost):
- UserInterface/Controllers/AppControllerBase.js:
- UserInterface/Controllers/TimelineManager.js:
(WI.TimelineManager.defaultTimelineTypes):
(WI.TimelineManager.availableTimelineTypes):
- UserInterface/Models/TimelineRecording.js:
(WI.TimelineRecording.sourceCodeTimelinesSupported):
- UserInterface/Protocol/MainTarget.js:
(WI.MainTarget.prototype.get displayName):
- UserInterface/Test/TestAppController.js:
- UserInterface/Views/DashboardContainerView.css:
(body:not(.web) .toolbar .dashboard-container):
(body.javascript .toolbar .dashboard-container): Deleted.
- UserInterface/Views/DefaultDashboardView.css:
(body:not(.web) .toolbar .dashboard.default > :matches(.resourcesCount, .resourcesSize, .time)):
(body.javascript .toolbar .dashboard.default > :matches(.resourcesCount, .resourcesSize, .time)): Deleted.
- UserInterface/Views/ResourceSidebarPanel.js:
(WI.ResourceSidebarPanel):
(WI.ResourceSidebarPanel.shouldPlaceResourcesAtTopLevel):
(WI.ResourceSidebarPanel.prototype.initialLayout):
(WI.ResourceSidebarPanel.prototype._addScript):
(WI.ResourceSidebarPanel.prototype._extraDomainsActivated):
- UserInterface/Views/Toolbar.js:
Source/WebKit:
- UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.h:
- UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm:
(debuggableTypeString):
Provide a way to start a Remote Web Inspector frontend for a ServiceWorker target type.
- 5:54 PM Changeset in webkit [224367] by
-
- 11 edits in trunk/Source/WebInspectorUI
Web Inspector: Canvas: recording parameters that include an Image should show an InlineSwatch (2D canvas)
https://bugs.webkit.org/show_bug.cgi?id=177032
Reviewed by Brian Burg.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Test.html:
- UserInterface/Base/ImageUtilities.js:
(WI.scratchCanvasContext2D):
Creates a static canvas that can be used for scratch purposes, such as converting ImageData
to an Image, or rendering the result of a CanvasGradient. The canvas is reset after each
call of the function so it can be reused by other callers.
(WI.imageFromImageData):
(WI.imageFromCanvasGradient):
Utility functions for getting a dataURL image of ImageData/CanvasGradient after drawing it
onto WI.scratchCanvasContext2D.
- UserInterface/Models/Recording.js:
(WI.Recording.prototype.async.swizzle):
Set the Image used to create a CanvasPattern as an expando property for later use.
- UserInterface/Models/RecordingAction.js:
(WI.RecordingAction.prototype.getImageParameters):
- UserInterface/Views/RecordingActionTreeElement.js:
(WI.RecordingActionTreeElement._generateDOM):
Add Image InlineSwatch elements for parameters that are viewable as an image. For ImageData
and CanvasGradient, WI.scratchCanvasContext2D is used to draw the ImageData/CanvasGradient
and get a dataURL to be used as the image.
(WI.RecordingActionTreeElement._createSwatchForColorParameters):
Drive-by: add checks that the parameter is not a CanvasGradient or CanvasPattern.
- UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
(WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
Add Image InlineSwatch elements for fillStyle/strokeStyle when the value is a CanvasGradient
or a CanvasPattern.
- UserInterface/Views/InlineSwatch.js:
(WI.InlineSwatch):
(WI.InlineSwatch.prototype._updateSwatch):
(WI.InlineSwatch.prototype._swatchElementClicked):
- UserInterface/Views/InlineSwatch.css:
(.inline-swatch):
(.inline-swatch:matches(.color, .gradient)):
(.inline-swatch:matches(.bezier, .spring, .variable)):
(.inline-swatch:not(.read-only):matches(.bezier, .spring, .variable):hover):
(.inline-swatch:not(.read-only):matches(.bezier, .spring, .variable):active):
(.inline-swatch:not(.read-only):active > span):
(.inline-swatch:matches(.bezier, .spring, .variable) > span):
(.inline-swatch.image > span):
(.inline-swatch:matches(.bezier, .spring, .variable):hover): Deleted.
(.inline-swatch:matches(.bezier, .spring, .variable):active): Deleted.
(.inline-swatch:active > span): Deleted.
(.inline-swatch:matches(.bezier, .spring) > span): Deleted.
Add Image type for showing previews of images.
Drive-by: simplify some styles.
- UserInterface/Views/RecordingActionTreeElement.css:
(.item.action > .titles .parameters > .inline-swatch):
(.tree-outline:matches(:focus, .force-focus) .item.action > .titles .parameters > .inline-swatch): Deleted.
Drive-by: remove the :focus requirement, as it would cause the InlineSwatch to shift when
the user clicked out of the WebInspector window.
- 5:23 PM Changeset in webkit [224366] by
-
- 3 edits1 add in trunk
DFG needs to handle code motion of code in for..in loop bodies
https://bugs.webkit.org/show_bug.cgi?id=179212
Reviewed by Keith Miller.
JSTests:
New regression test.
- stress/for-in-side-effects.js: Added.
(getPrototypeOf):
(reset):
(testWithoutFTL.f):
(testWithoutFTL):
(testWithFTL.f):
(testWithFTL):
Source/JavaScriptCore:
The processing of the DFG nodes HasGenericProperty, HasStructureProperty & GetPropertyEnumerator
make calls with side effects. Updated clobberize() for those nodes to take that into account.
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- 5:12 PM Changeset in webkit [224365] by
-
- 2 edits in trunk/LayoutTests
Skip editing/selection/move-by-word-visually-multi-space.html on iOS debug bots.
https://bugs.webkit.org/show_bug.cgi?id=179201
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 5:05 PM Changeset in webkit [224364] by
-
- 2 edits in trunk/LayoutTests
Mark imported/w3c/web-platform-tests/service-workers/service-worker/fetch-canvas-tainting.https.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=179193
Unreviewed test gardening.
- 4:50 PM Changeset in webkit [224363] by
-
- 1 edit in trunk/Source/Makefile
Reduce duplication in the toplevel Makefile
https://bugs.webkit.org/show_bug.cgi?id=179204
- Source/Makefile:
Address some post-landing review comments to keep the order of the MODULES correct.
- 4:50 PM Changeset in webkit [224362] by
-
- 1 edit in trunk/ChangeLog
Reduce duplication in the toplevel Makefile
https://bugs.webkit.org/show_bug.cgi?id=179204
- Source/Makefile:
Address some post-landing review comments to keep the order of the MODULES correct.
- 4:00 PM Changeset in webkit [224361] by
-
- 2 edits in trunk
Reduce duplication in the toplevel Makefile
https://bugs.webkit.org/show_bug.cgi?id=179204
Reviewed by Simon Fraser.
- Source/Makefile:
Make MODULES additive instead of completely repeated, and only build
libwebrtc where it's needed.
- 3:38 PM Changeset in webkit [224360] by
-
- 10 edits in trunk
display:contents should work with dynamic table mutations
https://bugs.webkit.org/show_bug.cgi?id=179179
Reviewed by Ryosuke Niwa.
Source/WebCore:
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addChildIgnoringContinuation):
RenderText with inline text wrapper as beforeChild is now resolved in RenderTreePosition, covering all cases.
Verify this with assert.
- rendering/RenderElement.cpp:
(WebCore::RenderElement::insertChildInternal):
Add assertion.
- rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::addChild):
Fix cases where we did unchecked downcasts for anonymous beforeChild.
- style/RenderTreePosition.cpp:
(WebCore::RenderTreePosition::insert):
When inserting before a text rendeder with an display:contents inline wrapper, use the wrapper as beforeChild.
- style/RenderTreePosition.h:
(WebCore::RenderTreePosition::insert): Deleted.
- style/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::updateRenderTree):
(WebCore::RenderTreeUpdater::renderingParent):
Add separate helper to get parent frame for the closest rendered (non display:contents) ancestor.
(WebCore::RenderTreeUpdater::renderTreePosition):
(WebCore::RenderTreeUpdater::updateElementRenderer):
(WebCore::RenderTreeUpdater::textRendererIsNeeded):
(WebCore::RenderTreeUpdater::updateTextRenderer):
(WebCore::RenderTreeUpdater::storePreviousRenderer):
Use it for tracking state related to render tree siblings. With this we compute whitespace nodes
correctly for display:contents. The test cases end up depending on that.
- style/RenderTreeUpdater.h:
LayoutTests:
These now pass:
imported/w3c/web-platform-tests/css/css-display-3/display-contents-dynamic-table-001-none.html
imported/w3c/web-platform-tests/css/css-display-3/display-contents-dynamic-table-002-none.html
- 3:28 PM Changeset in webkit [224359] by
-
- 2 edits in trunk/Source/WebCore
Bump the size of SameAsRenderElement after r224324
- rendering/RenderElement.cpp:
RenderElement uses one more bit in the bitfield now.
- 3:05 PM Changeset in webkit [224358] by
-
- 8 edits in trunk/Source
Unreviewed, rolling out r224353.
Breaks internal builds.
Reverted changeset:
"Ignore HSTS for partitioned, cross-origin subresource
requests"
https://bugs.webkit.org/show_bug.cgi?id=178993
https://trac.webkit.org/changeset/224353
- 3:00 PM Changeset in webkit [224357] by
-
- 16 edits3 adds in trunk
Inspector should display service worker served responses properly
https://bugs.webkit.org/show_bug.cgi?id=178597
<rdar://problem/35186111>
Reviewed by Brian Burg.
Source/JavaScriptCore:
- inspector/protocol/Network.json:
Expose a new "service-worker" response source.
Source/WebCore:
Test: http/tests/inspector/network/resource-response-service-worker.html
- inspector/InspectorNetworkAgent.cpp:
(WebCore::responseSource):
Use the new protocol enum.
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js:
New Service Worker related strings.
- UserInterface/Controllers/HARBuilder.js:
(WI.HARBuilder.entry):
(WI.HARBuilder.timings):
Only output timing data when we have real resource timing data.
(WI.HARBuilder.fetchType):
Output a new string for a Service Worker load in our custom field.
- UserInterface/Models/ResourceTimingData.js:
(WI.ResourceTimingData.prototype.get responseStart):
Fallback further to the responseEnd. This can happen if the response
itself is an error/failure and there was no response, so treat it as
the same as response end.
- UserInterface/Models/Resource.js:
(WI.Resource.responseSourceFromPayload):
(WI.Resource.prototype.updateForRedirectResponse):
(WI.Resource.prototype.updateForResponse):
A fetch response won't change the URL, so if the URL is empty
don't change it from what the request's URL was.
(WI.Resource.prototype.hasResponse):
Failure is like finished. We should likely transition to an "isComplete" method.
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.prototype._populateTransferSizeCell):
(WI.NetworkTableContentView.prototype._generateSortComparator):
Output "(service worker)" in the transfer size field, to indicate this came
from a Service worker. Sort such loads together.
- UserInterface/Views/ResourceHeadersContentView.js:
(WI.ResourceHeadersContentView.prototype._responseSourceDisplayString):
(WI.ResourceHeadersContentView.prototype._refreshSummarySection):
Include the Service Worker response source in this details view. Also include
a FIXME, since we would like to link directly to the service worker in the future.
LayoutTests:
- LayoutTests/platform/gtk/TestExpectations:
- LayoutTests/platform/mac-wk1/TestExpectations:
- LayoutTests/platform/win/TestExpectations:
- LayoutTests/platform/wpe/TestExpectations:
Skip Inspector service worker tests on platforms where Service Workers
are not yet supported. For now this is just one test, future tests
specific to Service Workers will go into a directory.
- http/tests/inspector/network/resource-response-service-worker-expected.txt: Added.
- http/tests/inspector/network/resource-response-service-worker.html: Added.
- http/tests/inspector/network/resources/fetch-service-worker.js: Added.
Test for service worker initiated loads.
- 2:56 PM Changeset in webkit [224356] by
-
- 16 edits in trunk/Source/WebCore
Eliminate isMainThread() checks in most call sites of NoEventDispatchAssertion
https://bugs.webkit.org/show_bug.cgi?id=179161
Reviewed by Zalan Bujtas.
Introduced NoEventDispatchAssertion::InMainThread which bypasses the expensive isMainThread() check
in order to turn NoEventDispatchAssertion into a release assertion in a separate patch.
Also removed instances of NoEventDispatchAssertion in notifyChildNodeInserted and notifyChildNodeRemoved
and asserted that the caller has instantiated NoEventDispatchAssertion instead.
No new tests since there should be no behavioral changes.
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::canExecuteScripts):
- dom/Attr.cpp:
- dom/CharacterData.cpp:
- dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeAllChildrenWithScriptAssertion):
(WebCore::ContainerNode::removeNodeWithScriptAssertion):
(WebCore::executeNodeInsertionWithScriptAssertion):
(WebCore::ContainerNode::removeDetachedChildren): Instantiated NoEventDispatchAssertion::InMainThread
so that notifyChildNodeRemoved would be called inside NoEventDispatchAssertion.
(WebCore::ContainerNode::insertBeforeCommon):
(WebCore::ContainerNode::appendChildCommon):
(WebCore::ContainerNode::removeBetween):
(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):
- dom/ContainerNodeAlgorithms.cpp:
(WebCore::notifyChildNodeInserted): Assert that the caller has instantiated NoEventDispatchAssertion.
(WebCore::notifyChildNodeRemoved): Ditto.
- dom/Document.cpp:
(WebCore::Document::resolveStyle):
(WebCore::Document::updateStyleIfNeeded):
(WebCore::Document::nodeChildrenWillBeRemoved):
(WebCore::Document::nodeWillBeRemoved):
(WebCore::Document::dispatchWindowEvent): Replaced RELEASE_ASSERT with ASSERT_WITH_SECURITY_IMPLICATION
for clarity since NoEventDispatchAssertion::isEventAllowedInMainThread() always returns true in release
builds right now.
(WebCore::Document::dispatchWindowLoadEvent): Ditto.
(WebCore::Document::applyPendingXSLTransformsTimerFired): Use ASSERT_WITH_SECURITY_IMPLICATION instead
of regular ASSERT.
- dom/Element.cpp:
(WebCore::Element::addShadowRoot): Instantiate NoEventDispatchAssertion::InMainThread to call
notifyChildNodeInserted will it.
(WebCore::Element::attachAttributeNodeIfNeeded):
(WebCore::Element::setAttributeNode): Fixed the indentation.
(WebCore::Element::setAttributeNodeNS): Ditto.
(WebCore::Element::dispatchFocusInEvent):
(WebCore::Element::dispatchFocusOutEvent):
- dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchEvent):
- dom/NoEventDispatchAssertion.h:
(WebCore::NoEventDispatchAssertion::isEventDispatchAllowedInSubtree): Moved to InMainThread.
(WebCore::NoEventDispatchAssertion::InMainThread): Added.
(WebCore::NoEventDispatchAssertion::InMainThread::InMainThread): Assert that we're in the main thread
instead of exiting early.
(WebCore::NoEventDispatchAssertion::InMainThread::~InMainThread): Ditto.
(WebCore::NoEventDispatchAssertion::InMainThread::isEventDispatchAllowedInSubtree): Moved here.
(WebCore::NoEventDispatchAssertion::InMainThread::isEventAllowed):
- dom/Node.cpp:
(WebCore::Node::dispatchSubtreeModifiedEvent):
(WebCore::Node::dispatchDOMActivateEvent):
- dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::canSuspendActiveDOMObjectsForDocumentSuspension):
(WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
(WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
- history/CachedPage.cpp:
(WebCore::CachedPage::restore):
- history/PageCache.cpp:
(WebCore::PageCache::addIfCacheable):
- page/LayoutContext.cpp:
(WebCore::LayoutContext::layout):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollRectToVisible):
- 2:24 PM Changeset in webkit [224355] by
-
- 2 edits in trunk/LayoutTests
Mark http/tests/preload/viewport/meta-viewport-link-headers.php as flaky on iOS.
https://bugs.webkit.org/show_bug.cgi?id=178029
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 1:46 PM Changeset in webkit [224354] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: Styles Redesign: turn on CSS spreadsheet editor by default
https://bugs.webkit.org/show_bug.cgi?id=179100
<rdar://problem/35285990>
Reviewed by Brian Burg.
Add a "Legacy Style Editor" checkbox and remove the experimental "Spreadsheet Style Editor" checkbox.
Remove settings of the legacy styles editor:
- Show inline warnings
- Automatically insert newline
- Select text on first click
These settings are not applicable for the spreadsheet styles editor and
now are always enabled for the legacy styles editor.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Base/Setting.js:
- UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WI.CSSStyleDeclarationTextEditor):
(WI.CSSStyleDeclarationTextEditor.prototype._handleMouseUp):
(WI.CSSStyleDeclarationTextEditor.):
- UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
(WI.CSSStyleDetailsSidebarPanel):
- UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createGeneralSettingsView):
(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
- 1:43 PM Changeset in webkit [224353] by
-
- 8 edits in trunk/Source
Ignore HSTS for partitioned, cross-origin subresource requests
https://bugs.webkit.org/show_bug.cgi?id=178993
<rdar://problem/34962462>
Reviewed by Brent Fulgham and Alex Christensen.
Source/WebCore:
No new tests. HSTS is not supported in layout tests.
Tested manually.
- platform/network/mac/WebCoreURLResponse.mm:
(WebCore::synthesizeRedirectResponseIfNecessary):
Now also synthesizes a response if
_schemeWasUpgradedDueToDynamicHSTS is set on the
request. Because in such cases the scheme might
have been downgraded and there the two schemes
match.
Source/WebCore/PAL:
- pal/spi/cf/CFNetworkSPI.h:
Added
- (BOOL)_schemeWasUpgradedDueToDynamicHSTS
- (BOOL)_preventHSTSStorage
- (BOOL)_ignoreHSTS
- (void)_setPreventHSTSStorage:(BOOL)preventHSTSStorage
- (void)_setIgnoreHSTS:(BOOL)ignoreHSTS
Source/WebKit:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(downgradeRequest):
Convenience function to downgrade a request if
CFNetwork as already upgraded it during
canonicalization. This allows the rest of
WebKit's processing to function, such as UIR
and mixed content blocking.
(updateIgnoreStrictTransportSecuritySettingIfNecessary):
Adds and removed the ignore request accordingly.
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
Now asks CFNetwork to ignore HSTS on resource loads we
partition cookies for.
(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):
Now asks CFNetwork to ignore HSTS on resource loads we
partition cookies for.
Source/WTF:
- wtf/Platform.h:
Added HAVE_CFNETWORK_IGNORE_HSTS.
- 1:41 PM Changeset in webkit [224352] by
-
- 2 edits in trunk/LayoutTests
Mark two service worker tests as flaky.
Unreviewed test gardening.
- 1:18 PM Changeset in webkit [224351] by
-
- 5 edits3 adds in trunk/Source/WebKit
[WinCairo] Add IPC files for wincairo webkit
https://bugs.webkit.org/show_bug.cgi?id=177919
Patch by Yousuke Kimoto <yousuke.kimoto@sony.com> on 2017-11-02
Reviewed by Alex Christensen.
- Platform/IPC/Attachment.cpp:
- Platform/IPC/Attachment.h:
(IPC::Attachment::Attachment):
(IPC::Attachment::handle):
- Platform/IPC/Connection.h:
(IPC::Connection::identifierIsNull):
(IPC::Connection::sendWithReply):
- Platform/IPC/win/AttachmentWin.cpp: Added.
(IPC::Attachment::encode const):
(IPC::getDuplicatedHandle):
(IPC::Attachment::decode):
- Platform/IPC/win/ConnectionWin.cpp: Added.
(IPC::Connection::createServerAndClientIdentifiers):
(IPC::Connection::platformInitialize):
(IPC::Connection::platformInvalidate):
(IPC::Connection::readEventHandler):
(IPC::Connection::writeEventHandler):
(IPC::Connection::open):
(IPC::Connection::platformCanSendOutgoingMessages const):
(IPC::Connection::sendOutgoingMessage):
(IPC::Connection::willSendSyncMessage):
(IPC::Connection::didReceiveSyncReply):
- PlatformWin.cmake:
- 12:24 PM Changeset in webkit [224350] by
-
- 4 edits in trunk/Source/WebCore
LayoutState::m_next is really the ancestor state.
https://bugs.webkit.org/show_bug.cgi?id=179187
<rdar://problem/35319525>
Reviewed by Simon Fraser.
No change in functionality.
- rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
(WebCore::LayoutState::clearPaginationInformation):
(WebCore::LayoutState::propagateLineGridInfo):
(WebCore::LayoutState::establishLineGrid):
- rendering/LayoutState.h:
- rendering/RenderView.h:
- 12:17 PM Changeset in webkit [224349] by
-
- 3 edits1 add in trunk
AI does not correctly model the clobber case of ArithClz32
https://bugs.webkit.org/show_bug.cgi?id=179188
Reviewed by Michael Saboff.
JSTests:
- stress/arith-clz32-effects.js: Added.
(foo):
(valueOf):
Source/JavaScriptCore:
The non-Int32 case clobbers the world because it may call valueOf.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- 12:12 PM Changeset in webkit [224348] by
-
- 2 edits in trunk/Source/WebCore
Fix iOS WebKitLegacy after r224267
https://bugs.webkit.org/show_bug.cgi?id=179189
Reviewed by Tim Horton.
Use callOnMainThread instead of dispatch_async to work correctly on the web thread.
- platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveAuthenticationChallenge:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:canAuthenticateAgainstProtectionSpace:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveData:lengthReceived:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connectionDidFinishLoading:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didFailWithError:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willCacheResponse:]):
- 11:55 AM Changeset in webkit [224347] by
-
- 6 edits in trunk/Source/WebCore
[WPE] Add some error reporting during EGL display/context creation
https://bugs.webkit.org/show_bug.cgi?id=178937
Reviewed by Carlos Alberto Lopez Perez.
Unconditionally log errors using WTFLogAlways during EGL context creation. This
provides a small degree of help for troubleshooting, and while eglGetError() only
returns numeric error codes, it's better than nothing.
No new tests needed.
- platform/graphics/PlatformDisplay.cpp:
(WebCore::PlatformDisplay::initializeEGLDisplay):
- platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::errorString):
(WebCore::GLContextEGL::lastErrorString):
(WebCore::GLContextEGL::createWindowContext):
(WebCore::GLContextEGL::createPbufferContext):
(WebCore::GLContextEGL::createSurfacelessContext):
(WebCore::GLContextEGL::createContext):
(WebCore::GLContextEGL::createSharingContext):
(WebCore::GLContextEGL::GLContextEGL):
- platform/graphics/egl/GLContextEGL.h:
- platform/graphics/egl/GLContextEGLWPE.cpp:
(WebCore::GLContextEGL::createWPEContext):
- platform/graphics/wpe/PlatformDisplayWPE.cpp:
(WebCore::PlatformDisplayWPE::initialize):
- 11:43 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 11:27 AM Changeset in webkit [224346] by
-
- 2 edits in trunk/Source/WebKit
Early out selection update when data is not present
https://bugs.webkit.org/show_bug.cgi?id=179084
Reviewed by Ryosuke Niwa.
We should early out of a selection update when we do not have the data that is necessary to make that
update. This mostly helps avoid debug asserts, but will be helpful with the selection changes that are
ongoing.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _updateChangedSelection:]):
- 11:25 AM Changeset in webkit [224345] by
-
- 4 edits48 moves3 adds in trunk/Source/WebCore
Web Inspector: Move InspectorAgents into a folder
https://bugs.webkit.org/show_bug.cgi?id=179132
Reviewed by Devin Rousso.
- CMakeLists.txt:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
Move files around.
- inspector/agents/InspectorApplicationCacheAgent.cpp: Renamed from Source/WebCore/inspector/InspectorApplicationCacheAgent.cpp.
- inspector/agents/InspectorApplicationCacheAgent.h: Renamed from Source/WebCore/inspector/InspectorApplicationCacheAgent.h.
- inspector/agents/InspectorCSSAgent.cpp: Renamed from Source/WebCore/inspector/InspectorCSSAgent.cpp.
- inspector/agents/InspectorCSSAgent.h: Renamed from Source/WebCore/inspector/InspectorCSSAgent.h.
- inspector/agents/InspectorCanvasAgent.cpp: Renamed from Source/WebCore/inspector/InspectorCanvasAgent.cpp.
- inspector/agents/InspectorCanvasAgent.h: Renamed from Source/WebCore/inspector/InspectorCanvasAgent.h.
- inspector/agents/InspectorDOMAgent.cpp: Renamed from Source/WebCore/inspector/InspectorDOMAgent.cpp.
- inspector/agents/InspectorDOMAgent.h: Renamed from Source/WebCore/inspector/InspectorDOMAgent.h.
- inspector/agents/InspectorDOMDebuggerAgent.cpp: Renamed from Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp.
- inspector/agents/InspectorDOMDebuggerAgent.h: Renamed from Source/WebCore/inspector/InspectorDOMDebuggerAgent.h.
- inspector/agents/InspectorDOMStorageAgent.cpp: Renamed from Source/WebCore/inspector/InspectorDOMStorageAgent.cpp.
- inspector/agents/InspectorDOMStorageAgent.h: Renamed from Source/WebCore/inspector/InspectorDOMStorageAgent.h.
- inspector/agents/InspectorDatabaseAgent.cpp: Renamed from Source/WebCore/inspector/InspectorDatabaseAgent.cpp.
- inspector/agents/InspectorDatabaseAgent.h: Renamed from Source/WebCore/inspector/InspectorDatabaseAgent.h.
- inspector/agents/InspectorIndexedDBAgent.cpp: Renamed from Source/WebCore/inspector/InspectorIndexedDBAgent.cpp.
- inspector/agents/InspectorIndexedDBAgent.h: Renamed from Source/WebCore/inspector/InspectorIndexedDBAgent.h.
- inspector/agents/InspectorLayerTreeAgent.cpp: Renamed from Source/WebCore/inspector/InspectorLayerTreeAgent.cpp.
- inspector/agents/InspectorLayerTreeAgent.h: Renamed from Source/WebCore/inspector/InspectorLayerTreeAgent.h.
- inspector/agents/InspectorMemoryAgent.cpp: Renamed from Source/WebCore/inspector/InspectorMemoryAgent.cpp.
- inspector/agents/InspectorMemoryAgent.h: Renamed from Source/WebCore/inspector/InspectorMemoryAgent.h.
- inspector/agents/InspectorNetworkAgent.cpp: Renamed from Source/WebCore/inspector/InspectorNetworkAgent.cpp.
- inspector/agents/InspectorNetworkAgent.h: Renamed from Source/WebCore/inspector/InspectorNetworkAgent.h.
- inspector/agents/InspectorPageAgent.cpp: Renamed from Source/WebCore/inspector/InspectorPageAgent.cpp.
- inspector/agents/InspectorPageAgent.h: Renamed from Source/WebCore/inspector/InspectorPageAgent.h.
- inspector/agents/InspectorTimelineAgent.cpp: Renamed from Source/WebCore/inspector/InspectorTimelineAgent.cpp.
- inspector/agents/InspectorTimelineAgent.h: Renamed from Source/WebCore/inspector/InspectorTimelineAgent.h.
- inspector/agents/InspectorWorkerAgent.cpp: Renamed from Source/WebCore/inspector/InspectorWorkerAgent.cpp.
- inspector/agents/InspectorWorkerAgent.h: Renamed from Source/WebCore/inspector/InspectorWorkerAgent.h.
- inspector/agents/WebConsoleAgent.cpp: Renamed from Source/WebCore/inspector/WebConsoleAgent.cpp.
- inspector/agents/WebConsoleAgent.h: Renamed from Source/WebCore/inspector/WebConsoleAgent.h.
- inspector/agents/WebDebuggerAgent.cpp: Renamed from Source/WebCore/inspector/WebDebuggerAgent.cpp.
- inspector/agents/WebDebuggerAgent.h: Renamed from Source/WebCore/inspector/WebDebuggerAgent.h.
- inspector/agents/WebHeapAgent.cpp: Renamed from Source/WebCore/inspector/WebHeapAgent.cpp.
- inspector/agents/WebHeapAgent.h: Renamed from Source/WebCore/inspector/WebHeapAgent.h.
- inspector/agents/page/PageConsoleAgent.cpp: Renamed from Source/WebCore/inspector/PageConsoleAgent.cpp.
- inspector/agents/page/PageConsoleAgent.h: Renamed from Source/WebCore/inspector/PageConsoleAgent.h.
- inspector/agents/page/PageDebuggerAgent.cpp: Renamed from Source/WebCore/inspector/PageDebuggerAgent.cpp.
- inspector/agents/page/PageDebuggerAgent.h: Renamed from Source/WebCore/inspector/PageDebuggerAgent.h.
- inspector/agents/page/PageHeapAgent.cpp: Renamed from Source/WebCore/inspector/PageHeapAgent.cpp.
- inspector/agents/page/PageHeapAgent.h: Renamed from Source/WebCore/inspector/PageHeapAgent.h.
- inspector/agents/page/PageRuntimeAgent.cpp: Renamed from Source/WebCore/inspector/PageRuntimeAgent.cpp.
- inspector/agents/page/PageRuntimeAgent.h: Renamed from Source/WebCore/inspector/PageRuntimeAgent.h.
- inspector/agents/worker/WorkerConsoleAgent.cpp: Renamed from Source/WebCore/inspector/WorkerConsoleAgent.cpp.
- inspector/agents/worker/WorkerConsoleAgent.h: Renamed from Source/WebCore/inspector/WorkerConsoleAgent.h.
- inspector/agents/worker/WorkerDebuggerAgent.cpp: Renamed from Source/WebCore/inspector/WorkerDebuggerAgent.cpp.
- inspector/agents/worker/WorkerDebuggerAgent.h: Renamed from Source/WebCore/inspector/WorkerDebuggerAgent.h.
- inspector/agents/worker/WorkerRuntimeAgent.cpp: Renamed from Source/WebCore/inspector/WorkerRuntimeAgent.cpp.
- inspector/agents/worker/WorkerRuntimeAgent.h: Renamed from Source/WebCore/inspector/WorkerRuntimeAgent.h.
Move agents into folders.
- 10:46 AM Changeset in webkit [224344] by
-
- 9 edits in trunk
Service Worker fetch should transmit headers to its client
https://bugs.webkit.org/show_bug.cgi?id=179156
Patch by Youenn Fablet <youenn@apple.com> on 2017-11-02
Reviewed by Chris Dumez.
Source/WebCore:
Covered by updated tests.
Making resourceResponse getter return a ResourceResponse with the headers of the FetchResponse Headers object.
- Modules/cache/DOMCache.cpp:
(WebCore::DOMCache::toConnectionRecord):
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::resourceResponse const):
- Modules/fetch/FetchResponse.h:
LayoutTests:
- http/tests/workers/service/basic-fetch.https-expected.txt:
- http/tests/workers/service/resources/basic-fetch-worker.js:
Adding header specific subtest.
- http/tests/workers/service/resources/image-fetch-worker.js:
Updating test so that image does not go in the memory cache.
Otherwise test is flaky when run multiple times on the same runner.
- 10:46 AM Changeset in webkit [224343] by
-
- 8 edits in trunk/LayoutTests
Fix WPT service worker tests using www1 URLs
https://bugs.webkit.org/show_bug.cgi?id=179144
Patch by Youenn Fablet <youenn@apple.com> on 2017-11-02
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-cache.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-canvas-tainting.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-response-taint.https-expected.txt:
- web-platform-tests/service-workers/service-worker/resources/test-helpers.sub.js:
LayoutTests:
- 10:45 AM Changeset in webkit [224342] by
-
- 40 edits in trunk/LayoutTests
[Win] Update test expectations after r224324.
Unreviewed test gardening.
- platform/win/css1/pseudo/firstletter-expected.txt:
- platform/win/css1/pseudo/multiple_pseudo_elements-expected.txt:
- platform/win/css2.1/t051202-c24-first-lttr-00-b-expected.txt:
- platform/win/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
- platform/win/css3/selectors3/html/css3-modsel-166-expected.txt:
- platform/win/css3/selectors3/html/css3-modsel-166a-expected.txt:
- platform/win/css3/selectors3/html/css3-modsel-39-expected.txt:
- platform/win/css3/selectors3/html/css3-modsel-39b-expected.txt:
- platform/win/css3/selectors3/xhtml/css3-modsel-166-expected.txt:
- platform/win/css3/selectors3/xhtml/css3-modsel-166a-expected.txt:
- platform/win/css3/selectors3/xhtml/css3-modsel-39-expected.txt:
- platform/win/css3/selectors3/xhtml/css3-modsel-39b-expected.txt:
- platform/win/css3/selectors3/xml/css3-modsel-166-expected.txt:
- platform/win/css3/selectors3/xml/css3-modsel-166a-expected.txt:
- platform/win/css3/selectors3/xml/css3-modsel-39-expected.txt:
- platform/win/css3/selectors3/xml/css3-modsel-39b-expected.txt:
- platform/win/fast/block/lineboxcontain/glyphs-expected.txt:
- platform/win/fast/box-shadow/basic-shadows-expected.txt:
- platform/win/fast/css-generated-content/003-expected.txt:
- platform/win/fast/css-generated-content/007-expected.txt:
- platform/win/fast/css-generated-content/009-expected.txt:
- platform/win/fast/css-generated-content/012-expected.txt:
- platform/win/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt:
- platform/win/fast/css/first-letter-capitalized-expected.txt:
- platform/win/fast/css/first-letter-detach-expected.txt:
- platform/win/fast/css/first-letter-first-line-hover-expected.txt:
- platform/win/fast/css/first-letter-float-expected.txt:
- platform/win/fast/css/first-letter-hover-expected.txt:
- platform/win/fast/css/first-letter-punctuation-expected.txt:
- platform/win/fast/css/first-letter-recalculation-expected.txt:
- platform/win/fast/css/first-letter-visibility-expected.txt:
- platform/win/fast/multicol/shadow-breaking-expected.txt:
- platform/win/fast/ruby/rubyDOM-remove-rt1-expected.txt:
- platform/win/fast/selectors/039-expected.txt:
- platform/win/fast/selectors/039b-expected.txt:
- platform/win/fast/selectors/166a-expected.txt:
- platform/win/fast/text/firstline/002-expected.txt:
- platform/win/fast/text/firstline/003-expected.txt:
- platform/win/ietestcenter/css3/text/textshadow-004-expected.txt:
- 10:38 AM Changeset in webkit [224341] by
-
- 4 edits in trunk/Source/WebCore
Update SWServerJobQueue to follow the Service Worker specification more closely
https://bugs.webkit.org/show_bug.cgi?id=179147
Reviewed by Youenn Fablet.
Align naming with the specification.
Get rid of unnecessary m_currentJob as the current job is always the first
job in the queue.
Inline some of the tiny methods to simplify code. Those were leftovers from when
we used to have a background thread.
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::scheduleJob):
- workers/service/server/SWServerJobQueue.cpp:
(WebCore::SWServerJobQueue::SWServerJobQueue):
(WebCore::SWServerJobQueue::scriptFetchFinished):
(WebCore::SWServerJobQueue::scriptContextStarted):
(WebCore::SWServerJobQueue::runNextJob):
(WebCore::SWServerJobQueue::runNextJobSynchronously):
(WebCore::SWServerJobQueue::runRegisterJob):
(WebCore::SWServerJobQueue::runUnregisterJob):
(WebCore::SWServerJobQueue::runUpdateJob):
(WebCore::SWServerJobQueue::rejectCurrentJob):
(WebCore::SWServerJobQueue::finishCurrentJob):
- workers/service/server/SWServerJobQueue.h:
(WebCore::SWServerJobQueue::firstJob const):
(WebCore::SWServerJobQueue::lastJob const):
(WebCore::SWServerJobQueue::enqueueJob):
(WebCore::SWServerJobQueue::size const):
- 10:24 AM Changeset in webkit [224340] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, removed useless semicolon at the end of namespace
- platform/graphics/texmap/BitmapTextureGL.cpp:
- 10:13 AM Changeset in webkit [224339] by
-
- 4 edits1 add in trunk/Source/WebCore
WPE does not build with DragImage.cpp in unified sources.
https://bugs.webkit.org/show_bug.cgi?id=178844
Reviewed by Keith Miller.
Add a stub implementation of DragImage for WPE so that we can drop the @no-unify.
- Sources.txt:
- SourcesWPE.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/wpe/DragImageWPE.cpp: Added.
(WebCore::dragImageSize):
(WebCore::deleteDragImage):
(WebCore::scaleDragImage):
(WebCore::dissolveDragImageToFraction):
(WebCore::createDragImageFromImage):
(WebCore::createDragImageIconForCachedImageFilename):
(WebCore::createDragImageForLink):
- 10:00 AM Changeset in webkit [224338] by
-
- 7 edits in trunk/Source
[MediaStream] audioTrack.label is always empty on macOS
https://bugs.webkit.org/show_bug.cgi?id=179175
<rdar://problem/35315438>
Reviewed by Youenn Fablet.
Source/WebCore:
- platform/mediastream/RealtimeMediaSourceSettings.h:
(WebCore::RealtimeMediaSourceSettings::label const): New.
(WebCore::RealtimeMediaSourceSettings::setLabel): Ditto.
(WebCore::RealtimeMediaSourceSettings::encode const): Encode label.
(WebCore::RealtimeMediaSourceSettings::decode): Decode label.
- platform/mediastream/mac/AVMediaCaptureSource.mm:
(WebCore::AVMediaCaptureSource::initializeSettings): Set label.
- platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioCaptureSource::settings const): Ditto.
- platform/mock/MockRealtimeMediaSource.cpp:
(WebCore::MockRealtimeMediaSource::initializeSettings): Ditto.
Source/WebKit:
- WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::createCaptureSource): Pass settings.label to Source constructor.
- 9:58 AM Changeset in webkit [224337] by
-
- 8 edits in trunk
[Service Workers] Add initial implementation for try Clear Registration / Clear Registration algorithms
https://bugs.webkit.org/show_bug.cgi?id=179151
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Rebbaseline several WPT tests now that registrations are actually removed.
- web-platform-tests/service-workers/service-worker/multi-globals/url-parsing.https-expected.txt:
- web-platform-tests/service-workers/service-worker/registration-basic.https-expected.txt:
- web-platform-tests/service-workers/service-worker/registration-scope.https-expected.txt:
- web-platform-tests/service-workers/service-worker/serviceworkerobject-scripturl.https-expected.txt:
Source/WebCore:
[Service Workers] Add initial implementation for try Clear Registration / Clear Registration algorithms:
- https://w3c.github.io/ServiceWorker/#try-clear-registration
- https://w3c.github.io/ServiceWorker/#clear-registration
- workers/service/server/SWServerJobQueue.cpp:
(WebCore::SWServerJobQueue::scriptFetchFinished):
(WebCore::SWServerJobQueue::runUnregisterJob):
(WebCore::SWServerJobQueue::tryClearRegistration):
(WebCore::SWServerJobQueue::clearRegistration):
- workers/service/server/SWServerJobQueue.h:
- 9:55 AM Changeset in webkit [224336] by
-
- 2 edits in trunk/Source/WebCore
Clear Node renderer pointer when destroying RenderObject
https://bugs.webkit.org/show_bug.cgi?id=179112
Reviewed by Zalan Bujtas.
Make sure we don't leave renderer pointers behind in Nodes.
This could be done with WeakPtr but that would add extra indirection between DOM and render tree.
- rendering/RenderObject.cpp:
(WebCore::RenderObject::willBeDestroyed):
Null the node renderer pointer.
With continuations we have a case where renderer points to a node that has a different renderer.
This is is ok as we know no node points to a continuation (they should really be anonymous renderers).
- 9:38 AM Changeset in webkit [224335] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, release throw scope
https://bugs.webkit.org/show_bug.cgi?id=178726
- dfg/DFGOperations.cpp:
- 9:35 AM Changeset in webkit [224334] by
-
- 86 edits7 adds in trunk/LayoutTests
Unreviewed GTK+ gardening. Adjusting test expectations and rebaseline some
tests after r224328.
- platform/gtk/TestExpectations:
- platform/gtk/css1/pseudo/firstletter-expected.png:
- platform/gtk/css1/pseudo/firstletter-expected.txt:
- platform/gtk/css1/pseudo/multiple_pseudo_elements-expected.txt:
- platform/gtk/css2.1/t051202-c24-first-lttr-00-b-expected.png:
- platform/gtk/css2.1/t051202-c24-first-lttr-00-b-expected.txt:
- platform/gtk/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
- platform/gtk/css3/selectors3/html/css3-modsel-166-expected.png:
- platform/gtk/css3/selectors3/html/css3-modsel-166-expected.txt:
- platform/gtk/css3/selectors3/html/css3-modsel-166a-expected.png:
- platform/gtk/css3/selectors3/html/css3-modsel-166a-expected.txt:
- platform/gtk/css3/selectors3/html/css3-modsel-39-expected.png:
- platform/gtk/css3/selectors3/html/css3-modsel-39-expected.txt:
- platform/gtk/css3/selectors3/html/css3-modsel-39b-expected.png:
- platform/gtk/css3/selectors3/html/css3-modsel-39b-expected.txt:
- platform/gtk/css3/selectors3/xhtml/css3-modsel-166-expected.png:
- platform/gtk/css3/selectors3/xhtml/css3-modsel-166-expected.txt:
- platform/gtk/css3/selectors3/xhtml/css3-modsel-166a-expected.png:
- platform/gtk/css3/selectors3/xhtml/css3-modsel-166a-expected.txt:
- platform/gtk/css3/selectors3/xhtml/css3-modsel-39-expected.png:
- platform/gtk/css3/selectors3/xhtml/css3-modsel-39-expected.txt:
- platform/gtk/css3/selectors3/xhtml/css3-modsel-39b-expected.png:
- platform/gtk/css3/selectors3/xhtml/css3-modsel-39b-expected.txt:
- platform/gtk/css3/selectors3/xml/css3-modsel-166-expected.png:
- platform/gtk/css3/selectors3/xml/css3-modsel-166-expected.txt:
- platform/gtk/css3/selectors3/xml/css3-modsel-166a-expected.png:
- platform/gtk/css3/selectors3/xml/css3-modsel-166a-expected.txt:
- platform/gtk/css3/selectors3/xml/css3-modsel-39-expected.png:
- platform/gtk/css3/selectors3/xml/css3-modsel-39-expected.txt:
- platform/gtk/css3/selectors3/xml/css3-modsel-39b-expected.png:
- platform/gtk/css3/selectors3/xml/css3-modsel-39b-expected.txt:
- platform/gtk/editing/selection/extend-by-word-002-expected.png:
- platform/gtk/editing/selection/extend-by-word-002-expected.txt:
- platform/gtk/fast/block/lineboxcontain/glyphs-expected.png:
- platform/gtk/fast/block/lineboxcontain/glyphs-expected.txt:
- platform/gtk/fast/box-shadow/basic-shadows-expected.png:
- platform/gtk/fast/box-shadow/basic-shadows-expected.txt:
- platform/gtk/fast/css-generated-content/003-expected.png:
- platform/gtk/fast/css-generated-content/003-expected.txt:
- platform/gtk/fast/css-generated-content/007-expected.png:
- platform/gtk/fast/css-generated-content/007-expected.txt:
- platform/gtk/fast/css-generated-content/009-expected.png:
- platform/gtk/fast/css-generated-content/009-expected.txt:
- platform/gtk/fast/css-generated-content/012-expected.png:
- platform/gtk/fast/css-generated-content/012-expected.txt:
- platform/gtk/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt: Added.
- platform/gtk/fast/css-generated-content/initial-letter-basic-expected.png: Added.
- platform/gtk/fast/css-generated-content/initial-letter-basic-expected.txt:
- platform/gtk/fast/css-generated-content/initial-letter-border-padding-expected.png: Added.
- platform/gtk/fast/css-generated-content/initial-letter-border-padding-expected.txt:
- platform/gtk/fast/css-generated-content/initial-letter-clearance-expected.png: Added.
- platform/gtk/fast/css-generated-content/initial-letter-clearance-expected.txt:
- platform/gtk/fast/css-generated-content/initial-letter-descender-expected.png: Added.
- platform/gtk/fast/css-generated-content/initial-letter-descender-expected.txt:
- platform/gtk/fast/css-generated-content/initial-letter-raised-expected.png: Added.
- platform/gtk/fast/css-generated-content/initial-letter-raised-expected.txt:
- platform/gtk/fast/css-generated-content/initial-letter-sunken-expected.png: Added.
- platform/gtk/fast/css-generated-content/initial-letter-sunken-expected.txt:
- platform/gtk/fast/css/first-letter-capitalized-expected.png:
- platform/gtk/fast/css/first-letter-capitalized-expected.txt:
- platform/gtk/fast/css/first-letter-detach-expected.png:
- platform/gtk/fast/css/first-letter-detach-expected.txt:
- platform/gtk/fast/css/first-letter-first-line-hover-expected.png:
- platform/gtk/fast/css/first-letter-first-line-hover-expected.txt:
- platform/gtk/fast/css/first-letter-float-after-float-expected.png:
- platform/gtk/fast/css/first-letter-float-after-float-expected.txt:
- platform/gtk/fast/css/first-letter-float-expected.png:
- platform/gtk/fast/css/first-letter-float-expected.txt:
- platform/gtk/fast/css/first-letter-hover-expected.png:
- platform/gtk/fast/css/first-letter-hover-expected.txt:
- platform/gtk/fast/css/first-letter-punctuation-expected.png:
- platform/gtk/fast/css/first-letter-punctuation-expected.txt:
- platform/gtk/fast/css/first-letter-recalculation-expected.png:
- platform/gtk/fast/css/first-letter-recalculation-expected.txt:
- platform/gtk/fast/css/first-letter-visibility-expected.png:
- platform/gtk/fast/css/first-letter-visibility-expected.txt:
- platform/gtk/fast/dynamic/first-letter-display-change-expected.txt:
- platform/gtk/fast/multicol/shadow-breaking-expected.png:
- platform/gtk/fast/multicol/shadow-breaking-expected.txt:
- platform/gtk/fast/selectors/039-expected.png:
- platform/gtk/fast/selectors/039-expected.txt:
- platform/gtk/fast/selectors/039b-expected.png:
- platform/gtk/fast/selectors/039b-expected.txt:
- platform/gtk/fast/selectors/166a-expected.png:
- platform/gtk/fast/selectors/166a-expected.txt:
- platform/gtk/fast/text/firstline/002-expected.png:
- platform/gtk/fast/text/firstline/002-expected.txt:
- platform/gtk/fast/text/firstline/003-expected.png:
- platform/gtk/fast/text/firstline/003-expected.txt:
- platform/gtk/ietestcenter/css3/text/textshadow-004-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt:
- platform/gtk/svg/batik/text/smallFonts-expected.txt:
- 9:15 AM Changeset in webkit [224333] by
-
- 2 edits in trunk/LayoutTests
Mark imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing.html as flaky on iOS.
https://bugs.webkit.org/show_bug.cgi?id=177322
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 8:57 AM Changeset in webkit [224332] by
-
- 2 edits in trunk/Source/WebCore
Remove empty continuations in RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers
https://bugs.webkit.org/show_bug.cgi?id=179014
Remove overly optimistic non-critical assertion that is hit on WK1 debug.
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::removeAndDestroyAllContinuations):
- 7:48 AM Changeset in webkit [224331] by
-
- 2 edits in trunk/Tools
[WPE][JHBuild] Update WPEBackend and WPEBackend-mesa
https://bugs.webkit.org/show_bug.cgi?id=179169
Reviewed by Michael Catanzaro.
Update WPEBackend and WPEBackend-mesa to last master as of today.
- wpe/jhbuild.modules:
- 6:56 AM Changeset in webkit [224330] by
-
- 14 edits in trunk
Add references to bug 179167 in FIXME comments
https://bugs.webkit.org/show_bug.cgi?id=179168
Patch by Frederic Wang <fwang@igalia.com> on 2017-11-02
Reviewed by Daniel Bates.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore/PAL:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit:
- Configurations/FeatureDefines.xcconfig:
Source/WebKitLegacy/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WTF:
- wtf/FeatureDefines.h:
Tools:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- 6:41 AM Changeset in webkit [224329] by
-
- 2 edits in trunk
Unreviewed, fix typos in library names for the GTK+ port.
- Source/cmake/OptionsGTK.cmake:
- 5:01 AM Changeset in webkit [224328] by
-
- 7 edits in trunk/LayoutTests
Mark some ietestcenter tests as failing on all platforms.
https://bugs.webkit.org/show_bug.cgi?id=179166
Unreviewed test gardening.
This makes it a little easier to figure out which failure expectations
are actually platform-specific.
These tests might not be correct; I haven't tried to figure that out.
- TestExpectations:
- platform/gtk/TestExpectations:
- platform/ios/TestExpectations:
- platform/mac/TestExpectations:
- platform/win/TestExpectations:
- platform/wpe/TestExpectations:
- 4:31 AM Changeset in webkit [224327] by
-
- 15 edits in trunk
Remove empty continuations in RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers
https://bugs.webkit.org/show_bug.cgi?id=179014
Reviewed by Geoff Garen.
Source/WebCore:
Treat continuation similarly to other anonymous wrappers. This makes things more understandable
and allows removal of some questionable code in RenderBlock::takeChild.
The patch also makes continuation chain a double linked so we can efficiently remove single
continuations from the chain. It also gets rid of algorithms that recurse in continuation chain.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::firstChildInContinuation):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::styleDidChange):
Don't add and remove continuations from the chain when updating style. Prevent recursion by walking
the chain only in the (non-continuation) head renderer.
(WebCore::RenderBlock::dropAnonymousBoxChild):
Make a member function.
(WebCore::RenderBlock::takeChild):
Remove code that destroyed empty continuations and caused the parent to destroy itself.
Empty continuations are now removed by RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers.
- rendering/RenderBlock.h:
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::ContinuationChainNode::ContinuationChainNode):
(WebCore::RenderBoxModelObject::ContinuationChainNode::~ContinuationChainNode):
(WebCore::RenderBoxModelObject::ContinuationChainNode::insertAfter):
Track continuations with double linked lists.
(WebCore::continuationChainNodeMap):
(WebCore::RenderBoxModelObject::willBeDestroyed):
Don't recurse to destroy continuation chain.
Destroy all continuations iteratively if this is the head of the chain.
When destroying a continuation renderer simply remove it from the chain.
(WebCore::RenderBoxModelObject::continuation const):
(WebCore::RenderBoxModelObject::insertIntoContinuationChainAfter):
(WebCore::RenderBoxModelObject::removeFromContinuationChain):
(WebCore::RenderBoxModelObject::ensureContinuationChainNode):
(WebCore::continuationMap): Deleted.
(WebCore::RenderBoxModelObject::setContinuation): Deleted.
- rendering/RenderBoxModelObject.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::RenderElement):
(WebCore::RenderElement::removeAnonymousWrappersForInlinesIfNecessary):
Make this a function of the parent renderer itself instead of getting 'parent()' as first operation and
then using it.
Don't remove continuations (isAnonymousBlockContinuation() test gives wrong result for the last continuation of the chain).
(WebCore::RenderElement::styleDidChange):
removeAnonymousWrappersForInlinesIfNecessary is no function of the parent.
(WebCore::RenderElement::updateOutlineAutoAncestor):
- rendering/RenderElement.h:
(WebCore::RenderElement::hasContinuationChainNode const):
(WebCore::RenderElement::setHasContinuationChainNode):
(WebCore::RenderElement::hasContinuation const): Deleted.
(WebCore::RenderElement::setHasContinuation): Deleted.
- rendering/RenderInline.cpp:
(WebCore::RenderInline::styleDidChange):
Don't add and remove continuations from the chain when updating style. Prevent recursion by walking
the chain only in the (non-continuation) head renderer.
(WebCore::RenderInline::addChildIgnoringContinuation):
Remove the old continuation from the chain. splitFlow() will add it back into the right place.
(WebCore::RenderInline::splitInlines):
(WebCore::RenderInline::addChildToContinuation):
(WebCore::RenderInline::childBecameNonInline):
Remove the old continuation from the chain. splitFlow() will add it back into the right place.
- rendering/RenderInline.h:
- rendering/RenderObject.cpp:
(WebCore::RenderObject::propagateRepaintToParentWithOutlineAutoIfNeeded const):
(WebCore::RenderObject::outputRenderObject const):
(WebCore::findDestroyRootIncludingAnonymous):
Allow anonymous continuations as destroy roots.
(WebCore::RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers):
Removing a continuation may leave behind unnecessary anonymous sibling wrappers.
Call removeAnonymousWrappersForInlinesIfNecessary() on parent after removal to get rid of them.
If takeChild/removeAnonymousWrappersForInlinesIfNecessary leaves us with empty anonymous parent destroy that too.
- rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::takeChild):
Similar to RenderBlock::takeChild, remove the code that would make the renderer destroy itself.
Cleaning up RenderRubyRuns is now handled by removeFromParentAndDestroyCleaningUpAnonymousWrappers.
LayoutTests:
- fast/ruby/float-overhang-from-ruby-text-expected.txt:
- platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.txt:
- 2:53 AM Changeset in webkit [224326] by
-
- 4 edits2 deletes in trunk/LayoutTests
[GTK] Test gardening.
https://bugs.webkit.org/show_bug.cgi?id=179164
Unreviewed test gardening.
- platform/gtk/TestExpectations: update for failing tests reported in bug 179113.
- platform/gtk/editing/deleting/delete-br-009-expected.txt: Rebaseline for r224177.
- platform/gtk/fast/css-generated-content/details-summary-before-after-expected.txt: Rebaseline for r223848.
- platform/gtk/http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-redirect-expected.txt: Removed; platform-specific expectations were added unnecessarily due to failures around bug 178340.
- platform/gtk/http/tests/security/module-no-mime-type-expected.txt: Removed; platform-specific expectations were added unnecessarily due to failures around bug 178340.
- 1:58 AM Changeset in webkit [224325] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r224053): Crash in WebCore::Node::moveTreeToNewScope
https://bugs.webkit.org/show_bug.cgi?id=179158
Reviewed by Antti Koivisto.
Call decrementReferencingNodeCount after checking the release assertion
since that could delete oldDocument.
- dom/Node.cpp:
(WebCore::Node::moveTreeToNewScope):
- 1:05 AM Changeset in webkit [224324] by
-
- 106 edits in trunk
Source/WebCore:
First letter text renderer should be anonymous
https://bugs.webkit.org/show_bug.cgi?id=179114
Reviewed by Darin Adler.
Currently both RenderTextFragment and RenderText for first letter point to the same Text node.
There should only be one non-anonymous renderer per node.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored const):
Skip the first letter text renderer instead of the fragment.
- rendering/RenderBoxModelObject.cpp:
(WebCore::firstLetterRemainingTextMap):
Use WeakPtr.
Modernize.
(WebCore::RenderBoxModelObject::willBeDestroyed):
(WebCore::RenderBoxModelObject::firstLetterRemainingText const):
Avoid hash lookup with the new isFirstLetter bit.
(WebCore::RenderBoxModelObject::setFirstLetterRemainingText):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::RenderElement):
- rendering/RenderElement.h:
(WebCore::RenderElement::isFirstLetter const):
(WebCore::RenderElement::setIsFirstLetter):
Add a bit for more explicit code.
- rendering/RenderTextFragment.cpp:
(WebCore::RenderTextFragment::setText):
Assert that RenderTextFragment is always the non-anonymous renderer.
- style/RenderTreeUpdaterFirstLetter.cpp:
(WebCore::updateFirstLetterStyle):
Set the isFirstLetter bit.
(WebCore::createFirstLetterRenderer):
Set the isFirstLetter bit.
Remove the old text renderer before adding a new one.
LayoutTests:
First letter renderer should be anonymous
https://bugs.webkit.org/show_bug.cgi?id=179114
Reviewed by Darin Adler.
- fast/dynamic/first-letter-after-list-marker-expected.txt:
- platform/mac/css1/pseudo/firstletter-expected.txt:
- platform/mac/css1/pseudo/multiple_pseudo_elements-expected.txt:
- platform/mac/css2.1/t051202-c24-first-lttr-00-b-expected.txt:
- platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
- platform/mac/css3/selectors3/html/css3-modsel-166-expected.txt:
- platform/mac/css3/selectors3/html/css3-modsel-166a-expected.txt:
- platform/mac/css3/selectors3/html/css3-modsel-39-expected.txt:
- platform/mac/css3/selectors3/html/css3-modsel-39b-expected.txt:
- platform/mac/css3/selectors3/xhtml/css3-modsel-166-expected.txt:
- platform/mac/css3/selectors3/xhtml/css3-modsel-166a-expected.txt:
- platform/mac/css3/selectors3/xhtml/css3-modsel-39-expected.txt:
- platform/mac/css3/selectors3/xhtml/css3-modsel-39b-expected.txt:
- platform/mac/css3/selectors3/xml/css3-modsel-166-expected.txt:
- platform/mac/css3/selectors3/xml/css3-modsel-166a-expected.txt:
- platform/mac/css3/selectors3/xml/css3-modsel-39-expected.txt:
- platform/mac/css3/selectors3/xml/css3-modsel-39b-expected.txt:
- platform/mac/editing/selection/extend-by-word-002-expected.txt:
- platform/mac/fast/block/lineboxcontain/glyphs-expected.txt:
- platform/mac/fast/box-shadow/basic-shadows-expected.txt:
- platform/mac/fast/css-generated-content/003-expected.txt:
- platform/mac/fast/css-generated-content/007-expected.txt:
- platform/mac/fast/css-generated-content/009-expected.txt:
- platform/mac/fast/css-generated-content/012-expected.txt:
- platform/mac/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt:
- platform/mac/fast/css-generated-content/initial-letter-basic-expected.txt:
- platform/mac/fast/css-generated-content/initial-letter-border-padding-expected.txt:
- platform/mac/fast/css-generated-content/initial-letter-clearance-expected.txt:
- platform/mac/fast/css-generated-content/initial-letter-descender-expected.txt:
- platform/mac/fast/css-generated-content/initial-letter-raised-expected.txt:
- platform/mac/fast/css-generated-content/initial-letter-sunken-expected.txt:
- platform/mac/fast/css/first-letter-capitalized-expected.txt:
- platform/mac/fast/css/first-letter-detach-expected.txt:
- platform/mac/fast/css/first-letter-first-line-hover-expected.txt:
- platform/mac/fast/css/first-letter-float-after-float-expected.txt:
- platform/mac/fast/css/first-letter-float-expected.txt:
- platform/mac/fast/css/first-letter-hover-expected.txt:
- platform/mac/fast/css/first-letter-punctuation-expected.txt:
- platform/mac/fast/css/first-letter-recalculation-expected.txt:
- platform/mac/fast/css/first-letter-visibility-expected.txt:
- platform/mac/fast/dynamic/first-letter-display-change-expected.txt:
- platform/mac/fast/multicol/shadow-breaking-expected.txt:
- platform/mac/fast/selectors/039-expected.txt:
- platform/mac/fast/selectors/039b-expected.txt:
- platform/mac/fast/selectors/166a-expected.txt:
- platform/mac/fast/text/firstline/002-expected.txt:
- platform/mac/fast/text/firstline/003-expected.txt:
Nov 1, 2017:
- 10:57 PM Changeset in webkit [224323] by
-
- 3 edits in trunk/Source/WebCore
Remove ScrollableArea::isTouchScrollable and ScrollableArea::isOverflowScroll
https://bugs.webkit.org/show_bug.cgi?id=179121
Patch by Frederic Wang <fwang@igalia.com> on 2017-11-01
Reviewed by Alex Christensen.
These functions were introduced in r161589 and r160236 but it seems that they have never
been used.
No new tests, behavior unchanged.
- platform/ScrollableArea.h:
(WebCore::ScrollableArea::isTouchScrollable const): Deleted.
(WebCore::ScrollableArea::isOverflowScroll const): Deleted.
- rendering/RenderLayer.h:
- 10:55 PM Changeset in webkit [224322] by
-
- 3 edits in trunk/Source/WebCore
[Curl] Make the order of scheduler job handling sequential
https://bugs.webkit.org/show_bug.cgi?id=179127
Patch by Basuke Suzuki <Basuke Suzuki> on 2017-11-01
Reviewed by Alex Christensen.
- platform/network/curl/CurlRequestScheduler.cpp:
(WebCore::CurlRequestScheduler::add):
(WebCore::CurlRequestScheduler::cancel):
(WebCore::CurlRequestScheduler::stopThreadIfNoMoreJobRunning):
(WebCore::CurlRequestScheduler::executeTasks):
(WebCore::CurlRequestScheduler::workerThread):
(WebCore::CurlRequestScheduler::startTransfer):
(WebCore::CurlRequestScheduler::completeTransfer):
(WebCore::CurlRequestScheduler::cancelTransfer):
(WebCore::CurlRequestScheduler::finalizeTransfer):
(WebCore::CurlJobList::isEmpty const): Deleted.
(WebCore::CurlJobList::startJobs): Deleted.
(WebCore::CurlJobList::finishJobs): Deleted.
(WebCore::CurlRequestScheduler::updateJobList): Deleted.
- platform/network/curl/CurlRequestScheduler.h:
- 10:53 PM Changeset in webkit [224321] by
-
- 24 edits in trunk/Source/WebCore
NavigatorBase::onLine() accesses NetworkStateNotifier's singleton in a worker thread
https://bugs.webkit.org/show_bug.cgi?id=179149
<rdar://problem/35307552>
Reviewed by Jiewen Tan.
Fixed the bug making NavigatorBase::onLine a pure virtual function, and having two separate
implementations for Navigator and WorkerNavigator. The former uses the singleton directly,
and the latter returns the boolean stored in its instance. The boolean value is updated
via WorkerMessagingProxy when the online status changes.
No new tests.
- page/Navigator.cpp:
(WebCore::Navigator::onLine const):
- page/Navigator.h:
- page/NavigatorBase.cpp:
(WebCore::NavigatorBase::onLine): Deleted.
- page/NavigatorBase.h:
- page/WorkerNavigator.cpp:
(WebCore::WorkerNavigator::WorkerNavigator):
(WebCore::WorkerNavigator::onLine const):
- page/WorkerNavigator.h:
- platform/network/NetworkStateNotifier.cpp:
(WebCore::NetworkStateNotifier::singleton):
- workers/DedicatedWorkerGlobalScope.cpp:
(WebCore::DedicatedWorkerGlobalScope::create):
(WebCore::DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope):
- workers/DedicatedWorkerGlobalScope.h:
- workers/DedicatedWorkerThread.cpp:
(WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
(WebCore::DedicatedWorkerThread::createWorkerGlobalScope):
- workers/DedicatedWorkerThread.h:
- workers/Worker.cpp:
(WebCore::Worker::notifyFinished):
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::WorkerGlobalScope):
(WebCore::WorkerGlobalScope::navigator):
(WebCore::WorkerGlobalScope::setIsOnline):
- workers/WorkerGlobalScope.h:
- workers/WorkerGlobalScopeProxy.h:
- workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
(WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
- workers/WorkerMessagingProxy.h:
- workers/WorkerThread.cpp:
(WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
(WebCore::WorkerThread::WorkerThread):
(WebCore::WorkerThread::workerThread):
- workers/WorkerThread.h:
- workers/service/ServiceWorkerGlobalScope.cpp:
(WebCore::ServiceWorkerGlobalScope::ServiceWorkerGlobalScope):
- workers/service/ServiceWorkerGlobalScope.h:
- workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::ServiceWorkerThread):
(WebCore::ServiceWorkerThread::createWorkerGlobalScope):
- workers/service/context/ServiceWorkerThread.h:
- 10:43 PM Changeset in webkit [224320] by
-
- 47 edits in trunk/Source
Let is<T>() accept RefPtrs
https://bugs.webkit.org/show_bug.cgi?id=178612
<rdar://problem/35102004>
Reviewed by Ryosuke Niwa.
Source/WebCore:
Get rid of .get() for all is<T>() calls.
No changes in behaviors.
- bindings/js/JSElementCustom.cpp:
(WebCore::createNewElementWrapper):
- bindings/js/JSMediaStreamTrackCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSNodeCustom.cpp:
(WebCore::createWrapperInline):
- bindings/js/JSTextCustom.cpp:
(WebCore::toJSNewlyCreated):
- css/CSSFilterImageValue.cpp:
(WebCore::CSSFilterImageValue::loadSubimages):
- css/CSSFontFaceSet.cpp:
(WebCore::CSSFontFaceSet::matchingFaces):
- css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::addFontFaceRule):
- css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::mapNinePieceImage):
- css/FontFace.cpp:
(WebCore::FontFace::create):
- css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::createGridTrackList):
- css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueCursor):
(WebCore::StyleBuilderCustom::applyValueContent):
(WebCore::StyleBuilderCustom::applyValueWillChange):
- css/StyleProperties.cpp:
(WebCore::StyleProperties::propertyAsColor const):
(WebCore::StyleProperties::propertyAsValueID const):
- css/StyleResolver.cpp:
(WebCore::StyleResolver::createFilterOperations):
- css/TransformFunctions.cpp:
(WebCore::transformsForValue):
- css/ViewportStyleResolver.cpp:
(WebCore::ViewportStyleResolver::getViewportArgumentValue const):
- dom/Document.cpp:
(WebCore::Document::setBodyOrFrameset):
(WebCore::Document::setFocusedElement):
(WebCore::Document::updateHoverActiveState):
- dom/Element.cpp:
(WebCore::Element::setOuterHTML):
- dom/Range.cpp:
(WebCore::Range::insertNode):
- editing/ApplyStyleCommand.cpp:
(WebCore::toIdentifier):
(WebCore::ApplyStyleCommand::applyBlockStyle):
(WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
- editing/EditingStyle.cpp:
(WebCore::identifierForStyleProperty):
(WebCore::HTMLElementEquivalent::valueIsPresentInStyle const):
(WebCore::EditingStyle::extractFontSizeDelta):
(WebCore::EditingStyle::textDirection const):
(WebCore::textDecorationValueList):
(WebCore::EditingStyle::prepareToApplyAt):
(WebCore::EditingStyle::legacyFontSize const):
(WebCore::EditingStyle::textDirectionForSelection):
(WebCore::StyleChange::StyleChange):
(WebCore::StyleChange::extractTextStyles):
(WebCore::diffTextDecorations):
- html/BaseChooserOnlyDateAndTimeInputType.cpp:
(WebCore::BaseChooserOnlyDateAndTimeInputType::updateAppearance):
- html/FormAssociatedElement.cpp:
(WebCore::FormAssociatedElement::findAssociatedForm):
- html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::imageElement const):
- html/HTMLElement.cpp:
(WebCore::HTMLElement::setOuterText):
(WebCore::HTMLElement::dirAttributeChanged):
- html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::rendererIsNeeded):
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::computeIsDisabledByFieldsetAncestor const):
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::dataList const):
- html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::setText):
(WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel const):
- html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::isKeyboardFocusable const):
(WebCore::HTMLPlugInElement::isUserObservable const):
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::selectOption):
- html/HTMLSummaryElement.cpp:
(WebCore::isClickableControl):
- html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::adjustInnerTextStyle const):
- html/RadioInputType.cpp:
(WebCore::RadioInputType::isKeyboardFocusable const):
- html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::attachLater):
(WebCore::HTMLConstructionSite::insertTextNode):
- html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler):
- html/track/TextTrackList.cpp:
(TextTrackList::append):
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::setNodeName):
- inspector/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::setJavaScriptPaused):
- page/FocusController.cpp:
(WebCore::shouldClearSelectionWhenChangingFocusedElement):
- page/FrameView.cpp:
(WebCore::FrameView::hasCustomScrollbars const):
- page/Page.cpp:
(WebCore::Page::pluginViews):
- page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::platformPrepareForWheelEvents):
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
- testing/Internals.cpp:
(WebCore::deferredStyleRulesCountForList):
(WebCore::deferredGroupRulesCountForList):
(WebCore::deferredKeyframesRulesCountForList):
Source/WTF:
Add support for is<T>() for RefPtrs.
- wtf/RefPtr.h:
(WTF::is):
- 9:49 PM Changeset in webkit [224319] by
-
- 2 edits in trunk/Source/WebCore
[curl] Fix build after r224299
https://bugs.webkit.org/show_bug.cgi?id=179155
Unreviewed.
Bug 175597 added the 6th argument of ResourceHandle constructor.
Apply the same change of ResourceHandleCFNet.cpp to
platformLoadResourceSynchronously of ResourceHandleCurl.cpp.
No new tests since there should be no behavioral change other
Patch by Fujii Hironori <Fujii Hironori> on 2017-11-01
- platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::platformLoadResourceSynchronously):
Added the 6th arguemnt shouldContentEncodingSniff.
- 9:30 PM Changeset in webkit [224318] by
-
- 2 edits in trunk/Source/WebCore
Fix iOS build after r224312.
- platform/graphics/cocoa/GraphicsContextCocoa.mm:
(WebCore::GraphicsContext::drawFocusRing):
- 9:17 PM Changeset in webkit [224317] by
-
- 3 edits1 add in trunk/PerformanceTests
Add about page for MotionMark
https://bugs.webkit.org/show_bug.cgi?id=179152
Reviewed by Ryosuke Niwa.
- MotionMark/about.html: Added.
- MotionMark/index.html:
- MotionMark/resources/runner/motionmark.css:
- 9:13 PM Changeset in webkit [224316] by
-
- 21 edits in trunk/Source/WebCore
Change Element::didAddUserAgentShadowRoot() to take a reference instead of a pointer
https://bugs.webkit.org/show_bug.cgi?id=179153
Reviewed by Ryosuke Niwa.
Element::didAddUserAgentShadowRoot() is always passed a non-null pointer to the added
ShadowRoot. Therefore we should have didAddUserAgentShadowRoot() take a lvalue reference
to a ShadowRoot.
No functionality changed. So, no new tests.
- dom/Element.cpp:
(WebCore::Element::addShadowRoot):
- dom/Element.h:
(WebCore::Element::didAddUserAgentShadowRoot):
- html/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::didAddUserAgentShadowRoot):
- html/HTMLDetailsElement.h:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::didAddUserAgentShadowRoot):
- html/HTMLInputElement.h:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::didAddUserAgentShadowRoot):
- html/HTMLMediaElement.h:
- html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::didAddUserAgentShadowRoot):
- html/HTMLMeterElement.h:
- html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::didAddUserAgentShadowRoot):
- html/HTMLPlugInElement.h:
- html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
- html/HTMLPlugInImageElement.h:
- html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::didAddUserAgentShadowRoot):
- html/HTMLProgressElement.h:
- html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::didAddUserAgentShadowRoot):
- html/HTMLSummaryElement.h:
- html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::didAddUserAgentShadowRoot):
- html/HTMLTextAreaElement.h:
- 9:03 PM Changeset in webkit [224315] by
-
- 2 edits in trunk/Source
Fix up ChangeLog description for r224299 as per <https://bugs.webkit.org/show_bug.cgi?id=175597#c33>.
- 8:34 PM Changeset in webkit [224314] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: consolidate DOMTreeElement contextmenu items into submenus
https://bugs.webkit.org/show_bug.cgi?id=178996
Reviewed by Joseph Pecoraro.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Views/ContextMenu.js:
(WI.ContextSubMenuItem.prototype.appendItem):
(WI.ContextSubMenuItem.prototype.appendSubMenuItem):
(WI.ContextSubMenuItem.prototype.appendCheckboxItem):
(WI.ContextSubMenuItem.prototype.pushItem):
(WI.ContextSubMenuItem.prototype._pushItem): Deleted.
MadepushItem
public so that it is possible to create a ContextMenuItem without
immediately adding it to the ContextMenu.
(WI.ContextSubMenuItem.prototype._buildDescriptor):
(WI.ContextMenu.prototype._buildDescriptor):
Filter out submenus that have no items.
- UserInterface/Views/ContextMenuUtilities.js:
(WI.appendContextMenuItemsForDOMNode):
- UserInterface/Views/DOMTreeElement.js:
(WI.DOMTreeElement.prototype.toggleElementVisibility):
(WI.DOMTreeElement.prototype._populateTagContextMenu):
(WI.DOMTreeElement.prototype._populateTextContextMenu):
(WI.DOMTreeElement.prototype._populateNodeContextMenu):
(WI.DOMTreeElement.prototype._populateForcedPseudoStateItems): Deleted.
Add relevant items to the provided submenus and reorder the entire contextmenu for better
readability and consistency.
- UserInterface/Views/DOMTreeOutline.js:
(WI.DOMTreeOutline.prototype.populateContextMenu):
Create submenus for Add, Edit, Copy, and Delete, and pass them to the DOMTreeElement
"populate*ContextMenu" functions so that they can add items to each submenu.
(WI.DOMTreeOutline.prototype._hideElement):
Move to DOMTreeElement so that it can be used by a contextmenu item.
- 8:25 PM Changeset in webkit [224313] by
-
- 23 edits1 copy6 adds in trunk
Implement WKFullscreenWindowController for iOS.
https://bugs.webkit.org/show_bug.cgi?id=178924
rdar://problem/34697120
Patch by Jeremy Jones <jeremyj@apple.com> on 2017-11-01
Reviewed by Simon Fraser.
Source/JavaScriptCore:
Enable ENABLE_FULLSCREEN_API for iOS.
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
Enable ENABLE_FULLSCREEN_API for iOS.
- Configurations/FeatureDefines.xcconfig:
Source/WebCore/PAL:
Enable ENABLE_FULLSCREEN_API for iOS;
- Configurations/FeatureDefines.xcconfig:
Source/WebKit:
Plumb relevant calls through WKWebView and PageClientImplIOS.
This forms the base implementation for element fullscreen. This will animate an element into fullscreen and back to inline.
It does this by replacing the WKWebView with a placeholder image and presenting the WKWebView with a fullscreen view controller.
This also attempts to preserve UI state of the WKWebView when it is placed back inline.
To enable _WKFullscreenDelegate for iOS, this adds an iOS version of the delegate methods that passes WKWebView instead of NSView.
The iOS version of these functions are renamed to be more specific and disambiguate them from the video fullscreen delegate methods.
This also adds an image asset for the done button.
- Configurations/FeatureDefines.xcconfig:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView hasFullScreenWindowController]):
(-[WKWebView fullScreenWindowController]):
(-[WKWebView closeFullScreenWindowController]):
(-[WKWebView fullScreenPlaceholderView]):
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/API/Cocoa/_WKFullscreenDelegate.h:
- UIProcess/Cocoa/FullscreenClient.h:
- UIProcess/Cocoa/FullscreenClient.mm:
(WebKit::FullscreenClient::FullscreenClient):
(WebKit::FullscreenClient::setDelegate):
(WebKit::FullscreenClient::willEnterFullscreen):
(WebKit::FullscreenClient::didEnterFullscreen):
(WebKit::FullscreenClient::willExitFullscreen):
(WebKit::FullscreenClient::didExitFullscreen):
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::closeFullScreenManager):
(WebKit::PageClientImpl::isFullScreen):
(WebKit::PageClientImpl::enterFullScreen):
(WebKit::PageClientImpl::exitFullScreen):
(WebKit::PageClientImpl::beganEnterFullScreen):
(WebKit::PageClientImpl::beganExitFullScreen):
- UIProcess/ios/WKContentView.mm:
- UIProcess/ios/WKFullScreenWindowControllerIOS.h: Copied from Source/WebKit/UIProcess/API/Cocoa/_WKFullscreenDelegate.h.
- UIProcess/ios/WKFullScreenWindowControllerIOS.mm: Added.
(WebKit::replaceViewWithView):
(WebKit::WKWebViewState::applyTo):
(WebKit::WKWebViewState::store):
(-[_WKTapDelgatingView setTarget:action:]):
(-[_WKTapDelgatingView hitTest:withEvent:]):
(-[_WKFullScreenViewController dealloc]):
(-[_WKFullScreenViewController viewWillTransitionToSize:withTransitionCoordinator:]):
(+[_WKFullScreenViewController configureView:withBackgroundFillOfColor:opacity:filter:]):
(-[_WKFullScreenViewController _updateTransparencyOfVisualEffectView:]):
(-[_WKFullScreenViewController createVisualEffectViewWithFrame:]):
(-[_WKFullScreenViewController loadView]):
(-[_WKFullScreenViewController viewWillAppear:]):
(-[_WKFullScreenViewController viewDidDisappear:]):
(-[_WKFullScreenViewController cancelAction:]):
(-[_WKFullScreenViewController hideCancelButton]):
(-[_WKFullScreenViewController showCancelButton]):
(-[_WKFullScreenViewController setTarget:action:]):
(-[_WKFullScreenViewController prefersStatusBarHidden]):
(-[WKFullscreenAnimationController transitionDuration:]):
(-[WKFullscreenAnimationController animateTransition:]):
(-[WKFullscreenAnimationController animationEnded:]):
(-[WKFullScreenWindowController initWithWebView:page:]):
(-[WKFullScreenWindowController dealloc]):
(-[WKFullScreenWindowController isFullScreen]):
(-[WKFullScreenWindowController webViewPlaceholder]):
(-[WKFullScreenWindowController enterFullScreen]):
(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]):
(-[WKFullScreenWindowController completedEnterFullScreen]):
(-[WKFullScreenWindowController exitFullScreen]):
(-[WKFullScreenWindowController requestExitFullScreen]):
(-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]):
(-[WKFullScreenWindowController completedExitFullScreen]):
(-[WKFullScreenWindowController close]):
(-[WKFullScreenWindowController _manager]):
(-[WKFullScreenWindowController animationControllerForPresentedController:presentingController:sourceController:]):
(-[WKFullScreenWindowController animationControllerForDismissedController:]):
- WebKit.xcassets/Contents.json: Added.
- WebKit.xcassets/Done.imageset/Contents.json: Added.
- WebKit.xcassets/Done.imageset/Done.pdf: Added.
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::willEnterFullScreen):
(WebKit::WebFullScreenManager::willExitFullScreen):
Source/WebKitLegacy/mac:
Enable ENABLE_FULLSCREEN_API for iOS. Fix a build error.
- Configurations/FeatureDefines.xcconfig:
- WebView/WebView.mm:
(-[WebView fullScreenPlaceholderView]):
Tools:
Enable ENABLE_FULLSCREEN_API for iOS.
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- 8:08 PM Changeset in webkit [224312] by
-
- 18 edits in trunk
Misc display list and other cleanup
https://bugs.webkit.org/show_bug.cgi?id=179150
Reviewed by Tim Horton.
Source/WebCore:
A few functions in GraphicsContext would assert when using display lists, because they
had no recording clause. Fix them (ellipse drawing, and focus ring drawing).
Use #pragma once in more places.
Add system trace points for display list recording.
No behavior change for non-display list code.
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::fillEllipse):
(WebCore::GraphicsContext::strokeEllipse):
- platform/graphics/PlatformLayer.h:
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
- platform/graphics/ca/cocoa/WebSystemBackdropLayer.h:
- platform/graphics/ca/cocoa/WebTiledBackingLayer.h:
- platform/graphics/cg/GraphicsContextCG.h:
- platform/graphics/cocoa/GraphicsContextCocoa.mm:
(WebCore::GraphicsContext::drawFocusRing):
- platform/graphics/displaylists/DisplayList.h:
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::DrawFocusRingPath::create):
(WebCore::DisplayList::DrawFocusRingPath::width const):
(WebCore::DisplayList::DrawFocusRingPath::offset const):
(WebCore::DisplayList::DrawFocusRingPath::DrawFocusRingPath):
(WebCore::DisplayList::DrawFocusRingRects::create):
(WebCore::DisplayList::DrawFocusRingRects::width const):
(WebCore::DisplayList::DrawFocusRingRects::offset const):
(WebCore::DisplayList::DrawFocusRingRects::DrawFocusRingRects):
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::restore):
(WebCore::DisplayList::Recorder::drawFocusRing):
- platform/graphics/displaylists/DisplayListRecorder.h:
- platform/graphics/displaylists/DisplayListReplayer.h:
- platform/graphics/mac/WebLayer.h:
Source/WTF:
Add system trace points for display list recording.
- wtf/SystemTracing.h:
Tools:
Add system trace points for display list recording.
- Tracing/SystemTracePoints.plist:
- 8:00 PM Changeset in webkit [224311] by
-
- 2 edits in trunk/Source/WebCore
[Win] Fix compile errors in MediaPlayerPrivateAVFoundationCF.cpp
https://bugs.webkit.org/show_bug.cgi?id=179148
Reviewed by Ryosuke Niwa.
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::resolvedURLChanged):
- 6:59 PM Changeset in webkit [224310] by
-
- 2 edits in trunk/Source/WebCore
Adjust RenderElement size assertion to be more accurate
https://bugs.webkit.org/show_bug.cgi?id=179146
Reviewed by Simon Fraser.
- rendering/RenderElement.cpp:
Alignment rules for bitfields differ on different platforms. If we're
more truthful in our mimicing the layout of RenderElement, we can avoid
the assertion firing on more configurations.
- 6:54 PM Changeset in webkit [224309] by
-
- 67 edits in trunk/Source
Add support to throw OOM if MarkedArgumentBuffer may overflow.
https://bugs.webkit.org/show_bug.cgi?id=179092
<rdar://problem/35116160>
Reviewed by Saam Barati.
Source/JavaScriptCore:
The test for overflowing a MarkedArgumentBuffer will run for a ridiculously long
time, which renders it unsuitable for automated tests. Instead, I've run a
test manually to verify that an OutOfMemoryError will be thrown when an overflow
occurs.
The MarkedArgumentBuffer's destructor will now assert that the client has indeed
checked for an overflow after invoking methods that may result in an overflow i.e.
the destructor checks that MarkedArgumentBuffer::hasOverflowed() has been called.
This is only done on debug builds.
- API/JSObjectRef.cpp:
(JSObjectMakeFunction):
(JSObjectMakeArray):
(JSObjectMakeDate):
(JSObjectMakeRegExp):
(JSObjectCallAsFunction):
(JSObjectCallAsConstructor):
- dfg/DFGOperations.cpp:
- inspector/InjectedScriptManager.cpp:
(Inspector::InjectedScriptManager::createInjectedScript):
- inspector/JSJavaScriptCallFrame.cpp:
(Inspector::JSJavaScriptCallFrame::scopeChain const):
- interpreter/Interpreter.cpp:
(JSC::Interpreter::executeProgram):
- jsc.cpp:
(functionDollarAgentReceiveBroadcast):
- runtime/ArgList.cpp:
(JSC::MarkedArgumentBuffer::slowEnsureCapacity):
(JSC::MarkedArgumentBuffer::expandCapacity):
(JSC::MarkedArgumentBuffer::slowAppend):
- runtime/ArgList.h:
(JSC::MarkedArgumentBuffer::~MarkedArgumentBuffer):
(JSC::MarkedArgumentBuffer::appendWithAction):
(JSC::MarkedArgumentBuffer::append):
(JSC::MarkedArgumentBuffer::appendWithCrashOnOverflow):
(JSC::MarkedArgumentBuffer::hasOverflowed):
(JSC::MarkedArgumentBuffer::setNeedsOverflowCheck):
(JSC::MarkedArgumentBuffer::clearNeedsOverflowCheck):
- runtime/ArrayPrototype.cpp:
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/GetterSetter.cpp:
(JSC::callSetter):
- runtime/IteratorOperations.cpp:
(JSC::iteratorNext):
(JSC::iteratorClose):
- runtime/JSBoundFunction.cpp:
(JSC::boundThisNoArgsFunctionCall):
(JSC::boundFunctionCall):
(JSC::boundThisNoArgsFunctionConstruct):
(JSC::boundFunctionConstruct):
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayViewFromIterator):
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::genericTypedArrayViewProtoFuncSlice):
(JSC::genericTypedArrayViewPrivateFuncSubarrayCreate):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::haveABadTime):
- runtime/JSInternalPromise.cpp:
(JSC::JSInternalPromise::then):
- runtime/JSJob.cpp:
(JSC::JSJobMicrotask::run):
- runtime/JSMapIterator.cpp:
(JSC::JSMapIterator::createPair):
- runtime/JSModuleLoader.cpp:
(JSC::JSModuleLoader::provideFetch):
(JSC::JSModuleLoader::loadAndEvaluateModule):
(JSC::JSModuleLoader::loadModule):
(JSC::JSModuleLoader::linkAndEvaluateModule):
(JSC::JSModuleLoader::requestImportModule):
- runtime/JSONObject.cpp:
(JSC::Stringifier::toJSONImpl):
(JSC::Stringifier::appendStringifiedValue):
(JSC::Walker::callReviver):
- runtime/JSObject.cpp:
(JSC::ordinarySetSlow):
(JSC::callToPrimitiveFunction):
(JSC::JSObject::hasInstance):
- runtime/JSPromise.cpp:
(JSC::JSPromise::initialize):
(JSC::JSPromise::resolve):
- runtime/JSPromiseDeferred.cpp:
(JSC::newPromiseCapability):
(JSC::callFunction):
- runtime/JSSetIterator.cpp:
(JSC::JSSetIterator::createPair):
- runtime/LiteralParser.cpp:
(JSC::LiteralParser<CharType>::parse):
- runtime/MapConstructor.cpp:
(JSC::constructMap):
- runtime/ObjectConstructor.cpp:
(JSC::defineProperties):
- runtime/ProxyObject.cpp:
(JSC::performProxyGet):
(JSC::ProxyObject::performInternalMethodGetOwnProperty):
(JSC::ProxyObject::performHasProperty):
(JSC::ProxyObject::performPut):
(JSC::performProxyCall):
(JSC::performProxyConstruct):
(JSC::ProxyObject::performDelete):
(JSC::ProxyObject::performPreventExtensions):
(JSC::ProxyObject::performIsExtensible):
(JSC::ProxyObject::performDefineOwnProperty):
(JSC::ProxyObject::performGetOwnPropertyNames):
(JSC::ProxyObject::performSetPrototype):
(JSC::ProxyObject::performGetPrototype):
- runtime/ReflectObject.cpp:
(JSC::reflectObjectConstruct):
- runtime/SetConstructor.cpp:
(JSC::constructSet):
- runtime/StringPrototype.cpp:
(JSC::replaceUsingRegExpSearch):
(JSC::replaceUsingStringSearch):
- runtime/WeakMapConstructor.cpp:
(JSC::constructWeakMap):
- runtime/WeakSetConstructor.cpp:
(JSC::constructWeakSet):
- wasm/js/WasmToJS.cpp:
(JSC::Wasm::wasmToJS):
Source/WebCore:
No new tests. The test for overflowing a MarkedArgumentBuffer will run for a
ridiculously long time, which renders it unsuitable for automated tests.
- Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::QuickTimePluginReplacement::installReplacement):
- bindings/js/JSCustomElementInterface.cpp:
(WebCore::constructCustomElementSynchronously):
(WebCore::JSCustomElementInterface::upgradeElement):
(WebCore::JSCustomElementInterface::invokeCallback):
- bindings/js/JSCustomXPathNSResolver.cpp:
(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
- bindings/js/JSDOMBuiltinConstructorBase.cpp:
(WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments):
- bindings/js/JSDOMConvertSequences.h:
(WebCore::JSConverter<IDLSequence<T>>::convert):
(WebCore::JSConverter<IDLFrozenArray<T>>::convert):
- bindings/js/JSDOMConvertWebGL.cpp:
(WebCore::convertToJSValue):
- bindings/js/JSDOMIterator.h:
(WebCore::jsPair):
(WebCore::iteratorForEach):
- bindings/js/JSDOMMapLike.cpp:
(WebCore::forwardFunctionCallToBackingMap):
(WebCore::forwardForEachCallToBackingMap):
- bindings/js/JSDOMPromiseDeferred.cpp:
(WebCore::DeferredPromise::callFunction):
(WebCore::createRejectedPromiseWithTypeError):
- bindings/js/JSErrorHandler.cpp:
(WebCore::JSErrorHandler::handleEvent):
- bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::handleEvent):
- bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::initializeJSFunction const):
- bindings/js/JSPluginElementFunctions.cpp:
(WebCore::callPlugin):
- bindings/js/JSReadableStreamPrivateConstructors.cpp:
(WebCore::constructJSReadableStreamReaderGeneric):
- bindings/js/ReadableStream.cpp:
(WebCore::ReadableStream::create):
(WebCore::ReadableStream::pipeTo):
(WebCore::ReadableStream::tee):
(WebCore::ReadableStream::lock):
(WebCore::checkReadableStream):
- bindings/js/ReadableStreamDefaultController.cpp:
(WebCore::ReadableStreamDefaultController::invoke):
- bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::executeFunctionInContext):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::recordObject):
(WebCore::CloneSerializer::serialize):
(WebCore::CloneDeserializer::readTerminal):
(WebCore::CloneDeserializer::deserialize):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateCallbackImplementationContent):
- bindings/scripts/test/JS/JSTestCallbackFunction.cpp:
(WebCore::JSTestCallbackFunction::handleEvent):
- bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp:
(WebCore::JSTestCallbackFunctionRethrow::handleEvent):
- bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp:
(WebCore::JSTestCallbackFunctionWithThisObject::handleEvent):
- bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp:
(WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent):
- bindings/scripts/test/JS/JSTestCallbackInterface.cpp:
(WebCore::JSTestCallbackInterface::callbackWithNoParam):
(WebCore::JSTestCallbackInterface::callbackWithArrayParam):
(WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam):
(WebCore::JSTestCallbackInterface::callbackWithStringList):
(WebCore::JSTestCallbackInterface::callbackWithBoolean):
(WebCore::JSTestCallbackInterface::callbackRequiresThisToPass):
(WebCore::JSTestCallbackInterface::callbackWithAReturnValue):
(WebCore::JSTestCallbackInterface::callbackThatRethrowsExceptions):
(WebCore::JSTestCallbackInterface::callbackThatSkipsInvokeCheck):
(WebCore::JSTestCallbackInterface::callbackWithThisObject):
- bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp:
(WebCore::JSTestVoidCallbackFunction::handleEvent):
- bridge/NP_jsobject.cpp:
- bridge/objc/WebScriptObject.mm:
(-[WebScriptObject callWebScriptMethod:withArguments:]):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updateCaptionContainer):
(WebCore::HTMLMediaElement::didAddUserAgentShadowRoot):
(WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange):
(WebCore::HTMLMediaElement::getCurrentMediaControlsStatus):
- html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
- testing/Internals.cpp:
(WebCore::Internals::cloneArrayBuffer):
- 5:16 PM Changeset in webkit [224308] by
-
- 2 edits in trunk/Source/WebCore
[Apple Pay] Update the enum traits for PaymentError::ContactField
https://bugs.webkit.org/show_bug.cgi?id=179145
<rdar://problem/35303108>
Reviewed by Tim Horton.
Account for the values added to PaymentError::ContactField in r220718 and r223580.
- Modules/applepay/ApplePaySessionPaymentRequest.h:
- 4:32 PM Changeset in webkit [224307] by
-
- 5 edits in trunk/Source/WebCore
Remove unused Element::alwaysCreateUserAgentShadowRoot()
https://bugs.webkit.org/show_bug.cgi?id=179141
Reviewed by Ryosuke Niwa.
In changeset r208135 Element::createShadowRoot() was removed. And Element::createShadowRoot()
was the only caller of Element::alwaysCreateUserAgentShadowRoot(). We should remove
Element::alwaysCreateUserAgentShadowRoot() as it is unused.
- dom/Element.h:
(WebCore::Element::didAddUserAgentShadowRoot):
(WebCore::Element::alwaysCreateUserAgentShadowRoot const): Deleted.
- html/HTMLButtonElement.h:
- html/HTMLFormControlElement.h:
- html/HTMLMediaElement.h:
- 4:24 PM Changeset in webkit [224306] by
-
- 5 edits in trunk/Source/WebCore
Drop running Service Worker Jobs on a background thread
https://bugs.webkit.org/show_bug.cgi?id=179142
Reviewed by Youenn Fablet.
Drop running Service Worker Jobs on a background thread. We don't really need to
and this simplifies the logic a lot.
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::getRegistration):
(WebCore::SWServer::addRegistration):
(WebCore::SWServer::removeRegistration):
- workers/service/server/SWServerJobQueue.cpp:
(WebCore::SWServerJobQueue::scriptContextStarted):
(WebCore::SWServerJobQueue::startNextJob):
(WebCore::SWServerJobQueue::runRegisterJob):
(WebCore::SWServerJobQueue::runUnregisterJob):
(WebCore::SWServerJobQueue::runUpdateJob):
(WebCore::SWServerJobQueue::finishCurrentJob):
- workers/service/server/SWServerJobQueue.h:
- 4:11 PM Changeset in webkit [224305] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, try to fix Windows build.
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::createAVAssetForURL):
- 4:04 PM Changeset in webkit [224304] by
-
- 2 edits in trunk/LayoutTests
Mark media loading tests as only flaky on Sierra.
https://bugs.webkit.org/show_bug.cgi?id=178272
- platform/mac-wk1/TestExpectations:
In r224267 I marked a bunch of tests as flaky on WebKit1.
They are media-related tests, and they are only failing on Sierra WK1,
so mark them as such so we will notice regressions in new operating systems.
- 3:47 PM Changeset in webkit [224303] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Improve UX of Layers tab visualization
https://bugs.webkit.org/show_bug.cgi?id=178966
Reviewed by Devin Rousso.
- UserInterface/Views/Layers3DContentView.js:
(WI.Layers3DContentView):
(WI.Layers3DContentView.prototype.initialLayout):
(WI.Layers3DContentView.prototype._canvasMouseDown):
(WI.Layers3DContentView.prototype._createLayerGroup): Renamed from _addLayerGroup.
(WI.Layers3DContentView.prototype._updateLayerGroupPosition): Merged into _updateLayers.
Set up zoom and pan.
(WI.Layers3DContentView.prototype._animate):
(WI.Layers3DContentView.prototype._restrictPan):
Restrict pan to bounding box on XY plane.
(WI.Layers3DContentView.prototype.layout):
(WI.Layers3DContentView.prototype._updateDocument):
(WI.Layers3DContentView.prototype._resetCamera):
On new document, throw out all old layers and center the camera on the new document layer.
(WI.Layers3DContentView.prototype.selectLayerById):
(WI.Layers3DContentView.prototype._centerOnSelection):
Recenter the camera when layer group selection is updated programmatically.
(WI.Layers3DContentView.prototype._updateLayers):
(WI.Layers3DContentView.prototype._createLayerMesh):
Fix visual artifact due to "depthWrite" flag.
- UserInterface/Views/LayerDetailsSidebarPanel.js:
(WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
Suppress selection update event when the data grid selection is updated programmatically.
- UserInterface/Views/DataGridNode.js:
(WI.DataGridNode.prototype.revealAndSelect):
Allow forwarding of select()'s parameter.
- 3:35 PM Changeset in webkit [224302] by
-
- 5 edits1 add in trunk
Integer overflow in code generated by LoadVarargs processing in DFG and FTL.
https://bugs.webkit.org/show_bug.cgi?id=179140
Reviewed by Saam Barati.
JSTests:
New regression test.
- stress/regress-179140.js: Added.
(testWithoutFTL):
(testWithFTL):
Source/JavaScriptCore:
Added overflow checks to computation of arg count plus this.
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs):
- 3:32 PM Changeset in webkit [224301] by
-
- 10 edits2 copies in trunk/Source/WebCore
Split JobQueue logic out of SWServerRegistration
https://bugs.webkit.org/show_bug.cgi?id=179126
Reviewed by Brady Eidson.
Split JobQueue logic out of SWServerRegistration and into a SWServerJobQueue class to match the Service Workers
specification more closely.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):
- workers/service/ServiceWorkerRegistrationData.cpp:
(WebCore::ServiceWorkerRegistrationData::isolatedCopy const):
- workers/service/ServiceWorkerRegistrationData.h:
(WebCore::ServiceWorkerRegistrationData::encode const):
(WebCore::ServiceWorkerRegistrationData::decode):
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::~SWServer):
(WebCore::SWServer::getRegistration):
(WebCore::SWServer::addRegistration):
(WebCore::SWServer::removeRegistration):
(WebCore::SWServer::Connection::scriptContextStarted):
(WebCore::SWServer::scheduleJob):
(WebCore::SWServer::scriptFetchFinished):
(WebCore::SWServer::scriptContextFailedToStart):
(WebCore::SWServer::scriptContextStarted):
- workers/service/server/SWServer.h:
- workers/service/server/SWServerJobQueue.cpp: Added.
(WebCore::SWServerJobQueue::SWServerJobQueue):
(WebCore::SWServerJobQueue::~SWServerJobQueue):
(WebCore::SWServerJobQueue::enqueueJob):
(WebCore::SWServerJobQueue::scriptFetchFinished):
(WebCore::SWServerJobQueue::scriptContextFailedToStart):
(WebCore::SWServerJobQueue::scriptContextStarted):
(WebCore::SWServerJobQueue::startNextJob):
(WebCore::SWServerJobQueue::runRegisterJob):
(WebCore::SWServerJobQueue::runUnregisterJob):
(WebCore::SWServerJobQueue::runUpdateJob):
(WebCore::SWServerJobQueue::rejectWithExceptionOnMainThread):
(WebCore::SWServerJobQueue::resolveWithRegistrationOnMainThread):
(WebCore::SWServerJobQueue::resolveCurrentRegistrationJobOnMainThead):
(WebCore::SWServerJobQueue::resolveWithUnregistrationResultOnMainThread):
(WebCore::SWServerJobQueue::startScriptFetchFromMainThread):
(WebCore::SWServerJobQueue::rejectCurrentJob):
(WebCore::SWServerJobQueue::resolveCurrentRegistrationJob):
(WebCore::SWServerJobQueue::resolveCurrentUnregistrationJob):
(WebCore::SWServerJobQueue::startScriptFetchForCurrentJob):
(WebCore::SWServerJobQueue::finishCurrentJob):
- workers/service/server/SWServerJobQueue.h: Added.
- workers/service/server/SWServerRegistration.cpp:
(WebCore::SWServerRegistration::SWServerRegistration):
(WebCore::SWServerRegistration::~SWServerRegistration):
(WebCore::SWServerRegistration::data const):
- workers/service/server/SWServerRegistration.h:
(WebCore::SWServerRegistration::key const):
(WebCore::SWServerRegistration::isUninstalling const):
(WebCore::SWServerRegistration::setIsUninstalling):
(WebCore::SWServerRegistration::setLastUpdateTime):
(WebCore::SWServerRegistration::updateViaCache const):
(WebCore::SWServerRegistration::setActiveServiceWorkerIdentifier):
- 3:27 PM Changeset in webkit [224300] by
-
- 7 edits in branches/safari-604.4.7.10-branch/Source
Versioning.
- 3:23 PM Changeset in webkit [224299] by
-
- 34 edits1 move in trunk
XMLHttpRequest should not sniff content encoding
https://bugs.webkit.org/show_bug.cgi?id=175597
<rdar://problem/34912624>
Reviewed by Alex Christensen.
Source/WebCore:
Fixes an issue where the body of an HTTP response associated with an XHR request to a .gz file
would be automatically gzipped decompressed if the HTTP response omitted a Content-Encoding HTTP
header. Specifically, such a response would be treated analogous to a response with headers
"Content-Type: application/gzip" and "Content-Encoding: identity". This behavior does not conform
the HTTP 1.1 spec. and breaks Epic Zen Garden, <https://s3.amazonaws.com/mozilla-games/ZenGarden/EpicZenGarden.html>.
On macOS 10.13.2 opt out of content encoding sniffing when making an XHR request. We likely can
selectively opt out of content encoding sniffing for other network requests. This will be done
in subsequent commits to make it straightforward to identify site breakage (if any).
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::start): Pass content encoding policy.
- loader/ResourceLoader.h:
(WebCore::ResourceLoader::shouldSniffContentEncoding const): Added.
- loader/ResourceLoaderOptions.h:
- loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::createResourceHandle): Enable content encoding sniff to match existing behavior.
- platform/network/BlobResourceHandle.cpp:
(WebCore::BlobResourceHandle::BlobResourceHandle): Ditto. We should look to disable content encoding sniffing in
a subsequent change.
- platform/network/PingHandle.h: Ditto.
- platform/network/ResourceHandle.cpp:
(WebCore::ResourceHandle::ResourceHandle): Modified to take a boolean as to whether to enable content encoding sniffing.
(WebCore::ResourceHandle::create): Ditto.
(WebCore::ResourceHandle::shouldContentEncodingSniff const): Added.
- platform/network/ResourceHandle.h:
- platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal): Modified to take a boolean as to whether to enable content
encoding sniffing.
- platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::createCFURLConnection): Modified to take a boolean as to whether to enable content encoding
sniffing and apply this policy to the CFMutableURLRequestRef object when building on macOS 10.13.2.
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::platformLoadResourceSynchronously): Enable content encoding sniff to match existing behavior.
- platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::applySniffingPoliciesAndStoragePartitionIfNeeded): Added helper function to apply sniffing policies
and storage partition, if applicable.
(WebCore::ResourceHandle::createNSURLConnection): Modified to take a boolean as to whether to enable content encoding
sniffing. Calls adjustNSRequestApplyingPolicies() to apply this policy.
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::platformLoadResourceSynchronously): Enable content encoding sniff to match existing behavior.
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandle::create): Modified to take a boolean as to whether to enable content encoding sniffing.
(WebCore::ResourceHandle::ResourceHandle): Ditto.
(WebCore::ResourceHandle::releaseForDownload): Pass content encoding policy.
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::createRequest): Do not enable content encoding sniffing for the request.
Source/WebCore/PAL:
Forward declare CFNetwork SPI.
- pal/spi/cf/CFNetworkSPI.h:
Source/WebKit:
Fixes an issue where the body of an HTTP response associated with an XHR request to a .gz file
would be automatically gzipped decompressed if the HTTP response omitted a Content-Encoding HTTP
header. Specifically, such a response would be treated analogous to a response with headers
"Content-Type: application/gzip" and "Content-Encoding: identity". This behavior does not conform
the HTTP 1.1 spec. and breaks Epic Zen Garden, <https://s3.amazonaws.com/mozilla-games/ZenGarden/EpicZenGarden.html>.
On macOS 10.13.2 opt out of content encoding sniffing when making an XHR request. We likely can
selectively opt out of content encoding sniffing for other network requests. This will be done
in subsequent commits to make it straightforward to identify site breakage (if any).
- NetworkProcess/Downloads/Download.cpp:
(WebKit::Download::start): Enable content encoding sniff to match existing behavior.
(WebKit::Download::startWithHandle): Ditto.
- NetworkProcess/NetworkDataTask.cpp:
(WebKit::NetworkDataTask::create): Pass through the content encoding sniffing policy.
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::NetworkLoad): Ditto.
- NetworkProcess/NetworkLoadParameters.h:
- NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode const): Encode content encoding sniffing policy.
(WebKit::NetworkResourceLoadParameters::decode): Decode content encoding sniffing policy.
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad): Enable content encoding sniff to match existing
behavior. We should look to disable content encoding sniffing in a subsequent change.
- NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::applySniffingPoliciesAndBindRequestToInferfaceIfNeeded): Added helper function
to apply sniffing policies and bind request to interface, if applicable.
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa): Modified to take the content encoding sniffing
policy. Calls applySniffingPoliciesAndBindRequestToInferfaceIfNeeded() to apply this policy. Also use
convenience function URL::isLocalFile() to determine if the URL is a file URL.
- NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::NetworkDataTaskSoup): Pass through the content encoding sniffing policy.
- NetworkProcess/soup/NetworkDataTaskSoup.h:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess): Pass through the content encoding sniffing policy.
(WebKit::WebLoaderStrategy::loadResourceSynchronously): Enable content encoding sniff to match existing
behavior.
LayoutTests:
Fix up the test http/tests/xmlhttprequest/gzip-content-type-no-content-encoding.html to
actually check that we do not sniff content encoding. CFNetwork only sniffs the URL
for the content encoding when the filename ends with known file extension (e.g. .gz)
and the HTTP response does not specifying a Content-Encoding HTTP header.
- TestExpectations: Skip the test on all platforms. Once <rdar://problem/33822249> ships
then we will enable the test on all platforms that use CFNetwork.
- http/tests/xmlhttprequest/gzip-content-type-no-content-encoding-expected.txt:
- http/tests/xmlhttprequest/gzip-content-type-no-content-encoding.html:
- http/tests/xmlhttprequest/resources/.htaccess: Interpret files with .php.gz extension as PHP files.
- http/tests/xmlhttprequest/resources/gzip-lorem-no-content-encoding.php.gz: Renamed from LayoutTests/http/tests/xmlhttprequest/resources/gzip-lorem-no-content-encoding.php.
- platform/mac/TestExpectations: Mark the test as flaky (Pass Failure) until <rdar://problem/33822249> ships.
- 3:20 PM Changeset in webkit [224298] by
-
- 7 edits in branches/safari-604.4.7.1-branch/Source
Versioning.
- 2:41 PM Changeset in webkit [224297] by
-
- 7 edits in trunk/Source/WebCore
[Performance] Painting <video> to canvas spends a lot of time in URL getting and parsing
https://bugs.webkit.org/show_bug.cgi?id=179131
Reviewed by Eric Carlson.
Every time a <video> backed by MediaPlayerPrivateAVFoundation is asked to paint, it is first
queried whether it has a single security origin. To do this, the media player asks
AVFoundation what the "resolvedURL" of the asset is. This answer never changes after
metadata is first fetched, so the answer should be cached. To do so, add a m_resolvedURL
ivar to MediaPlayerPrivateAVFoundation, and add a setResolvedURL() and resolvedURLChanged()
method to re-query the value. Also create ivars for the security origin rather than re-
parsing them every time.
Drive-by fix: clean up all the instances where we pass a String rather than a URL (and thus
have to re-parse the URL at each point).
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::load):
(WebCore::MediaPlayerPrivateAVFoundation::hasSingleSecurityOrigin const):
(WebCore::MediaPlayerPrivateAVFoundation::setResolvedURL):
(WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded):
(WebCore::MediaPlayerPrivateAVFoundation::setPreload):
(WebCore::MediaPlayerPrivateAVFoundation::resolvedURL const): Deleted.
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
(WebCore::MediaPlayerPrivateAVFoundation::resolvedURL const):
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::resolvedURLChanged):
(WebCore::AVFWrapper::createAssetForURL):
(WebCore::MediaPlayerPrivateAVFoundationCF::resolvedURL const): Deleted.
(WebCore::MediaPlayerPrivateAVFoundationCF::hasSingleSecurityOrigin const): Deleted.
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::canonicalURL):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
(WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged):
(WebCore::canonicalURL):
(WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin const): Deleted.
- 2:26 PM Changeset in webkit [224296] by
-
- 2 edits in trunk/Source/WebCore
innerText->renderBox() can be null in HTMLTextFormControlElement::setSelectionRange
https://bugs.webkit.org/show_bug.cgi?id=179103
Reviewed by Antti Koivisto.
Added a missing null check.
Unfortunately, no new tests since we don't have a working reproduction for trunk code.
- html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::setSelectionRange): Added a null check.
- 2:23 PM Changeset in webkit [224295] by
-
- 19 edits in trunk/Source
Plumbing for handling SW scripts failing to evaluate
https://bugs.webkit.org/show_bug.cgi?id=178926
Reviewed by Chris Dumez.
Source/WebCore:
No new tests (Currently no observable behavior change).
In an upcoming patch we'll actually run the appropriate observable steps for when
a ServiceWorker script fails to evaluate.
This is a standalone refactoring + plumbing patch that will make the observable changes
easier to review.
- bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
- bindings/js/WorkerScriptController.h:
(WebCore::WorkerScriptController::workerGlobalScopeWrapper):
(WebCore::WorkerScriptController::vm):
(WebCore::WorkerScriptController::initScriptIfNeeded):
- workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
- workers/WorkerThread.cpp:
(WebCore::WorkerThread::start):
(WebCore::WorkerThread::workerThread):
- workers/WorkerThread.h:
- workers/service/context/SWContextManager.cpp:
(WebCore::SWContextManager::registerServiceWorkerThreadForUpdate):
(WebCore::SWContextManager::registerServiceWorkerThread): Deleted.
- workers/service/context/SWContextManager.h:
- workers/service/context/ServiceWorkerThread.h:
(WebCore::ServiceWorkerThread::serverConnectionIdentifier const):
(WebCore::ServiceWorkerThread::contextData const):
- workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::create):
(WebCore::ServiceWorkerThreadProxy::ServiceWorkerThreadProxy):
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::updateWorker):
(WebCore::SWServer::createWorker): Deleted.
- workers/service/server/SWServer.h:
- workers/service/server/SWServerRegistration.cpp:
(WebCore::SWServerRegistration::scriptFetchFinished):
(WebCore::SWServerRegistration::scriptContextFailedToStart):
Source/WebKit:
- StorageProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::updateServiceWorkerContext):
(WebKit::WebSWServerConnection::setContextConnection):
(WebKit::WebSWServerConnection::startServiceWorkerContext): Deleted.
- StorageProcess/ServiceWorker/WebSWServerConnection.h:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::updateServiceWorker):
(WebKit::WebSWContextManagerConnection::serviceWorkerStartedWithMessage):
(WebKit::WebSWContextManagerConnection::startServiceWorker): Deleted.
- WebProcess/Storage/WebSWContextManagerConnection.h:
- WebProcess/Storage/WebSWContextManagerConnection.messages.in:
- 2:06 PM Changeset in webkit [224294] by
-
- 2 edits in trunk/LayoutTests
Mark a couple of service worker tests as flaky.
- 2:04 PM Changeset in webkit [224293] by
-
- 2 edits1 move4 deletes in trunk/Source/WebInspectorUI
Web Inspector: Combine all storage icon files into a single file
https://bugs.webkit.org/show_bug.cgi?id=179134
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-11-01
Reviewed by Devin Rousso.
- UserInterface/Main.html:
- UserInterface/Views/CookieIcon.css: Removed.
- UserInterface/Views/DOMStorageIcons.css: Removed.
- UserInterface/Views/DatabaseIcon.css: Removed.
- UserInterface/Views/DatabaseTableIcon.css: Removed.
- UserInterface/Views/StorageIcons.css: Added.
(.application-cache-manifest .icon):
(.application-cache-frame .icon):
(.cookie-icon .icon):
(.local-storage-icon .icon):
(.session-storage-icon .icon):
(.database-icon .icon):
(.database-table-icon .icon):
- 1:49 PM Changeset in webkit [224292] by
-
- 1 copy in tags/Safari-604.4.7.10.1
Tag Safari-604.4.7.10.1.
- 1:44 PM Changeset in webkit [224291] by
-
- 4 edits1 add in trunk/Tools
[Win] Detect Visual Studio 2017 location
https://bugs.webkit.org/show_bug.cgi?id=175275
Patch by Stephan Szabo <stephan.szabo@sony.com> on 2017-11-01
Reviewed by Yusuke Suzuki.
- Scripts/build-jsc:
- Scripts/build-webkit:
- Scripts/update-vswhere.py: Added.
- Scripts/webkitdirs.pm:
(requireModulesForVSWhere):
(pickCurrentVisualStudioInstallation):
(pickLegacyVisualStudioInstallation):
(visualStudioInstallDir):
(visualStudioInstallDirVSWhere):
(visualStudioInstallDirLegacy):
(visualStudioInstallDirFallback):
(msBuildInstallDir):
(visualStudioVersion):
(visualStudioVersionFromInstallDir):
(generateBuildSystemFromCMakeProject):
- 1:38 PM Changeset in webkit [224290] by
-
- 4 edits in trunk/Source/WebCore
Assert that NoEventDispatchAssertion is not in the stack when executing a script
https://bugs.webkit.org/show_bug.cgi?id=179107
Reviewed by Simon Fraser.
Assert that NoEventDispatchAssertion::isEventAllowedInMainThread() is true when we're about to execute a script
by adding the assertion in ScriptController::canExecuteScripts which gets called with AboutToExecuteScript
whenever we're about to run scripts in event handlers, etc...
We don't assert the construction of event handlers in JSLazyEventListener since this happens while copying
the DOM tree inside a SVG use element and creating a event handler's JS function won't execute arbitrary scripts.
No new tests since there should be no behavioral change other
- bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::initializeJSFunction const): Use newly added AboutToCreateEventListener.
(WebCore::JSLazyEventListener::create): Ditto.
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::canExecuteScripts): Added the assertion.
- bindings/js/ScriptController.h:
- 1:30 PM Changeset in webkit [224289] by
-
- 9 copies1 add in releases/Apple/Safari Technology Preview 43
Added a tag for Safari Technology Preview release 43.
- 1:12 PM Changeset in webkit [224288] by
-
- 2 edits in trunk/Tools
Fix the !USE(QUICKLOOK) build
https://bugs.webkit.org/show_bug.cgi?id=179128
Reviewed by Wenson Hsieh.
- TestWebKitAPI/Tests/WebCore/ios/PreviewLoader.cpp:
- 12:39 PM Changeset in webkit [224287] by
-
- 11 edits in trunk
Regression(r219659): Can no longer log into ifttt.com using Google account
https://bugs.webkit.org/show_bug.cgi?id=179117
Reviewed by Geoffrey Garen.
LayoutTests/imported/w3c:
Rebaseline WPT tests.
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt:
- web-platform-tests/html/browsers/the-window-object/window-indexed-properties-expected.txt:
Source/WebCore:
After r219659, it is no longer possible to log into ifttt.com using a Google
account:
- Signed into a Google account already
- Visit https://ifttt.com/login
- Click "Continue with Google"
- Select the signed in account
It turns out that this change to the HTML specification was not Web-compatible:
See https://bugzilla.mozilla.org/show_bug.cgi?id=1412741 & https://github.com/whatwg/html/issues/3183
This patch reverts r219659 for now until we agree on what behavior should get
specified.
No new tests, rebaselined existing tests.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
(WebCore::JSDOMWindow::getOwnPropertyNames):
- bindings/js/JSLocationCustom.cpp:
(WebCore::getOwnPropertySlotCommon):
(WebCore::JSLocation::getOwnPropertyNames):
LayoutTests:
Update / rebaseline existing test.
- http/tests/security/cross-origin-descriptors-expected.txt:
- http/tests/security/cross-origin-descriptors.html:
- 12:10 PM Changeset in webkit [224286] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Styles Redesign: Hovering over a selector should highlight matching elements on the page
https://bugs.webkit.org/show_bug.cgi?id=179040
Reviewed by Devin Rousso.
- UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
(WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
Use mouseenter/mouseleave events instead of mousein/mouseout (as in the old styles sidebar)
to avoid unnecessary events being fired.
(WI.SpreadsheetCSSStyleDeclarationSection.prototype._highlightNodesWithSelector):
(WI.SpreadsheetCSSStyleDeclarationSection.prototype._hideDOMNodeHighlight):
- 11:54 AM Changeset in webkit [224285] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, use weakPointer instead of FTLOutput::weakPointer
https://bugs.webkit.org/show_bug.cgi?id=178934
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileStringSlice):
- 11:50 AM Changeset in webkit [224284] by
-
- 11 edits2 adds in trunk
Make iOS Find UI reveal matches in scrollable elements
https://bugs.webkit.org/show_bug.cgi?id=178789
Patch by Frederic Wang <fwang@igalia.com> on 2017-11-01
Reviewed by Tim Horton.
Source/WebKit:
- WebProcess/WebPage/ios/FindControllerIOS.mm:
(WebKit::FindController::didFindString): Reveal selection up to the main frame. The main frame
is handled by the SmartMagnificationController.
Tools:
This patch exposes WKWebView's findString function in order to test the fix for bug 178789.
- DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::findString): Dummy implementation of findString.
- DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::findString): Ditto.
- TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: Declare findString.
- TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::findString): Dummy implementation of findString.
- TestRunnerShared/UIScriptContext/UIScriptController.h: Declare findString.
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::findString): Implement findString by forwarding the call to the
web view.
- WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::findString): Dummy implementation of findString.
LayoutTests:
Adds a test to verify that an overflow node is scrolled to reveal results it contains when
iOS's Find UI is used.
- platform/ios/fast/scrolling/find-text-in-overflow-node-expected.txt: Added.
- platform/ios/fast/scrolling/find-text-in-overflow-node.html: Added.
- 11:43 AM Changeset in webkit [224283] by
-
- 5 edits in trunk
transferFromImageBitmap should update canvas dimensions
https://bugs.webkit.org/show_bug.cgi?id=179096
<rdar://problem/35285218>
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Update expected results now that we pass more of this test.
- web-platform-tests/imagebitmap-renderingcontext/bitmaprenderer-as-imagesource-expected.txt:
Source/WebCore:
When transferFromImageBitmap is called, the dimensions of the HTMLCanvasElement
should be updated to reflect the size of the passed ImageBitmap.
Update an existing WPT result.
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::setImageBuffer const): Update the
size of the element based on the incoming buffer.
- html/HTMLCanvasElement.h: Mark m_size as mutable so we can
call it from the const function setImageBuffer.
- 11:25 AM Changeset in webkit [224282] by
-
- 2 edits in trunk/LayoutTests
Mark fast/dom/Window/window-resize-update-scrollbars.html as a timeout on Windows.
https://bugs.webkit.org/show_bug.cgi?id=179130
Unreviewed test gardening.
- platform/win/TestExpectations:
- 10:36 AM Changeset in webkit [224281] by
-
- 2 edits1 add in trunk/Tools
Add a test for _WKInputDelegate.willSubmitFormValues
https://bugs.webkit.org/show_bug.cgi?id=179086
Reviewed by Darin Adler.
Hidden input types are not included in this submission because FormSubmission::create ignores them
because input.isTextField() returns false. This is existing behavior that wasn't shown by a test.
HTTPBodies are also not sent to WKURLSchemeHandlers. This is existing behavior that wasn't shown by a test.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm: Added.
(-[FormSubmissionDelegate _webView:willSubmitFormValues:userObject:submissionHandler:]):
(TEST):
- 10:32 AM Changeset in webkit [224280] by
-
- 49 edits16 adds in trunk
[JSC] Introduce @toObject
https://bugs.webkit.org/show_bug.cgi?id=178726
Reviewed by Saam Barati.
JSTests:
- stress/array-copywithin.js:
(shouldThrow):
- stress/object-constructor-boolean-edge.js: Added.
(shouldBe):
(test):
- stress/object-constructor-global.js: Added.
(shouldBe):
- stress/object-constructor-null-edge.js: Added.
(shouldBe):
(test):
- stress/object-constructor-number-edge.js: Added.
(shouldBe):
(test):
- stress/object-constructor-object-edge.js: Added.
(shouldBe):
(test):
(i.arg):
- stress/object-constructor-string-edge.js: Added.
(shouldBe):
(test):
- stress/object-constructor-symbol-edge.js: Added.
(shouldBe):
(test):
- stress/object-constructor-undefined-edge.js: Added.
(shouldBe):
(test):
- stress/symbol-array-from.js: Added.
(shouldBe):
- stress/to-object-intrinsic-boolean-edge.js: Added.
(shouldBe):
(builtin.createBuiltin):
- stress/to-object-intrinsic-null-or-undefined-edge.js: Added.
(shouldThrow):
- stress/to-object-intrinsic-number-edge.js: Added.
(shouldBe):
(builtin.createBuiltin):
- stress/to-object-intrinsic-object-edge.js: Added.
(shouldBe):
(builtin.createBuiltin):
(i.arg):
- stress/to-object-intrinsic-string-edge.js: Added.
(shouldBe):
(builtin.createBuiltin):
- stress/to-object-intrinsic-symbol-edge.js: Added.
(shouldBe):
(builtin.createBuiltin):
- stress/to-object-intrinsic.js: Added.
(shouldBe):
(shouldThrow):
(builtin.createBuiltin):
Source/JavaScriptCore:
This patch introduces @toObject intrinsic. And we introduce op_to_object bytecode and DFG ToObject node.
Previously we emulated @toObject behavior in builtin JS. But it consumes much bytecode size while @toObject
is frequently seen and defined clearly in the spec. Furthermore, the emulated @toObject always calls
ObjectConstructor in LLInt and Baseline.
We add a new intrinsic
@toObject(target, "error message")
. It takes an error message string constant to
offer understandable messages in builtin JS. We can change the frequently seen "emulated ToObject" operation
if (this === @undefined this === null) @throwTypeError("error message");
var object = @Object(this);
with
var object = @toObject(this, "error message");
And we handle op_to_object in DFG as ToObject node. While CallObjectConstructor does not throw an error for null/undefined,
ToObject needs to throw an error for null/undefined. So it is marked as MustGenerate and it clobbers the world.
In fixup phase, we attempt to convert ToObject to CallObjectConstructor with edge filters to relax its side effect.
It also fixes a bug that CallObjectConstructor DFG node uses Node's semantic GlobalObject instead of function's one.
- builtins/ArrayConstructor.js:
(from):
- builtins/ArrayPrototype.js:
(values):
(keys):
(entries):
(reduce):
(reduceRight):
(every):
(forEach):
(filter):
(map):
(some):
(fill):
(find):
(findIndex):
(includes):
(sort):
(globalPrivate.concatSlowPath):
(copyWithin):
- builtins/DatePrototype.js:
(toLocaleString.toDateTimeOptionsAnyAll):
(toLocaleString):
(toLocaleDateString.toDateTimeOptionsDateDate):
(toLocaleDateString):
(toLocaleTimeString.toDateTimeOptionsTimeTime):
(toLocaleTimeString):
- builtins/GlobalOperations.js:
(globalPrivate.copyDataProperties):
(globalPrivate.copyDataPropertiesNoExclusions):
- builtins/ObjectConstructor.js:
(entries):
- builtins/StringConstructor.js:
(raw):
- builtins/TypedArrayConstructor.js:
(from):
- builtins/TypedArrayPrototype.js:
(map):
(filter):
- bytecode/BytecodeDumper.cpp:
(JSC::BytecodeDumper<Block>::dumpBytecode):
- bytecode/BytecodeIntrinsicRegistry.h:
- bytecode/BytecodeList.json:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finishCreation):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitToObject):
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::BytecodeIntrinsicNode::emit_intrinsic_toObject):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixupToObject):
(JSC::DFG::FixupPhase::fixupCallObjectConstructor):
- dfg/DFGNode.h:
(JSC::DFG::Node::convertToCallObjectConstructor):
(JSC::DFG::Node::convertToNewStringObject):
(JSC::DFG::Node::convertToNewObject):
(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::hasHeapPrediction):
(JSC::DFG::Node::hasCellOperand):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor):
(JSC::DFG::SpeculativeJIT::compileCallObjectConstructor): Deleted.
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor):
(JSC::FTL::DFG::LowerDFGToB3::compileCallObjectConstructor): Deleted.
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
- jit/JIT.h:
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_to_object):
(JSC::JIT::emitSlow_op_to_object):
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_to_object):
(JSC::JIT::emitSlow_op_to_object):
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/CommonSlowPaths.h:
Source/WebCore:
Use @isObject instead. It is more efficient.
- Modules/mediastream/NavigatorUserMedia.js:
(getUserMedia):
- 9:28 AM Changeset in webkit [224279] by
-
- 14 edits in trunk
Unreviewed, rolling out r224273 and r224278.
https://bugs.webkit.org/show_bug.cgi?id=179120
Some crashes under guard malloc (Requested by anttik on
#webkit).
Reverted changesets:
"Remove empty continuations in
RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers"
https://bugs.webkit.org/show_bug.cgi?id=179014
https://trac.webkit.org/changeset/224273
"Fix ContinuationChainNode::insertAfter assertion."
https://bugs.webkit.org/show_bug.cgi?id=179115
https://trac.webkit.org/changeset/224278
- 8:36 AM Changeset in webkit [224278] by
-
- 2 edits in trunk/Source/WebCore
Fix ContinuationChainNode::insertAfter assertion.
https://bugs.webkit.org/show_bug.cgi?id=179115
Patch by Emilio Cobos Álvarez <emilio> on 2017-11-01
Reviewed by Antti Koivisto.
The assertion was writing instead of reading next->previous.
Hopefully it's harmless because it was clobbered on the same line, but
it's worth asserting what it was intending to assert.
No new tests (no behaviour change).
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::ContinuationChainNode::insertAfter):
- 6:31 AM Changeset in webkit [224277] by
-
- 13 edits1 delete in trunk/Source
Use LazyNeverDestroyed instead of DEFINE_GLOBAL
https://bugs.webkit.org/show_bug.cgi?id=174979
Patch by Fujii Hironori <Fujii Hironori> on 2017-11-01
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
- config.h: Removed definitions of SKIP_STATIC_CONSTRUCTORS_ON_MSVC and SKIP_STATIC_CONSTRUCTORS_ON_GCC.
Source/WebCore:
No new tests since there should be no behavioral change.
- DerivedSources.cpp: Remove the warning of StaticConstructors.h.
- WebCore.order: Removed
- config.h: Removed definitions of SKIP_STATIC_CONSTRUCTORS_ON_MSVC and SKIP_STATIC_CONSTRUCTORS_ON_GCC.
- dom/QualifiedName.cpp:
(WebCore::createQualifiedName): Deleted.
- dom/QualifiedName.h: Removed createQualifiedName.
- dom/make_names.pl:
(printCppHead): Do not include StaticConstructors.h.
Source/WTF:
DEFINE_GLOBAL is not used anymore. Remove it.
- WTF.xcodeproj/project.pbxproj: Removed StaticConstructors.h
- config.h: Removed definitions of SKIP_STATIC_CONSTRUCTORS_ON_MSVC and SKIP_STATIC_CONSTRUCTORS_ON_GCC.
- wtf/CMakeLists.txt: Removed StaticConstructors.h
- wtf/StaticConstructors.h: Removed.
- 6:25 AM Changeset in webkit [224276] by
-
- 23 edits3 adds in trunk
[DFG][FTL] Introduce StringSlice
https://bugs.webkit.org/show_bug.cgi?id=178934
Reviewed by Saam Barati.
JSTests:
- microbenchmarks/string-slice-empty.js: Added.
(slice):
- microbenchmarks/string-slice-one-char.js: Added.
(slice):
- microbenchmarks/string-slice.js: Added.
(slice):
Source/JavaScriptCore:
String.prototype.slice is one of the most frequently called function in ARES-6/Babylon.
This patch introduces StringSlice DFG node to optimize it in DFG and FTL.
This patch's StringSlice node optimizes the following things.
- Empty string generation is accelerated. It is fully executed inline.
- One char string generation is accelerated.
< 0x100
character is supported right now.
It is the same to charAt acceleration.
- We calculate start and end index in DFG/FTL with Int32Use information and call optimized
operation.
We do not inline (3)'s operation right now since we do not have a way to call bmalloc allocation from DFG / FTL.
And we do not optimize String.prototype.{substring,substr} right now. But they can be optimized based on this change
in subsequent changes.
This patch improves ARES-6/Babylon performance by 3% in steady state.
Baseline:
Running... Babylon ( 1 to go)
firstIteration: 50.05 +- 13.68 ms
averageWorstCase: 16.80 +- 1.27 ms
steadyState: 7.53 +- 0.22 ms
Patched:
Running... Babylon ( 1 to go)
firstIteration: 50.91 +- 13.41 ms
averageWorstCase: 16.12 +- 0.99 ms
steadyState: 7.30 +- 0.29 ms
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGBackwardsPropagationPhase.cpp:
(JSC::DFG::BackwardsPropagationPhase::propagate):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileStringSlice):
(JSC::DFG::SpeculativeJIT::emitPopulateSliceIndex):
(JSC::DFG::SpeculativeJIT::compileArraySlice):
(JSC::DFG::SpeculativeJIT::compileArrayIndexOf):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::populateSliceRange):
(JSC::FTL::DFG::LowerDFGToB3::compileArraySlice):
(JSC::FTL::DFG::LowerDFGToB3::compileStringSlice):
- jit/JITOperations.h:
- runtime/Intrinsic.cpp:
(JSC::intrinsicName):
- runtime/Intrinsic.h:
- runtime/StringPrototype.cpp:
(JSC::StringPrototype::finishCreation):
- 5:22 AM Changeset in webkit [224275] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Always include TextureMapper.cmake
https://bugs.webkit.org/show_bug.cgi?id=179060
Reviewed by Carlos Garcia Campos.
- PlatformGTK.cmake:
- 5:21 AM Changeset in webkit [224274] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION(r224192): [WPE] Fix WebEventFactory::createWebWheelEvent
https://bugs.webkit.org/show_bug.cgi?id=179098
Reviewed by Sam Weinig.
- Shared/wpe/WebEventFactory.cpp:
(WebKit::WebEventFactory::createWebWheelEvent):
- 12:57 AM Changeset in webkit [224273] by
-
- 14 edits in trunk
Remove empty continuations in RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers
https://bugs.webkit.org/show_bug.cgi?id=179014
Reviewed by Geoff Garen.
Source/WebCore:
Treat continuation similarly to other anonymous wrappers. This makes things more understandable
and allows removal of some questionable code in RenderBlock::takeChild.
The patch also makes continuation chain a double linked so we can efficiently remove single
continuations from the chain. It also gets rid of algorithms that recurse in continuation chain.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::firstChildInContinuation):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::styleDidChange):
Don't add and remove continuations from the chain when updating style. Prevent recursion by walking
the chain only in the (non-continuation) head renderer.
(WebCore::RenderBlock::dropAnonymousBoxChild):
Make a member function.
(WebCore::RenderBlock::takeChild):
Remove code that destroyed empty continuations and caused the parent to destroy itself.
Empty continuations are now removed by RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers.
- rendering/RenderBlock.h:
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::ContinuationChainNode::ContinuationChainNode):
(WebCore::RenderBoxModelObject::ContinuationChainNode::~ContinuationChainNode):
(WebCore::RenderBoxModelObject::ContinuationChainNode::insertAfter):
Track continuations with double linked lists.
(WebCore::continuationChainNodeMap):
(WebCore::RenderBoxModelObject::willBeDestroyed):
Don't recurse to destroy continuation chain.
Destroy all continuations iteratively if this is the head of the chain.
When destroying a continuation renderer simply remove it from the chain.
(WebCore::RenderBoxModelObject::continuation const):
(WebCore::RenderBoxModelObject::insertIntoContinuationChainAfter):
(WebCore::RenderBoxModelObject::removeFromContinuationChain):
(WebCore::RenderBoxModelObject::ensureContinuationChainNode):
(WebCore::continuationMap): Deleted.
(WebCore::RenderBoxModelObject::setContinuation): Deleted.
- rendering/RenderBoxModelObject.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::RenderElement):
(WebCore::RenderElement::removeAnonymousWrappersForInlinesIfNecessary):
Make this a function of the parent renderer itself instead of getting 'parent()' as first operation and
then using it.
Don't remove continuations (isAnonymousBlockContinuation() test gives wrong result for the last continuation of the chain).
(WebCore::RenderElement::styleDidChange):
removeAnonymousWrappersForInlinesIfNecessary is no function of the parent.
(WebCore::RenderElement::updateOutlineAutoAncestor):
- rendering/RenderElement.h:
(WebCore::RenderElement::hasContinuationChainNode const):
(WebCore::RenderElement::setHasContinuationChainNode):
(WebCore::RenderElement::hasContinuation const): Deleted.
(WebCore::RenderElement::setHasContinuation): Deleted.
- rendering/RenderInline.cpp:
(WebCore::RenderInline::styleDidChange):
Don't add and remove continuations from the chain when updating style. Prevent recursion by walking
the chain only in the (non-continuation) head renderer.
(WebCore::RenderInline::addChildIgnoringContinuation):
Remove the old continuation from the chain. splitFlow() will add it back into the right place.
(WebCore::RenderInline::splitInlines):
(WebCore::RenderInline::addChildToContinuation):
(WebCore::RenderInline::childBecameNonInline):
Remove the old continuation from the chain. splitFlow() will add it back into the right place.
- rendering/RenderInline.h:
- rendering/RenderObject.cpp:
(WebCore::RenderObject::propagateRepaintToParentWithOutlineAutoIfNeeded const):
(WebCore::RenderObject::outputRenderObject const):
(WebCore::findDestroyRootIncludingAnonymous):
Allow anonymous continuations as destroy roots.
(WebCore::RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers):
Removing a continuation may leave behind unnecessary anonymous sibling wrappers.
Call removeAnonymousWrappersForInlinesIfNecessary() on parent after removal to get rid of them.
LayoutTests:
- fast/ruby/float-overhang-from-ruby-text-expected.txt:
- platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.txt: