Timeline
Jun 6, 2018:
- 11:25 PM Changeset in webkit [232574] by
-
- 7 edits in trunk/Tools
[Win][MiniBrowser] Remove gMainWindow global variable
https://bugs.webkit.org/show_bug.cgi?id=186378
Reviewed by Ryosuke Niwa.
I'm going to support multiple MainWindow in Bug 186263. It should
not be assumed that MainWindow has only one instance. gMainWindow
is used only in DisplayAuthDialog.
- MiniBrowser/win/Common.cpp:
(authDialogProc): Use DWLP_USER to store the dialog data.
(displayAuthDialog): Moved and renamed from
MainWindow::displayAuthDialog. Use DialogBoxParam instead of
DialogBox to pass a data pointer. Do not return S_OK if
DialogBoxParam returns -1. Take a HWND argument as the parent
window.
(DisplayAuthDialog): Deleted.
- MiniBrowser/win/Common.h:
- MiniBrowser/win/MainWindow.cpp:
(authDialogProc): Moved to Common.cpp.
(MainWindow::displayAuthDialog): Ditto.
- MiniBrowser/win/MainWindow.h:
- MiniBrowser/win/ResourceLoadDelegate.cpp:
(ResourceLoadDelegate::didReceiveAuthenticationChallenge):
- MiniBrowser/win/WinMain.cpp:
(wWinMain): Added a local variable mainWindow instead of using
gMainWindow.
- 10:09 PM Changeset in webkit [232573] by
-
- 4 edits in trunk
[Xcode] Opt out of the New Build System
https://bugs.webkit.org/show_bug.cgi?id=186380
Reviewed by Alexey Proskuryakov.
.:
- WebKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: Use the Legacy Build System.
Tools:
- Scripts/webkitdirs.pm:
(XcodeOptions): Have -UseNewBuildSystem=NO passed to xcodebuild.
- 9:21 PM Changeset in webkit [232572] by
-
- 7 edits in trunk
HTTP Header values validation is too strict
https://bugs.webkit.org/show_bug.cgi?id=167112
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebased from WPT repository.
- web-platform-tests/fetch/api/headers/header-values-normalize-exptected.txt: Added.
- web-platform-tests/fetch/api/headers/header-values-expected.txt: Added.
Source/WebCore:
Moving header values and names from DOMString to ByteString as per spec.
Updating WebCore::isValidHTTPHeaderValue as per https://fetch.spec.whatwg.org/#terminology-headers.
Covered by rebased and updated tests.
Updated test is now also passing in other browsers.
- platform/network/HTTPParsers.cpp:
(WebCore::isValidHTTPHeaderValue):
LayoutTests:
- http/tests/xmlhttprequest/set-bad-headervalue.html:
- 9:03 PM Changeset in webkit [232571] by
-
- 6 edits17 adds in trunk
Add Accept-Encoding: identity to Range requests
https://bugs.webkit.org/show_bug.cgi?id=186335
<rdar://problem/40837190>
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
- resources/import-expectations.json:
- web-platform-tests/fetch/range/general.any-expected.txt: Added.
- web-platform-tests/fetch/range/general.any.html: Added.
- web-platform-tests/fetch/range/general.any.js: Added.
- web-platform-tests/fetch/range/general.any.worker-expected.txt: Added.
- web-platform-tests/fetch/range/general.any.worker.html: Added.
- web-platform-tests/fetch/range/general.window.js: Added.
- web-platform-tests/fetch/range/resources/basic.html: Added.
- web-platform-tests/fetch/range/resources/long-wav.py: Added.
- web-platform-tests/fetch/range/resources/partial-script.py: Added.
- web-platform-tests/fetch/range/resources/range-sw.js: Added.
- web-platform-tests/fetch/range/resources/stash-take.py: Added.
- web-platform-tests/fetch/range/resources/utils.js: Added.
- web-platform-tests/fetch/range/resources/w3c-import.log: Added.
- web-platform-tests/fetch/range/sw.https.window.js: Added.
- web-platform-tests/fetch/range/w3c-import.log: Added.
Source/WebCore:
Tests: imported/w3c/web-platform-tests/fetch/range/general.any.html
imported/w3c/web-platform-tests/fetch/range/general.any.worker.html
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::updateHTTPRequestHeaders):
- loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::updateAcceptEncodingHeader):
- loader/cache/CachedResourceRequest.h:
- 8:14 PM Changeset in webkit [232570] by
-
- 9 copies1 add in releases/Apple/Safari Technology Preview 58
Added a tag for Safari Technology Preview release 58.
- 8:08 PM Changeset in webkit [232569] by
-
- 1 edit1 add in trunk
Check in a file created by the Xcode 10 beta.
- WebKit.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: Added.
- 7:43 PM Changeset in webkit [232568] by
-
- 2 edits in trunk/Source/JavaScriptCore
ArityFixup should adjust SP first on 32-bit platforms too
https://bugs.webkit.org/show_bug.cgi?id=186351
Reviewed by Yusuke Suzuki.
- jit/ThunkGenerators.cpp:
(JSC::arityFixupGenerator):
- 7:28 PM Changeset in webkit [232567] by
-
- 4 edits1 add in trunk
[DFG] Compare operations do not respect negative zeros
https://bugs.webkit.org/show_bug.cgi?id=183729
Reviewed by Saam Barati.
JSTests:
- stress/comparison-ignore-negative-zero.js: Added.
(shouldBe):
(zero):
(negativeZero):
(object.valueOf):
(test):
Source/JavaScriptCore:
Compare operations do not respect negative zeros. So propagating this can
reduce the size of the produced code for negative zero case. This pattern
can be seen in Kraken stanford-crypto-aes.
This also causes an existing bug which converts CompareEq(Int32Only, NonIntAsdouble) to false.
However, NonIntAsdouble includes negative zero, which can be equal to Int32 positive zero.
This issue is covered by fold-based-on-int32-proof-mul-branch.js, and we fix this.
- bytecode/SpeculatedType.cpp:
(JSC::leastUpperBoundOfStrictlyEquivalentSpeculations):
SpecNonIntAsDouble includes negative zero (-0.0), which can be equal to 0 and 0.0.
To emphasize this, we use SpecAnyIntAsDouble | SpecNonIntAsDouble directly instead of
SpecDoubleReal.
- dfg/DFGBackwardsPropagationPhase.cpp:
(JSC::DFG::BackwardsPropagationPhase::propagate):
- 5:57 PM Changeset in webkit [232566] by
-
- 2 edits in trunk/LayoutTests
Layout Test imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=184060
Unreviewed test gardening.
Patch by David Fenton <david_fenton@apple.com> on 2018-06-06
- platform/mac/TestExpectations:
- 5:45 PM Changeset in webkit [232565] by
-
- 2 edits in trunk/PerformanceTests
Allow the ramp controller to run tests that take less time than the initial ramp-up phase
https://bugs.webkit.org/show_bug.cgi?id=186257
Reviewed by Said Abou-Hallawa.
- MotionMark/tests/resources/main.js: Extend the desired end timestamp when ramp-up occurs.
Previously the controller assumed that the duration of the test was always longer than the
time it took to figure out the order of magnitude of particles to render. When that range
is determined, the end timestamp is then extended. If the duration is too short, the controller
would throw an exception. The fix is to continue extending the timestamp every time the order of
magnitude tiers up.
In general testing with really short durations isn't practical, but sometimes it is
desired for debugging.
To avoid confusion of the private variables, I renamed Benchmark._startTimestamp to
Benchmark._benchmarkStartTimestamp, to disambiguate from Controller._startTimestamp.
Benchmark._startTimestamp is set once and never changed, after the initial 100ms warm-up.
Controller._startTimestamp is initialized to 0 (which means "not initialized"), and then after
the warm up is complete, set in Controller.start() to the same wall clock timestamp, and never
changed afterwards.
- 5:42 PM Changeset in webkit [232564] by
-
- 2 edits in trunk/Source/WebKit
Crash in lambda function WTF::Function<void ()>::CallableWrapper<WebKit::DisplayLink::displayLinkCallback
https://bugs.webkit.org/show_bug.cgi?id=186370
<rdar://problem/39791647>
Reviewed by Brent Fulgham.
When the display link is firing, the callback function is called on the display link thread, where a lambda function
is created to be executed on the main thread. The WebPageProxy object is captured as a RefPtr in the lambda. This
might crash when executing on the main thread, since the WebPageProxy object is possibly deleted then. Capturing
the WebPageProxy will not prevent the object from being deleted if the destruction of the WebPageProxy object already
has started on the main thread when the object is captured, which sometimes is the case. Instead, we can create a
weak pointer to the object, which will work as intended, even if the WebPageProxy object is in the process of being
deleted. This also matches the display link implementation used when the WebContent process has access to the
WindowServer. This is not a frequent crash. I have not been able to reproduce it.
- UIProcess/mac/DisplayLink.cpp:
(WebKit::DisplayLink::displayLinkCallback):
- 5:37 PM Changeset in webkit [232563] by
-
- 2 edits in trunk/Source/WebCore
Display links are sometimes not notifying WebCore when fired.
https://bugs.webkit.org/show_bug.cgi?id=186367
<rdar://problem/40439109>
Reviewed by Brent Fulgham.
When the WebContent process is receiving an IPC message notifying about a screen update, all display refresh monitors
are notified by the manager in DisplayRefreshMonitorManager::displayWasUpdated(). The manager checks that the monitor
is scheduled before notifying. This is a problem, since the scheduled flag is always set to false in the
DisplayRefreshMonitor::displayDidRefresh() method, when the monitor is first notified about a screen update. This can
lead to display links running without notifying the monitors, causing extra CPU usage. It can also prevent them from
being deleted, since the monitors are not notified. Instead, we can check that the display refresh monitor is active
before notifying it. This matches the original display link implementation used when the WebContent process has
WindowServer access, where the monitors are always notified.
No new tests, since I have not been able to reproduce this in a test case yet.
- platform/graphics/DisplayRefreshMonitorManager.cpp:
(WebCore::DisplayRefreshMonitorManager::displayWasUpdated):
- 5:01 PM Changeset in webkit [232562] by
-
- 3 edits1 add in trunk
generateConditionsForInstanceOf needs to see if the object has a poly proto structure before assuming it has a constant prototype
https://bugs.webkit.org/show_bug.cgi?id=186363
Rubber-stamped by Filip Pizlo.
JSTests:
- stress/instance-of-on-poly-proto-opc-should-not-crash.js: Added.
Source/JavaScriptCore:
The code was assuming that the object it was creating an OPC for always
had a non-poly-proto structure. However, this assumption was wrong. For
example, an object in the prototype chain could be poly proto. That type
of object graph would cause a crash in this code. This patch makes it so
that we fail to generate an ObjectPropertyConditionSet if we see a poly proto
object as we traverse the prototype chain.
- bytecode/ObjectPropertyConditionSet.cpp:
(JSC::generateConditionsForInstanceOf):
- 4:46 PM Changeset in webkit [232561] by
-
- 7 edits in trunk/PerformanceTests
Remove unneeded data processing in MotionMark
https://bugs.webkit.org/show_bug.cgi?id=186256
Reviewed by Said Abou-Hallawa.
Remove calculation of average frame rate based on multiple samples at a given complexity.
It is not used in the calculation of the score, and is just extra work to do at the end
of a test.
- MotionMark/developer.html: Remove options to show average data and regression based on
that data.
- MotionMark/resources/debug-runner/graph.js: Remove data. Update the time graph that
shows the relationship between the break point in the regression against the complexity
graph.
- MotionMark/resources/debug-runner/motionmark.css: Make the confidence intervals easier
to see.
- MotionMark/resources/runner/motionmark.js: Simplify score calculation now that we are
only calculating regressions on the raw data. We were calculating it based on the averages,
but that was just for analysis, and not used in the actual score. Get rid of the
|complexitySamples| local variable.
- MotionMark/resources/strings.js: Remove unneeded string constant.
- MotionMark/tests/resources/main.js:
(processSamples): Refactor so that more of it can be shared between Controller and
RampController. It also avoids processing the raw samples (controllerSamples) twice for
the ramp controller.
(_processComplexitySamples): Remove logic to calculate averages based on complexity.
(_processMarks): Split this out from the old processSamples.
(_processControllerSamples): Split this out from the old processSamples.
- 4:38 PM Changeset in webkit [232560] by
-
- 2 edits in trunk/LayoutTests
Layout Test http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction.html is flaky on macOS WK2 [ Release ]
https://bugs.webkit.org/show_bug.cgi?id=186362
Unreviewed test gardening.
Patch by David Fenton <david_fenton@apple.com> on 2018-06-06
- platform/mac-wk2/TestExpectations:
- 3:27 PM Changeset in webkit [232559] by
-
- 84 edits in trunk
Rename color-filter to -apple-color-filter and do not expose it to Web content
https://bugs.webkit.org/show_bug.cgi?id=186306
<rdar://problem/39874167>
Reviewed by Simon Fraser.
Source/WebCore:
Rename the color-filter CSS property to -apple-color-filter.
- animation/KeyframeEffectReadOnly.cpp:
(WebCore::KeyframeEffectReadOnly::checkForMatchingColorFilterFunctionLists):
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyinStyle):
- css/CSSGradientValue.cpp:
(WebCore::CSSGradientValue::image):
(WebCore::CSSGradientValue::computeStops):
(WebCore::CSSGradientValue::knownToBeOpaque const):
- css/CSSProperties.json:
- css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::parseSingleValue):
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc):
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
- page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::checkForMatchingColorFilterFunctionLists):
- page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::checkForMatchingColorFilterFunctionLists):
- rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintMarkedTextForeground):
(WebCore::InlineTextBox::paintMarkedTextDecoration):
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresRepaint const):
(WebCore::RenderStyle::visitedDependentColorWithColorFilter const):
(WebCore::RenderStyle::colorByApplyingColorFilter const):
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::mutableAppleColorFilter):
(WebCore::RenderStyle::appleColorFilter const):
(WebCore::RenderStyle::hasAppleColorFilter const):
(WebCore::RenderStyle::setAppleColorFilter):
(WebCore::RenderStyle::initialAppleColorFilter):
(WebCore::RenderStyle::mutableColorFilter): Deleted.
(WebCore::RenderStyle::colorFilter const): Deleted.
(WebCore::RenderStyle::hasColorFilter const): Deleted.
(WebCore::RenderStyle::setColorFilter): Deleted.
(WebCore::RenderStyle::initialColorFilter): Deleted.
- rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator== const):
(WebCore::StyleRareInheritedData::hasColorFilters const):
- rendering/style/StyleRareInheritedData.h:
Source/WebKit:
Change the ColorFilter setting to no longer be exposed as an experimental feature and ensure it's turned off by default.
To allow internal clients to use the -apple-color-filter property, we expose a new _colorFilterEnabled property as SPI
to WKWebViewConfigurationPrivate.
- Shared/WebPreferences.yaml:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetColorFilterEnabled):
(WKPreferencesGetColorFilterEnabled):
- UIProcess/API/C/WKPreferencesRefPrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _setAttachmentElementEnabled:]):
(-[WKWebViewConfiguration _colorFilterEnabled]):
(-[WKWebViewConfiguration _setColorFilterEnabled:]):
- UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
Tools:
Adding an option to turn support for the -apple-color-filter property on via an HTML comment.
- DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
- DumpRenderTree/TestOptions.h:
- DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
- WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):
LayoutTests:
Update tests for color-filter to test -apple-color-filter and explicitly turn the feature on since it's disabled by default.
We also update a test to not use the colorFilter accessor and setter on CSSStyleDeclaration because using an -apple- prefix
will no longer expose such a getter or setter, using getPropertyValue() and setProperty() instead.
- animations/resources/animation-test-helpers.js:
(getPropertyValue):
(comparePropertyValue):
- css3/color-filters/color-filter-animation-expected.txt:
- css3/color-filters/color-filter-animation.html:
- css3/color-filters/color-filter-backgrounds-borders-expected.html:
- css3/color-filters/color-filter-backgrounds-borders.html:
- css3/color-filters/color-filter-box-shadow-expected.html:
- css3/color-filters/color-filter-box-shadow.html:
- css3/color-filters/color-filter-brightness-expected.html:
- css3/color-filters/color-filter-brightness.html:
- css3/color-filters/color-filter-caret-color-expected.html:
- css3/color-filters/color-filter-caret-color.html:
- css3/color-filters/color-filter-color-property-expected.html:
- css3/color-filters/color-filter-color-property-list-item-expected.html:
- css3/color-filters/color-filter-color-property-list-item.html:
- css3/color-filters/color-filter-color-property.html:
- css3/color-filters/color-filter-color-text-decorations-expected.html:
- css3/color-filters/color-filter-color-text-decorations.html:
- css3/color-filters/color-filter-column-rule-expected.html:
- css3/color-filters/color-filter-column-rule.html:
- css3/color-filters/color-filter-contrast-expected.html:
- css3/color-filters/color-filter-contrast.html:
- css3/color-filters/color-filter-current-color-expected.html:
- css3/color-filters/color-filter-current-color.html:
- css3/color-filters/color-filter-filter-list-expected.html:
- css3/color-filters/color-filter-filter-list.html:
- css3/color-filters/color-filter-gradients-expected.html:
- css3/color-filters/color-filter-gradients.html:
- css3/color-filters/color-filter-grayscale-expected.html:
- css3/color-filters/color-filter-grayscale.html:
- css3/color-filters/color-filter-hue-rotate-expected.html:
- css3/color-filters/color-filter-hue-rotate.html:
- css3/color-filters/color-filter-inherits-expected.html:
- css3/color-filters/color-filter-inherits.html:
- css3/color-filters/color-filter-invert-expected.html:
- css3/color-filters/color-filter-invert.html:
- css3/color-filters/color-filter-opacity-expected.html:
- css3/color-filters/color-filter-opacity.html:
- css3/color-filters/color-filter-outline-expected.html:
- css3/color-filters/color-filter-outline.html:
- css3/color-filters/color-filter-parsing-expected.txt:
- css3/color-filters/color-filter-parsing.html:
- css3/color-filters/color-filter-saturate-expected.html:
- css3/color-filters/color-filter-saturate.html:
- css3/color-filters/color-filter-sepia-expected.html:
- css3/color-filters/color-filter-sepia.html:
- css3/color-filters/color-filter-text-decoration-shadow-expected.html:
- css3/color-filters/color-filter-text-decoration-shadow.html:
- css3/color-filters/color-filter-text-emphasis-expected.html:
- css3/color-filters/color-filter-text-emphasis.html:
- css3/color-filters/color-filter-text-shadow-expected.html:
- css3/color-filters/color-filter-text-shadow.html:
- css3/color-filters/color-filter-text-stroke-expected.html:
- css3/color-filters/color-filter-text-stroke.html:
- css3/color-filters/svg/color-filter-inline-svg-expected.html:
- css3/color-filters/svg/color-filter-inline-svg.html:
- 1:51 PM Changeset in webkit [232558] by
-
- 2 edits in trunk/LayoutTests
[macOS WK2 Release] Layout Test media/video-trackmenu-selection.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=186055
Unreviewed test gardening.
Patch by David Fenton <david_fenton@apple.com> on 2018-06-06
- platform/mac-wk2/TestExpectations:
- 1:37 PM Changeset in webkit [232557] by
-
- 4 edits in trunk
REGRESSION (r231817?): Layout Test media/track/track-delete-during-setup.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=185889
<rdar://problem/40583180>
Reviewed by Eric Carlson.
Source/WebCore:
Explicitly update the network and ready states when detaching the AVPlayerItem
from the AVPlayer.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldBufferData):
LayoutTests:
Modify the track-delete-during-setup.html test to end on video element suspend in
addition to canplaythrough.
- media/track/track-delete-during-setup.html:
- 1:13 PM Changeset in webkit [232556] by
-
- 17 edits1 add in tags/Safari-606.1.20/Source/WebKit
Cherry-pick r232544. rdar://problem/38477288
Move animated resize into the layer tree transaction, and make it asynchronous
https://bugs.webkit.org/show_bug.cgi?id=186130
<rdar://problem/38477288>
Reviewed by Simon Fraser.
- Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h: (WebKit::RemoteLayerTreeTransaction::setScrollPosition): (WebKit::RemoteLayerTreeTransaction::dynamicViewportSizeUpdateID const): (WebKit::RemoteLayerTreeTransaction::setDynamicViewportSizeUpdateID):
- Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm: (WebKit::RemoteLayerTreeTransaction::encode const): (WebKit::RemoteLayerTreeTransaction::decode):
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::willCommitLayerTree): Add scrollPosition to the transaction on all platforms, not just Mac. Add the optional dynamicViewportSizeUpdateID to the transaction, representing the most recent dynamicViewportSizeUpdate that commit contains, if any.
- Shared/ios/DynamicViewportSizeUpdate.h: Added a typedef for DynamicViewportSizeUpdateID, and move the mode enum here.
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm: (WebKit::PageClientImpl::dynamicViewportUpdateChangedTarget): Deleted.
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::resetState):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::dynamicViewportSizeUpdate): (WebKit::WebPageProxy::didCommitLayerTree): (WebKit::WebPageProxy::synchronizeDynamicViewportUpdate): Deleted. (WebKit::WebPageProxy::dynamicViewportUpdateChangedTarget): Deleted.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::dynamicViewportSizeUpdate): (WebKit::WebPage::synchronizeDynamicViewportUpdate): Deleted. Remove dynamicViewportUpdateChangedTarget and synchronizeDynamicViewportUpdate. Move dynamicViewportSizeUpdateID maintenance into WKWebView.
- UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _processDidExit]): Remove _resizeAnimationTransformTransactionID. We now instead pack the resize ID inside the transaction, instead of separately sending back a transaction ID to wait for.
(-[WKWebView _didCommitLayerTreeDuringAnimatedResize:]):
(-[WKWebView _didCommitLayerTree:]):
Added, factored out of _didCommitLayerTree:.
If the transaction includes the result of the most recently-sent resize,
store the requisite adjustments required to counter the new scale and
scroll offset, update the resizeAnimationView, and, if endAnimatedResize
has already been called, call _didCompleteAnimatedResize to tear down
the animation view and put things back together.
Add some code so that if a commit arrives before the resize, we update
the scale of the resize animation view to keep the width fitting.
(activeMaximumUnobscuredSize):
(activeOrientation):
Move these because the code that depends on them moved.
(-[WKWebView _didCompleteAnimatedResize]):
Broken out of _endAnimatedResize. This can now be called from
either endAnimatedResize or _didCommitLayerTreeDuringAnimatedResize,
depending on which is called first.
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
Don't create a new resize view if we still have one. Otherwise, we'll
get the view ordering all wrong when making the second one. This
didn't previously cause trouble, because we don't have a lot of
WKScrollView subviews, but it totally could.
Adopt _initialContentOffsetForScrollView just to make this code more clear.
(-[WKWebView _endAnimatedResize]):
(-[WKWebView _dynamicViewportUpdateChangedTargetToScale:position:nextValidLayerTreeTransactionID:]): Deleted.
- UIProcess/API/Cocoa/WKWebViewInternal.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232544 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:13 PM Changeset in webkit [232555] by
-
- 49 edits in tags/Safari-606.1.20/Source
Revert r232520. rdar://problem/40857773
- 1:13 PM Changeset in webkit [232554] by
-
- 2 edits in tags/Safari-606.1.20/Source/WebKit
Cherry-pick r232548. rdar://problem/40838449
REGRESSION (r232301) - Unable to enter video fullscreen
https://bugs.webkit.org/show_bug.cgi?id=186357
<rdar://problem/40838449>
Reviewed by Jon Lee.
Only set up the standby fullscreen element if we are in element fullscreen.
- WebProcess/FullScreen/WebFullScreenManager.cpp: (WebKit::WebFullScreenManager::videoControlsManagerDidChange):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232548 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:13 PM Changeset in webkit [232553] by
-
- 13 edits1 add in tags/Safari-606.1.20/Source
Revert r232528. rdar://problem/40858098
- 11:27 AM Changeset in webkit [232552] by
-
- 1 copy in tags/Safari-606.1.20
Tag Safari-606.1.20.
- 11:24 AM Changeset in webkit [232551] by
-
- 2 edits in trunk/Source/WebCore
Use the default label for snapshotted plug-ins if no mime-type is available
https://bugs.webkit.org/show_bug.cgi?id=186348
Patch by Antoine Quint <Antoine Quint> on 2018-06-06
Reviewed by Jon Lee.
In case the mime-type is not available, use the default labels otherwise we'd crash trying to look up the empty string in the HashMap.
- html/HTMLPlugInImageElement.cpp:
(WebCore::titleText):
(WebCore::subtitleText):
- 11:20 AM Changeset in webkit [232550] by
-
- 5 edits2 deletes in trunk/Source/WebCore/PAL
Logging macros are sensitive to pal/Logging.h vs Logging.h include order
https://bugs.webkit.org/show_bug.cgi?id=185893
Reviewed by Zalan Bujtas.
Remove unused functionality from pal/Logging code until we need it. Primarily this removes the
#define LOG_CHANNEL_PREFIX from pal/Logging.h, which caused include-order problems with unified sources.
Future work should move shared logging code up to WTF (or into PAL).
- PAL.xcodeproj/project.pbxproj:
- pal/CMakeLists.txt:
- pal/LogInitialization.h: Removed.
- pal/Logging.cpp:
(PAL::isLogChannelEnabled): Deleted.
(PAL::setLogChannelToAccumulate): Deleted.
(PAL::initializeLogChannelsIfNecessary): Deleted.
- pal/Logging.h:
- pal/cocoa/LoggingCocoa.mm: Removed.
- 11:07 AM Changeset in webkit [232549] by
-
- 3 edits in trunk/Tools
Adjust compile and runtime flags to match shippable state of features (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=186319
<rdar://problem/40352045>
Unreviewed test fix.
TestWebKitAPI was timing out because 'color' input types are no longer support. I also discovered that the
ASSERT_STREQ macro returns on error, which causes tests to time out whenever a 'done = true' call (needed to
end the test) is done after ASSERT_STREQ, which might fail and return early, preventing the flag from being
set.
- TestWebKitAPI/Tests/WebKitCocoa/InjectedBundleNodeHandleIsTextField.mm:
(-[InjectedBundleNodeHandleIsTextField webProcessPlugIn:didCreateBrowserContextController:]): Make testing of
the 'color' input type conditional on the feature being part of the build.
- TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[AutoFillDelegate _webView:didClickAutoFillButtonWithUserInfo:]): Set the 'done=true' state before performing
string equality assertions, since they do an early return and bypass the end state of the test.
(-[DidResignInputElementStrongPasswordAppearanceDelegate _webView:didResignInputElementStrongPasswordAppearanceWithUserInfo:]): Ditto.
(-[AutoFillAvailableDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): Ditto.
(-[InjectedBundleNodeHandleIsTextFieldDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): Ditto.
- 11:02 AM Changeset in webkit [232548] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (r232301) - Unable to enter video fullscreen
https://bugs.webkit.org/show_bug.cgi?id=186357
<rdar://problem/40838449>
Reviewed by Jon Lee.
Only set up the standby fullscreen element if we are in element fullscreen.
- WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::videoControlsManagerDidChange):
- 10:40 AM Changeset in webkit [232547] by
-
- 3 edits in trunk/PerformanceTests
Strip out more characters when creating permalinks
https://bugs.webkit.org/show_bug.cgi?id=186259
Reviewed by Said Abou-Hallawa.
Tests and suites may have names that make permalinks to the tests less readable when
shared. Expand the set of characters that are stripped out of the names.
- MotionMark/resources/debug-runner/motionmark.js: Refactor to call
stripUnwantedCharactersForURL. For existing links, decode the suite and test names.
- MotionMark/resources/extensions.js:
(Utilities.stripUnwantedCharactersForURL): Rename from stripNonASCIICharacters.
Remove any non-alphanumeric character.
- 9:42 AM Changeset in webkit [232546] by
-
- 2 edits in trunk/Source/WebCore
Wrong NSVisualEffectMaterial used for exit full screen overlay in dark mode.
https://bugs.webkit.org/show_bug.cgi?id=186350
rdar://problem/39135535
Reviewed by Anders Carlsson.
- platform/mac/WebCoreFullScreenPlaceholderView.mm:
(-[WebCoreFullScreenPlaceholderView initWithFrame:]):
Use the NSVisualEffectMaterialFullScreenUI on macOS 10.14 and don't
set an explicit NSAppearance.
- 9:36 AM Changeset in webkit [232545] by
-
- 2 edits in trunk/Source/WebKit
attenuationFactor should be in range [0,1]
https://bugs.webkit.org/show_bug.cgi?id=186320
rdar://problem/40821456
Patch by Jeremy Jones <jeremyj@apple.com> on 2018-06-06
Reviewed by Jer Noble.
If attenuationFactor is outside of this range it can cause false positives.
- UIProcess/ios/fullscreen/FullscreenTouchSecheuristic.cpp:
(WebKit::FullscreenTouchSecheuristic::attenuationFactor):
- 9:32 AM Changeset in webkit [232544] by
-
- 17 edits1 add in trunk/Source/WebKit
Move animated resize into the layer tree transaction, and make it asynchronous
https://bugs.webkit.org/show_bug.cgi?id=186130
<rdar://problem/38477288>
Reviewed by Simon Fraser.
- Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h:
(WebKit::RemoteLayerTreeTransaction::setScrollPosition):
(WebKit::RemoteLayerTreeTransaction::dynamicViewportSizeUpdateID const):
(WebKit::RemoteLayerTreeTransaction::setDynamicViewportSizeUpdateID):
- Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::encode const):
(WebKit::RemoteLayerTreeTransaction::decode):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::willCommitLayerTree):
Add scrollPosition to the transaction on all platforms, not just Mac.
Add the optional dynamicViewportSizeUpdateID to the transaction, representing
the most recent dynamicViewportSizeUpdate that commit contains, if any.
- Shared/ios/DynamicViewportSizeUpdate.h:
Added a typedef for DynamicViewportSizeUpdateID, and move the mode enum here.
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::dynamicViewportUpdateChangedTarget): Deleted.
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::resetState):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::dynamicViewportSizeUpdate):
(WebKit::WebPageProxy::didCommitLayerTree):
(WebKit::WebPageProxy::synchronizeDynamicViewportUpdate): Deleted.
(WebKit::WebPageProxy::dynamicViewportUpdateChangedTarget): Deleted.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::dynamicViewportSizeUpdate):
(WebKit::WebPage::synchronizeDynamicViewportUpdate): Deleted.
Remove dynamicViewportUpdateChangedTarget and synchronizeDynamicViewportUpdate.
Move dynamicViewportSizeUpdateID maintenance into WKWebView.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _processDidExit]):
Remove _resizeAnimationTransformTransactionID. We now instead pack
the resize ID inside the transaction, instead of separately sending
back a transaction ID to wait for.
(-[WKWebView _didCommitLayerTreeDuringAnimatedResize:]):
(-[WKWebView _didCommitLayerTree:]):
Added, factored out of _didCommitLayerTree:.
If the transaction includes the result of the most recently-sent resize,
store the requisite adjustments required to counter the new scale and
scroll offset, update the resizeAnimationView, and, if endAnimatedResize
has already been called, call _didCompleteAnimatedResize to tear down
the animation view and put things back together.
Add some code so that if a commit arrives before the resize, we update
the scale of the resize animation view to keep the width fitting.
(activeMaximumUnobscuredSize):
(activeOrientation):
Move these because the code that depends on them moved.
(-[WKWebView _didCompleteAnimatedResize]):
Broken out of _endAnimatedResize. This can now be called from
either endAnimatedResize or _didCommitLayerTreeDuringAnimatedResize,
depending on which is called first.
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
Don't create a new resize view if we still have one. Otherwise, we'll
get the view ordering all wrong when making the second one. This
didn't previously cause trouble, because we don't have a lot of
WKScrollView subviews, but it totally could.
Adopt _initialContentOffsetForScrollView just to make this code more clear.
(-[WKWebView _endAnimatedResize]):
(-[WKWebView _dynamicViewportUpdateChangedTargetToScale:position:nextValidLayerTreeTransactionID:]): Deleted.
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- 9:13 AM Changeset in webkit [232543] by
-
- 4 edits2 adds in trunk
Regions outside of the fullscreen window are exposed during zoom operations
https://bugs.webkit.org/show_bug.cgi?id=186330
<rdar://problem/34698009>
Reviewed by Simon Fraser.
Source/WebCore:
Test: fullscreen/full-screen-layer-dump.html
Introduce the concept of "requiresBackgroundLayer" to RenderLayerBacking, for use by
RenderFullScreen. Previously, the backgroundLayer in RenderLayerBacking was only used
by the root renderer with fixed backgrounds. Give the RenderFullScreen a background layer
that's approximately 3x as tall and wide as the renderer itself, so nothing is exposed
during pinch operations.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking):
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::updateDrawsContent):
(WebCore::RenderLayerBacking::setRequiresBackgroundLayer):
(WebCore::RenderLayerBacking::updateBackgroundLayer):
(WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundColor):
(WebCore::RenderLayerBacking::paintIntoLayer):
- rendering/RenderLayerBacking.h:
LayoutTests:
- fullscreen/full-screen-layer-dump-expected.txt: Added.
- fullscreen/full-screen-layer-dump.html: Added.
- 9:10 AM Changeset in webkit [232542] by
-
- 2 edits in trunk/Source/WebCore
Set the AVAssetResourceLoaderRequest's contentType to AVStreamingKeyDeliveryContentKeyType in the case of a FPS key request.
https://bugs.webkit.org/show_bug.cgi?id=186328
<rdar://problem/40829228>
Reviewed by Eric Carlson.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::attemptToDecryptWithInstance):
- 8:52 AM Changeset in webkit [232541] by
-
- 3 edits in trunk/Source/WebCore
[LFC] Add margin computation for floating, replaced elements.
https://bugs.webkit.org/show_bug.cgi?id=186337
Reviewed by Antti Koivisto.
If 'margin-left' or 'margin-right' are computed as 'auto', their used value is '0'.
- layout/FormattingContext.h:
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):
- 8:25 AM Changeset in webkit [232540] by
-
- 2 edits in trunk/Source/WebCore
[LFC] Add margin computation for floating, no-replaced elements.
https://bugs.webkit.org/show_bug.cgi?id=186334
Reviewed by Antti Koivisto.
If 'margin-left', or 'margin-right' are computed as 'auto', their used value is '0'.
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):
- 7:50 AM Changeset in webkit [232539] by
-
- 2 edits in trunk/Source/WebCore
Use minimal coverage rect for tiled layers when under memory pressure
https://bugs.webkit.org/show_bug.cgi?id=186185
<rdar://problem/40713608>
Reviewed by Darin Adler.
We do this for the main content layer already.
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::adjustTiledLayerVisibleRect):
- 4:18 AM Changeset in webkit [232538] by
-
- 4 edits in trunk/LayoutTests
[GTK] Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=186342
- TestExpectations:
- platform/gtk/TestExpectations:
- platform/mac/TestExpectations:
- 3:43 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 1:20 AM Changeset in webkit [232537] by
-
- 5 edits in trunk
[Web Animations] Only expose CSSAnimation and CSSTransition if the WebAnimationsCSSIntegration runtime flag is enabled
https://bugs.webkit.org/show_bug.cgi?id=186305
Reviewed by Dean Jackson.
Source/WebCore:
- animation/CSSAnimation.idl:
- animation/CSSTransition.idl:
Websites/webkit.org:
Add a test for the WebAnimationsCSSIntegration runtime flag.
- experimental-features.html:
Jun 5, 2018:
- 9:53 PM Changeset in webkit [232536] by
-
- 5 edits in trunk
Regression(r232082): Websites get loaded inside of Messages App chat transcript
https://bugs.webkit.org/show_bug.cgi?id=186331
<rdar://problem/40735446>
Reviewed by Darin Adler.
Source/WebKitLegacy/mac:
r232082 made it so that if the client implements decidePolicyForMIMEType / decidePolicyForNavigationAction
but does not call use / ignore on the listener, then we would do "use" by default.
The intention was to restore pre-AsyncPolicyDelegates behavior and unbreak Box.app. However,
the pre-AsyncPolicyDelegates behavior was only to "use" by default for decidePolicyForMIMEType,
not decidePolicyForNavigationAction. Doing "use" by default for decidePolicyForNavigationAction
is new behavior and it breaks Messages.app. This patch updates r232082 so that we now do call
"use" by default on the listener for decidePolicyForMIMEType and "ignore" by default for other
policy decisions. This should restore pre-AsyncPolicyDelegates behavior. This fixes Messages.app
and Box.app is still working properly.
- WebCoreSupport/WebFrameLoaderClient.h:
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
(WebFrameLoaderClient::dispatchWillSubmitForm):
(WebFrameLoaderClient::setUpPolicyListener):
(-[WebFramePolicyListener initWithFrame:policyFunction:defaultPolicy:]):
(-[WebFramePolicyListener initWithFrame:policyFunction:defaultPolicy:appLinkURL:]):
(-[WebFramePolicyListener dealloc]):
(-[WebFramePolicyListener initWithFrame:policyFunction:]): Deleted.
(-[WebFramePolicyListener initWithFrame:policyFunction:appLinkURL:]): Deleted.
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/mac/NoPolicyDelegateResponse.mm:
(-[NoDecidePolicyForNavigationActionDecisionDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
(-[NoDecidePolicyForNavigationActionDecisionDelegate webView:didStartProvisionalLoadForFrame:]):
(TestWebKitAPI::TEST):
(-[NoPolicyDelegateDecisionDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): Deleted.
(-[NoPolicyDelegateDecisionDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]): Deleted.
(-[NoPolicyDelegateDecisionDelegate webView:didFinishLoadForFrame:]): Deleted.
- 9:35 PM Changeset in webkit [232535] by
-
- 29 edits in trunk/Source
Move OpenGL display mask to screen data struct.
https://bugs.webkit.org/show_bug.cgi?id=186198
<rdar://problem/40724854>
Reviewed by Brent Fulgham.
Currently, the OpenGL display mask is a global in the WebContent process. This is not correct in all cases, since
it is possible to have two Web views in the same WebContent process, displayed on different displays. This can be
resolved by moving the OpenGL display mask to a new ScreenData struct, containing information specific to each
display. The display ID of the host window is used to find the OpenGL display mask when needed. This patch makes
the host window available when creating an IOSurface, in order to find the right OpenGL display mask. If no host
window is available, the OpenGL display mask of the main display is used.
Source/WebCore:
No new tests, since testing this requires two Web views in the same WebContent process, displayed on
two different monitors.
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::createImageBuffer const):
- platform/PlatformScreen.h:
- platform/ScreenProperties.h:
(WebCore::ScreenProperties::encode const):
(WebCore::ScreenProperties::decode):
(WebCore::ScreenData::encode const):
(WebCore::ScreenData::decode):
- platform/graphics/GraphicsContext3D.h:
- platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::create):
- platform/graphics/ImageBuffer.h:
- platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::createCompatibleBuffer):
(WebCore::ImageBuffer::ImageBuffer):
- platform/graphics/cocoa/GraphicsContext3DCocoa.mm:
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::allowOfflineRenderers const):
(WebCore::GraphicsContext3D::setOpenGLDisplayMask): Deleted.
(WebCore::GraphicsContext3D::getOpenGLDisplayMask): Deleted.
- platform/graphics/cocoa/IOSurface.h:
- platform/graphics/cocoa/IOSurface.mm:
(WebCore::IOSurface::ensurePlatformContext):
- platform/mac/PlatformScreenMac.mm:
(WebCore::screenProperties):
(WebCore::collectScreenProperties):
(WebCore::setScreenProperties):
(WebCore::screenData):
(WebCore::primaryOpenGLDisplayMask):
(WebCore::displayMaskForDisplay):
(WebCore::getScreenProperties):
(WebCore::screenIsMonochrome):
(WebCore::screenHasInvertedColors):
(WebCore::screenDepth):
(WebCore::screenDepthPerComponent):
(WebCore::screenRectForDisplay):
(WebCore::screenRect):
(WebCore::screenAvailableRect):
(WebCore::screenColorSpace):
(WebCore::screenSupportsExtendedColor):
Source/WebKit:
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::windowScreenDidChange):
(WebKit::WebPageProxy::creationParameters):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::screenPropertiesStateChanged):
(WebKit::displayReconfigurationCallBack):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_credentialsMessenger):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::openGLDisplayMaskChanged): Deleted.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::setScreenProperties):
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- 9:25 PM Changeset in webkit [232534] by
-
- 5 edits in trunk
REGRESSION (231817): Videos permanently blank out after switching out of a tab and back in
https://bugs.webkit.org/show_bug.cgi?id=186326
<rdar://problem/40778157>
Reviewed by Eric Carlson.
Source/WebCore:
Check whether the element is visible in the viewport when the web view itself becomes visible, and if so, clear the m_elementIsHiddenUntilVisibleInViewport flag.
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::visibilityChanged):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
LayoutTests:
- media/video-buffering-allowed-expected.txt:
- media/video-buffering-allowed.html:
- 9:23 PM Changeset in webkit [232533] by
-
- 3 edits in trunk/Source/WebCore
[LFC] Move inflow, replaced width and margin computation to a dedicated function.
https://bugs.webkit.org/show_bug.cgi?id=186327
Reviewed by Sam Weinig.
I was searching for the function inFlowReplacedWidthAndMargin() and there was none.
- layout/blockformatting/BlockFormattingContext.h:
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowWidthAndMargin):
- 8:10 PM Changeset in webkit [232532] by
-
- 3 edits in trunk/Source/WebCore
[LFC] Add missing margins for inflow, non replaced block and replaced inline elements
https://bugs.webkit.org/show_bug.cgi?id=186332
Reviewed by Darin Adler.
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
- 6:46 PM Changeset in webkit [232531] by
-
- 13 edits in trunk/Source/WebKit
Remove tracksResourceLoadMilestones support
https://bugs.webkit.org/show_bug.cgi?id=186329
<rdar://problem/40829898>
Reviewed by Darin Adler.
Remove the mechanism for enabling/disabling the tracking of
resource-load milestones. This was initially added in order to enable
the tracking only for Safari. However, the decision has been made to
enable the tracking for all WebKit clients, so it's now enabled
unconditionally.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::startTrackingResourceLoad):
(WebKit::NetworkConnectionToWebProcess::stopTrackingResourceLoad):
(WebKit::NetworkConnectionToWebProcess::stopAllNetworkActivityTracking):
(WebKit::NetworkConnectionToWebProcess::stopAllNetworkActivityTrackingForPage):
(WebKit::networkActivityTrackingEnabled): Deleted.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
- NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::tracksResourceLoadMilestones const): Deleted.
- NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
- NetworkProcess/NetworkProcessCreationParameters.h:
- UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy):
- UIProcess/API/APIProcessPoolConfiguration.h:
- UIProcess/API/C/WKContextConfigurationRef.cpp:
(WKContextConfigurationTracksResourceLoadMilestones): Deleted.
(WKContextConfigurationSetTracksResourceLoadMilestones): Deleted.
- UIProcess/API/C/WKContextConfigurationRef.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration tracksResourceLoadMilestones]): Deleted.
(-[_WKProcessPoolConfiguration setTracksResourceLoadMilestones:]): Deleted.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess):
- 6:44 PM Changeset in webkit [232530] by
-
- 14 edits4 adds in trunk
[macOS] Spelling errors in the middle of an inserted paragraph are not displayed
https://bugs.webkit.org/show_bug.cgi?id=185584
<rdar://problem/38676081>
Reviewed by Ryosuke Niwa.
Source/WebCore:
Currently when typing, we only consider the range of adjacent words when determining where to place spelling
correction markers, even though we provide NSSpellChecker with the full context of the sentence (and get back
results encompassing the full range). In macOS Mojave, NSSpellChecker may now return spell checking results that
include correctly spelled words that are misused in the context of the sentence. This means that while typing a
sentence, a different part of the sentence may gain or lose spelling markers as a result.
To support this, WebKit needs to mark or unmark spelling corrections in the full range of the sentence whenever
a full word is typed (since the context of other words within the sentence may have changed, resulting in
different platform spellchecking results). In markMisspellingsAfterTypingToWord, we expand the spell checking
range past the adjacent words so that it encompasses the largest subrange of the full sentence that includes the
start of the typed word, and does not include any position that is under an element withspellcheck=false.
This guarantees that we don't erroneously place spelling document markers under elements where spellchecking is
disabled, while allowing for sentence retro corrections when spellchecking is enabled. However, this doesn't
handle the case where an element with spellchecking disabled lies between a sentence retro correction range and
the currently typed word. In the future, we could fix this by refactoring SpellCheckRequest to track a list of
non-contiguous spelling correction ranges — see the FIXME in markMisspellingsAfterTypingToWord for more detail.
Covered by 2 new layout tests, as well as an existing spell-checking test that should now be passing.
Tests: editing/spelling/retro-correction-spelling-markers.html
editing/spelling/spelling-markers-after-pasting-sentence.html
- editing/Editor.cpp:
(WebCore::Editor::markMisspellingsAfterTypingToWord):
- testing/Internals.h:
- testing/Internals.idl:
Add an internal testing helper to determine whether retro sentence corrections are enabled.
LayoutTests:
Adds 2 new spellchecking tests, and refactors some existing tests.
- editing/spelling/grammar-expected.txt:
- editing/spelling/grammar.html:
- editing/spelling/markers-expected.txt:
- editing/spelling/markers.html:
Tweaked so that these tests pass regardless of whether sentence retro correction is enabled or disabled.
- editing/spelling/retro-correction-spelling-markers-expected.txt: Added.
- editing/spelling/retro-correction-spelling-markers.html: Added.
Tests that typing at the end of a sentence will mark other parts of the sentence as misspellings, if retro
sentence correction is enabled.
- editing/spelling/spelling-changed-text-expected.txt:
- editing/spelling/spelling-changed-text.html:
Tweaked to correctly wait for the marker range to become the expected value.
- editing/spelling/spelling-markers-after-pasting-sentence-expected.txt: Added.
- editing/spelling/spelling-markers-after-pasting-sentence.html: Added.
Tests that after pasting a sentence with misspelled words, those misspelled words will be marked as misspellings.
- platform/ios/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 5:50 PM Changeset in webkit [232529] by
-
- 2 edits in trunk/Tools
DataInteractionTests ContentEditableToTextarea and ContentEditableToContentEditable are failing on recent iOS 12
https://bugs.webkit.org/show_bug.cgi?id=186325
<rdar://problem/40527850>
Reviewed by Tim Horton.
Tweak these API tests so that they're robust against changes to how NSAttributedStrings are serialized in item
providers ("public.rtf" vs. "com.apple.flat-rtfd"). Across all versions of iOS, just verify that either rich
text type is present in the list of dragged type identifiers, and that the rich text type is placed at a higher
fidelity than plain text.
- TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(checkRichTextTypePrecedesPlainTextType):
(TestWebKitAPI::TEST):
(checkTypeIdentifierPrecedesOtherTypeIdentifier): Deleted.
- 5:18 PM Changeset in webkit [232528] by
-
- 13 edits1 delete in trunk/Source
[Cocoa] Retire DispatchPtr, and add more move semantics and simpler #ifs to other smart pointers
https://bugs.webkit.org/show_bug.cgi?id=186324
Reviewed by Anders Carlsson.
Source/WebCore:
- platform/FileMonitor.h: Use OSObjectPtr instead of DispatchPtr.
- platform/cocoa/FileMonitorCocoa.mm:
(WebCore::FileMonitor::FileMonitor): Ditto.
Source/WebKit:
- NetworkProcess/cache/NetworkCacheData.h: Use OSObjectPtr instead of
DispatchPtr and also use an rvalue reference in the constructor.
- NetworkProcess/cache/NetworkCacheDataCocoa.mm:
(WebKit::NetworkCache::Data::Data): Use adoptOSObject, rvalue reference
and WTFMove.
(WebKit::NetworkCache::Data::empty): Use OSObjectPtr.
(WebKit::NetworkCache::Data::data const): Use adoptOSObject.
(WebKit::NetworkCache::Data::subrange const): Ditto.
(WebKit::NetworkCache::concatenate): Ditto.
(WebKit::NetworkCache::Data::adoptMap): Ditto. Also use WTFMove.
- NetworkProcess/cache/NetworkCacheIOChannel.h: Use OSObjectPtr.
- NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:
(WebKit::NetworkCache::IOChannel::IOChannel): Use adoptOSObject.
(WebKit::NetworkCache::IOChannel::read): Use OSObjectPtr.
Source/WTF:
- WTF.xcodeproj/project.pbxproj: Removed DispatchPtr.h.
- wtf/BlockPtr.h: Remove unneeded checks for OBJC. Added some use
of WTFMove.
- wtf/CMakeLists.txt: Removed DispatchPtr.h.
- wtf/DispatchPtr.h: Removed. We no longer need to support Mavericks.
- wtf/OSObjectPtr.h: Remove unneeded checks for OBJC. Added some use
of WTFMove.
- 5:15 PM Changeset in webkit [232527] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, fix the macOS build with recent SDKs.
- page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::Highlight::paintContents):
- 4:31 PM Changeset in webkit [232526] by
-
- 21 edits16 adds in trunk
Adjust compile and runtime flags to match shippable state of features
https://bugs.webkit.org/show_bug.cgi?id=186319
<rdar://problem/40352045>
Reviewed by Maciej Stachowiak, Jon Lee, and others.
Source/JavaScriptCore:
This patch revises the compile time and runtime state for various features to match their
suitability for end-user releases.
- Configurations/DebugRelease.xcconfig: Update to match WebKit definition of
WK_RELOCATABLE_FRAMEWORKS so that ENABLE(EXPERIMENTAL_FEATURES) is defined properly for
Cocoa builds.
- Configurations/FeatureDefines.xcconfig: Don't build ENABLE_INPUT_TYPE_COLOR
or ENABLE_INPUT_TYPE_COLOR_POPOVER.
- runtime/Options.h: Only enable INTL_NUMBER_FORMAT_TO_PARTS and INTL_PLURAL_RULES
at runtime for non-production builds.
Source/WebCore:
- Configurations/FeatureDefines.xcconfig: Don't build ENABLE_INPUT_TYPE_COLOR
or ENABLE_INPUT_TYPE_COLOR_POPOVER.
Source/WebCore/PAL:
- Configurations/DebugRelease.xcconfig: Update to match WebKit definition of
WK_RELOCATABLE_FRAMEWORKS so that ENABLE(EXPERIMENTAL_FEATURES) is defined properly for
Cocoa builds.
- Configurations/FeatureDefines.xcconfig: Don't build ENABLE_INPUT_TYPE_COLOR
or ENABLE_INPUT_TYPE_COLOR_POPOVER.
Source/WebKit:
Change the default state of various experimental features so that they are off by default in production
builds, since they are still under development.
Turn 'CacheAPIEnabled' and 'SubresourceIntegrityEnabled' on by default, since both features have been
shipping for a full cycle and have proven to be stable in production.
- Configurations/FeatureDefines.xcconfig: Don't build ENABLE_INPUT_TYPE_COLOR
or ENABLE_INPUT_TYPE_COLOR_POPOVER.
- Shared/WebPreferences.yaml:
Source/WebKitLegacy/mac:
- Configurations/DebugRelease.xcconfig: Don't build ENABLE_INPUT_TYPE_COLOR
or ENABLE_INPUT_TYPE_COLOR_POPOVER.
- Configurations/FeatureDefines.xcconfig: Update to match WebKit definition of
WK_RELOCATABLE_FRAMEWORKS so that ENABLE(EXPERIMENTAL_FEATURES) is defined properly for
Cocoa builds.
Tools:
This patch revises the compile time and runtime state for various features to match their
suitability for end-user releases.
- TestWebKitAPI/Configurations/DebugRelease.xcconfig: Update to match WebKit definition of
WK_RELOCATABLE_FRAMEWORKS so that ENABLE(EXPERIMENTAL_FEATURES) is defined properly for
Cocoa builds.
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Don't build ENABLE_INPUT_TYPE_COLOR
or ENABLE_INPUT_TYPE_COLOR_POPOVER.
LayoutTests:
- platform/mac/TestExpectations:
- platform/mac/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt: Added.
- platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt: Added.
- platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt: Added.
- platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt: Added.
- platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt: Added.
- platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt: Added.
- platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt: Added.
- platform/mac/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt: Added.
- 3:57 PM Changeset in webkit [232525] by
-
- 6 edits in trunk/JSTests
Temporarily Skip JSC stress test failures that are consistently occurring.
https://bugs.webkit.org/show_bug.cgi?id=186283
Unreviewed test gardening.
Patch by David Fenton <david_fenton@apple.com> on 2018-06-05
- executableAllocationFuzz.yaml:
- slowMicrobenchmarks/default-derived-constructor.js:
- stress/put-direct-index-broken-2.js:
- stress/splay-flash-access.js:
- stress/spread-forward-call-varargs-stack-overflow.js:
- 3:41 PM Changeset in webkit [232524] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Tab picker is briefly visible when TabBar initially shown
https://bugs.webkit.org/show_bug.cgi?id=186317
Reviewed by Joseph Pecoraro.
- UserInterface/Views/TabBar.js:
(WI.TabBar): Picker should be initially hidden.
- 3:26 PM Changeset in webkit [232523] by
-
- 12 edits in trunk/Source
Clean up LocalDefaultSystemAppearance and prefers-dark-interface media query
https://bugs.webkit.org/show_bug.cgi?id=186323
rdar://problem/38382252
Reviewed by Tim Horton.
Source/WebCore:
- css/MediaFeatureNames.h:
- css/MediaQueryEvaluator.cpp:
(WebCore::prefersDarkInterfaceEvaluate):
(WebCore::defaultAppearanceEvaluate): Deleted.
- css/MediaQueryExpression.cpp:
(WebCore::featureWithValidIdent):
(WebCore::isFeatureValidWithoutValue):
- platform/mac/LocalDefaultSystemAppearance.mm:
(WebCore::LocalDefaultSystemAppearance::LocalDefaultSystemAppearance):
Source/WebKit:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _defaultAppearance]):
- UIProcess/API/mac/WKView.mm:
(-[WKView _defaultAppearance]):
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::useDefaultAppearance):
Source/WebKitLegacy/mac:
- WebView/WebView.mm:
(-[WebView _defaultAppearance]):
- 3:09 PM Changeset in webkit [232522] by
-
- 2 edits in trunk/Source/WebKit
[iOS] TestWebKitAPI.WebKit.WKHTTPCookieStoreWithoutProcessPool fails because cookies aren't flushed to file
https://bugs.webkit.org/show_bug.cgi?id=186303
<rdar://problem/40468716>
Reviewed by Geoffrey Garen.
No matter there is an observer or not, cookies in UI process should always be flushed to
file when new process pool is created, such that cookies created via API can be synced to
network process.
- UIProcess/API/APIHTTPCookieStore.cpp:
(API::HTTPCookieStore::HTTPCookieStore):
(API::HTTPCookieStore::registerObserver):
(API::HTTPCookieStore::cookieManagerDestroyed):
(API::HTTPCookieStore::registerForNewProcessPoolNotifications):
- 2:29 PM Changeset in webkit [232521] by
-
- 2 edits in trunk/Source/WebKit
secheuristic should only use touch began and ended, not changed.
https://bugs.webkit.org/show_bug.cgi?id=186318
rdar://problem/39781486
Patch by Jeremy Jones <jeremyj@apple.com> on 2018-06-05
Reviewed by Jer Noble.
Filter out change events so swiping gestures don't trigger the heuristic.
- UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
(-[WKFullScreenViewController _touchDetected:]):
- 1:58 PM Changeset in webkit [232520] by
-
- 49 edits in trunk/Source
[Cocoa] More preparation for ARC, focusing on WebKit and smart pointers
https://bugs.webkit.org/show_bug.cgi?id=186314
Reviewed by Anders Carlsson.
Source/WebKit:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa): Use bridge for cast.
- NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::overrideSystemProxies): Ditto.
(WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost): Ditto.
- Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::sendMessage): Ditto.
(IPC::readFromMachPort): Ditto.
- Platform/mac/StringUtilities.mm:
(WebKit::formattedPhoneNumberString): Use bridge for cast and
CFBridgingRelease instead of an explicit autorelease.
- Shared/API/Cocoa/_WKRemoteObjectInterface.mm:
(initializeMethods): Use auto instead of an explicit type so that we get
the correct type for the result of protocol_copyProtocolList.
- Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
(-[_WKRemoteObjectRegistry _sendInvocation:interface:]): Added a
bridging cast to void* because that's needed to call _Block_signature
under ARC and harmless outside ARC.
- Shared/API/c/cf/WKStringCF.mm:
(WKStringCreateWithCFString): Use bridge for cast.
- Shared/API/c/cf/WKURLCF.mm:
(WKURLCreateWithCFURL): Ditto.
- Shared/Authentication/cocoa/AuthenticationManagerCocoa.mm:
(WebKit::AuthenticationManager::initializeConnection): Ditto.
- Shared/Cocoa/DataDetectionResult.mm:
(WebKit::DataDetectionResult::encode const): Ditto.
(WebKit::DataDetectionResult::decode): Ditto.
- Shared/Cocoa/WKNSError.mm:
(-[WKNSError _web_createTarget]): Ditto.
- Shared/Cocoa/WKNSURLExtras.mm:
(-[NSURL _web_originalDataAsWTFString]): Ditto.
- Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
(WebKit::XPCServiceInitializer): Removed balanced calls to both
adoptOSObject and xpc_retain and instead rely on the assignment
operator just added to OSObjectPtr.
- Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
(WebKit::XPCServiceEventHandler): Use bridge for cast.
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer): Ditto.
- Shared/cf/ArgumentCodersCF.cpp:
(IPC::decode): Ditto.
- Shared/mac/ArgumentCodersMac.mm:
(IPC::isSerializableValue): Ditto.
(IPC::encode): Ditto.
- Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::encodeNSError): Ditto. Also use CFSTR("")" instead of @""
when we need a CFString.
(IPC::decodeNSError): Ditto.
(IPC::ArgumentCoder<ProtectionSpace>::encodePlatformData): Ditto.
(IPC::ArgumentCoder<ProtectionSpace>::decodePlatformData): Ditto.
(IPC::ArgumentCoder<Credential>::encodePlatformData): Ditto.
(IPC::ArgumentCoder<Credential>::decodePlatformData): Ditto.
(IPC::ArgumentCoder<ContentFilterUnblockHandler>::encode): Ditto.
(IPC::ArgumentCoder<ContentFilterUnblockHandler>::decode): Ditto.
(IPC::ArgumentCoder<MediaPlaybackTargetContext>::encodePlatformData): Ditto.
(IPC::ArgumentCoder<MediaPlaybackTargetContext>::decodePlatformData): Ditto.
- Shared/mac/WebHitTestResultData.mm:
(WebKit::WebHitTestResultData::platformEncode const): Ditto.
(WebKit::WebHitTestResultData::platformDecode): Ditto.
- UIProcess/API/C/mac/WKContextPrivateMac.mm:
(WKContextIsPlugInUpdateAvailable): Ditto.
- UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController certificateChain]): Ditto.
(didStartProvisionalLoadForFrame): Ditto.
(didReceiveServerRedirectForProvisionalLoadForFrame): Ditto.
(didFailProvisionalLoadWithErrorForFrame): Ditto.
(didCommitLoadForFrame): Ditto.
(didFinishLoadForFrame): Ditto.
(didFailLoadWithErrorForFrame): Ditto.
(canAuthenticateAgainstProtectionSpaceInFrame): Ditto.
(didReceiveAuthenticationChallengeInFrame): Ditto.
(didStartProgress): Ditto.
(didChangeProgress): Ditto.
(didFinishProgress): Ditto.
(didChangeBackForwardList): Ditto.
(processDidCrash): Ditto.
(setUpPageLoaderClient): Ditto.
(setUpPagePolicyClient): Ditto.
- UIProcess/API/Cocoa/WKBrowsingContextGroup.mm:
(createWKArray): Ditto.
(-[WKBrowsingContextGroup addUserStyleSheet:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:mainFrameOnly:]): Ditto.
(-[WKBrowsingContextGroup addUserScript:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:injectionTime:mainFrameOnly:]): Ditto.
- UIProcess/API/Cocoa/WKConnection.mm:
(didReceiveMessage): Ditto.
(didClose): Ditto.
(setUpClient): Ditto.
- UIProcess/API/Cocoa/WKProcessGroup.mm:
(didCreateConnection): Ditto.
(getInjectedBundleInitializationUserData): Ditto.
(setUpInjectedBundleClient): Ditto.
(-[WKProcessGroup _setAllowsSpecificHTTPSCertificate:forHost:]): Ditto.
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _setAllowsSpecificHTTPSCertificate:forHost:]): Ditto.
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _setProxyConfiguration:]): Ditto.
(-[WKWebsiteDataStore _proxyConfiguration]): Ditto.
- UIProcess/API/Cocoa/_WKThumbnailView.mm:
(-[_WKThumbnailView _didTakeSnapshot:]): Ditto.
- UIProcess/API/Cocoa/_WKUserContentFilter.mm: Added a missing include.
- UIProcess/Authentication/mac/WebCredentialMac.mm:
(WebKit::chain): Use bridge for cast.
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::legacyPlatformDefaultNetworkCacheDirectory):
Use CFBridgingRelease instead of adoptNS.
(WebKit::privateBrowsingSession): Use bridge for cast.
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::provideDataForPasteboard): Use bridge for cast.
- UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
(WebKit::PluginInfoStore::pluginPathsInDirectory): Ditto.
- UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:
(WebKit::recursivelyMapIOSurfaceBackingStore): Ditto.
- UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::beginSwipeGesture): Ditto.
- UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController enterFullScreen:]): Ditto.
- UIProcess/mac/WebPopupMenuProxyMac.mm:
(WebKit::WebPopupMenuProxyMac::showPopupMenu): Ditto.
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
(didCreatePage): Ditto.
(willDestroyPage): Ditto.
(setUpBundleClient): Ditto.
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(didStartProvisionalLoadForFrame): Ditto.
(didReceiveServerRedirectForProvisionalLoadForFrame): Ditto.
(didFinishLoadForFrame): Ditto.
(globalObjectIsAvailableForFrame): Ditto.
(didRemoveFrameFromHierarchy): Ditto.
(didCommitLoadForFrame): Ditto.
(didFinishDocumentLoadForFrame): Ditto.
(didFailProvisionalLoadWithErrorForFrame): Ditto.
(didFailLoadWithErrorForFrame): Ditto.
(didSameDocumentNavigationForFrame): Ditto.
(didLayoutForFrame): Ditto.
(didReachLayoutMilestone): Ditto.
(didFirstVisuallyNonEmptyLayoutForFrame): Ditto.
(didHandleOnloadEventsForFrame): Ditto.
(userAgentForURL): Ditto.
(setUpPageLoaderClient): Ditto.
(willSendRequestForFrame): Ditto.
(didInitiateLoadForResource): Ditto.
(didFinishLoadForResource): Ditto.
(didFailLoadForResource): Ditto.
(setUpResourceLoadClient): Ditto.
- WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
(WebKit::InjectedBundle::initialize): Ditto.
- WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
(WebKit::NetscapePlugin::popUpContextMenu): Ditto.
- WebProcess/Plugins/PDF/PDFPlugin.h: Put functions that return NSData inside
an #ifdef OBJC and use bridge for cast.
- WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
(WebKit::WebDragClient::declareAndWriteDragImage): Use bridge for cast.
- WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteCustom.mm:
(WebKit::PlatformCALayerRemoteCustom::contents const): Added a bridging cast.
(WebKit::PlatformCALayerRemoteCustom::setContents): Use bridge for cast.
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom): Ditto.
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::setTopOverhangImage): Ditto.
(WebKit::WebPage::setBottomOverhangImage): Ditto.
Source/WTF:
- wtf/BlockPtr.h: Put Block_copy/release calls into #if since they are
not needed under ARC.
- wtf/OSObjectPtr.h: Added constructor and assignment operator so we can
work with OS objects without adopting them.
- 12:13 PM Changeset in webkit [232519] by
-
- 14 edits in trunk/Source
[Cocoa] Improve some soft linking compatibility with ARC
https://bugs.webkit.org/show_bug.cgi?id=186309
Reviewed by Anders Carlsson.
Source/WebCore:
- platform/audio/ios/AudioSessionIOS.mm: Use SOFT_LINK_CONSTANT instead of SOFT_LINK_POINTER
for NSString constants.
- platform/audio/ios/MediaSessionManagerIOS.mm: Ditto.
- platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm: Ditto.
- platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm: Ditto.
- platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm: Ditto.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::synchronizeTextTrackState): Use bridge for
some bridging casts.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateLastImage): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::processCue): Ditto.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm: Use
SOFT_LINK_CONSTANT instead of SOFT_LINK_POINTER for NSString constants.
- platform/mediastream/ios/CoreAudioCaptureSourceIOS.mm: Ditto.
- platform/mediastream/mac/AVCaptureDeviceManager.mm: Ditto.
- platform/mediastream/mac/AVMediaCaptureSource.mm: Ditto.
- platform/mediastream/mac/AVVideoCaptureSource.mm: Ditto.
Source/WTF:
- wtf/cocoa/SoftLinking.h: Updated the SOFT_LINK_CONSTANT family of
macros to use a const type. This increases the chance that they will
work without triggering ARC compilation errors since it's easier to
get the type right for read-only access than for read/write.
- 12:07 PM Changeset in webkit [232518] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Text in "Add New Class" in auto-capitalizes
https://bugs.webkit.org/show_bug.cgi?id=186311
Reviewed by Matt Baker.
Disable spellcheck to prevent auto-capitalization.
- UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
(WI.GeneralStyleDetailsSidebarPanel.prototype.initialLayout):
- 11:54 AM Changeset in webkit [232517] by
-
- 2 edits in trunk/Tools
run-testmem should have a dry run option and an option to parse the stdout of executing the dry run
https://bugs.webkit.org/show_bug.cgi?id=186293
Reviewed by Mark Lam.
This makes it easier to execute run-testmem on a device that doesn't have ruby
on it. run-testmem now has a --dry option that will output commands to execute
in bash. To run on a device that doesn't have ruby, just put its output into
a bash script, and copy the PerformanceTests/testmem directory onto that device,
and execute the bash script. Running that bash script will give you raw output.
Make a file with that output and pass it into run-testmem using the --parse option.
run-testmem will parse the raw output and compute the benchmark score.
- Scripts/run-testmem:
- 11:50 AM Changeset in webkit [232516] by
-
- 37 edits5 adds in trunk
ServiceWorker registration should store any script fetched through importScripts
https://bugs.webkit.org/show_bug.cgi?id=182444
<rdar://problem/37164835>
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/service-workers/service-worker/registration-mime-types.https-expected.txt:
Source/WebCore:
Covered by added test http/wpt/service-workers/persistent-importScripts.html.
Update importScripts implementation to look for/update the resource map in case of service worker scope.
This resource map is stored persistently and sent when running the service worker.
Add support to persistent storage of this resource map.
This requires updating the schema database.
The schema version is bumped to 2 and we delete any data related to old registrations.
When updating the service worker, the resource map is currently flushed so that all scripts will be retrieved from the network.
Did some limited refactoring to put more loading handling in WorkerScriptLoader.
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::importScripts):
- workers/WorkerScriptLoader.cpp:
(WebCore::WorkerScriptLoader::loadSynchronously):
(WebCore::WorkerScriptLoader::script):
- workers/WorkerScriptLoader.h:
- workers/service/ServiceWorkerContextData.cpp:
(WebCore::ServiceWorkerContextData::isolatedCopy const):
- workers/service/ServiceWorkerContextData.h:
(WebCore::ServiceWorkerContextData::ImportedScript::isolatedCopy const):
(WebCore::ServiceWorkerContextData::ImportedScript::encode const):
(WebCore::ServiceWorkerContextData::ImportedScript::decode):
(WebCore::ServiceWorkerContextData::encode const):
(WebCore::ServiceWorkerContextData::decode):
- workers/service/ServiceWorkerGlobalScope.cpp:
(WebCore::ServiceWorkerGlobalScope::scriptResource const):
(WebCore::ServiceWorkerGlobalScope::setScriptResource):
- workers/service/ServiceWorkerGlobalScope.h:
- workers/service/context/SWContextManager.h:
- workers/service/server/RegistrationDatabase.cpp:
(WebCore::v1RecordsTableSchema):
(WebCore::RegistrationDatabase::doPushChanges):
(WebCore::RegistrationDatabase::importRecords):
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::addRegistrationFromStore):
(WebCore::SWServer::updateWorker):
(WebCore::SWServer::installContextData):
- workers/service/server/SWServer.h:
- workers/service/server/SWServerJobQueue.cpp:
(WebCore::SWServerJobQueue::scriptFetchFinished):
- workers/service/server/SWServerToContextConnection.cpp:
(WebCore::SWServerToContextConnection::setScriptResource):
- workers/service/server/SWServerToContextConnection.h:
- workers/service/server/SWServerWorker.cpp:
(WebCore::SWServerWorker::SWServerWorker):
(WebCore::m_scriptResourceMap):
(WebCore::SWServerWorker::contextData const):
(WebCore::SWServerWorker::setScriptResource):
- workers/service/server/SWServerWorker.h:
Source/WebKit:
Add C API to kill storage process.
In case a Storage Process is closed or crashed, ensure that all its related service worker processes also exit.
- StorageProcess/ServiceWorker/WebSWServerToContextConnection.messages.in:
- UIProcess/API/C/WKContext.cpp:
(WKContextTerminateStorageProcess):
- UIProcess/API/C/WKContextPrivate.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::webToStorageProcessConnectionClosed):
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::setScriptResource):
- WebProcess/Storage/WebSWContextManagerConnection.h:
Source/WTF:
- wtf/persistence/PersistentCoders.h:
Tools:
Add support to crash the storage process from Internals.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::terminateStorageProcess):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::terminateStorageProcess):
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
LayoutTests:
- http/wpt/service-workers/persistent-importScripts-expected.txt: Added.
- http/wpt/service-workers/persistent-importScripts.html: Added.
- http/wpt/service-workers/resources/persistent-importScripts-script.py: Added.
- http/wpt/service-workers/resources/persistent-importScripts-worker.js: Added.
- http/wpt/service-workers/resources/routines.js: Added.
- 11:14 AM Changeset in webkit [232515] by
-
- 13 edits in trunk
Revise DEFAULT_EXPERIMENTAL_FEATURES_ENABLED to work properly on Apple builds
https://bugs.webkit.org/show_bug.cgi?id=186286
<rdar://problem/40782992>
Reviewed by Dan Bernstein.
Use the WK_RELOCATABLE_FRAMEWORKS flag (which is always defined for non-production builds)
to define ENABLE(EXPERIMENTAL_FEATURES) so that we do not need to manually
change this flag when preparing for a production release.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig: Use WK_RELOCATABLE_FRAMEWORKS to determine
whether experimental features should be enabled, and use it to properly define the
feature flag.
Source/WebCore:
- Configurations/FeatureDefines.xcconfig: Use WK_RELOCATABLE_FRAMEWORKS to determine
whether experimental features should be enabled, and use it to properly define the
feature flag.
Source/WebCore/PAL:
- Configurations/FeatureDefines.xcconfig: Use WK_RELOCATABLE_FRAMEWORKS to determine
whether experimental features should be enabled, and use it to properly define the
feature flag.
Source/WebKit:
- Configurations/FeatureDefines.xcconfig: Use WK_RELOCATABLE_FRAMEWORKS to determine whether
experimental features should be enabled, and use it to properly define the feature flag.
- Shared/WebPreferencesDefaultValues.h:
Source/WebKitLegacy/mac:
- Configurations/FeatureDefines.xcconfig: Use WK_RELOCATABLE_FRAMEWORKS to determine
whether experimental features should be enabled, and use it to properly define the
feature flag.
Tools:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Use WK_RELOCATABLE_FRAMEWORKS to
determine whether experimental features should be enabled, and use it to properly define
the feature flag.
- 11:06 AM Changeset in webkit [232514] by
-
- 1 edit2 adds in trunk/Tools
Add a grammar (in antlr4 format) to the WSL spec.
https://bugs.webkit.org/show_bug.cgi?id=186310
Rubberstamped by Filip Pizlo
It is just the raw rules, without much comments and no typesetting.
Compiles to any of Java/JS/C++/etc.. with antlr4 (requires a JDK)
It does not exactly match the parser of the current js implementation of WSL, it:
- Accepts negative literals
- Reserves keywords fallthrough/auto
- Refuses '_' as a valid identifier
- Accepts several capitalizations for Null/True/False
- Accepts variable declarations at the top-level
- Correctly parses ternary expressions
- Forbids empty extension list for protocols
- Does not allow a space between 'and' in type suffixes
- Correctly parses nested generics
- Accepts a 'fallthrough;' statement (for switches)
- Refuses chained relational operator (e.g. x < y < z)
- Generally a completely different structure for parsing effectful expressions, although it probably accepts about the same language
- Currently only accepts literals and identifiers as constexpr (while the js parser accepts way too much, including '(x += 42)')
There are probably more differences that I missed. The js parser will probably have to be mostly rewritten to follow the spec more closely (and fix all the bugs).
I will try to see if it can be automatically derived from the antlr4 grammar.
- WebGPUShadingLanguageRI/SpecWork/WSL.g4: Added.
- 10:25 AM Changeset in webkit [232513] by
-
- 4 edits in trunk/Source/JavaScriptCore
[Cocoa] Update some JavaScriptCore code to be more ready for ARC
https://bugs.webkit.org/show_bug.cgi?id=186301
Reviewed by Anders Carlsson.
- API/JSContext.mm:
(-[JSContext evaluateScript:withSourceURL:]): Use bridge for typecast.
(-[JSContext setName:]): Removed unnecessary call to copy, since the
JSStringCreateWithCFString function already reads the characters out
of the string and does not retain the string, so there is no need to
make an immutable copy. And used bridge for typecast.
- inspector/remote/cocoa/RemoteInspectorCocoa.mm:
(Inspector::RemoteInspector::receivedProxyApplicationSetupMessage):
Ditto.
- inspector/remote/cocoa/RemoteInspectorXPCConnection.mm:
(Inspector::RemoteInspectorXPCConnection::deserializeMessage):
Use CFBridgingRelease instead of autorelease for a CF dictionary that
we return as an NSDictionary.
- 9:28 AM Changeset in webkit [232512] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix after r232511.
https://bugs.webkit.org/show_bug.cgi?id=186304
- platform/ios/WebItemProviderPasteboard.mm: Add missing include.
- 9:16 AM Changeset in webkit [232511] by
-
- 8 edits in trunk/Source/WebCore
Fix the iOS build after r232496
https://bugs.webkit.org/show_bug.cgi?id=186304
Patch by Antoine Quint <Antoine Quint> on 2018-06-05
Reviewed by Brent Fulgham.
The changes in r232496 changed the InputType::element() signature from HTMLInputElement&
to HTMLInputElement* and some call sites did not expect that.
- html/BaseChooserOnlyDateAndTimeInputType.cpp:
(WebCore::BaseChooserOnlyDateAndTimeInputType::handleDOMActivateEvent):
(WebCore::BaseChooserOnlyDateAndTimeInputType::createShadowSubtree):
(WebCore::BaseChooserOnlyDateAndTimeInputType::updateInnerTextValue):
(WebCore::BaseChooserOnlyDateAndTimeInputType::didChooseValue):
(WebCore::BaseChooserOnlyDateAndTimeInputType::handleKeydownEvent):
(WebCore::BaseChooserOnlyDateAndTimeInputType::handleKeypressEvent):
(WebCore::BaseChooserOnlyDateAndTimeInputType::accessKeyAction):
(WebCore::BaseChooserOnlyDateAndTimeInputType::isMouseFocusable const):
- html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::setValueAsDate const):
(WebCore::BaseDateAndTimeInputType::valueAsDouble const):
(WebCore::BaseDateAndTimeInputType::setValueAsDecimal const):
(WebCore::BaseDateAndTimeInputType::typeMismatch const):
(WebCore::BaseDateAndTimeInputType::serializeWithComponents const):
(WebCore::BaseDateAndTimeInputType::localizeValue const):
(WebCore::BaseDateAndTimeInputType::visibleValue const):
(WebCore::BaseDateAndTimeInputType::valueMissing const):
(WebCore::BaseDateAndTimeInputType::isKeyboardFocusable const):
- html/DateInputType.cpp:
(WebCore::DateInputType::createStepRange const):
- html/DateTimeLocalInputType.cpp:
(WebCore::DateTimeLocalInputType::createStepRange const):
- html/MonthInputType.cpp:
(WebCore::MonthInputType::valueAsDate const):
(WebCore::MonthInputType::createStepRange const):
- html/TimeInputType.cpp:
(WebCore::TimeInputType::createStepRange const):
- html/WeekInputType.cpp:
(WebCore::WeekInputType::createStepRange const):
- 9:14 AM Changeset in webkit [232510] by
-
- 27 edits in trunk/Source
Simplify and remove some unused video element code (helpful for ARC-compatibility)
https://bugs.webkit.org/show_bug.cgi?id=186258
Reviewed by Daniel Bates.
Source/WebCore:
My main mission was to remove the PlatformMedia struct, which had a union
of Objective-C object pointers in it, which doesn't work in ARC. However, I
found some other unused code to remove and simple mistakes to fix.
- Modules/mediasource/VideoPlaybackQuality.cpp:
(WebCore::VideoPlaybackQuality::create): Use unsigned instead of unsigned long,
since IDL "unsigned long" really means unsigned.
(WebCore::VideoPlaybackQuality::VideoPlaybackQuality): Ditto.
- Modules/mediasource/VideoPlaybackQuality.h: Updated for the above.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::platformMedia const): Deleted.
- html/HTMLMediaElement.h: Updated for the above.
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::MediaPlayer): Moved initialization of many data members
to the class definition.
(WebCore::MediaPlayer::load): Use nullptr instead of 0.
(WebCore::MediaPlayer::platformMedia const): Deleted.
(WebCore::MediaPlayer::videoPlaybackQualityMetrics): Updated name of return type.
(WebCore::MediaPlayer::objCAVFoundationAVPlayer const): Added. Replaces
platformMedia for the one case where it was being used.
- platform/graphics/MediaPlayer.h: Removed unneeded includes. Re-sorted things.
Updated for the above. Removed PlatformMedia struct and NoPlatformMedia constant.
Removed explicit constructor in MediaEngineSupportParameters. Renamed
PlatformVideoPlaybackQualityMetrics struct to VideoPlaybackQualityMetrics,
removed its constructor, and changed types from unsigned long to unsigned.
Un-nested #if statements. Removed some Chromium-specific comments.
- platform/graphics/MediaPlayerPrivate.h: Removed unneeded includes and
forward declarations. Removed platformMedia. Updated return type for
videoPlaybackQualityMetrics. Added objCAVFoundationAVPlayer.
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
Removed platformMedia.
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::platformMedia const): Deleted.
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
Updated for the above.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
Added override of objCAVFoundationAVPlayer. Removed platformMedia.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformMedia const): Deleted.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
Removed platformMedia. Updated return type for videoPlaybackQualityMetrics.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::platformMedia const): Deleted.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::videoPlaybackQualityMetrics):
Updated return type, changed to use aggregate initialization instead of
calling a constructor, and added casts to unsigned.
- platform/graphics/cocoa/WebCoreDecompressionSession.h: Switched from
unsigned long to unsigned for frame counts and from long to int for
quality of service tier.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::platformMedia): Deleted.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
Updated for the above.
- platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:
Removed videoPlaybackQualityMetrics since it was overriding a derived function
without changing its behavior, and the type has changed.
- platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
(WebCore::MockMediaPlayerMediaSource::load): Pass two references.
(WebCore::MockMediaPlayerMediaSource::videoPlaybackQualityMetrics):
Updated return type.
- platform/mock/mediasource/MockMediaPlayerMediaSource.h: Updated for the above.
- platform/mock/mediasource/MockMediaSourcePrivate.cpp:
(WebCore::MockMediaSourcePrivate::create): Return a Ref, take references.
(WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate): Moved most data
member initialization into the class definition. Take references.
(WebCore::MockMediaSourcePrivate::~MockMediaSourcePrivate): Use a modern for loop.
(WebCore::MockMediaSourcePrivate::durationChanged): Update since m_player is a
reference.
(WebCore::MockMediaSourcePrivate::markEndOfStream): Ditto.
(WebCore::MockMediaSourcePrivate::readyState): Ditto.
(WebCore::MockMediaSourcePrivate::setReadyState): Ditto.
(WebCore::MockMediaSourcePrivate::waitForSeekCompleted): Ditto.
(WebCore::MockMediaSourcePrivate::seekCompleted): Ditto.
(WebCore::MockMediaSourcePrivate::removeSourceBuffer): Use Vector::removeFirst
instead of find/remove pairs.
(WebCore::MockMediaSourcePrivate::sourceBufferPrivateDidChangeActiveState): Ditto.
(WebCore::MockMediaSourcePrivate::seekToTime): Use modern for loop.
(WebCore::MockMediaSourcePrivate::videoPlaybackQualityMetrics): Updated return
type, changed to use aggregate initialization instead of calling a constructor.
- platform/mock/mediasource/MockMediaSourcePrivate.h: Updated for the above.
- platform/mock/mediasource/MockSourceBufferPrivate.cpp:
(WebCore::MockSourceBufferPrivate::readyState): Updated since player is now
a reference.
(WebCore::MockSourceBufferPrivate::setReadyState): Ditto.
Source/WebKitLegacy/mac:
- WebView/WebVideoFullscreenController.h: Removed some unneeded includes and
forward declarations. Removed methods that don't need to be public.
- WebView/WebVideoFullscreenController.mm: Added additional includes. Removed
#if COMPILER(CLANG) since that's all we use on Mac. Moved fields into an
unnamed category in here and also replaced the HUDWindowControllerDelegate
with the unnamed category. Removed unused NSWindow category defining the
isOnActiveSpace, which is not called anywhere in this file at this time.
(-[WebVideoFullscreenController setupVideoOverlay:]): Deleted. Moved the code
into setVideoElement.
(-[WebVideoFullscreenController windowDidLoad]): Slightly rearranged the code
and removed unneeded typecast.
(-[WebVideoFullscreenController videoElement]): Updated to not rely on a
using statement at the top of the file.
(-[WebVideoFullscreenController setVideoElement:]): Added a comment about
the many side effects and special considerations that this method that sounds
like a setter has. Updated code to use the new
MediaPlayer::objCAVFoundationAVPlayer function instead of the old
HTMLVideoElement::platformMedia function. Also straightened out the logic a
bit and added some FIXME comments about small problems noticed but not fixed.
(-[WebVideoFullscreenController delegate]): Deleted. Was never called.
(-[WebVideoFullscreenController setDelegate:]): Deleted. Was never called.
(-[WebVideoFullscreenController windowDidExitFullscreen]): Removed unneeded
typecast. Removed call to updatePowerAssertions method.
(-[WebVideoFullscreenController windowDidEnterFullscreen]): Removed call to
updatePowerAssertions method.
(-[WebVideoFullscreenController updatePowerAssertions]): Deleted. This method
set _displaySleepEnabler to nullptr, but nothing was ever setting it to anything
else, so this was dead code that did nothing.
(-[WebVideoFullscreenController rateChanged:]): Removed call to
updatePowerAssertions method.
- 9:12 AM Changeset in webkit [232509] by
-
- 6 edits in trunk/Source
[Cocoa] Improve smart pointer support for ARC (OSObjectPtr/DispatchPtr)
https://bugs.webkit.org/show_bug.cgi?id=186300
Reviewed by Daniel Bates.
Source/WebCore:
- platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm: Removed unnecessary
include of OSObjectPtr.h.
- platform/ios/WebItemProviderPasteboard.mm: Ditto.
Source/WTF:
- wtf/DispatchPtr.h: Don't call dispatch_retain or dispatch_release
since ARC will automatically do it for us in the same places we are
doing it here.
- wtf/OSObjectPtr.h:
(WTF::retainOSObject): Don't call os_retain since ARC will do it.
(WTF::releaseOSObject): Don't call os_release since ARC will do it.
- 8:55 AM Changeset in webkit [232508] by
-
- 17 edits in trunk
AX: Implement support for new blockquote, caption, and paragraph ARIA roles
https://bugs.webkit.org/show_bug.cgi?id=186274
Reviewed by Chris Fleizach.
Source/WebCore:
Add the three new ARIA roles to the internal rolemap so that they are treated in
the same fashion as their HTML element counterparts. Also ensure that an element
with an explicit caption role does not get pruned from the macOS accessibility tree.
No new tests. Instead add the roles to the existing role-exposure tests.
- accessibility/AccessibilityObject.cpp:
(WebCore::initializeRoleMap):
- accessibility/mac/AccessibilityObjectMac.mm:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject const):
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(createAccessibilityRoleMap):
LayoutTests:
Add the three ARIA roles to the existing role-exposure tests and update
expectations accordingly. Also update several additional GTK tests because
the mapping of these ARIA roles results in new object attributes appearing
for native HTML blockquote, paragraph, and caption elements.
- accessibility/gtk/object-attributes-expected.txt:
- accessibility/gtk/xml-roles-exposed-expected.txt:
- accessibility/gtk/xml-roles-exposed.html:
- accessibility/roles-computedRoleString-expected.txt:
- accessibility/roles-computedRoleString.html:
- accessibility/roles-exposed.html:
- inspector/dom/hideHighlight-expected.txt:
- platform/gtk/accessibility/roles-computedRoleString-expected.txt:
- platform/gtk/accessibility/roles-exposed-expected.txt:
- platform/gtk/accessibility/table-one-cell-expected.txt:
- platform/mac/accessibility/roles-computedRoleString-expected.txt:
- platform/mac/accessibility/roles-exposed-expected.txt:
- 7:05 AM Changeset in webkit [232507] by
-
- 3 edits in trunk/Source/WebCore
[LFC] Merge width and margin computation for block-level, replaced elements in normal flow
https://bugs.webkit.org/show_bug.cgi?id=186270
Reviewed by Sam Weinig.
https://www.w3.org/TR/CSS22/visudet.html#block-replaced-width
10.3.4 Block-level, replaced elements in normal flow
The used value of 'width' is determined as for inline replaced elements.
Then the rules for non-replaced block-level elements are applied to determine the margins.
- layout/blockformatting/BlockFormattingContext.h:
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowWidthAndMargin):
- 2:18 AM Changeset in webkit [232506] by
-
- 3 edits in trunk/Tools
import-w3c-tests should rely on <meta name="flags"> to detect CSS manual tests
https://bugs.webkit.org/show_bug.cgi?id=186261
Patch by Frederic Wang <fwang@igalia.com> on 2018-06-04
Reviewed by Youenn Fablet.
- Scripts/webkitpy/w3c/test_parser.py:
(TestParser.is_wpt_manualtest): Add code to detect whether a file is a manual test
from its <meta name="flags"> tags. This is based on SourceFile::content_is_css_manual from
the WPT repository.
- Scripts/webkitpy/w3c/test_parser_unittest.py: Add a test to verify whether files with
<meta name="flags"> are manual or non-manual according to CSS WG rules.