Timeline
Oct 16, 2018:
- 9:16 PM Changeset in webkit [237215] by
-
- 2 edits in trunk/Source/JavaScriptCore
GetIndexedPropertyStorage can GC.
https://bugs.webkit.org/show_bug.cgi?id=190625
<rdar://problem/45309366>
Reviewed by Saam Barati.
This is because if the ArrayMode type is String, the DFG and FTL will be emitting
a call to operationResolveRope, and operationResolveRope can GC. This patch
updates doesGC() to reflect this.
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- 8:01 PM Changeset in webkit [237214] by
-
- 8 edits2 deletes in trunk/Source/JavaScriptCore
Unreviewed, rolling out r237188, r237189, and r237197.
It breaks WinCairo Debug builds and Release LayoutTests
Reverted changesets:
https://bugs.webkit.org/show_bug.cgi?id=189708
https://trac.webkit.org/changeset/237188
"Unreviewed, forgot to add untracked files."
https://trac.webkit.org/changeset/237189
"isASTErroneous in offlineasm should de-macroify before
looking for Errors"
https://bugs.webkit.org/show_bug.cgi?id=190634
https://trac.webkit.org/changeset/237197
- 7:19 PM Changeset in webkit [237213] by
-
- 2 edits in trunk/Source/WebKit
[GTK][WPE] Fix xdg-desktop-portal permissions from a sandbox
https://bugs.webkit.org/show_bug.cgi?id=190619
Patch by Patrick Griffis <Patrick Griffis> on 2018-10-16
Reviewed by Michael Catanzaro.
We have to generate a /.flatpak-info file for xdg-desktop-portal
to properly treat us as a sandboxed application.
- UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::createSealedMemFdWithData):
(WebKit::argsToFd):
(WebKit::XDGDBusProxyLauncher::setPermissions):
(WebKit::createFlatpakInfo):
(WebKit::bubblewrapSpawn):
- 6:53 PM Changeset in webkit [237212] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: ⌃G to jump to line in CSS file wipes the line
https://bugs.webkit.org/show_bug.cgi?id=190645
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-10-16
Reviewed by Devin Rousso.
- UserInterface/Base/Main.js:
- UserInterface/Views/Dialog.js:
(WI.Dialog.prototype.dismiss):
- UserInterface/Views/SourceCodeTextEditor.js:
(WI.SourceCodeTextEditor.prototype.dialogWasDismissed): Deleted.
Rename the handler when dismissing a dialog with a value so that
it is clear this is only on a successful value and not an invalid value.
Dialog now only calls this delegate with a valid value. This addresses
exceptions seen when the GoToLineDialog was dimissed via Escape and
an unexpectednull
value was being handled in the delegate.
- UserInterface/Views/GoToLineDialog.js:
(WI.GoToLineDialog.prototype._handleKeydownEvent):
- UserInterface/Views/OpenResourceDialog.js:
(WI.OpenResourceDialog.prototype._handleKeydownEvent):
Prevent default on the event whenever we dismiss the dialog.
Without this, the key event was also being sent to the editor.
In this case, that meant an "Enter" key was replacing the new
selection in the TextEditor with a newline!
- 5:27 PM Changeset in webkit [237211] by
-
- 4 edits2 adds in trunk
Regression(r236795) Check boxes are sometimes checked when they should not be
https://bugs.webkit.org/show_bug.cgi?id=190651
<rdar://problem/45319934>
Reviewed by Ryosuke Niwa.
Source/WebCore:
r236795 mistakenly dropped the statement resetting m_reflectsCheckedAttribute to true
in HTMLInputElement::parseAttribute() because it looked like a no-op given that we
made sure it was true a couple of line above. However, I overlooked that calling
HTMLInputElement::setChecked() sets m_reflectsCheckedAttribute to false.
This patch thus re-introduces the statement. It also renames m_reflectsCheckedAttribute
to m_dirtyCheckednessFlag and reverses its value in order to match the specification
more closely:
Test: fast/dom/HTMLInputElement/checkbox-dirty-checkedness-flag.html
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement):
(WebCore::HTMLInputElement::parseAttribute):
(WebCore::HTMLInputElement::finishParsingChildren):
(WebCore::HTMLInputElement::reset):
(WebCore::HTMLInputElement::setChecked):
(WebCore::HTMLInputElement::copyNonAttributePropertiesFromElement):
- html/HTMLInputElement.h:
LayoutTests:
Add layout test coverage.
- fast/dom/HTMLInputElement/checkbox-dirty-checkedness-flag-expected.txt: Added.
- fast/dom/HTMLInputElement/checkbox-dirty-checkedness-flag.html: Added.
- 4:59 PM Changeset in webkit [237210] by
-
- 14 edits in trunk
Add a switch for Web SQL
https://bugs.webkit.org/show_bug.cgi?id=190271
Reviewed by Ryosuke Niwa.
Source/WebCore:
Web SQL is still enabled by default.
- Modules/webdatabase/DOMWindowWebDatabase.idl:
- Modules/webdatabase/Database.idl:
- Modules/webdatabase/SQLError.idl:
- Modules/webdatabase/SQLResultSet.idl:
- Modules/webdatabase/SQLResultSetRowList.idl:
- bindings/js/WebCoreBuiltinNames.h:
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setWebSQLDisabled):
(WebCore::RuntimeEnabledFeatures::webSQLEnabled const):
Source/WebKit:
- Shared/WebPreferences.yaml:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetWebSQLDisabled):
(WKPreferencesGetWebSQLDisabled):
- UIProcess/API/C/WKPreferencesRef.h:
Tools:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
- 4:43 PM Changeset in webkit [237209] by
-
- 11 edits in trunk
window.performance should not become null after the window loses its browsing context
https://bugs.webkit.org/show_bug.cgi?id=190636
Reviewed by Ryosuke Niwa.
Source/WebCore:
window.performance should not become null after the window loses its browsing context. This
WebKit behavior does not match the HTML specification nor the behavior of other browsers.
Also note that the attribute is not nullable in the specification:
No new tests, updated existing test.
- page/DOMWindow.cpp:
(WebCore::DOMWindow::performance const):
- page/Performance.cpp:
(WebCore::Performance::Performance):
- page/Performance.h:
- platform/GenericTaskQueue.h:
(WebCore::TaskDispatcher::TaskDispatcher):
(WebCore::TaskDispatcher::postTask):
(WebCore::GenericTaskQueue::GenericTaskQueue):
(WebCore::GenericTaskQueue::isClosed const):
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::WorkerGlobalScope):
LayoutTests:
Extend layout test coverage.
- http/tests/dom/cross-origin-detached-window-properties-expected.txt:
- http/tests/dom/cross-origin-detached-window-properties.html:
- http/tests/dom/same-origin-detached-window-properties-expected.txt:
- http/tests/dom/same-origin-detached-window-properties.html:
- 4:18 PM Changeset in webkit [237208] by
-
- 2 edits in trunk/Source/WTF
[Media] Use nanoseconds as MaximumTimeScale
https://bugs.webkit.org/show_bug.cgi?id=190631
1e9 is a much more useful timescale than the previous one 231-1.
Unlike 231-1, which is a prime number, nanosecond scale is pretty
common among some formats like WebM and frameworks like GStreamer
where base 10 timescale is common... and it's those big timescales the
ones that are usually scaled up to MaximumTimeScale.
Reviewed by Jer Noble.
- wtf/MediaTime.cpp:
- 4:12 PM Changeset in webkit [237207] by
-
- 6 edits1 add in trunk/Source
Refactoring: Convert HTMLMediaElement::scheduleDelayedAction() to individually schedulable & cancelable tasks
https://bugs.webkit.org/show_bug.cgi?id=188208
Reviewed by Eric Carlson.
Rather than have a single, monolithic, zero-duration-timer based dispatch for
a bunch of methods to be performed in a future run-loop, convert them all to
use a DeferrableTask, which in turn is a kind of GenericTaskQueue which can
enqueue only a single task at a time. Convert some other zero-duration-timer
and GenericTaskQueue dispatches to this new DeferrableTask.
- WebCore.xcodeproj/project.pbxproj:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::finishParsingChildren):
(WebCore::HTMLMediaElement::scheduleCheckPlaybackTargetCompatability):
(WebCore::HTMLMediaElement::checkPlaybackTargetCompatablity):
(WebCore::HTMLMediaElement::prepareForLoad):
(WebCore::HTMLMediaElement::setReadyState):
(WebCore::HTMLMediaElement::seekWithTolerance):
(WebCore::HTMLMediaElement::setMuted):
(WebCore::HTMLMediaElement::mediaPlayerDidAddTextTrack):
(WebCore::HTMLMediaElement::didAddTextTrack):
(WebCore::HTMLMediaElement::scheduleConfigureTextTracks):
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
(WebCore::HTMLMediaElement::scheduleMediaEngineWasUpdated):
(WebCore::HTMLMediaElement::mediaEngineWasUpdated):
(WebCore::HTMLMediaElement::mediaPlayerEngineUpdated):
(WebCore::HTMLMediaElement::scheduleUpdatePlayState):
(WebCore::HTMLMediaElement::updatePlayState):
(WebCore::HTMLMediaElement::setPlaying):
(WebCore::HTMLMediaElement::setPausedInternal):
(WebCore::HTMLMediaElement::cancelPendingTasks):
(WebCore::HTMLMediaElement::userCancelledLoad):
(WebCore::HTMLMediaElement::clearMediaPlayer):
(WebCore::HTMLMediaElement::contextDestroyed):
(WebCore::HTMLMediaElement::stop):
(WebCore::HTMLMediaElement::suspend):
(WebCore::HTMLMediaElement::resume):
(WebCore::HTMLMediaElement::mediaPlayerCurrentPlaybackTargetIsWirelessChanged):
(WebCore::HTMLMediaElement::dispatchEvent):
(WebCore::HTMLMediaElement::removeEventListener):
(WebCore::HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent):
(WebCore::HTMLMediaElement::didBecomeFullscreenElement):
(WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured):
(WebCore::HTMLMediaElement::scheduleUpdateMediaState):
(WebCore::HTMLMediaElement::updateMediaState):
(WebCore::HTMLMediaElement::playbackControlsManagerBehaviorRestrictionsTimerFired):
(WebCore::setFlags): Deleted.
(WebCore::clearFlags): Deleted.
(WebCore::actionName): Deleted.
(WebCore::HTMLMediaElement::scheduleDelayedAction): Deleted.
(WebCore::HTMLMediaElement::pendingActionTimerFired): Deleted.
- html/HTMLMediaElement.h:
- html/HTMLMediaElementEnums.h:
- platform/DeferrableTask.h: Added.
(WebCore::DeferrableTask::DeferrableTask):
(WebCore::DeferrableTask::scheduleTask):
(WebCore::DeferrableTask::close):
(WebCore::DeferrableTask::cancelTask):
(WebCore::DeferrableTask::hasPendingTask const):
- 3:58 PM Changeset in webkit [237206] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Unreviewed, rolling out r236996.
Temporarily rollout to fix a manifest generation bug.
"lastModified" field for certain platform & metric configurations may be missing.
Reverted changeset:
"ManifestGenerator shouldn't need more than 1GB of memory or
run for 30 seconds"
https://bugs.webkit.org/show_bug.cgi?id=190393
https://trac.webkit.org/changeset/236996
- 3:31 PM Changeset in webkit [237205] by
-
- 17 edits4 deletes in trunk
Remove InjectedBundleBackForwardList
https://bugs.webkit.org/show_bug.cgi?id=190640
Reviewed by Chris Dumez.
Source/WebKit:
These objects are only used in testing now, so I made a replacement to be used for testing,
WKBundlePageDumpHistoryForTesting and WKBundleClearHistoryForTesting.
The existence of these objects is problematic with process swapping and the true back/forward list being in the UIProcess.
- Sources.txt:
- WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.cpp:
(WKBundleBackForwardListGetTypeID):
(WKBundleBackForwardListCopyItemAtIndex):
(WKBundleBackForwardListGetBackListCount):
(WKBundleBackForwardListGetForwardListCount):
(WKBundleBackForwardListClear):
- WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.h:
- WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
(WKBundleBackForwardListItemGetTypeID):
(WKBundleBackForwardListItemIsSame):
(WKBundleBackForwardListItemCopyURL):
(WKBundleBackForwardListItemCopyTarget):
(WKBundleBackForwardListItemIsTargetItem):
(WKBundleBackForwardListItemCopyChildren):
- WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.h:
- WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageDumpHistoryForTesting):
(WKBundleClearHistoryForTesting):
(WKBundlePageGetBackForwardList):
- WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp: Removed.
- WebProcess/InjectedBundle/InjectedBundleBackForwardList.h: Removed.
- WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp: Removed.
- WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h: Removed.
- WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::~WebPage):
(WebKit::dumpHistoryItem):
(WebKit::WebPage::dumpHistoryForTesting):
(WebKit::WebPage::clearHistory):
(WebKit::WebPage::didReceiveSyncMessage):
(WebKit::WebPage::backForwardList): Deleted.
- WebProcess/WebPage/WebPage.h:
Tools:
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::dumpBackForwardListsForAllPages):
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::prepare):
(WTR::InjectedBundlePage::dumpHistory):
(WTR::hasPrefix): Deleted.
(WTR::compareByTargetName): Deleted.
(WTR::dumpBackForwardListItem): Deleted.
(WTR::InjectedBundlePage::dumpBackForwardList): Deleted.
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::clearBackForwardList):
- 2:53 PM Changeset in webkit [237204] by
-
- 24 edits4 adds in trunk
Add <meta name="supported-color-schemes"> to control what color schemes the page supports
https://bugs.webkit.org/show_bug.cgi?id=190526
rdar://problem/45230140
Reviewed by Dean Jackson.
Source/WebCore:
Test: css-dark-mode/supported-color-schemes.html
- dom/Document.cpp:
(WebCore::isColorSchemeSeparator): Added.
(WebCore::processColorSchemes): Added.
(WebCore::Document::processSupportedColorSchemes): Added.
(WebCore::Document::useDarkAppearance const): Take system appearance and document's
suppoerted color shcemes into account.
- dom/Document.h:
- editing/cocoa/WebContentReaderCocoa.mm:
(WebCore::createFragment): Update use of LocalDefaultSystemAppearance.
- html/HTMLMetaElement.cpp:
(WebCore::HTMLMetaElement::process): Added supported-color-schemes behind runtime feature check.
- inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::paint): Update use of LocalDefaultSystemAppearance.
- platform/mac/DragImageMac.mm:
(WebCore::createDragImageForLink): Update use of LocalDefaultSystemAppearance.
- platform/mac/LocalDefaultSystemAppearance.h:
- platform/mac/LocalDefaultSystemAppearance.mm:
(WebCore::LocalDefaultSystemAppearance::LocalDefaultSystemAppearance):
Drop the need for useSystemAppearance. This is accounted for in Document::useDarkAppearance.
- platform/mac/ThemeMac.mm:
(WebCore::ThemeMac::paint): Update use of LocalDefaultSystemAppearance.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintContents): Update use of LocalDefaultSystemAppearance.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::paintContents): Update use of LocalDefaultSystemAppearance.
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint): Use document instead of page.
- rendering/RenderThemeCocoa.mm:
(WebCore::RenderThemeCocoa::drawLineForDocumentMarker): Update use of LocalDefaultSystemAppearance.
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::documentViewFor const): Update use of LocalDefaultSystemAppearance.
(WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor const): Ditto.
(WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor const): Ditto.
(WebCore::RenderThemeMac::transformSelectionBackgroundColor const): Ditto.
(WebCore::RenderThemeMac::supportsSelectionForegroundColors const): Ditto.
(WebCore::RenderThemeMac::platformActiveSelectionForegroundColor const): Ditto.
(WebCore::RenderThemeMac::platformInactiveSelectionForegroundColor const): Ditto.
(WebCore::RenderThemeMac::platformActiveListBoxSelectionBackgroundColor const): Ditto.
(WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor const): Ditto.
(WebCore::RenderThemeMac::platformActiveListBoxSelectionForegroundColor const): Ditto.
(WebCore::RenderThemeMac::platformInactiveListBoxSelectionForegroundColor const): Ditto.
(WebCore::RenderThemeMac::platformActiveTextSearchHighlightColor const): Ditto.
(WebCore::RenderThemeMac::colorCache const): Ditto.
(WebCore::RenderThemeMac::systemColor const): Ditto.
(WebCore::RenderThemeMac::paintCellAndSetFocusedElementNeedsRepaintIfNecessary): Ditto.
(WebCore::RenderThemeMac::paintSliderThumb): Ditto.
(WebCore::RenderThemeMac::usingDarkAppearance const): No need to limit to macOS here.
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::draw): Update use of LocalDefaultSystemAppearance.
Source/WebKit:
- UIProcess/mac/WKPrintingView.mm:
(-[WKPrintingView drawRect:]): Update use of LocalDefaultSystemAppearance.
- WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
(WebKit::InjectedBundleRangeHandle::renderedImage): Ditto.
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::paintControlForLayerInContext): Ditto.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::drawRect): Ditto.
Source/WebKitLegacy/mac:
- WebCoreSupport/WebEditorClient.mm:
(_WebCreateFragment): Update use of LocalDefaultSystemAppearance.
LayoutTests:
- css-dark-mode/supported-color-schemes-expected.txt: Added.
- css-dark-mode/supported-color-schemes.html: Added.
- 2:33 PM Changeset in webkit [237203] by
-
- 4 edits in trunk/Source/WebCore
Remove superfluous VIDEO build guard
https://bugs.webkit.org/show_bug.cgi?id=190624
Patch by Rob Buis <rbuis@igalia.com> on 2018-10-16
Reviewed by Michael Catanzaro.
Remove some instances where the VIDEO build guard is included within another VIDEO build guard.
No new tests. No change in behavior.
- platform/graphics/MediaPlayer.cpp:
(WebCore::buildMediaEnginesVector):
- platform/graphics/MediaPlayer.h:
- platform/graphics/MediaPlayerPrivate.h:
- 2:01 PM Changeset in webkit [237202] by
-
- 17 edits in trunk
Support RTCConfiguration.certificates
https://bugs.webkit.org/show_bug.cgi?id=190603
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
- web-platform-tests/webrtc/RTCCertificate-expected.txt:
- web-platform-tests/webrtc/RTCPeerConnection-constructor-expected.txt:
- web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-constructor-expected.txt:
Source/ThirdParty/libwebrtc:
- Configurations/libwebrtc.iOS.exp:
- Configurations/libwebrtc.iOSsim.exp:
- Configurations/libwebrtc.mac.exp:
Source/WebCore:
Update RTCConfiguration to have a certificates member.
Add the conversion from RTCCertificate to libwebrtc certificates.
Add check to ensure that certificates are not expired.
Add check to ensure that certificates passed to setConfiguration were
the same as the ones passed to RTCPeerConnection constructor.
Once these checks are done, we reuse the certificates created at
RCPeerConnection creation time when setting the configuration again.
Covered by rebased WPT test.
- Modules/mediastream/RTCConfiguration.h:
- Modules/mediastream/RTCConfiguration.idl:
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::certificatesFromConfiguration):
(WebCore::RTCPeerConnection::initializeConfiguration):
(WebCore::RTCPeerConnection::setConfiguration):
- Modules/mediastream/RTCPeerConnection.h:
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::setConfiguration):
- Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
(WebCore::configurationFromMediaEndpointConfiguration):
- platform/mediastream/MediaEndpointConfiguration.cpp:
(WebCore::MediaEndpointConfiguration::MediaEndpointConfiguration):
- platform/mediastream/MediaEndpointConfiguration.h:
- 1:18 PM Changeset in webkit [237201] by
-
- 4 edits in trunk/Source/WebCore
Unreviewed, rolling out r237163.
Introduced layout test failures on iOS Simulator.
Reverted changeset:
"[CG] Adopt CG SPI for non-even cornered rounded rects"
https://bugs.webkit.org/show_bug.cgi?id=190155
https://trac.webkit.org/changeset/237163
- 1:09 PM Changeset in webkit [237200] by
-
- 2 edits in trunk/JSTests
[JSC] stress/array-prototype-concat-of-long-spliced-arrays2.js times out on arm and mips
https://bugs.webkit.org/show_bug.cgi?id=190611
Reviewed by Saam Barati.
Reduce array length just like in array-prototype-concat-of-long-spliced-arrays.js
to improve test runtime. On ARM/MIPS this test even timed out when running all
tests.
- stress/array-prototype-concat-of-long-spliced-arrays2.js:
(test):
- 1:07 PM Changeset in webkit [237199] by
-
- 2 edits in trunk/Tools
Unreviewed, added myself to contributors.json.
- Scripts/webkitpy/common/config/contributors.json:
- 12:23 PM Changeset in webkit [237198] by
-
- 20 edits in trunk
Web Inspector: Canvas: capture previously saved states and add them to the recording payload
https://bugs.webkit.org/show_bug.cgi?id=190473
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
- inspector/protocol/Recording.json:
Add
states
key toInitialState
object.
Source/WebCore:
Updated existing tests: inspector/canvas/recording-2d.html
inspector/model/recording.html
Instead of sending a single object of the current state of the context, send an array of
objects, one for each restore point.
- html/canvas/CanvasRenderingContext2DBase.h:
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::stateStack): Added.
- inspector/InspectorCanvas.h:
- inspector/InspectorCanvas.cpp:
(WebCore::InspectorCanvas::stringIndexForKey): Added.
(WebCore::InspectorCanvas::buildInitialState):
Source/WebInspectorUI:
Instead of sending a single object of the current state of the context, send an array of
objects, one for each restore point. When replaying, recreate each restore point before
applying the selected action(s).
- UserInterface/Models/Recording.js:
(WI.Recording):
(WI.Recording.fromPayload):
(WI.Recording.prototype.toJSON):
(WI.Recording.prototype.async._process):
(WI.Recording.prototype.async._swizzleState): Added.
- UserInterface/Models/RecordingAction.js:
(WI.RecordingAction):
(WI.RecordingAction.deriveCurrentState): Added.
(WI.RecordingAction.prototype.get states): Added.
(WI.RecordingAction.prototype.process):
(WI.RecordingAction.prototype.get state): Deleted.
Drive-by: whenprocess
ing, also check to see if any values in the current state changed
outside of those expected in_stateModifiers
(e.g.restore
may modify some state values).
- UserInterface/Views/RecordingContentView.js:
(WI.RecordingContentView.prototype._generateContentCanvas2D):
- UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
(WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
Default to showing the most recent (current) state.
- UserInterface/Views/CanvasTabContentView.js:
(WI.CanvasTabContentView.prototype.initialLayout): Added.
(WI.CanvasTabContentView.prototype._addCanvas):
(WI.CanvasTabContentView.prototype._removeCanvas):
(WI.CanvasTabContentView.prototype._addRecording): Added.
(WI.CanvasTabContentView.prototype._recordingImportedOrStopped):
(WI.CanvasTabContentView.prototype._recordingAdded): Deleted.
- UserInterface/Controllers/CanvasManager.js:
(WI.CanvasManager):
(WI.CanvasManager.prototype.get importedRecordings): Added.
(WI.CanvasManager.prototype.importRecording):
Drive-by: store imported recordings onWI.CanvasManager
so that if the Canvas tab is
closed we can still show the list of imported recordings.
LayoutTests:
- inspector/canvas/recording-2d-expected.txt:
- inspector/canvas/recording-2d.html:
- inspector/canvas/resources/recording-utilities.js:
(TestPage.registerInitializer):
(TestPage.registerInitializer.async.logRecording): Added.
(TestPage.registerInitializer.logRecording): Deleted.
- inspector/model/recording-expected.txt:
- inspector/model/recording.html:
- 12:16 PM Changeset in webkit [237197] by
-
- 3 edits in trunk/Source/JavaScriptCore
isASTErroneous in offlineasm should de-macroify before looking for Errors
https://bugs.webkit.org/show_bug.cgi?id=190634
Reviewed by Mark Lam.
If a macro isn't usable in a configuration it might still cause us to
think the ast is invalid. This change runs the de-macroifier before
looking for errors.
Also, it adds a missing include to Printer.h.
- assembler/Printer.h:
- offlineasm/settings.rb:
- 12:13 PM Changeset in webkit [237196] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Canvas recording sidebar scroll position lost after switching tabs
https://bugs.webkit.org/show_bug.cgi?id=190482
Reviewed by Joseph Pecoraro.
- UserInterface/Views/Sidebar.js:
(WI.Sidebar.prototype.removeSidebarPanel):
(WI.Sidebar.prototype.set selectedSidebarPanel):
Callhidden
before settingselected
tofalse
, as that setsdisplay: none;
on the
element, which sets thescrollTop
to0
.
- UserInterface/Views/SidebarPanel.js:
(WI.SidebarPanel.prototype.shown):
(WI.SidebarPanel.prototype.hidden):
(WI.SidebarPanel.prototype.get scrollElement): Added.
Allow subclasses to specify the scrolling element for saving/restoring the scroll position.
- UserInterface/Views/CanvasSidebarPanel.js:
(WI.CanvasSidebarPanel.prototype.get scrollElement): Added.
- UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
(WI.RecordingStateDetailsSidebarPanel.prototype.get scrollElement): Added.
- 12:09 PM Changeset in webkit [237195] by
-
- 10 edits in trunk/Source/WebInspectorUI
Web Inspector: Should be a way to go directly from an event in the overview view to the specialized timeline for that event
https://bugs.webkit.org/show_bug.cgi?id=135307
<rdar://problem/17273966>
Reviewed by Joseph Pecoraro.
When a
WI.TimelineRecordBar
is clicked, call up the delegate chain to the overview and
adjust the currently selectedWI.TimelineRecordBar
among theWI.TimelineOverviewGraph
s.
Similarly, selecting aWI.DataGridNode
in anyWI.TimelineView
subclass will use the same
logic to select the correspondingWI.TimelineRecordBar
.
- UserInterface/Views/TimelineOverview.js:
(WI.TimelineOverview):
(WI.TimelineOverview.prototype.reset):
(WI.TimelineOverview.prototype._recordSelected):
- UserInterface/Views/TimelineOverviewGraph.js:
(WI.TimelineOverviewGraph):
(WI.TimelineOverviewGraph.prototype.set selectedRecord):
(WI.TimelineOverviewGraph.prototype.get selectedRecordBar): Added.
(WI.TimelineOverviewGraph.prototype.set selectedRecordBar): Added.
(WI.TimelineOverviewGraph.prototype.timelineRecordBarClicked): Added.
(WI.TimelineOverviewGraph.prototype._needsSelectedRecordLayout):
- UserInterface/Views/TimelineRecordBar.js:
(WI.TimelineRecordBar):
(WI.TimelineRecordBar.prototype.get selected): Added.
(WI.TimelineRecordBar.prototype.set selected): Added.
(WI.TimelineRecordBar.prototype._handleClick): Added.
- UserInterface/Views/TimelineRecordBar.css:
(.timeline-record-bar.selected > .segment): Added.
Add adelegate
that is notified whenever the element is clicked.
- UserInterface/Views/TimelineDataGridNode.js:
(WI.TimelineDataGridNode.prototype.refreshGraph.createBar):
- UserInterface/Views/LayoutTimelineOverviewGraph.js:
(WI.LayoutTimelineOverviewGraph.prototype.updateSelectedRecord):
(WI.LayoutTimelineOverviewGraph.prototype._updateRowLayout.createBar):
- UserInterface/Views/NetworkTimelineOverviewGraph.js:
(WI.NetworkTimelineOverviewGraph.prototype.layout.createBar):
- UserInterface/Views/ScriptTimelineOverviewGraph.js:
(WI.ScriptTimelineOverviewGraph.prototype.layout.createBar):
(WI.ScriptTimelineOverviewGraph.prototype.updateSelectedRecord):
- UserInterface/Views/TimelineRecordingContentView.js:
(WI.TimelineRecordingContentView.prototype.showTimelineViewForTimeline):
- 11:57 AM Changeset in webkit [237194] by
-
- 2 edits in trunk/Source/WebKitLegacy/win
Unreviewed attempt to fix the Windows build after r237112.
- Plugins/PluginView.cpp:
(WebCore::PluginView::performRequest):
- 11:28 AM Changeset in webkit [237193] by
-
- 7 edits in branches/safari-606-branch/Source
Versioning.
- 11:04 AM Changeset in webkit [237192] by
-
- 32 edits5 copies9 adds in trunk
Implement feature flag and bindings for CSS Painting API
https://bugs.webkit.org/show_bug.cgi?id=190237
Patch by Justin Michaud <Justin Michaud> on 2018-10-16
Reviewed by Ryosuke Niwa.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
Add feature flag and bindings for CSS Painting API. This adds a new property,
CSS.paintWorkletGlobalScope, which will be a temporary way to access the paint
worklet global scope untill CSS.paintWorklet is implemented.
There are a few small changes, mostly adding headers and "using" declarations,
that were required to get this to build. This is probably related to unified sources.
Tests: fast/css-custom-paint/basic.html
fast/css-custom-paint/registerPaintBindings.html
- CMakeLists.txt:
- Configurations/FeatureDefines.xcconfig:
- DerivedSources.make:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSCSSPaintWorkletGlobalScopeCustom.cpp: Added.
(WebCore::throwInvalidModificationError):
(WebCore::JSCSSPaintWorkletGlobalScope::registerPaint):
- bindings/js/JSEventListener.cpp:
- bindings/js/JSRemoteDOMWindowCustom.cpp:
- bindings/js/JSWebMetalRenderPassAttachmentDescriptorCustom.cpp:
- bindings/js/WebCoreBuiltinNames.h:
- css/CSSPaintCallback.h: Copied from Source/WebCore/css/MediaQueryParserContext.cpp.
(WebCore::CSSPaintCallback::~CSSPaintCallback):
- css/CSSPaintCallback.idl: Added.
- css/CSSPaintWorkletGlobalScope.cpp: Copied from Source/WebCore/css/MediaQueryParserContext.cpp.
(WebCore::CSSPaintWorkletGlobalScope::create):
(WebCore::CSSPaintWorkletGlobalScope::CSSPaintWorkletGlobalScope):
(WebCore::CSSPaintWorkletGlobalScope::devicePixelRatio):
(WebCore::CSSPaintWorkletGlobalScope::addRegisteredPaint):
- css/CSSPaintWorkletGlobalScope.h: Copied from Source/WebCore/css/MediaQueryParserContext.cpp.
(WebCore::CSSPaintWorkletGlobalScope::paintDefinitionMap):
- css/CSSPaintWorkletGlobalScope.idl: Added.
- css/DOMCSSPaintWorklet.cpp: Copied from Source/WebCore/css/MediaQueryParserContext.cpp.
(WebCore::DOMCSSPaintWorklet::ensurePaintWorkletGlobalScope):
(WebCore::DOMCSSPaintWorklet::from):
(WebCore::DOMCSSPaintWorklet::supplementName):
- css/DOMCSSPaintWorklet.h: Copied from Source/WebCore/css/MediaQueryParserContext.cpp.
- css/DOMCSSPaintWorklet.idl: Added.
- css/MediaQueryParserContext.cpp:
- css/StyleBuilder.h:
- dom/Document.cpp:
(WebCore::Document::ensureCSSPaintWorkletGlobalScope):
- dom/Document.h:
- features.json:
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setCSSPaintingAPIEnabled):
(WebCore::RuntimeEnabledFeatures::cssPaintingAPIEnabled const):
Source/WebCore/PAL:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit:
- Configurations/FeatureDefines.xcconfig:
- Shared/WebPreferences.yaml:
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
Source/WebKitLegacy/mac:
- Configurations/FeatureDefines.xcconfig:
Tools:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
LayoutTests:
Add basic tests for the CSS Painting API registerPaint function,
and test the custom bindings.
- fast/css-custom-paint/basic-expected.txt: Added.
- fast/css-custom-paint/basic.html: Added.
- fast/css-custom-paint/registerPaintBindings-expected.txt: Added.
- fast/css-custom-paint/registerPaintBindings.html: Added.
- platform/ios-wk1/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/win/TestExpectations:
- 10:57 AM WebKitGTK/2.22.x edited by
- (diff)
- 10:54 AM Changeset in webkit [237191] by
-
- 4 edits in trunk/Source/WebKit
[GLib] Build error with RemoteInspector disabled
https://bugs.webkit.org/show_bug.cgi?id=190623
Reviewed by Michael Catanzaro.
Compilation guards added to ensure the build still works when the
Remote WebInspector has been disabled.
- UIProcess/API/glib/WebKitAutomationSession.cpp:
- UIProcess/API/glib/WebKitAutomationSessionPrivate.h:
- UIProcess/RemoteWebInspectorProxy.cpp:
- 10:52 AM Changeset in webkit [237190] by
-
- 2 edits in trunk/Source/WebKit
[GTK][WPE] Fix sandbox on distros with suid bubblewrap
https://bugs.webkit.org/show_bug.cgi?id=190616
Patch by Patrick Griffis <Patrick Griffis> on 2018-10-16
Reviewed by Michael Catanzaro.
- UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::bubblewrapSpawn):
- 10:49 AM Changeset in webkit [237189] by
-
- 1 edit2 adds in trunk/Source/JavaScriptCore
Unreviewed, forgot to add untracked files.
- llint/LLIntSettingsExtractor.cpp: Added.
(main):
- offlineasm/generate_settings_extractor.rb: Added.
- 10:44 AM Changeset in webkit [237188] by
-
- 7 edits in trunk/Source/JavaScriptCore
Unreviewed, reland https://bugs.webkit.org/show_bug.cgi?id=189708 with build fix.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- llint/LLIntOffsetsExtractor.cpp:
(JSC::LLIntOffsetsExtractor::dummy):
- offlineasm/generate_offset_extractor.rb:
- offlineasm/offsets.rb:
- offlineasm/settings.rb:
- 10:29 AM Changeset in webkit [237187] by
-
- 14 edits4 adds in trunk
[WebVTT] Support inline WebVTT styles
https://bugs.webkit.org/show_bug.cgi?id=190369
Reviewed by Eric Carlson.
Source/WebCore:
Add support for inline WebVTT styles, see https://w3c.github.io/webvtt/#styling. The parsed
style strings from the VTT file are added to an optional vector of style strings in the
TextTrack class. These styles are then added as HTMLStyleElement children to the parent of
the cue span element.
Test: media/track/track-cue-css.html
- html/track/InbandGenericTextTrack.cpp:
(WebCore::InbandGenericTextTrack::newStyleSheetsParsed):
- html/track/InbandGenericTextTrack.h:
- html/track/InbandWebVTTTextTrack.cpp:
(WebCore::InbandWebVTTTextTrack::newStyleSheetsParsed):
- html/track/InbandWebVTTTextTrack.h:
- html/track/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::newStyleSheetsAvailable):
- html/track/LoadableTextTrack.h:
- html/track/TextTrack.h:
(WebCore::TextTrack::styleSheets const):
- html/track/VTTCue.cpp:
(WebCore::VTTCue::getDisplayTree):
- html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::getNewCues):
(WebCore::WebVTTParser::getStyleSheets):
(WebCore::WebVTTParser::parse):
(WebCore::WebVTTParser::collectWebVTTBlock):
(WebCore::WebVTTParser::collectStyleSheet):
(WebCore::WebVTTParser::checkStyleSheet):
(WebCore::WebVTTParser::checkAndStoreStyleSheet):
- html/track/WebVTTParser.h:
- loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::newStyleSheetsParsed):
(WebCore::TextTrackLoader::getNewStyleSheets):
- loader/TextTrackLoader.h:
LayoutTests:
- media/track/captions-webvtt/css-styling.vtt: Added.
- media/track/captions-webvtt/no-css-styling.vtt: Added.
- media/track/track-cue-css-expected.html: Added.
- media/track/track-cue-css.html: Added.
- 9:47 AM Changeset in webkit [237186] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: sequences of spaces longer than 16 don't show a dot
https://bugs.webkit.org/show_bug.cgi?id=190528
Reviewed by Matt Baker.
- UserInterface/Views/CodeMirrorAdditions.js:
Create a new CSS rule and add it to a unique <style> whenever a whitespace sequence with
a length is seen for the first time.
- UserInterface/Views/CodeMirrorOverrides.css:
(.show-whitespace-characters .CodeMirror .cm-whitespace-1::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-2::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-3::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-4::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-5::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-6::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-7::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-8::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-9::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-10::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-11::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-12::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-13::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-14::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-15::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-16::before): Deleted.
- 9:24 AM Changeset in webkit [237185] by
-
- 19 edits in trunk
window.navigator should not become null after the window loses its browsing context
https://bugs.webkit.org/show_bug.cgi?id=190595
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
Rebaseline test which is not failing differently. The last check of this test is checking that
navigator.serviceWorker returns null after the frame has been detached. The test has been written
this way because this is how Chromium behaves. However, Firefox keeps returning the
ServiceWorkerContainer, as we do. Also, the specification indicates the the attribute cannot
return null (since the attribute is not nullable):
- web-platform-tests/service-workers/service-worker/detached-context.https-expected.txt:
Source/WebCore:
window.navigator should not become null after the window loses its browsing context.
This does not match the HTML specification or the behavior of other browsers.
No new tests, updated existing tests.
- Modules/geolocation/NavigatorGeolocation.cpp:
(WebCore::NavigatorGeolocation::geolocation const):
- page/DOMWindow.cpp:
(WebCore::DOMWindow::navigator):
- page/Navigator.cpp:
(WebCore::Navigator::Navigator):
- page/Navigator.h:
- page/NavigatorBase.cpp:
(WebCore::NavigatorBase::NavigatorBase):
- page/NavigatorBase.h:
- page/WorkerNavigator.cpp:
(WebCore::WorkerNavigator::WorkerNavigator):
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::ServiceWorkerContainer):
- workers/service/ServiceWorkerContainer.h:
LayoutTests:
Extend layout test coverage.
- fast/frames/detached-frame-property-expected.txt:
- fast/frames/detached-frame-property.html:
- http/tests/dom/cross-origin-detached-window-properties-expected.txt:
- http/tests/dom/cross-origin-detached-window-properties.html:
- http/tests/dom/same-origin-detached-window-properties-expected.txt:
- http/tests/dom/same-origin-detached-window-properties.html:
- 8:58 AM Changeset in webkit [237184] by
-
- 24 edits in trunk/Source
Replace HistoryItem* with HistoryItem& where possible
https://bugs.webkit.org/show_bug.cgi?id=190617
Reviewed by Chris Dumez.
Source/WebCore:
- history/BackForwardClient.h:
- history/BackForwardController.cpp:
(WebCore::BackForwardController::setCurrentItem):
- history/BackForwardController.h:
- history/HistoryItem.cpp:
(WebCore::defaultNotifyHistoryItemChanged):
(WebCore::HistoryItem::setAlternateTitle):
(WebCore::HistoryItem::setURLString):
(WebCore::HistoryItem::setOriginalURLString):
(WebCore::HistoryItem::setReferrer):
(WebCore::HistoryItem::setTitle):
(WebCore::HistoryItem::setTarget):
(WebCore::HistoryItem::setShouldRestoreScrollPosition):
(WebCore::HistoryItem::setStateObject):
(WebCore::HistoryItem::notifyChanged):
- history/HistoryItem.h:
- loader/EmptyClients.cpp:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
(WebCore::FrameLoader::loadSameDocumentItem):
- loader/HistoryController.cpp:
(WebCore::HistoryController::goToItem):
(WebCore::HistoryController::updateForCommit):
(WebCore::HistoryController::recursiveUpdateForCommit):
(WebCore::HistoryController::recursiveUpdateForSameDocumentNavigation):
(WebCore::HistoryController::setCurrentItem):
(WebCore::HistoryController::createItem):
(WebCore::HistoryController::itemsAreClones const):
(WebCore::HistoryController::currentFramesMatchItem const):
- loader/HistoryController.h:
Source/WebKit:
- WebProcess/WebCoreSupport/SessionStateConversion.h:
- WebProcess/WebPage/WebBackForwardListProxy.cpp:
(WebKit::WK2NotifyHistoryItemChanged):
(WebKit::WebBackForwardListProxy::goToItem):
- WebProcess/WebPage/WebBackForwardListProxy.h:
Source/WebKitLegacy/mac:
- History/BackForwardList.h:
- History/BackForwardList.mm:
(BackForwardList::goToItem):
- History/WebBackForwardList.mm:
(-[WebBackForwardList goToItem:]):
- History/WebHistoryItem.mm:
(WKNotifyHistoryItemChanged):
- History/WebHistoryItemInternal.h:
Source/WebKitLegacy/win:
- BackForwardList.cpp:
(BackForwardList::goToItem):
- BackForwardList.h:
- WebBackForwardList.cpp:
(WebBackForwardList::goToItem):
- 8:49 AM Changeset in webkit [237183] by
-
- 1 edit14 adds in trunk/LayoutTests/imported/w3c
[EME] Add some ClearKey baselines for passing tests
https://bugs.webkit.org/show_bug.cgi?id=190579
Reviewed by Unreviewed test gardening.
- web-platform-tests/encrypted-media/clearkey-check-initdata-type.https-expected.txt: Added.
- web-platform-tests/encrypted-media/clearkey-events-session-closed-event.https-expected.txt: Added.
- web-platform-tests/encrypted-media/clearkey-events.https-expected.txt: Added.
- web-platform-tests/encrypted-media/clearkey-invalid-license.https-expected.txt: Added.
- web-platform-tests/encrypted-media/clearkey-keystatuses-multiple-sessions.https-expected.txt: Added.
- web-platform-tests/encrypted-media/clearkey-keystatuses.https-expected.txt: Added.
- web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-at-same-time.https-expected.txt: Added.
- web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-multiple-times-with-the-same-mediakeys.https-expected.txt: Added.
- web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-to-multiple-video-elements.https-expected.txt: Added.
- web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys.https-expected.txt: Added.
- web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeysession.https-expected.txt: Added.
- web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeysystemaccess.https-expected.txt: Added.
- web-platform-tests/encrypted-media/clearkey-not-callable-after-createsession.https-expected.txt: Added.
- web-platform-tests/encrypted-media/clearkey-update-non-ascii-input.https-expected.txt: Added.
- 8:39 AM Changeset in webkit [237182] by
-
- 6 edits in trunk/Source
Remove unused WebHistoryItem._transientPropertyForKey
https://bugs.webkit.org/show_bug.cgi?id=190606
Reviewed by Chris Dumez.
Source/WebCore:
This is unnecessary complexity in HistoryItem.
- history/HistoryItem.h:
- history/mac/HistoryItemMac.mm:
(WebCore::HistoryItem::getTransientProperty const): Deleted.
(WebCore::HistoryItem::setTransientProperty): Deleted.
Source/WebKitLegacy/mac:
- History/WebHistoryItem.mm:
- History/WebHistoryItemPrivate.h:
- 8:21 AM Changeset in webkit [237181] by
-
- 4 edits1 add in trunk/Source/WebCore
[Curl] Separate SSL Class for platform dependent way of setup.
https://bugs.webkit.org/show_bug.cgi?id=190597
Reviewed by Alex Christensen.
SSL setup is very platform dependent. This patch separate the class to allow
platform-dependent setup at the SSL handle instantiation.
No new tests because there's no behaviro changes.
- PlatformWinCairo.cmake:
- platform/network/curl/CurlSSLHandle.cpp:
(WebCore::CurlSSLHandle::CurlSSLHandle):
(WebCore::CurlSSLHandle::getCACertPathEnv): Moved.
- platform/network/curl/CurlSSLHandle.h:
- platform/network/win/CurlSSLHandleWin.cpp:
(WebCore::getCACertPathEnv):
(WebCore::CurlSSLHandle::platformInitialize):
- 7:54 AM Changeset in webkit [237180] by
-
- 2 edits in trunk/LayoutTests
[EME] Multiple ClearKey tests crashing in gst_qtdemux_request_protection_context
https://bugs.webkit.org/show_bug.cgi?id=190577
Reviewed by Michael Catanzaro.
- platform/gtk/TestExpectations:
- 4:01 AM Changeset in webkit [237179] by
-
- 2 edits in trunk/Tools
Unreviewed, GTK Ubuntu LTS Jhbuild prospective build fix
- gstreamer/jhbuild.modules:
- 3:04 AM Changeset in webkit [237178] by
-
- 2 edits in trunk/Tools
[GTK][JHBuild] Disable libmount support in glib
Rubber-stamped by Alejandro G. Castro.
This feature doesn't seem required for our setup.
- gtk/jhbuild.modules:
- 2:44 AM Changeset in webkit [237177] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, another GTK build fix after r237146
- UIProcess/gtk/RemoteWebInspectorProxyGtk.cpp:
(WebKit::RemoteWebInspectorProxy::platformCreateFrontendPageAndWindow):
- 1:47 AM Changeset in webkit [237176] by
-
- 2 edits in trunk
Unreviewed, GTK bots build fix
- Source/cmake/OptionsGTK.cmake: Disable Sandbox support until the
bots have all the needed dependencies installed.
- 12:52 AM Changeset in webkit [237175] by
-
- 3 edits in trunk/Source/JavaScriptCore
Unreviewed, add missing include.
- runtime/BasicBlockLocation.h:
- 12:39 AM Changeset in webkit [237174] by
-
- 2 edits1 add in trunk/Source/ThirdParty/libwebrtc
[GTK][WPE] Make libwebrtc compile using the system opus library
https://bugs.webkit.org/show_bug.cgi?id=190573
Patch by Alejandro G. Castro <alex@igalia.com> on 2018-10-16
Reviewed by Philippe Normand.
We found some situations where gstreamer gets confused when it
tries to use opus because it finds opus symbols compiled for
liwebrtc. We are going to try the option to use the system opus
library also for libwebrtc.
- CMakeLists.txt: Added opus dependency.
- cmake/FindOpus.cmake: Added the hints to find the opus library
in the compilation.
- 12:19 AM Changeset in webkit [237173] by
-
- 57 edits in trunk/Source
Support arm64 CPUs with a 32-bit address space
https://bugs.webkit.org/show_bug.cgi?id=190273
Reviewed by Michael Saboff.
Source/JavaScriptCore:
This patch adds support for arm64_32 in the LLInt. In order to
make this work we needed to add a new type that reflects the size
of a cpu register. This type is called CPURegister or UCPURegister
for the unsigned version. Most places that used void* or intptr_t
to refer to a register have been changed to use this new type.
- JavaScriptCore.xcodeproj/project.pbxproj:
- assembler/ARM64Assembler.h:
(JSC::isInt):
(JSC::is4ByteAligned):
(JSC::PairPostIndex::PairPostIndex):
(JSC::PairPreIndex::PairPreIndex):
(JSC::ARM64Assembler::readPointer):
(JSC::ARM64Assembler::readCallTarget):
(JSC::ARM64Assembler::computeJumpType):
(JSC::ARM64Assembler::linkCompareAndBranch):
(JSC::ARM64Assembler::linkConditionalBranch):
(JSC::ARM64Assembler::linkTestAndBranch):
(JSC::ARM64Assembler::loadRegisterLiteral):
(JSC::ARM64Assembler::loadStoreRegisterPairPostIndex):
(JSC::ARM64Assembler::loadStoreRegisterPairPreIndex):
(JSC::ARM64Assembler::loadStoreRegisterPairOffset):
(JSC::ARM64Assembler::loadStoreRegisterPairNonTemporal):
(JSC::isInt7): Deleted.
(JSC::isInt11): Deleted.
- assembler/CPU.h:
(JSC::isAddress64Bit):
(JSC::isAddress32Bit):
- assembler/MacroAssembler.h:
(JSC::MacroAssembler::shouldBlind):
- assembler/MacroAssemblerARM64.cpp:
(JSC::MacroAssemblerARM64::collectCPUFeatures):
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::load):
(JSC::MacroAssemblerARM64::store):
(JSC::MacroAssemblerARM64::isInIntRange): Deleted.
- assembler/Printer.h:
- assembler/ProbeContext.h:
(JSC::Probe::CPUState::gpr):
(JSC::Probe::CPUState::spr):
(JSC::Probe::Context::gpr):
(JSC::Probe::Context::spr):
- b3/B3ConstPtrValue.h:
- b3/B3StackmapSpecial.cpp:
(JSC::B3::StackmapSpecial::isArgValidForRep):
- b3/air/AirArg.h:
(JSC::B3::Air::Arg::stackSlot const):
(JSC::B3::Air::Arg::special const):
- b3/air/testair.cpp:
- b3/testb3.cpp:
(JSC::B3::testStoreConstantPtr):
(JSC::B3::testInterpreter):
(JSC::B3::testAddShl32):
(JSC::B3::testLoadBaseIndexShift32):
- bindings/ScriptFunctionCall.cpp:
(Deprecated::ScriptCallArgumentHandler::appendArgument):
- bindings/ScriptFunctionCall.h:
- bytecode/CodeBlock.cpp:
(JSC::roundCalleeSaveSpaceAsVirtualRegisters):
- dfg/DFGOSRExit.cpp:
(JSC::DFG::restoreCalleeSavesFor):
(JSC::DFG::saveCalleeSavesFor):
(JSC::DFG::restoreCalleeSavesFromVMEntryFrameCalleeSavesBuffer):
(JSC::DFG::copyCalleeSavesToVMEntryFrameCalleeSavesBuffer):
- dfg/DFGOSRExitCompilerCommon.cpp:
(JSC::DFG::reifyInlinedCallFrames):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- disassembler/UDis86Disassembler.cpp:
(JSC::tryToDisassembleWithUDis86):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileWeakMapGet):
- heap/MachineStackMarker.cpp:
(JSC::copyMemory):
- interpreter/CallFrame.h:
(JSC::ExecState::returnPC const):
(JSC::ExecState::hasReturnPC const):
(JSC::ExecState::clearReturnPC):
(JSC::ExecState::returnPCOffset):
(JSC::ExecState::isGlobalExec const):
(JSC::ExecState::setReturnPC):
- interpreter/CalleeBits.h:
(JSC::CalleeBits::boxWasm):
(JSC::CalleeBits::isWasm const):
(JSC::CalleeBits::asWasmCallee const):
- interpreter/Interpreter.cpp:
(JSC::UnwindFunctor::copyCalleeSavesToEntryFrameCalleeSavesBuffer const):
- interpreter/VMEntryRecord.h:
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::clearStackFrame):
- jit/RegisterAtOffset.h:
(JSC::RegisterAtOffset::offsetAsIndex const):
- jit/RegisterAtOffsetList.cpp:
(JSC::RegisterAtOffsetList::RegisterAtOffsetList):
- llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions):
- llint/LLIntOfflineAsmConfig.h:
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter64.asm:
- offlineasm/arm64.rb:
- offlineasm/asm.rb:
- offlineasm/ast.rb:
- offlineasm/backends.rb:
- offlineasm/parser.rb:
- offlineasm/x86.rb:
- runtime/BasicBlockLocation.cpp:
(JSC::BasicBlockLocation::dumpData const):
(JSC::BasicBlockLocation::emitExecuteCode const):
- runtime/BasicBlockLocation.h:
- runtime/HasOwnPropertyCache.h:
- runtime/JSBigInt.cpp:
(JSC::JSBigInt::inplaceMultiplyAdd):
(JSC::JSBigInt::digitDiv):
- runtime/JSBigInt.h:
- runtime/JSObject.h:
- runtime/Options.cpp:
(JSC::jitEnabledByDefault):
- runtime/Options.h:
- runtime/RegExp.cpp:
(JSC::RegExp::printTraceData):
- runtime/SamplingProfiler.cpp:
(JSC::CFrameWalker::walk):
- runtime/SlowPathReturnType.h:
(JSC::encodeResult):
(JSC::decodeResult):
- tools/SigillCrashAnalyzer.cpp:
(JSC::SigillCrashAnalyzer::dumpCodeBlock):
Source/WebCore:
Fix missing namespace annotation.
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAddStyleRelation):
Source/WTF:
Use WTF_CPU_ADDRESS64/32 to decide if the system is running on arm64_32.
- wtf/MathExtras.h:
(getLSBSet):
- wtf/Platform.h:
Oct 15, 2018:
- 11:05 PM Changeset in webkit [237172] by
-
- 7 edits in tags/Safari-607.1.10.3/Source
Versioning.
- 11:00 PM Changeset in webkit [237171] by
-
- 1 copy in tags/Safari-607.1.10.3
New tag.
- 9:57 PM Changeset in webkit [237170] by
-
- 26 edits in trunk
Add WebGPU 2018 feature flag and experimental feature flag
https://bugs.webkit.org/show_bug.cgi?id=190509
Reviewed by Dean Jackson.
.:
Update FeatureDefines for WebGPU -> WebMetal renaming, while preserving WebGPU
references for 2018 WebGPU Sketch implementation.
- Source/cmake/OptionsMac.cmake:
- Source/cmake/tools/vsprops/FeatureDefines.props:
- Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
Source/JavaScriptCore:
Re-add ENABLE_WEBGPU, an experimental feature flag, and a RuntimeEnabledFeature
for the 2018 WebGPU prototype.
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
Re-add ENABLE_WEBGPU, an experimental feature flag, and a RuntimeEnabledFeature
for the 2018 WebGPU prototype.
- Configurations/FeatureDefines.xcconfig:
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setWebGPUEnabled):
(WebCore::RuntimeEnabledFeatures::webGPUEnabled const):
Source/WebCore/PAL:
Re-add ENABLE_WEBGPU, an experimental feature flag, and a RuntimeEnabledFeature
for the 2018 WebGPU prototype.
- Configurations/FeatureDefines.xcconfig:
Source/WebKit:
Re-add ENABLE_WEBGPU, an experimental feature flag, and a RuntimeEnabledFeature
for the 2018 WebGPU prototype.
- Configurations/FeatureDefines.xcconfig:
- Shared/WebPreferences.yaml:
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
Source/WebKitLegacy/mac:
Re-add ENABLE_WEBGPU, an experimental feature flag, and a RuntimeEnabledFeature
for the 2018 WebGPU prototype.
- Configurations/FeatureDefines.xcconfig:
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences webGPUEnabled]):
(-[WebPreferences setWebGPUEnabled:]):
- WebView/WebPreferencesPrivate.h:
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Tools:
Re-add ENABLE_WEBGPU, an experimental feature flag, and a RuntimeEnabledFeature
for the 2018 WebGPU prototype.
- DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
- DumpRenderTree/TestOptions.h:
- DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- 6:30 PM Changeset in webkit [237169] by
-
- 2 edits in trunk/JSTests
Skip stress/array-prototype-concat-of-long-spliced-arrays2.js on arm and mips/linux
Unreviewed gardening.
- stress/array-prototype-concat-of-long-spliced-arrays2.js:
- 6:15 PM Changeset in webkit [237168] by
-
- 5 edits3 adds in trunk/Source/WebCore
Unreviewed, rolling out r237162.
https://bugs.webkit.org/show_bug.cgi?id=190612
Broke Windows build (Requested by dolmstead on #webkit).
Reverted changeset:
"Add stub implementation for accessibility objects"
https://bugs.webkit.org/show_bug.cgi?id=190608
https://trac.webkit.org/changeset/237162
- 6:12 PM Changeset in webkit [237167] by
-
- 2 edits in trunk/Source/WebKit
Fix API tests after r237146
- Shared/WebPageGroupData.cpp:
(WebKit::WebPageGroupData::decode):
I accidentally changed the decoder.
- 6:04 PM Changeset in webkit [237166] by
-
- 2 edits in trunk/Source/WebKit
HSTS cache entries cannot be removed by origin
https://bugs.webkit.org/show_bug.cgi?id=190455
<rdar://problem/45181322>
Patch by Sihui Liu <sihui_liu@apple.com> on 2018-10-15
Reviewed by Chris Dumez.
The SPI _CFNetworkResetHSTS does not recognize url without protocol, so we need to add protocol manually.
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::deleteHSTSCacheForHostNames):
- 6:02 PM Changeset in webkit [237165] by
-
- 4 edits in trunk/Source
Source/WebKit:
Fix GTK build, even though bots are not working right now.
- UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformCreateFrontendPage):
Source/WebKitLegacy/win:
Fix Windows build.
- WebView.cpp:
(WebView::loadBackForwardListFromOtherView):
- 5:56 PM Changeset in webkit [237164] by
-
- 2 edits in trunk/Source/WebKitLegacy/win
Fix WinCairo build.
- WebView.cpp:
(WebView::backForwardList):
- 5:53 PM Changeset in webkit [237163] by
-
- 4 edits in trunk/Source/WebCore
[CG] Adopt CG SPI for non-even cornered rounded rects
https://bugs.webkit.org/show_bug.cgi?id=190155
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2018-10-15
Reviewed by Simon Fraser.
Source/WebCore:
Instead of creating bezier curves for the non-even corners of the rounded
rects, we should use the optimized SPI provided by CG.
- platform/graphics/cg/PathCG.cpp:
(WebCore::Path::platformAddPathForRoundedRect):
Source/WebCore/PAL:
- pal/spi/cg/CoreGraphicsSPI.h:
- 5:46 PM Changeset in webkit [237162] by
-
- 5 edits1 delete in trunk/Source/WebCore
Add stub implementation for accessibility objects
https://bugs.webkit.org/show_bug.cgi?id=190608
Reviewed by Michael Catanzaro.
No new tests. No change in behavior.
Add default implementation to associated cpp file. Removes the WPE
specific stubs.
- SourcesWPE.txt:
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::detachWrapper):
(WebCore::AXObjectCache::attachWrapper):
(WebCore::AXObjectCache::postPlatformNotification):
(WebCore::AXObjectCache::nodeTextChangePlatformNotification):
(WebCore::AXObjectCache::frameLoadingEventPlatformNotification):
(WebCore::AXObjectCache::platformHandleFocusedUIElementChanged):
(WebCore::AXObjectCache::handleScrolledToAnchor):
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::accessibilityIgnoreAttachment const):
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject const):
- accessibility/AccessibilityObject.h:
- accessibility/wpe/AXObjectCacheWPE.cpp: Removed.
- accessibility/wpe/AccessibilityObjectWPE.cpp: Removed.
- 5:38 PM Changeset in webkit [237161] by
-
- 2 edits in trunk/Source/WebKit
Fix WinCairo build after r237146
- UIProcess/win/WebInspectorProxyWin.cpp:
(WebKit::WebInspectorProxy::platformCreateFrontendPage):
- 5:34 PM Changeset in webkit [237160] by
-
- 2 edits in trunk/Source/WebKitLegacy/mac
Fix iOS build after r237157
- WebView/WebView.mm:
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
- 5:32 PM Changeset in webkit [237159] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (r236512): [ Mac WK2 ] Layout Test editing/undo/undo-smart-delete-word.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=190375
<rdar://problem/45177807>
Reviewed by Ryosuke Niwa.
The test is doing the following:
document.execCommand("Delete"); document.execCommand("Undo");
Both operation are synchronous and rely on synchronous IPC from the WebProcess to the UIProcess.
However, for the undo operation to succeed, the first command need to have been registered with
with the UIProcess via the WebPageProxy::RegisterEditCommandForUndo IPC to the UIProcess, which
is asynchronous.
After r236512, the UIProcess no longer processes incoming sync / async IPC in order and thus,
it is possible for the WebPageProxy::ExecuteUndoRedo synchronous IPC to get processed by the
UIProcess *before* the WebPageProxy::RegisterEditCommandForUndo asynchronous IPC for the
previous "Delete" command. As a result, canUndo would return false and we would fail to undo.
To address the issue, use SendOption::DispatchMessageEvenWhenWaitingForSyncReply flag when sending
the WebPageProxy::RegisterEditCommandForUndo IPC, so that it gets processed in order with regards
to surrounding synchronous IPC.
- WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::registerUndoStep):
- 5:30 PM Changeset in webkit [237158] by
-
- 2 edits in trunk/Tools
Update bot configuration for Sierra archive queues
https://bugs.webkit.org/show_bug.cgi?id=190605
Reviewed by Aakash Jain.
- BuildSlaveSupport/build.webkit.org-config/config.json:
- 5:14 PM Changeset in webkit [237157] by
-
- 28 edits in trunk/Source
Modernize BackForwardClient.h
https://bugs.webkit.org/show_bug.cgi?id=190610
Reviewed by Chris Dumez.
Source/WebCore:
- editing/markup.cpp:
(WebCore::createPageForSanitizingWebContent):
- history/BackForwardClient.h:
- history/BackForwardController.h:
(WebCore::BackForwardController::client):
(WebCore::BackForwardController::client const):
- inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::overlayPage):
- loader/EmptyClients.cpp:
(WebCore::pageConfigurationWithEmptyClients):
(WebCore::createEmptyFrameNetworkingContext): Deleted.
(WebCore::fillWithEmptyClients): Deleted.
(WebCore::createEmptyEditorClient): Deleted.
- loader/EmptyClients.h:
- page/Page.cpp:
(WebCore::Page::Page):
- page/PageConfiguration.cpp:
(WebCore::PageConfiguration::PageConfiguration):
- page/PageConfiguration.h:
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):
Source/WebKit:
- WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp:
(WebKit::InjectedBundleBackForwardList::clear):
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::installServiceWorker):
- WebProcess/WebPage/WebBackForwardListProxy.cpp:
(WebKit::WebBackForwardListProxy::WebBackForwardListProxy):
(WebKit::WebBackForwardListProxy::backListCount const):
(WebKit::WebBackForwardListProxy::forwardListCount const):
(WebKit::WebBackForwardListProxy::backListCount): Deleted.
(WebKit::WebBackForwardListProxy::forwardListCount): Deleted.
- WebProcess/WebPage/WebBackForwardListProxy.h:
(WebKit::WebBackForwardListProxy::create):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_cpuLimit):
(WebKit::WebPage::restoreSessionInternal):
Source/WebKitLegacy/mac:
- History/BackForwardList.h:
- History/BackForwardList.mm:
(BackForwardList::backListCount const):
(BackForwardList::forwardListCount const):
(BackForwardList::backListCount): Deleted.
(BackForwardList::forwardListCount): Deleted.
- History/WebBackForwardList.mm:
(-[WebBackForwardList init]):
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::canCachePage const):
- WebView/WebFrameView.mm:
(-[WebFrameView keyDown:keyDown:]):
- WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
(-[WebView _loadBackForwardListFromOtherView:]):
(-[WebView initWithCoder:]):
(-[WebView encodeWithCoder:]):
(-[WebView backForwardList]):
(-[WebView setMaintainsBackForwardList:]):
Source/WebKitLegacy/win:
- BackForwardList.cpp:
(BackForwardList::backListCount const):
(BackForwardList::forwardListCount const):
(BackForwardList::backListCount): Deleted.
(BackForwardList::forwardListCount): Deleted.
- BackForwardList.h:
- WebView.cpp:
(WebView::initWithFrame):
(WebView::backForwardList):
- 4:43 PM Changeset in webkit [237156] by
-
- 33 edits7 adds in trunk
Add support for prefers-color-scheme media query
https://bugs.webkit.org/show_bug.cgi?id=190499
rdar://problem/45212025
Reviewed by Dean Jackson.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig: Added ENABLE_DARK_MODE_CSS.
Source/WebCore:
Test: css-dark-mode/prefers-color-scheme.html
- Configurations/FeatureDefines.xcconfig: Added ENABLE_DARK_MODE_CSS.
- css/CSSValueKeywords.in: Added light and dark.
- css/MediaFeatureNames.h: Added prefers-color-scheme.
- css/MediaQueryEvaluator.cpp:
(WebCore::prefersColorSchemeEvaluate): Added.
- css/MediaQueryExpression.cpp:
(WebCore::featureWithValidIdent): Added prefers-color-scheme.
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setDarkModeCSSEnabled): Added.
(WebCore::RuntimeEnabledFeatures::darkModeCSSEnabled const): Added.
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::resetToConsistentState): Reset setUseDarkAppearance.
(WebCore::InternalSettings::setUseDarkAppearance): Added.
- testing/InternalSettings.h: Added setUseDarkAppearance.
- testing/InternalSettings.idl: Ditto.
Source/WebCore/PAL:
- Configurations/FeatureDefines.xcconfig: Added ENABLE_DARK_MODE_CSS.
Source/WebKit:
- Configurations/FeatureDefines.xcconfig: Added ENABLE_DARK_MODE_CSS.
- Shared/WebPreferences.yaml: Added DarkModeCSSEnabled as experimental.
Source/WebKitLegacy/mac:
- Configurations/FeatureDefines.xcconfig: Added ENABLE_DARK_MODE_CSS.
Source/WTF:
- wtf/FeatureDefines.h: Added ENABLE_DARK_MODE_CSS.
Tools:
- Scripts/webkitperl/FeatureList.pm: Added ENABLE_DARK_MODE_CSS as dark-mode-css.
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Added ENABLE_DARK_MODE_CSS.
LayoutTests:
- css-dark-mode/prefers-color-scheme-expected.txt: Added.
- css-dark-mode/prefers-color-scheme.html: Added.
- platform/gtk/TestExpectations: Skip css-dark-mode.
- platform/ios/TestExpectations: Skip css-dark-mode.
- platform/mac-wk1/TestExpectations: Skip css-dark-mode.
- platform/win/TestExpectations: Skip css-dark-mode.
- platform/wincairo/TestExpectations: Skip css-dark-mode.
- platform/wpe/TestExpectations: Skip css-dark-mode.
- 4:29 PM Changeset in webkit [237155] by
-
- 4 edits in trunk/LayoutTests
Web Inspector: Cleanup Table test utilities
https://bugs.webkit.org/show_bug.cgi?id=190538
<rdar://problem/45237730>
Reviewed by Joseph Pecoraro.
Cleanup Table test utilities by exposing removing the artificial dependency
between TableDelegate and TableDataSource, and exposing a cleaner set of
utility methods to InspectorTest. This patch changesInspectorTest.createTable
to take no parameters, and addsInspectorTest.createTableWithDelegate
for
tests that need to supply a custom delegate.
- inspector/table/resources/table-utilities.js:
(TestPage.registerInitializer.InspectorTest.TableDataSource):
(TestPage.registerInitializer.InspectorTest.TableDelegate):
(TestPage.registerInitializer.InspectorTest.TableDelegate.prototype.tablePopulateCell):
(TestPage.registerInitializer.createDataSource):
(TestPage.registerInitializer.createTableInternal):
(TestPage.registerInitializer.InspectorTest.createTable):
(TestPage.registerInitializer.InspectorTest.createTableWithDelegate):
(TestPage.registerInitializer):
- inspector/table/table-selection-expected.txt:
Update with new test suite name.
- inspector/table/table-selection.html:
- 4:18 PM Changeset in webkit [237154] by
-
- 6 edits in trunk/Source/WebKit
Remove StorageProcess leftover
https://bugs.webkit.org/show_bug.cgi?id=190591
Patch by Patrick Griffis <Patrick Griffis> on 2018-10-15
Reviewed by Michael Catanzaro.
The process was deleted.
- Shared/ChildProcess.h:
- Shared/mac/ChildProcessMac.mm:
(WebKit::processStorageClass):
(WebKit::sandboxDirectory):
- UIProcess/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::getLaunchOptions):
- UIProcess/Launcher/ProcessLauncher.h:
- UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::serviceName):
- 4:14 PM Changeset in webkit [237153] by
-
- 2 edits in trunk/Tools
[JHBuild] Add xdg-dbus-proxy module
https://bugs.webkit.org/show_bug.cgi?id=190589
Patch by Patrick Griffis <Patrick Griffis> on 2018-10-15
Reviewed by Michael Catanzaro.
- gtk/jhbuild.modules:
- 4:14 PM Changeset in webkit [237152] by
-
- 2 edits in trunk/Tools
[GTK] Add new sandboxing dependencies to install-dependencies
https://bugs.webkit.org/show_bug.cgi?id=190588
Patch by Patrick Griffis <Patrick Griffis> on 2018-10-15
Reviewed by Michael Catanzaro.
- gtk/install-dependencies:
- 4:10 PM Changeset in webkit [237151] by
-
- 7 edits3 adds in trunk
Web Inspector: Expose Server Timing Response Headers in Network Tab
https://bugs.webkit.org/show_bug.cgi?id=190440
Patch by Charles Vazac <cvazac@gmail.com> on 2018-10-15
Reviewed by Joseph Pecoraro.
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js: new key "Server Timing:"
- UserInterface/Main.html: add reference to Models/ServerTimingEntry.js
- UserInterface/Models/Resource.js:
(WI.Resource.prototype.get serverTiming):
(WI.Resource.prototype.updateForResponse):
- UserInterface/Models/ServerTimingEntry.js: Added.
(WI.ServerTimingEntry):
(WI.ServerTimingEntry.parseHeaders): parse raw response headers into an array of ServerTimingEntry objects
(WI.ServerTimingEntry.parseHeaders.consumeDelimiter):
(WI.ServerTimingEntry.parseHeaders.consumeToken):
(WI.ServerTimingEntry.):
- UserInterface/Test.html: add reference to Models/ServerTimingEntry.js
- UserInterface/Views/ResourceTimingBreakdownView.js:
(WI.ResourceTimingBreakdownView.prototype._appendServerTimingRow): render a table row per ServerTimingEntry object
(WI.ResourceTimingBreakdownView.prototype.initialLayout):
(WI.ResourceTimingBreakdownView):
LayoutTests:
- inspector/unit-tests/server-timing-entry-expected.txt:
- inspector/unit-tests/server-timing-entry.html:
- 3:51 PM Changeset in webkit [237150] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Dark Mode: pseudo elements in DOM tree are too dark
https://bugs.webkit.org/show_bug.cgi?id=190541
<rdar://problem/45238443>
Reviewed by Matt Baker.
- UserInterface/Views/DOMTreeOutline.css:
(@media (prefers-dark-interface)):
(.tree-outline.dom .html-pseudo-element):
- 3:35 PM Changeset in webkit [237149] by
-
- 1 edit1 delete in trunk/LayoutTests
Garden WK2 tests after r237104
https://bugs.webkit.org/show_bug.cgi?id=190522
- platform/wk2/http/tests/navigation/keyboard-events-during-provisional-navigation-expected.txt: Removed.
I added this wk2 expectation in r234658 after r234640. r237104 effectively did the inverse of r234640,
so behavior is back to how it was before then. This makes the expectations reflect such.
- 2:45 PM Changeset in webkit [237148] by
-
- 17 edits in trunk/Source
Remove unused WebView._globalHistoryItem
https://bugs.webkit.org/show_bug.cgi?id=190601
Reviewed by Chris Dumez.
Source/WebCore:
This was a hack to give the client a more reliable current back/forward item, but it hasn't been used for years
and it's adding unnecessary complexity to the history code.
- loader/EmptyFrameLoaderClient.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
- loader/FrameLoaderClient.h:
- loader/HistoryController.cpp:
(WebCore::HistoryController::goToItem):
(WebCore::HistoryController::updateForStandardLoad):
(WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
Source/WebKitLegacy/mac:
- WebCoreSupport/WebFrameLoaderClient.h:
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::updateGlobalHistoryItemForPage): Deleted.
- WebView/WebView.mm:
(-[WebView _globalHistoryItem]): Deleted.
(-[WebView _setGlobalHistoryItem:]): Deleted.
- WebView/WebViewData.h:
- WebView/WebViewInternal.h:
- WebView/WebViewPrivate.h:
Source/WebKitLegacy/win:
- WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::updateGlobalHistoryItemForPage): Deleted.
- WebCoreSupport/WebFrameLoaderClient.h:
- WebView.cpp:
(WebView::globalHistoryItem):
(WebView::setGlobalHistoryItem): Deleted.
- WebView.h:
- 2:40 PM Changeset in webkit [237147] by
-
- 7 edits2 deletes in trunk/Source/JavaScriptCore
Unreviewed, rolling out r237084, r237088, r237098, and
r237114.
https://bugs.webkit.org/show_bug.cgi?id=190602
Breaks internal builds. (Requested by ryanhaddad on #webkit).
Reverted changesets:
"Separate configuration extraction from offset extraction"
https://bugs.webkit.org/show_bug.cgi?id=189708
https://trac.webkit.org/changeset/237084
"Gardening: Build fix after r237084."
https://bugs.webkit.org/show_bug.cgi?id=189708
https://trac.webkit.org/changeset/237088
"Gardening: Build fix after r237084."
https://bugs.webkit.org/show_bug.cgi?id=189708
https://trac.webkit.org/changeset/237098
"REGRESSION (r237084): JavaScriptCore fails to build on Linux"
https://trac.webkit.org/changeset/237114
Patch by Commit Queue <commit-queue@webkit.org> on 2018-10-15
- 2:33 PM Changeset in webkit [237146] by
-
- 9 edits in trunk/Source/WebKit
Remove unused parameters of WebPageGroupData
https://bugs.webkit.org/show_bug.cgi?id=190600
Reviewed by Chris Dumez.
visibleToInjectedBundle and visibleToHistoryClient are both always true.
This removes a mysterious check in the history code.
- Shared/WebPageGroupData.cpp:
(WebKit::WebPageGroupData::encode const):
(WebKit::WebPageGroupData::decode):
- Shared/WebPageGroupData.h:
- UIProcess/WebPageGroup.cpp:
(WebKit::WebPageGroup::create):
(WebKit::pageGroupData):
(WebKit::WebPageGroup::WebPageGroup):
- UIProcess/WebPageGroup.h:
(WebKit::WebPageGroup::WebPageGroup):
(WebKit::WebPageGroup::create):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::updateGlobalHistory):
(WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
(WebKit::WebFrameLoaderClient::setTitle):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::create):
(WebKit::WebPage::close):
- WebProcess/WebPage/WebPageGroupProxy.cpp:
(WebKit::WebPageGroupProxy::create):
- WebProcess/WebPage/WebPageGroupProxy.h:
(WebKit::WebPageGroupProxy::pageGroupID const):
(WebKit::WebPageGroupProxy::isVisibleToInjectedBundle const): Deleted.
(WebKit::WebPageGroupProxy::isVisibleToHistoryClient const): Deleted.
- 2:21 PM Changeset in webkit [237145] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION (r233824): execution highlight range missing/incorrect in pretty printed code
https://bugs.webkit.org/show_bug.cgi?id=188082
<rdar://problem/42640580>
Reviewed by Joseph Pecoraro.
- UserInterface/Views/SourceCodeTextEditor.js:
(WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange):
TextEditor expects positions returned by the delegate to be relative to
the editor's text content, not the original source code content.
- UserInterface/Views/TextEditor.js:
(WI.TextEditor.prototype._updateExecutionRangeHighlight):
Convert positions to CodeMirror format here rather than in the delegate
method, which is a layer removed from CodeMirror.
- 2:21 PM Changeset in webkit [237144] by
-
- 15 edits3 adds in trunk
Experiment: target=_blank on anchors should imply rel=noopener
https://bugs.webkit.org/show_bug.cgi?id=190481
Reviewed by Alex Christensen.
Source/WebCore:
As an experiment, try and make it so that target=_blank on anchors implies
rel=noopener
for improved security.
WebContent can then request an opener relationship by usingrel=opener
instead.
This change was discussed at:
We want to attempt this change is STP to see if it is Web-compatible. Preliminary testing seems to indicate
that OAuth workflows still work.
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::parseAttribute):
(WebCore::HTMLAnchorElement::handleClick):
(WebCore::HTMLAnchorElement::effectiveTarget const):
- html/HTMLAnchorElement.h:
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setBlankAnchorTargetImpliesNoOpenerEnabled):
(WebCore::RuntimeEnabledFeatures::blankAnchorTargetImpliesNoOpenerEnabled const):
Source/WebKit:
- Shared/WebPreferences.yaml:
Tools:
Add API test coverage to make sure we can now swap process when target=_blank
is specified on an anchor but rel=noopener is not.
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
LayoutTests:
Update existing tests to reflect behavior change.
- TestExpectations:
- http/tests/navigation/no-referrer-reset.html:
- http/tests/security/resources/referrer-policy-redirect-link.html:
- http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html:
- http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html:
- http/tests/security/xssAuditor/link-opens-new-window.html:
- 2:14 PM Changeset in webkit [237143] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Dark Mode: unreadable text when hovering CSS properties while holding Command
https://bugs.webkit.org/show_bug.cgi?id=190548
<rdar://problem/45242098>
Reviewed by Joseph Pecoraro.
- UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
(.meta-key-pressed .spreadsheet-css-declaration:not(.locked) :matches(.name, .value):not(.editing):hover):
In the light mode the color remained the same.
- 2:10 PM Changeset in webkit [237142] by
-
- 10 edits in trunk
[Apple Pay] New shipping methods are ignored when updating after the shippingaddresschange event
https://bugs.webkit.org/show_bug.cgi?id=190560
<rdar://problem/44559075>
Reviewed by Youenn Fablet.
Source/WebCore:
When a PaymentDetailsUpdate with shipping options was specified to updateWith() after the
shippingaddresschange event fires, ApplePayPaymentHandler needs to convert the shipping
options to ShippingMethods and add them to the ShippingContactUpdate so that the Apple Pay
UI renders the new options.
Added test cases to http/tests/ssl/applepay/ApplePayShippingAddressChangeEventErrors.https.html.
- Modules/applepay/ApplePayShippingMethod.idl:
- Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
(WebCore::ApplePayPaymentHandler::computeShippingMethods):
(WebCore::ApplePayPaymentHandler::shippingAddressUpdated):
- Modules/applepay/paymentrequest/ApplePayPaymentHandler.h:
- testing/MockPaymentCoordinator.cpp:
(WebCore::convert):
(WebCore::MockPaymentCoordinator::showPaymentUI):
(WebCore::MockPaymentCoordinator::completeShippingContactSelection):
- testing/MockPaymentCoordinator.h:
- testing/MockPaymentCoordinator.idl:
LayoutTests:
- http/tests/ssl/applepay/ApplePayShippingAddressChangeEventErrors.https-expected.txt:
- http/tests/ssl/applepay/ApplePayShippingAddressChangeEventErrors.https.html:
- 1:58 PM Changeset in webkit [237141] by
-
- 2 edits in trunk/Source/JavaScriptCore
BytecodeDumper should print all switch labels
https://bugs.webkit.org/show_bug.cgi?id=190596
Reviewed by Saam Barati.
Right now the bytecode dumper only prints the default target not any of the
non-default targets.
- bytecode/BytecodeDumper.cpp:
(JSC::BytecodeDumper<Block>::dumpBytecode):
- 1:52 PM Changeset in webkit [237140] by
-
- 24 edits7 adds in trunk
RTCPeerConnection.generateCertificate is not a function
https://bugs.webkit.org/show_bug.cgi?id=173541
<rdar://problem/32638029>
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
- web-platform-tests/webrtc/RTCCertificate-expected.txt:
- web-platform-tests/webrtc/RTCPeerConnection-generateCertificate-expected.txt:
- web-platform-tests/webrtc/interfaces.https-expected.txt:
- web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-constructor-expected.txt:
Source/ThirdParty/libwebrtc:
- Configurations/libwebrtc.iOS.exp:
- Configurations/libwebrtc.iOSsim.exp:
- Configurations/libwebrtc.mac.exp:
Source/WebCore:
Add support for RTCCertificate generation through libwebrtc certificate generator.
Make generation in the webrtc network thread.
Support is as per spec (ECDSA and RSASSA_PKCS).
Partially covered by WPT tests.
- css/StyleBuilder.h: Fixing build.
- CMakeLists.txt:
- DerivedSources.make:
- Modules/webauthn/PublicKeyCredential.cpp: Fixing build.
- Modules/mediastream/PeerConnectionBackend.cpp:
(WebCore::PeerConnectionBackend::generateCertificate):
- Modules/mediastream/PeerConnectionBackend.h:
(WebCore::PeerConnectionBackend::CertificateInformation::RSASSA_PKCS1_v1_5):
(WebCore::PeerConnectionBackend::CertificateInformation::ECDSA_P256):
(WebCore::PeerConnectionBackend::CertificateInformation::CertificateInformation):
- Modules/mediastream/RTCCertificate.cpp: Added.
(WebCore::RTCCertificate::create):
(WebCore::RTCCertificate::RTCCertificate):
- Modules/mediastream/RTCCertificate.h: Added.
(WebCore::RTCCertificate::expires const):
(WebCore::RTCCertificate::getFingerprints const):
- Modules/mediastream/RTCCertificate.idl: Added.
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::certificateTypeFromAlgorithmIdentifier):
(WebCore::RTCPeerConnection::generateCertificate):
- Modules/mediastream/RTCPeerConnection.h:
- Modules/mediastream/RTCPeerConnection.idl:
- Modules/mediastream/libwebrtc/LibWebRTCCertificateGenerator.cpp: Added.
(WebCore::LibWebRTCCertificateGenerator::RTCCertificateGeneratorCallback::RTCCertificateGeneratorCallback):
(WebCore::LibWebRTCCertificateGenerator::RTCCertificateGeneratorCallback::~RTCCertificateGeneratorCallback):
(WebCore::LibWebRTCCertificateGenerator::keyParamsFromCertificateType):
(WebCore::LibWebRTCCertificateGenerator::generateCertificate):
- Modules/mediastream/libwebrtc/LibWebRTCCertificateGenerator.h: Added.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/WebCoreBuiltinNames.h:
- platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
(WebCore::LibWebRTCProvider::certificateGenerator):
- platform/mediastream/libwebrtc/LibWebRTCProvider.h:
- 1:09 PM Changeset in webkit [237139] by
-
- 3 edits in trunk/Source/WebCore
Add compact logging for the paint-order RenderLayer tree
https://bugs.webkit.org/show_bug.cgi?id=190592
Reviewed by Zalan Bujtas.
Add a way to dump the RenderLayer tree in paint order, which will be extended in future
to show more dirty bit state.
- rendering/RenderLayer.cpp:
(WebCore::outputPaintOrderTreeLegend):
(WebCore::outputIdent):
(WebCore::outputPaintOrderTreeRecursive):
(WebCore::showPaintOrderTree):
- rendering/RenderLayer.h:
- 12:55 PM Changeset in webkit [237138] by
-
- 14 edits in trunk/Source
Remove unused parameters from FrameLoaderClient::createFrame
https://bugs.webkit.org/show_bug.cgi?id=190587
Reviewed by Chris Dumez.
Source/WebCore:
- loader/EmptyClients.cpp:
(WebCore::EmptyFrameLoaderClient::createFrame):
- loader/EmptyFrameLoaderClient.h:
- loader/FrameLoaderClient.h:
- loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadSubframe):
Source/WebKit:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::createFrame):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
Source/WebKitLegacy/mac:
- WebCoreSupport/WebFrameLoaderClient.h:
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createFrame):
Source/WebKitLegacy/win:
- WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::createFrame):
- WebCoreSupport/WebFrameLoaderClient.h:
- 12:53 PM Changeset in webkit [237137] by
-
- 3 edits in trunk/Source/WebKitLegacy/mac
Remove unused WebFrame._loadType
https://bugs.webkit.org/show_bug.cgi?id=190583
Reviewed by Chris Dumez.
This is unused, and this concept needs to not be exposed from WebCore to WebKitLegacy for me to fix history bugs.
- WebView/WebFrame.mm:
(toWebFrameLoadType): Deleted.
(-[WebFrame _loadType]): Deleted.
- WebView/WebFramePrivate.h:
- 12:47 PM Changeset in webkit [237136] by
-
- 13 edits1 add in trunk
Emit fjcvtzs on ARM64E on Darwin
https://bugs.webkit.org/show_bug.cgi?id=184023
Reviewed by Yusuke Suzuki and Filip Pizlo.
JSTests:
- stress/double-to-int32-NaN.js: Added.
(assert):
(foo):
Source/JavaScriptCore:
ARMv8.3 introduced the fjcvtzs instruction which does double->int32
conversion using the semantics defined by JavaScript:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0801g/hko1477562192868.html
This patch teaches JSC to use that instruction when possible.
- assembler/ARM64Assembler.h:
(JSC::ARM64Assembler::fjcvtzs):
(JSC::ARM64Assembler::fjcvtzsInsn):
- assembler/MacroAssemblerARM64.cpp:
(JSC::MacroAssemblerARM64::collectCPUFeatures):
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::supportsDoubleToInt32ConversionUsingJavaScriptSemantics):
(JSC::MacroAssemblerARM64::convertDoubleToInt32UsingJavaScriptSemantics):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
- disassembler/ARM64/A64DOpcode.cpp:
- disassembler/ARM64/A64DOpcode.h:
(JSC::ARM64Disassembler::A64DOpcode::appendInstructionName):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::doubleToInt32):
- jit/JITRightShiftGenerator.cpp:
(JSC::JITRightShiftGenerator::generateFastPath):
- runtime/MathCommon.h:
(JSC::toInt32):
Source/WTF:
- wtf/Platform.h:
- 12:47 PM Changeset in webkit [237135] by
-
- 12 edits2 adds in trunk
[iOS] Can't select text after dismissing the keyboard when changing focus
https://bugs.webkit.org/show_bug.cgi?id=190563
<rdar://problem/44613559>
Reviewed by Tim Horton.
Source/WebKit:
In r230686, we switched from using UIWKSelectionAssistant to UIWKTextInteractionAssistant for handling selection
in non-editable content on iOS; as such, when an editable element loses focus, instead of switching from the
text interaction assistant to the web selection assistant as we've previously done, we now reset our text
interaction assistant by calling-[UIWKTextInteractionAssistant setGestureRecognizers]
, which removes all of
the current text selection gesture recognizers from WKContentView and regenerates them by building up a tree of
UITextInteraction
s and adding them to the assistant (see `-[UITextInteractionAssistant
addGestureRecognizersToView:]). In particular,
_UITextSelectionForceGesture` is the gesture recognizer used to
trigger text selection when long pressing.
After dismissing the keyboard by tapping the "Done" button, the UITextInteractions and gesture recognizers on
the interaction assistant include:
<UITextInteraction>
…
<UITextIndirectNonEditableInteraction>
<_UIKeyboardBasedNonEditableTextSelectionInteraction>
↳ "_UIKeyboardTextSelectionGestureForcePress" → <_UITextSelectionForceGesture>
However, after the keyboard dismisses due to an editable element losing focus, the UITextInteractions on the
interaction assistant look like this:
<UITextInteraction>
…
<UITextIndirectNonEditableInteraction>
Subsequently, the lack of a
_UIKeyboardBasedNonEditableTextSelectionInteraction
makes text selection by long
pressing impossible, since the_UITextSelectionForceGesture
is never introduced toWKContentView
. In UIKit,
UITextIndirectNonEditableInteraction
only adds_UIKeyboardBasedNonEditableTextSelectionInteraction
as a
child if the text input view — in our case, WKContentView — is missing an input delegate (see-initWithView:
).
In the case where the Done button is used to dismiss the keyboard, WKContentView loses first responder, and the
input delegate of WKContentView is cleared out early on, before we call-stopAssistingKeyboard
:
-[WKContentView(WKInteraction) setInputDelegate:]
-[UIKeyboardImpl setDelegate:force:]
-[UIPeripheralHost(UIKitInternal) _reloadInputViewsForResponder:]
-[UIResponder _finishResignFirstResponder]
-[UIResponder resignFirstResponder]
-[WKContentView(WKInteraction) resignFirstResponderForWebView]
-[UIKeyboardImpl dismissKeyboard]
However, in the case where the focused element is blurred, we end up clearing out the delegate in
-_stopAssistingNode
, *after* we've already called-setGestureRecognizers
on the interaction assistant. This
means UIKit will skip adding_UIKeyboardBasedNonEditableTextSelectionInteraction
to the text interaction
assistant.
-[WKContentView(WKInteraction) setInputDelegate:]
-[UIKeyboardImpl setDelegate:force:]
-[UIPeripheralHost(UIKitInternal) _reloadInputViewsForResponder:]
-[UIResponder(UIResponderInputViewAdditions) reloadInputViews]
-[WKContentView(WKInteraction) _stopAssistingNode]
To fix this, we simply reset our
inputDelegate
earlier in_stopAssistingKeyboard
instead of waiting until
we reload input views. This ensures that UIKit sets up the text interaction assistant's gestures when changing
focus in the same way as we would when the keyboard is dismissed via-resignFirstResponder
(e.g. when pressing
the Done button).
Test: editing/selection/ios/select-text-after-changing-focus.html
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setupInteraction]):
(-[WKContentView setUpTextSelectionAssistant]):
(-[WKContentView _startAssistingKeyboard]):
(-[WKContentView _stopAssistingKeyboard]):
(-[WKContentView useSelectionAssistantWithGranularity:]): Deleted.
Additionally rename this to -setUpTextSelectionAssistant and remove the selection granularity argument. This was
previously used to switch between web and text interaction assistants.
Tools:
- DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::isShowingKeyboard const):
Add a new UIScriptController method that returns whether the keyboard is shown. See
ui-helper.js
for more
details.
- TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
- TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::isShowingKeyboard const):
- TestRunnerShared/UIScriptContext/UIScriptController.h:
- WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
- WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
Also rename the
isShowingKeyboard
Objective-C property to the more canonicalshowingKeyboard
, with
isShowingKeyboard
as the getter method.
(-[TestRunnerWKWebView _invokeShowKeyboardCallbackIfNecessary]):
(-[TestRunnerWKWebView _invokeHideKeyboardCallbackIfNecessary]):
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::isShowingKeyboard const):
LayoutTests:
Add a new layout test to check that the user can make a selection by long pressing after the keyboard is
dismissed due to changing the focused element.
- editing/selection/ios/select-text-after-changing-focus-expected.txt: Added.
- editing/selection/ios/select-text-after-changing-focus.html: Added.
- resources/ui-helper.js:
Also tweak the behavior of
UIHelper.waitForKeyboardToHide()
, so that it resolves immediately if the keyboard
is not shown. This allows us to ensure that tests which useUIHelper.waitForKeyboardToHide()
are robust in the
case where they wait for another action to complete (e.g. a simulated tap) prior to registering a keyboard
hiding callback.
(window.UIHelper.waitForKeyboardToHide.return.new.Promise):
(window.UIHelper.waitForKeyboardToHide):
- 12:40 PM Changeset in webkit [237134] by
-
- 4 edits2 adds in trunk
[Apple Pay] Payment authorization results with ApplePayErrors should never be considered final
https://bugs.webkit.org/show_bug.cgi?id=190559
<rdar://problem/37250908>
Reviewed by Anders Carlsson.
Source/WebCore:
When PaymentCoordinator thinks a payment authorization result is final it releases the
active ApplePaySession. The Apple Pay UI is dismissed after a receiving a final result.
However, WebCore::isFinalStateResult had the wrong idea about what was a final state,
in some cases causing PaymentCoordinator to release the active session even when the UI is
still presented. If the user authorizes payment again, the website will not receive another
paymentauthorized event, and the Apple Pay UI will eventually time out waiting for a result.
Specifically, isFinalStateResult thought that:
(1) results with STATUS_SUCCESS were always final, even if they had errors
(2) errors with code "unknown" were final
Both of these assumptions are wrong. PassKit considers any result with errors to be
non-final, even if an error has code "unknown."
Fixed WebCore::isFinalStateResult to agree with what PassKit considers to be final results.
Test: http/tests/ssl/applepay/ApplePaySessionFinalState.https.html
- Modules/applepay/ApplePaySessionPaymentRequest.cpp:
(WebCore::isFinalStateResult):
- testing/MockPaymentCoordinator.cpp:
(WebCore::MockPaymentCoordinator::completePaymentSession):
LayoutTests:
- http/tests/ssl/applepay/ApplePaySessionFinalState.https-expected.txt: Added.
- http/tests/ssl/applepay/ApplePaySessionFinalState.https.html: Added.
- 12:37 PM Changeset in webkit [237133] by
-
- 4 edits in trunk/Source/WebCore
[Payment Request] PaymentResponse should be a ContextDestructionObserver
https://bugs.webkit.org/show_bug.cgi?id=190558
Reviewed by Alex Christensen.
Make PaymentResponse a ContextDestructionObserver so it has a ScriptExecutionContext to
return for its override of EventTarget::scriptExecutionContext(). Do this instead of
downcasting m_request to an ActiveDOMObject to ask for its context.
- Modules/paymentrequest/PaymentRequest.cpp:
(WebCore::PaymentRequest::accept):
- Modules/paymentrequest/PaymentResponse.cpp:
(WebCore::PaymentResponse::PaymentResponse):
(WebCore::PaymentResponse::scriptExecutionContext const): Deleted.
- Modules/paymentrequest/PaymentResponse.h:
- 12:34 PM Changeset in webkit [237132] by
-
- 3 edits in trunk/Source/WebCore
[Payment Request] Use a PendingActivity token rather than calling (un)setPendingActivity
https://bugs.webkit.org/show_bug.cgi?id=190557
Reviewed by Alex Christensen.
PaymentRequest has pending activity whenever there is an active payment handler, since
user-initiated events can occur whenever the payment UI is displayed.
Rather than manually track the pending activity with setPendingActivity() and
unsetPendingActivity(), use a PendingActivity token tied to the lifetime of the active
payment handler. Also, rewrite canSuspendForDocumentSuspension() in terms of
hasPendingActivity().
- Modules/paymentrequest/PaymentRequest.cpp:
(WebCore::PaymentRequest::show):
(WebCore::PaymentRequest::abortWithException):
(WebCore::PaymentRequest::canSuspendForDocumentSuspension const):
(WebCore::PaymentRequest::paymentMethodChanged):
(WebCore::PaymentRequest::completeMerchantValidation):
(WebCore::PaymentRequest::settleDetailsPromise):
(WebCore::PaymentRequest::complete):
(WebCore::PaymentRequest::cancel):
- Modules/paymentrequest/PaymentRequest.h:
- 12:28 PM Changeset in webkit [237131] by
-
- 7 edits in trunk/Source/WebKit
Web Inspector: RDM: Toolbar hidden in when Inspector is docked to side.
https://bugs.webkit.org/show_bug.cgi?id=190545
rdar://problem/44674500
Patch by Remy Demarest <rdemarest@apple.com> on 2018-10-15
Reviewed by Brian Burg.
When the inspector is placed next to the web view it uses its _topContentInset and _totalHeightOfBanners
to lay out the inspector so it does not underlap the window toolbar, but this technique does not work when
in responsive design mode because of the different attachment view. This patch fixes the issue by using
-[NSWindow contentLayoutRect] to figure out the height of the inspector instead of relying on the content
insets of the web view. This requires observing -contentLayoutRect and ensure we only observe its changes
when the view is actually on the screen.
- UIProcess/WebInspectorProxy.h:
Declare helpers to add/remove observer on the attached inspector window.
- UIProcess/mac/WKInspectorViewController.h:
- UIProcess/mac/WKInspectorViewController.mm:
(-[WKInspectorViewController inspectorWKWebView:willMoveToWindow:]):
(-[WKInspectorViewController inspectorWKWebViewDidMoveToWindow:]):
- UIProcess/mac/WKInspectorWKWebView.h:
- UIProcess/mac/WKInspectorWKWebView.mm:
(-[WKInspectorWKWebView viewWillMoveToWindow:]):
(-[WKInspectorWKWebView viewDidMoveToWindow]):
- UIProcess/mac/WebInspectorProxyMac.mm:
(-[WKWebInspectorProxyObjCAdapter observeValueForKeyPath:ofObject:change:context:]): Update inspector layout
whenever the contentLayoutRect changes. Except when live resizing since the attachment view also sends
notifications at the same time.
(-[WKWebInspectorProxyObjCAdapter inspectorViewController:willMoveToWindow:]):
(-[WKWebInspectorProxyObjCAdapter inspectorViewControllerDidMoveToWindow:]):
(WebKit::WebInspectorProxy::attachmentWillMoveFromWindow): Remove the observer only if we set it up before.
(WebKit::WebInspectorProxy::attachmentDidMoveToWindow): Set up the observer and immediately update the frame
of the inspector since it just moved to its final destination.
(WebKit::WebInspectorProxy::inspectedViewFrameDidChange): Adjust the frame of the attached inspector based
on the contentLayoutRect of the window rather than the topContentInset of the web view.
- 12:14 PM Changeset in webkit [237130] by
-
- 2 edits in trunk/Tools
Unreviewed, fix JSC tests after WebGPUShadingLanguageRI directory was removed in r237115.
- Scripts/run-javascriptcore-tests:
(runJSCStressTests): Remove wsl-tests.yaml.
- 12:14 PM Changeset in webkit [237129] by
-
- 4 edits1 add in trunk
JSArray::shiftCountWithArrayStorage is wrong when an array has holes
https://bugs.webkit.org/show_bug.cgi?id=190262
<rdar://problem/44986241>
Reviewed by Mark Lam.
JSTests:
- stress/array-prototype-concat-of-long-spliced-arrays.js:
(test):
- stress/slice-array-storage-with-holes.js: Added.
(main):
Source/JavaScriptCore:
We would take the fast path for shiftCountWithArrayStorage when the array
hasHoles(). However, the code for this was wrong. It'd incorrectly update
ArrayStorage::m_numValuesInVector. Since the hasHoles() for ArrayStorage
path is never taken in JetStream 2, this patch just removes that from
the fast path. Instead, we just fallback to the slow path when hasHoles().
If we find evidence that this matters for real use cases, we can
figure out a way to make the fast path work.
- runtime/JSArray.cpp:
(JSC::JSArray::shiftCountWithArrayStorage):
- 11:44 AM WebKitGTK/2.22.x edited by
- (diff)
- 11:42 AM Changeset in webkit [237128] by
-
- 27 edits2 deletes in trunk
Unreviewed, rolling out r237054.
https://bugs.webkit.org/show_bug.cgi?id=190593
"this regressed JetStream 2 by 6% on iOS" (Requested by
saamyjoon on #webkit).
Reverted changeset:
"[JSC] JSC should have "parseFunction" to optimize Function
constructor"
https://bugs.webkit.org/show_bug.cgi?id=190340
https://trac.webkit.org/changeset/237054
- 10:36 AM Changeset in webkit [237127] by
-
- 7 edits2 adds in trunk
Changing view scale should zoom to initial scale if the page is already at initial scale
https://bugs.webkit.org/show_bug.cgi?id=190570
<rdar://problem/45261877>
Reviewed by Tim Horton.
Source/WebCore:
Add a getter for ViewportConfiguration's layout size scale factor.
See Source/WebKit/ChangeLog for more details.
- page/ViewportConfiguration.h:
(WebCore::ViewportConfiguration::layoutSizeScaleFactor const):
Source/WebKit:
r237087 added support for changing the view scale on iOS, by making it possible to let the minimum layout size
be a factor of the view size; this allows internal clients to change page zoom levels on iOS. Currently,
changing the page zoom level automatically zooms to the new initial scale only if the user has not manually
scaled the page before, even if the page is already at initial scale (e.g. after the user double taps to zoom on
a small element, and double taps again to zoom back out to initial scale).
This patch makes some minor adjustments to automatically zoom to the new initial scale after changing the view
scale, as long as the page was at initial scale when changing zoom levels.
Test: fast/viewport/ios/initial-scale-after-changing-view-scale.html
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::areEssentiallyEqualAsFloat):
Move this function further up in the file, so that we can use it in
setViewportConfigurationViewLayoutSize
.
(WebKit::WebPage::setViewportConfigurationViewLayoutSize):
If the page is near initial scale and the zoom level changes, zoom to the new initial scale.
(WebKit::WebPage::viewportConfigurationChanged):
Make this take a new enum argument that determines whether we want to zoom to initial scale as a result of the
viewport configuration change (No
by default).
LayoutTests:
- fast/viewport/ios/initial-scale-after-changing-view-scale-expected.txt: Added.
- fast/viewport/ios/initial-scale-after-changing-view-scale.html: Added.
Add a new layout test to verify that:
- Changing view scale before the page scale factor is changed by the user zooms to the new initial scale.
- Changing view scale after the user changes the page scale to something different than initial scale does not
cause the page to zoom to the new initial scale.
- Changing view scale after the user changes the page scale factor back to initial scale causes the page to
zoom to the new initial scale.
- resources/basic-gestures.js:
Make a small tweak in
doubleTapToZoomAtPoint
to ensure that both single taps as well as zooming are complete
before invoking UIScriptController completion.
(return.new.Promise):
- 10:33 AM Changeset in webkit [237126] by
-
- 3 edits in trunk/Source/WebCore
Fix build error with !LOG_DISABLED in Release mode
https://bugs.webkit.org/show_bug.cgi?id=190465
Reviewed by Michael Catanzaro.
No tests due to no new functionality.
- workers/service/ServiceWorkerRegistrationKey.cpp:
- workers/service/ServiceWorkerRegistrationKey.h:
- 10:27 AM Changeset in webkit [237125] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Dark Mode: style editor warnings should not look like errors
https://bugs.webkit.org/show_bug.cgi?id=190569
<rdar://problem/45261689>
Reviewed by Matt Baker.
Make warnings in the style editor look the same as warnings in the content views.
Unify warning and error background color variables.
- UserInterface/Views/LogContentView.css:
(@media (prefers-dark-interface)):
(.console-error-level):
(.console-warning-level):
- UserInterface/Views/SourceCodeTextEditor.css:
(.source-code.text-editor > .CodeMirror .warning):
(.source-code.text-editor > .CodeMirror .error):
(.source-code.text-editor > .CodeMirror .issue-widget.warning):
(.source-code.text-editor > .CodeMirror .issue-widget.inline.warning):
(.source-code.text-editor > .CodeMirror .issue-widget.error):
(.source-code.text-editor > .CodeMirror .issue-widget.inline.error):
(@media (prefers-dark-interface)):
(.source-code.text-editor > .CodeMirror .issue-widget):
- UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
(.spreadsheet-style-declaration-editor .property.has-warning):
(.spreadsheet-style-declaration-editor .property.has-warning .warning):
(@media (prefers-dark-interface)):
(.spreadsheet-style-declaration-editor :matches(.name, .value).editing):
- UserInterface/Views/Variables.css:
(:root):
(@media (prefers-dark-interface)):
- 10:25 AM Changeset in webkit [237124] by
-
- 5 edits in trunk/Source/WebCore
LayerListMutationDetector should take a reference
https://bugs.webkit.org/show_bug.cgi?id=190586
Reviewed by Zalan Bujtas.
Change LayerListMutationDetector to take a RenderLayer&.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintList):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::calculateClipRects const):
- rendering/RenderLayer.h:
(WebCore::LayerListMutationDetector::LayerListMutationDetector):
(WebCore::LayerListMutationDetector::~LayerListMutationDetector):
- rendering/RenderLayerBacking.cpp:
(WebCore::traverseVisibleNonCompositedDescendantLayers):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
(WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
(WebCore::RenderLayerCompositor::recursiveRepaintLayer):
(WebCore::RenderLayerCompositor::layerHas3DContent const):
- 10:25 AM Changeset in webkit [237123] by
-
- 3 edits in trunk/Source/WebCore
Share some code to dirty z-order and normal flow lists when child layers are added or removed
https://bugs.webkit.org/show_bug.cgi?id=190585
Reviewed by Zalan Bujtas.
Factor code which dirties the normal flow list and child stacking context z-order lists
when a layer is added or removed.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::addChild):
(WebCore::RenderLayer::removeChild):
(WebCore::RenderLayer::dirtyPaintOrderListsOnChildChange):
- rendering/RenderLayer.h:
- 10:25 AM Changeset in webkit [237122] by
-
- 3 edits in trunk/Source/WebCore
Make a helper function to check for reflection layers
https://bugs.webkit.org/show_bug.cgi?id=190584
Reviewed by Zalan Bujtas.
Add RenderLayer::isReflectionLayer() which returns true if the passed layer
is the layer of this layer's reflection. It's used in z-order list building.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateNormalFlowList):
(WebCore::RenderLayer::rebuildZOrderLists):
(WebCore::RenderLayer::collectLayers):
(WebCore::expandClipRectForDescendantsAndReflection):
(WebCore::RenderLayer::calculateClipRects const):
- rendering/RenderLayer.h:
- 10:25 AM Changeset in webkit [237121] by
-
- 4 edits in trunk/Source/WebCore
RenderLayer::addChild() and removeChild() should take references
https://bugs.webkit.org/show_bug.cgi?id=190582
Reviewed by Zalan Bujtas.
Pass the layer to be added or removed as a reference; it's never null.
- rendering/RenderElement.cpp:
(WebCore::addLayers):
(WebCore::RenderElement::removeLayers):
(WebCore::RenderElement::moveLayers):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::addChild):
(WebCore::RenderLayer::removeChild):
(WebCore::RenderLayer::insertOnlyThisLayer):
(WebCore::RenderLayer::removeOnlyThisLayer):
- rendering/RenderLayer.h:
- 9:59 AM Changeset in webkit [237120] by
-
- 2 edits in trunk/Source/WebKitLegacy/win
Unreviewed Windows build fix after r237112.
- Plugins/PluginView.cpp:
(WebCore::PluginView::performRequest):
(WebCore::PluginView::load):
- 9:50 AM Changeset in webkit [237119] by
-
- 3 edits4 adds in trunk
[Cairo] Incorrect rendering for 135-deg skews
https://bugs.webkit.org/show_bug.cgi?id=190513
Source/WebCore:
Compensation value to zero the the translation components
of the transformation matrix is incorrect if the matrix
has a shear factor.
Reviewed by Žan Doberšek.
Tests: fast/transforms/skew-x-135deg-with-gradient.html
fast/transforms/skew-y-135deg-with-gradient.html
- platform/graphics/cairo/CairoUtilities.cpp:
(WebCore::drawPatternToCairoContext):
LayoutTests:
Reviewed by Žan Doberšek.
- fast/transforms/skew-x-135deg-with-gradient-expected.html: Added.
- fast/transforms/skew-x-135deg-with-gradient.html: Added.
- fast/transforms/skew-y-135deg-with-gradient-expected.html: Added.
- fast/transforms/skew-y-135deg-with-gradient.html: Added.
- 9:33 AM Changeset in webkit [237118] by
-
- 10 edits2 adds1 delete in trunk
[Curl][WinCairo] Add Public Suffix support to WinCairo
https://bugs.webkit.org/show_bug.cgi?id=183060
Reviewed by Alex Christensen.
.:
- Source/cmake/FindLibPSL.cmake: Added.
- Source/cmake/OptionsWin.cmake:
- Source/cmake/OptionsWinCairo.cmake:
Source/WebCore:
Add Public Suffix support to WinCairo using LibPSL.
LibPSL has been added to WinCairoRequirements in v2018.10.09.
- platform/Curl.cmake:
- platform/network/curl/CookieJarDB.cpp:
(WebCore::CookieJarDB::searchCookies): Search for cookies using the topPrivatelyControlledDomain
(WebCore::CookieJarDB::setCookie): Prevent cookies from being added under TLDs
- platform/network/curl/PublicSuffixCurl.cpp: Added.
(WebCore::isPublicSuffix):
(WebCore::topPrivatelyControlledDomainInternal):
(WebCore::topPrivatelyControlledDomain):
Tools:
Share mac's PublicSuffix tests with all ports.
- TestWebKitAPI/PlatformWin.cmake:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp:
- TestWebKitAPI/Tests/mac/PublicSuffix.mm: Removed.
- 9:12 AM Changeset in webkit [237117] by
-
- 3 edits in trunk/Source/WebCore
RenderLayer tree-related cleanup
https://bugs.webkit.org/show_bug.cgi?id=190572
Reviewed by Zalan Bujtas.
Move code around so that functions related to parent/child and z-order tree structure
are near the top of RenderLayer.cpp, since this is one of the primary functions of layers.
Attempts to use inheritance or composition to separate out tree structure resulted in
unwieldy code and/or performance regressions.
The only behavior change is to store a bit for m_isStackingContext so that we don't have
to consult the old style to know if it changed.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::addChild):
(WebCore::RenderLayer::removeChild):
(WebCore::RenderLayer::insertOnlyThisLayer):
(WebCore::RenderLayer::removeOnlyThisLayer):
(WebCore::canCreateStackingContext):
(WebCore::RenderLayer::shouldBeNormalFlowOnly const):
(WebCore::RenderLayer::shouldBeStackingContext const):
(WebCore::RenderLayer::setIsNormalFlowOnly):
(WebCore::RenderLayer::setIsStackingContext):
(WebCore::RenderLayer::setParent):
(WebCore::RenderLayer::dirtyZOrderLists):
(WebCore::RenderLayer::dirtyStackingContextZOrderLists):
(WebCore::RenderLayer::dirtyNormalFlowList):
(WebCore::RenderLayer::updateNormalFlowList):
(WebCore::RenderLayer::rebuildZOrderLists):
(WebCore::RenderLayer::collectLayers):
(WebCore::RenderLayer::updateLayerListsIfNeeded):
(WebCore::RenderLayer::beginTransparencyLayers):
(WebCore::RenderLayer::willBeDestroyed):
(WebCore::RenderLayer::isDescendantOf const):
(WebCore::RenderLayer::calculateClipRects const):
(WebCore::compareZIndex): Deleted.
- rendering/RenderLayer.h:
- 9:02 AM Changeset in webkit [237116] by
-
- 6 edits in trunk/Source/WebCore
[PSON] Prewarm system fallback fonts
https://bugs.webkit.org/show_bug.cgi?id=190517
Reviewed by Ryosuke Niwa.
This seems to be ~2% progression in PSON PLT4 with large (40ms+) improvements on some pages
after process swaps.
- page/PrewarmInformation.h:
(WebCore::PrewarmInformation::encode const):
(WebCore::PrewarmInformation::decode):
- page/ProcessWarming.cpp:
(WebCore::ProcessWarming::collectPrewarmInformation):
(WebCore::ProcessWarming::prewarmWithInformation):
- platform/graphics/FontCache.cpp:
(WebCore::FontCache::collectPrewarmInformation const):
(WebCore::FontCache::prewarm):
- platform/graphics/FontCache.h:
(WebCore::FontCache::PrewarmInformation::isolatedCopy const):
(WebCore::FontCache::PrewarmInformation::encode const):
(WebCore::FontCache::PrewarmInformation::decode):
Make font cache prewarm information a struct with encode/decode support and move it into FontCache scope.
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::FontDatabase::collectionForFamily):
(WebCore::FontCache::systemFallbackForCharacters):
Collect the names of fonts that end up needing character specific system fallbacks.
(WebCore::FontCache::collectPrewarmInformation const):
Include them into prewarm information.
(WebCore::FontCache::prewarm):
Invoking CTFontCreateForCharactersWithLanguage for the correct named font seems sufficient to fully
prewarm it for fallbacks (independent of size, locale or other characteristics).
Any future calls to systemFallbackForCharacters are fast.
- 8:54 AM Changeset in webkit [237115] by
-
- 1 edit1 delete in trunk/Tools
[WHLSL] Migrated WebGPUShadingLanguageRI to the W3C
https://bugs.webkit.org/show_bug.cgi?id=190555
Unreviewed.
Migrated to https://github.com/gpuweb/WHLSL/tree/master/Source
- WebGPUShadingLanguageRI/AddressSpace.js: Removed.
- WebGPUShadingLanguageRI/All.js: Removed.
- WebGPUShadingLanguageRI/AllocateAtEntryPoints.js: Removed.
- WebGPUShadingLanguageRI/AnonymousVariable.js: Removed.
- WebGPUShadingLanguageRI/ArrayRefType.js: Removed.
- WebGPUShadingLanguageRI/ArrayType.js: Removed.
- WebGPUShadingLanguageRI/Assignment.js: Removed.
- WebGPUShadingLanguageRI/AutoWrapper.js: Removed.
- WebGPUShadingLanguageRI/Block.js: Removed.
- WebGPUShadingLanguageRI/BoolLiteral.js: Removed.
- WebGPUShadingLanguageRI/Break.js: Removed.
- WebGPUShadingLanguageRI/BuiltInSemantic.js: Removed.
- WebGPUShadingLanguageRI/BuiltinMatrixGetter.js: Removed.
- WebGPUShadingLanguageRI/BuiltinMatrixSetter.js: Removed.
- WebGPUShadingLanguageRI/BuiltinVectorGetter.js: Removed.
- WebGPUShadingLanguageRI/BuiltinVectorSetter.js: Removed.
- WebGPUShadingLanguageRI/CallExpression.js: Removed.
- WebGPUShadingLanguageRI/CallFunction.js: Removed.
- WebGPUShadingLanguageRI/Casts.js: Removed.
- WebGPUShadingLanguageRI/Check.js: Removed.
- WebGPUShadingLanguageRI/CheckLiteralTypes.js: Removed.
- WebGPUShadingLanguageRI/CheckLoops.js: Removed.
- WebGPUShadingLanguageRI/CheckNativeFuncStages.js: Removed.
- WebGPUShadingLanguageRI/CheckRecursion.js: Removed.
- WebGPUShadingLanguageRI/CheckRecursiveTypes.js: Removed.
- WebGPUShadingLanguageRI/CheckReturns.js: Removed.
- WebGPUShadingLanguageRI/CheckTypesWithArguments.js: Removed.
- WebGPUShadingLanguageRI/CheckUnreachableCode.js: Removed.
- WebGPUShadingLanguageRI/CheckWrapped.js: Removed.
- WebGPUShadingLanguageRI/Checker.js: Removed.
- WebGPUShadingLanguageRI/CloneProgram.js: Removed.
- WebGPUShadingLanguageRI/CommaExpression.js: Removed.
- WebGPUShadingLanguageRI/ConstexprFolder.js: Removed.
- WebGPUShadingLanguageRI/Continue.js: Removed.
- WebGPUShadingLanguageRI/ConvertPtrToArrayRefExpression.js: Removed.
- WebGPUShadingLanguageRI/CreateLiteral.js: Removed.
- WebGPUShadingLanguageRI/CreateLiteralType.js: Removed.
- WebGPUShadingLanguageRI/DereferenceExpression.js: Removed.
- WebGPUShadingLanguageRI/DoWhileLoop.js: Removed.
- WebGPUShadingLanguageRI/DotExpression.js: Removed.
- WebGPUShadingLanguageRI/EArrayRef.js: Removed.
- WebGPUShadingLanguageRI/EBuffer.js: Removed.
- WebGPUShadingLanguageRI/EBufferBuilder.js: Removed.
- WebGPUShadingLanguageRI/EPtr.js: Removed.
- WebGPUShadingLanguageRI/EnumLiteral.js: Removed.
- WebGPUShadingLanguageRI/EnumMember.js: Removed.
- WebGPUShadingLanguageRI/EnumType.js: Removed.
- WebGPUShadingLanguageRI/EvaluationCommon.js: Removed.
- WebGPUShadingLanguageRI/Evaluator.js: Removed.
- WebGPUShadingLanguageRI/Expression.js: Removed.
- WebGPUShadingLanguageRI/ExpressionFinder.js: Removed.
- WebGPUShadingLanguageRI/ExternalOrigin.js: Removed.
- WebGPUShadingLanguageRI/Field.js: Removed.
- WebGPUShadingLanguageRI/FindHighZombies.js: Removed.
- WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js: Removed.
- WebGPUShadingLanguageRI/FloatLiteral.js: Removed.
- WebGPUShadingLanguageRI/FloatLiteralType.js: Removed.
- WebGPUShadingLanguageRI/FoldConstexprs.js: Removed.
- WebGPUShadingLanguageRI/ForLoop.js: Removed.
- WebGPUShadingLanguageRI/Func.js: Removed.
- WebGPUShadingLanguageRI/FuncAttribute.js: Removed.
- WebGPUShadingLanguageRI/FuncDef.js: Removed.
- WebGPUShadingLanguageRI/FuncNumThreadsAttribute.js: Removed.
- WebGPUShadingLanguageRI/FuncParameter.js: Removed.
- WebGPUShadingLanguageRI/FunctionLikeBlock.js: Removed.
- WebGPUShadingLanguageRI/HighZombieFinder.js: Removed.
- WebGPUShadingLanguageRI/IdentityExpression.js: Removed.
- WebGPUShadingLanguageRI/IfStatement.js: Removed.
- WebGPUShadingLanguageRI/IndexExpression.js: Removed.
- WebGPUShadingLanguageRI/InferTypesForCall.js: Removed.
- WebGPUShadingLanguageRI/Inline.js: Removed.
- WebGPUShadingLanguageRI/Inliner.js: Removed.
- WebGPUShadingLanguageRI/IntLiteral.js: Removed.
- WebGPUShadingLanguageRI/IntLiteralType.js: Removed.
- WebGPUShadingLanguageRI/Intrinsics.js: Removed.
- WebGPUShadingLanguageRI/LayoutBuffers.js: Removed.
- WebGPUShadingLanguageRI/Lexer.js: Removed.
- WebGPUShadingLanguageRI/LexerToken.js: Removed.
- WebGPUShadingLanguageRI/LiteralTypeChecker.js: Removed.
- WebGPUShadingLanguageRI/LogicalExpression.js: Removed.
- WebGPUShadingLanguageRI/LogicalNot.js: Removed.
- WebGPUShadingLanguageRI/LoopChecker.js: Removed.
- WebGPUShadingLanguageRI/MakeArrayRefExpression.js: Removed.
- WebGPUShadingLanguageRI/MakePtrExpression.js: Removed.
- WebGPUShadingLanguageRI/MatrixType.js: Removed.
- WebGPUShadingLanguageRI/Metal/MSLBackend.js: Removed.
- WebGPUShadingLanguageRI/Metal/MSLCodegenAll.js: Removed.
- WebGPUShadingLanguageRI/Metal/MSLCompileResult.js: Removed.
- WebGPUShadingLanguageRI/Metal/MSLConstexprEmitter.js: Removed.
- WebGPUShadingLanguageRI/Metal/MSLFunctionDeclaration.js: Removed.
- WebGPUShadingLanguageRI/Metal/MSLFunctionDefinition.js: Removed.
- WebGPUShadingLanguageRI/Metal/MSLFunctionForwardDeclaration.js: Removed.
- WebGPUShadingLanguageRI/Metal/MSLInsertTrapParameter.js: Removed.
- WebGPUShadingLanguageRI/Metal/MSLNameMangler.js: Removed.
- WebGPUShadingLanguageRI/Metal/MSLNativeFunctionCall.js: Removed.
- WebGPUShadingLanguageRI/Metal/MSLStatementEmitter.js: Removed.
- WebGPUShadingLanguageRI/Metal/MSLTypeAttributes.js: Removed.
- WebGPUShadingLanguageRI/Metal/MSLTypeAttributesMap.js: Removed.
- WebGPUShadingLanguageRI/Metal/MSLTypeUnifier.js: Removed.
- WebGPUShadingLanguageRI/Metal/TypeOf.js: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/.gitignore: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/AppDelegate.h: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/AppDelegate.m: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Assets.xcassets/AppIcon.appiconset/Contents.json: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Assets.xcassets/Contents.json: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Base.lproj/Main.storyboard: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CompileResult.h: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CompileResult.m: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Compiler.h: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Compiler.m: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CustomMetalView.h: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CustomMetalView.m: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Default.whlsl: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Julia.whlsl: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Mandelbrot.whlsl: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Info.plist: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OffscreenRenderer.h: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OffscreenRenderer.m: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OnscreenRenderer.h: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OnscreenRenderer.m: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/Renderer.h: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/Renderer.m: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestCallArgument.h: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestCallArgument.m: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestDescription.h: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestDescription.m: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamily.h: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamily.m: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamilyRunner.h: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamilyRunner.m: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/ViewController.h: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/ViewController.m: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/WHLSL.entitlements: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/_SharedMetal.txt: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/main.m: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL Tests.xcodeproj/project.pbxproj: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL ToyTests/Info.plist: Removed.
- WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL ToyTests/WHLSL_ToyTests.m: Removed.
- WebGPUShadingLanguageRI/Metal/WhlslToMsl.html: Removed.
- WebGPUShadingLanguageRI/Metal/WhlslToMsl.js: Removed.
- WebGPUShadingLanguageRI/NameContext.js: Removed.
- WebGPUShadingLanguageRI/NameFinder.js: Removed.
- WebGPUShadingLanguageRI/NameResolver.js: Removed.
- WebGPUShadingLanguageRI/NativeFunc.js: Removed.
- WebGPUShadingLanguageRI/NativeType.js: Removed.
- WebGPUShadingLanguageRI/Node.js: Removed.
- WebGPUShadingLanguageRI/NormalUsePropertyResolver.js: Removed.
- WebGPUShadingLanguageRI/NullLiteral.js: Removed.
- WebGPUShadingLanguageRI/NullType.js: Removed.
- WebGPUShadingLanguageRI/OperatorAnderIndexer.js: Removed.
- WebGPUShadingLanguageRI/OperatorArrayRefLength.js: Removed.
- WebGPUShadingLanguageRI/OriginKind.js: Removed.
- WebGPUShadingLanguageRI/OverloadResolutionFailure.js: Removed.
- WebGPUShadingLanguageRI/Parse.js: Removed.
- WebGPUShadingLanguageRI/Prepare.js: Removed.
- WebGPUShadingLanguageRI/Program.js: Removed.
- WebGPUShadingLanguageRI/ProgramWithUnnecessaryThingsRemoved.js: Removed.
- WebGPUShadingLanguageRI/PropertyAccessExpression.js: Removed.
- WebGPUShadingLanguageRI/PropertyResolver.js: Removed.
- WebGPUShadingLanguageRI/PtrType.js: Removed.
- WebGPUShadingLanguageRI/ReadModifyWriteExpression.js: Removed.
- WebGPUShadingLanguageRI/RecursionChecker.js: Removed.
- WebGPUShadingLanguageRI/RecursiveTypeChecker.js: Removed.
- WebGPUShadingLanguageRI/ReferenceType.js: Removed.
- WebGPUShadingLanguageRI/ResolveNames.js: Removed.
- WebGPUShadingLanguageRI/ResolveOverloadImpl.js: Removed.
- WebGPUShadingLanguageRI/ResolveProperties.js: Removed.
- WebGPUShadingLanguageRI/ResolveTypeDefs.js: Removed.
- WebGPUShadingLanguageRI/ResourceSemantic.js: Removed.
- WebGPUShadingLanguageRI/Return.js: Removed.
- WebGPUShadingLanguageRI/ReturnChecker.js: Removed.
- WebGPUShadingLanguageRI/ReturnException.js: Removed.
- WebGPUShadingLanguageRI/Rewriter.js: Removed.
- WebGPUShadingLanguageRI/SPIR-V.js: Removed.
- WebGPUShadingLanguageRI/SPIRV.html: Removed.
- WebGPUShadingLanguageRI/SPIRVCodegen.js: Removed.
- WebGPUShadingLanguageRI/SPIRVTypeAnalyzer.js: Removed.
- WebGPUShadingLanguageRI/SPIRVVariableAnalyzer.js: Removed.
- WebGPUShadingLanguageRI/Sampler.js: Removed.
- WebGPUShadingLanguageRI/Semantic.js: Removed.
- WebGPUShadingLanguageRI/SpecializationConstantSemantic.js: Removed.
- WebGPUShadingLanguageRI/StageInOutSemantic.js: Removed.
- WebGPUShadingLanguageRI/StandardLibrary.js: Removed.
- WebGPUShadingLanguageRI/StatementCloner.js: Removed.
- WebGPUShadingLanguageRI/StructLayoutBuilder.js: Removed.
- WebGPUShadingLanguageRI/StructType.js: Removed.
- WebGPUShadingLanguageRI/SwitchCase.js: Removed.
- WebGPUShadingLanguageRI/SwitchStatement.js: Removed.
- WebGPUShadingLanguageRI/SynthesizeArrayOperatorLength.js: Removed.
- WebGPUShadingLanguageRI/SynthesizeCopyConstructorOperator.js: Removed.
- WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js: Removed.
- WebGPUShadingLanguageRI/SynthesizeEnumFunctions.js: Removed.
- WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: Removed.
- WebGPUShadingLanguageRI/TernaryExpression.js: Removed.
- WebGPUShadingLanguageRI/Test.html: Removed.
- WebGPUShadingLanguageRI/Test.js: Removed.
- WebGPUShadingLanguageRI/Texture.js: Removed.
- WebGPUShadingLanguageRI/TextureOperations.js: Removed.
- WebGPUShadingLanguageRI/TrapStatement.js: Removed.
- WebGPUShadingLanguageRI/Type.js: Removed.
- WebGPUShadingLanguageRI/TypeDef.js: Removed.
- WebGPUShadingLanguageRI/TypeDefResolver.js: Removed.
- WebGPUShadingLanguageRI/TypeOverloadResolutionFailure.js: Removed.
- WebGPUShadingLanguageRI/TypeRef.js: Removed.
- WebGPUShadingLanguageRI/TypedValue.js: Removed.
- WebGPUShadingLanguageRI/UintLiteral.js: Removed.
- WebGPUShadingLanguageRI/UintLiteralType.js: Removed.
- WebGPUShadingLanguageRI/UnificationContext.js: Removed.
- WebGPUShadingLanguageRI/UnreachableCodeChecker.js: Removed.
- WebGPUShadingLanguageRI/Value.js: Removed.
- WebGPUShadingLanguageRI/VariableDecl.js: Removed.
- WebGPUShadingLanguageRI/VariableRef.js: Removed.
- WebGPUShadingLanguageRI/VectorType.js: Removed.
- WebGPUShadingLanguageRI/VisitingSet.js: Removed.
- WebGPUShadingLanguageRI/Visitor.js: Removed.
- WebGPUShadingLanguageRI/WLexicalError.js: Removed.
- WebGPUShadingLanguageRI/WSyntaxError.js: Removed.
- WebGPUShadingLanguageRI/WTrapError.js: Removed.
- WebGPUShadingLanguageRI/WTypeError.js: Removed.
- WebGPUShadingLanguageRI/WhileLoop.js: Removed.
- WebGPUShadingLanguageRI/WrapChecker.js: Removed.
- WebGPUShadingLanguageRI/index.html: Removed.
- WebGPUShadingLanguageRI/spirv.core.grammar.json: Removed.
- WebGPUShadingLanguageRI/wsl-tests.yaml: Removed.
- 8:51 AM Changeset in webkit [237114] by
-
- 2 edits in trunk/Source/JavaScriptCore
REGRESSION (r237084): JavaScriptCore fails to build on Linux
<https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10949>
- llint/LLIntSettingsExtractor.cpp: Attempt to fix build by
including <stdio.h>.
- 8:42 AM Changeset in webkit [237113] by
-
- 2 edits in trunk/Tools
[GTK] Disable MSE build support on Debian and Ubuntu LTS bots
https://bugs.webkit.org/show_bug.cgi?id=190581
Reviewed by Michael Catanzaro.
These bots don't use JHBuild and their host GStreamer version is
too old for the GStreamer MSE backend. Version 1.14 is needed at least.
- BuildSlaveSupport/build.webkit.org-config/config.json:
- 8:34 AM Changeset in webkit [237112] by
-
- 20 edits14 adds in trunk
Restrict browsing context lookup by name to frames that are related to one another
https://bugs.webkit.org/show_bug.cgi?id=190475
Reviewed by Alex Christensen.
Source/WebCore:
Update our frame lookup by name logic to take in the active / requesting frame and
only a return a frame that is related to it. By related to it, I mean:
- Ancestor <-> Descendant relationship
- Opener <-> Openee relationship
Being able to look up unrelated frames makes process swapping difficult so we need
to be stricter.
This change is being discussed at:
Tests: http/tests/dom/new-window-can-target-opener.html
http/tests/dom/noopener-window-cannot-target-opener.html
http/tests/dom/noopener-window-not-targetable.html
http/tests/dom/noopener-window-not-targetable2.html
http/tests/dom/noreferrer-window-not-targetable.html
http/tests/dom/opened-window-not-targetable-after-disowning-opener.html
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::findFrameForNavigation):
- page/FrameTree.cpp:
(WebCore::isFrameFamiliarWith):
(WebCore::FrameTree::find const):
- page/FrameTree.h:
- rendering/HitTestResult.cpp:
(WebCore::HitTestResult::targetFrame const):
Source/WebKit:
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::performJavaScriptURLRequest):
Source/WebKitLegacy/mac:
- WebView/WebFrame.mm:
(-[WebFrame findFrameNamed:]):
LayoutTests:
- http/tests/dom/new-window-can-target-opener-expected.txt: Added.
- http/tests/dom/new-window-can-target-opener.html: Added.
- http/tests/dom/noopener-window-cannot-target-opener-expected.txt: Added.
- http/tests/dom/noopener-window-cannot-target-opener.html: Added.
- http/tests/dom/noopener-window-not-targetable-expected.txt: Added.
- http/tests/dom/noopener-window-not-targetable.html: Added.
- http/tests/dom/noopener-window-not-targetable2-expected.txt: Added.
- http/tests/dom/noopener-window-not-targetable2.html: Added.
- http/tests/dom/noreferrer-window-not-targetable-expected.txt: Added.
- http/tests/dom/noreferrer-window-not-targetable.html: Added.
- http/tests/dom/opened-window-not-targetable-after-disowning-opener-expected.txt: Added.
- http/tests/dom/opened-window-not-targetable-after-disowning-opener.html: Added.
- http/tests/dom/resources/new-window-can-target-opener-win.html: Added.
- http/tests/dom/resources/noopener-window-cannot-target-opener-win.html: Added.
Add layout test coverage.
- fast/dom/Window/a-rel-noopener-expected.txt:
- fast/dom/Window/area-rel-noopener-expected.txt:
- fast/dom/Window/resources/rel-noopener.js:
- http/tests/navigation/no-referrer-target-blank-expected.txt:
- http/tests/navigation/resources/no-referrer-helper.php:
- platform/mac-wk1/imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-window-name-expected.txt:
- platform/wk2/imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-window-name-expected.txt:
Update / rebaseline existing tests to reflect behavior change.
- 8:29 AM Changeset in webkit [237111] by
-
- 2 edits in trunk/Source/WebKit
Fix assertion after r237102
https://bugs.webkit.org/show_bug.cgi?id=190459
- WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::InjectedBundlePageLoaderClient):
Shipping Safari still uses shouldGoToBackForwardListItem, so only assert on
newer platforms like we do in WKPageSetPageLoaderClient.
- 8:23 AM Changeset in webkit [237110] by
-
- 68 edits in trunk/Source
Shrink more enum classes
https://bugs.webkit.org/show_bug.cgi?id=190540
Reviewed by Chris Dumez.
Source/JavaScriptCore:
- runtime/ConsoleTypes.h:
Source/WebCore:
- Modules/notifications/NotificationDirection.h:
- dom/Document.h:
- loader/FrameLoader.h:
- loader/FrameLoaderClient.h:
- loader/HistoryController.h:
- loader/ShouldSkipSafeBrowsingCheck.h:
- loader/ShouldTreatAsContinuingLoad.h:
- page/AutoplayEvent.h:
- page/ChromeClient.h:
- page/DiagnosticLoggingClient.h:
- page/Page.h:
- platform/CookiesStrategy.h:
- platform/audio/AudioSession.h:
- platform/network/NetworkStorageSession.h:
- platform/network/StoredCredentialsPolicy.h:
- workers/service/SWClientConnection.h:
- workers/service/ServiceWorkerContainer.h:
- workers/service/ServiceWorkerRegistrationData.h:
- workers/service/ServiceWorkerRegistrationOptions.h:
- workers/service/ServiceWorkerTypes.h:
- workers/service/ServiceWorkerUpdateViaCache.h:
- workers/service/server/SWServer.h:
- workers/service/server/SWServerRegistration.h:
Source/WebKit:
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- NetworkProcess/NetworkDataTask.h:
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- Shared/Authentication/AuthenticationChallengeDisposition.h:
- Shared/Authentication/AuthenticationManager.h:
- Shared/Authentication/AuthenticationManager.messages.in:
- Shared/DragControllerAction.h:
- Shared/LayerTreeContext.h:
- Shared/UndoOrRedo.h:
- UIProcess/Authentication/AuthenticationDecisionListener.h:
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- UIProcess/Notifications/WebNotification.h:
- UIProcess/Notifications/WebNotificationManagerProxy.h:
- UIProcess/PageClient.h:
- UIProcess/UserContent/WebUserContentControllerProxy.h:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/forms/WKAirPlayRoutePicker.h:
- WebProcess/Automation/WebAutomationSessionProxy.messages.in:
- WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
- WebProcess/Storage/WebSWClientConnection.messages.in:
- WebProcess/UserContent/InjectUserScriptImmediately.h:
- WebProcess/UserContent/WebUserContentController.h:
- WebProcess/UserContent/WebUserContentController.messages.in:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- 8:10 AM Changeset in webkit [237109] by
-
- 2 edits6 adds in trunk
Add new files missing from previous commit.
- Source/cmake/FindLibseccomp.cmake: Added.
- 8:07 AM Changeset in webkit [237108] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Disable DOMJIT on 32bit architecture
https://bugs.webkit.org/show_bug.cgi?id=190387
Reviewed by Mark Lam.
We disable DOMJIT on 32bit architecture due to exhaustion of registers.
- runtime/Options.h:
- 8:02 AM Changeset in webkit [237107] by
-
- 24 edits in trunk
[GTK][WPE] Implement subprocess sandboxing
https://bugs.webkit.org/show_bug.cgi?id=188568
Patch by Patrick Griffis <Patrick Griffis> on 2018-10-15
Reviewed by Michael Catanzaro.
.:
Add ENABLE_BUBBLEWRAP_SANDBOX option for sandboxing.
- Source/cmake/FindLibseccomp.cmake: Added.
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/WebKitFeatures.cmake:
Source/WebCore:
Link against libseccomp.
- PlatformGTK.cmake:
Source/WebKit:
This implements sandboxing of WebKitWebProcesses.
The sandbox is opt-in at runtime as it is a behavior change.
See webkit_web_context_set_sandbox_enabled() and the
WEBKIT_FORCE_SANDBOX env var for developers.
This is Linux specific using Namespaces, Seccomp, and a DBus proxy service.
This introduces three new dependencies:
- bwrap executable
- libseccomp library
- xdg-dbus-proxy executable
The use of xdg-dbus-proxy will ideally be replaced once upstream DBus
gains the same filtering abilities which is a work in progress.
Currently the sandbox is not completed and there are a few large holes:
- Pulseaudio: The Pipewire project will solve this.
- DRI device access: No immediate solutions planned.
- Webcam device access: Pipewire will also solve this.
- Webprocess network access: Will require GStreamer changes.
- DConf access: Custom proxy planned.
- X11 access: Wayland solves this.
That is not an exhaustive list but are the noteworthy ones. Filesystem access
is still an evolving list as problems are found as is specific DBus name access.
- PlatformGTK.cmake:
- PlatformWPE.cmake:
- SourcesGTK.txt:
- SourcesWPE.txt:
- UIProcess/API/glib/WebKitWebContext.cpp:
(webkit_web_context_set_sandbox_enabled):
(webkit_web_context_get_sandbox_enabled):
- UIProcess/API/gtk/WebKitWebContext.h:
- UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
- UIProcess/API/wpe/WebKitWebContext.h:
- UIProcess/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::getLaunchOptions):
- UIProcess/ChildProcessProxy.h:
(WebKit::ChildProcessProxy::platformGetLaunchOptions):
- UIProcess/Launcher/ProcessLauncher.h:
- UIProcess/Launcher/glib/BubblewrapLauncher.cpp: Added.
(WebKit::memfd_create):
(WebKit::argsToFd):
(WebKit::XDGDBusProxyLauncher::setAddress):
(WebKit::XDGDBusProxyLauncher::isRunning const):
(WebKit::XDGDBusProxyLauncher::path const):
(WebKit::XDGDBusProxyLauncher::proxyPath const):
(WebKit::XDGDBusProxyLauncher::setPermissions):
(WebKit::XDGDBusProxyLauncher::launch):
(WebKit::XDGDBusProxyLauncher::childSetupFunc):
(WebKit::XDGDBusProxyLauncher::makeProxyPath):
(WebKit::XDGDBusProxyLauncher::dbusAddressToPath):
(WebKit::bindIfExists):
(WebKit::bindDBusSession):
(WebKit::bindX11):
(WebKit::bindDconf):
(WebKit::bindWayland):
(WebKit::bindPulse):
(WebKit::bindFonts):
(WebKit::bindGtkData):
(WebKit::bindA11y):
(WebKit::bindPathVar):
(WebKit::bindGStreamerData):
(WebKit::bindOpenGL):
(WebKit::bindV4l):
(WebKit::bindSymlinksRealPath):
(WebKit::setupSeccomp):
(WebKit::bubblewrapSpawn):
- UIProcess/Launcher/glib/BubblewrapLauncher.h: Added.
- UIProcess/Launcher/glib/FlatpakLauncher.cpp: Added.
(WebKit::flatpakSpawn):
- UIProcess/Launcher/glib/FlatpakLauncher.h: Added.
- UIProcess/Launcher/glib/ProcessLauncherGLib.cpp:
(WebKit::isInsideFlatpak):
(WebKit::ProcessLauncher::launchProcess):
- UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::getLaunchOptions):
- UIProcess/Plugins/PluginProcessProxy.h:
- UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::platformGetLaunchOptionsWithAttributes):
- UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::platformGetLaunchOptionsWithAttributes):
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::platformGetLaunchOptions):
- UIProcess/WebProcessProxy.h:
- UIProcess/glib/WebProcessProxyGLib.cpp: Added.
(WebKit::WebProcessProxy::platformGetLaunchOptions):
- 7:56 AM Changeset in webkit [237106] by
-
- 14 edits3 copies2 adds in trunk
Implement error handler of MediaRecorder
https://bugs.webkit.org/show_bug.cgi?id=190438
Patch by YUHAN WU <yuhan_wu@apple.com> on 2018-10-15
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
- web-platform-tests/mediacapture-record/MediaRecorder-error-expected.txt: Added.
- web-platform-tests/mediacapture-record/MediaRecorder-error.html: Added.
Source/WebCore:
Test: imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-error.html
Implement error event handler (onerror) for MediaRecorder and basic architecture of start() function.
- CMakeLists.txt:
- DerivedSources.make:
- Modules/mediarecorder/MediaRecorder.cpp:
(WebCore::MediaRecorder::MediaRecorder):
(WebCore::MediaRecorder::~MediaRecorder):
(WebCore::MediaRecorder::stop):
(WebCore::MediaRecorder::start):
(WebCore::MediaRecorder::setNewRecordingState):
(WebCore::MediaRecorder::scheduleDeferredTask):
(WebCore::MediaRecorder::didAddOrRemoveTrack):
- Modules/mediarecorder/MediaRecorder.h:
- Modules/mediarecorder/MediaRecorder.idl:
- Modules/mediarecorder/MediaRecorderErrorEvent.cpp: Added.
(WebCore::MediaRecorderErrorEvent::create):
(WebCore::MediaRecorderErrorEvent::MediaRecorderErrorEvent):
(WebCore::MediaRecorderErrorEvent::eventInterface const):
- Modules/mediarecorder/MediaRecorderErrorEvent.h: Added.
- Modules/mediarecorder/MediaRecorderErrorEvent.idl: Added.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/WebCoreBuiltinNames.h:
- dom/EventNames.in:
- dom/EventTargetFactory.in:
LayoutTests:
Since dataavailable event has not been implemented, skip three MediaRecorder-related tests now.
We will need to reenable those tests once implementing the dataavailable event for MediaRecorder.
- 7:54 AM Changeset in webkit [237105] by
-
- 28 edits5 adds in trunk
Window's properties such as 'location' should not become null when it loses its browsing context
https://bugs.webkit.org/show_bug.cgi?id=190539
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline WPT test whose output has changed.
- web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url.window-expected.txt:
Source/WebCore:
Window's properties such as 'location' should not become null when it loses its browsing context.
This Webkit behavior is not standard and does not match other browsers so this patch makes it so
that those properties persist.
Tests: http/tests/dom/cross-origin-detached-window-properties.html
http/tests/dom/same-origin-detached-window-properties.html
- bindings/js/JSDOMBindingSecurity.cpp:
(WebCore::BindingSecurity::shouldAllowAccessToDOMWindow):
- bindings/js/JSDOMBindingSecurity.h:
- bindings/js/JSDOMWindowProperties.cpp:
(WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter):
(WebCore::JSDOMWindowProperties::getOwnPropertySlot):
- bindings/js/JSLocationCustom.cpp:
(WebCore::getOwnPropertySlotCommon):
(WebCore::putCommon):
(WebCore::JSLocation::deleteProperty):
(WebCore::JSLocation::deletePropertyByIndex):
(WebCore::JSLocation::getOwnPropertyNames):
(WebCore::JSLocation::defineOwnProperty):
(WebCore::JSLocation::getPrototype):
(WebCore::JSLocation::toStringName):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateAttributeGetterBodyDefinition):
(GenerateAttributeSetterBodyDefinition):
(GenerateOperationBodyDefinition):
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectExcitingAttrGetter):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody):
- crypto/SubtleCrypto.cpp:
(WebCore::SubtleCrypto::SubtleCrypto):
- crypto/SubtleCrypto.h:
(WebCore::SubtleCrypto::create):
- dom/Document.cpp:
(WebCore::Document::~Document):
- page/Crypto.cpp:
(WebCore::Crypto::Crypto):
- page/Crypto.h:
(WebCore::Crypto::create):
- page/DOMWindow.cpp:
(WebCore::DOMWindow::~DOMWindow):
(WebCore::DOMWindow::frameDestroyed):
(WebCore::DOMWindow::screen):
(WebCore::DOMWindow::history):
(WebCore::DOMWindow::crypto):
(WebCore::DOMWindow::locationbar):
(WebCore::DOMWindow::menubar):
(WebCore::DOMWindow::personalbar):
(WebCore::DOMWindow::scrollbars):
(WebCore::DOMWindow::statusbar):
(WebCore::DOMWindow::toolbar):
(WebCore::DOMWindow::console const):
(WebCore::DOMWindow::applicationCache):
(WebCore::DOMWindow::navigator):
(WebCore::DOMWindow::performance const):
(WebCore::DOMWindow::location):
(WebCore::DOMWindow::visualViewport):
(WebCore::DOMWindow::styleMedia):
- page/DOMWindow.h:
- page/DOMWindow.idl:
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::crypto):
LayoutTests:
- http/tests/dom/cross-origin-detached-window-properties-expected.txt: Added.
- http/tests/dom/cross-origin-detached-window-properties.html: Added.
- http/tests/dom/resources/post-message-to-parent-when-loaded.html: Added.
- http/tests/dom/same-origin-detached-window-properties-expected.txt: Added.
- http/tests/dom/same-origin-detached-window-properties.html: Added.
Add layout test coverage.
- fast/frames/detached-frame-property-expected.txt:
- fast/frames/detached-frame-property.html:
- http/tests/security/named-window-property-from-same-origin-inactive-document-expected.txt:
- http/tests/security/named-window-property-from-same-origin-inactive-document.html:
- http/tests/security/xss-DENIED-named-window-property-from-cross-origin-inactive-document-expected.txt:
- http/tests/security/xss-DENIED-named-window-property-from-cross-origin-inactive-document.html:
- http/tests/security/xss-DENIED-script-inject-into-inactive-window.html:
- http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html:
- http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html:
- http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html:
Update existing layout tests to reflect behavior change.
- 7:31 AM Changeset in webkit [237104] by
-
- 5 edits in trunk/Source/WebKit
Add a temporarily off by default preference for doing safe browsing checks
https://bugs.webkit.org/show_bug.cgi?id=190522
Reviewed by Chris Dumez.
Safe browsing development has taken longer than anticipated.
To prevent the unused possible contacting the safe browsing provider for no benefit, make this off by default for now.
I'll make it on by default when it's actually used.
- Shared/WebPreferences.yaml:
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _setSafeBrowsingEnabled:]):
(-[WKPreferences _safeBrowsingEnabled]):
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
- 7:30 AM Changeset in webkit [237103] by
-
- 31 edits in trunk/Source
Include EnumTraits.h less
https://bugs.webkit.org/show_bug.cgi?id=190535
Reviewed by Chris Dumez.
Source/JavaScriptCore:
- runtime/ConsoleTypes.h:
Source/WebCore:
- Modules/applepay/ApplePaySessionPaymentRequest.h:
- Modules/applepay/PaymentAuthorizationStatus.h:
- Modules/applicationmanifest/ApplicationManifest.h:
- Modules/fetch/FetchHeaders.h:
- Modules/webauthn/AuthenticatorTransport.h:
- Modules/webauthn/PublicKeyCredentialType.h:
- loader/ShouldSkipSafeBrowsingCheck.h:
- loader/ShouldTreatAsContinuingLoad.h:
- platform/Cookie.h:
- platform/audio/AudioSession.h:
- platform/mediastream/CaptureDevice.h:
- platform/mediastream/MediaStreamRequest.h:
- platform/mediastream/RealtimeMediaSourceSettings.h:
- platform/mediastream/libwebrtc/LibWebRTCProvider.h:
- platform/network/NetworkLoadInformation.h:
- workers/service/ServiceWorkerClientType.h:
- workers/service/ServiceWorkerTypes.h:
- workers/service/ServiceWorkerUpdateViaCache.h:
Source/WebKit:
- NetworkProcess/NetworkSessionCreationParameters.h:
- Shared/Authentication/AuthenticationChallengeDisposition.h:
- Shared/CoordinateSystem.h:
- Shared/LayerTreeContext.h:
- Shared/UndoOrRedo.h:
- Shared/WebsiteAutoplayPolicy.h:
- Shared/WebsitePopUpPolicy.h:
- UIProcess/API/APIWebsitePolicies.h:
- WebProcess/UserContent/InjectUserScriptImmediately.h:
- 7:29 AM Changeset in webkit [237102] by
-
- 27 edits in trunk/Source
Remove InjectedBundle processing of back/forward lists
https://bugs.webkit.org/show_bug.cgi?id=190459
Reviewed by Chris Dumez.
Source/WebCore:
The uses of these functions are dead code I removed in rdar://problem/45180545
Removing these functions is a step towards fixing the PSON history bugs.
- loader/EmptyFrameLoaderClient.h:
- loader/FrameLoaderClient.h:
- loader/HistoryController.cpp:
(WebCore::HistoryController::goToItem):
Source/WebKit:
- Shared/API/c/WKDeprecated.h:
- UIProcess/API/APINavigationClient.h:
(API::NavigationClient::willGoToBackForwardListItem):
- UIProcess/Cocoa/NavigationState.h:
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::willGoToBackForwardListItem):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::willGoToBackForwardListItem):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h:
(API::InjectedBundle::PageLoaderClient::shouldGoToBackForwardListItem): Deleted.
- WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
(WKBundleBackForwardListItemCopyOriginalURL):
(WKBundleBackForwardListItemCopyTitle):
(WKBundleBackForwardListItemIsTargetItem):
(WKBundleBackForwardListItemIsInPageCache):
(WKBundleBackForwardListItemHasCachedPageExpired):
- WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.h:
- WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.h:
- WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
- WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::InjectedBundlePageLoaderClient):
(WebKit::InjectedBundlePageLoaderClient::shouldGoToBackForwardListItem): Deleted.
- WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::shouldGoToHistoryItem const):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
Source/WebKitLegacy/mac:
- WebCoreSupport/WebFrameLoaderClient.h:
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::shouldGoToHistoryItem const):
Source/WebKitLegacy/win:
- WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::shouldGoToHistoryItem const):
- WebCoreSupport/WebFrameLoaderClient.h:
- 7:28 AM Changeset in webkit [237101] by
-
- 6 edits in trunk/Source/WebKit
WebPageProxy should always have a HistoryClient
https://bugs.webkit.org/show_bug.cgi?id=190450
Reviewed by Chris Dumez.
This will make it so we don't forget to null check it.
No change in behavior because the default HistoryClient does nothing.
- UIProcess/API/APIHistoryClient.h:
- UIProcess/Cocoa/NavigationState.h:
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::createHistoryClient):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setHistoryClient):
(WebKit::WebPageProxy::didNavigateWithNavigationData):
(WebKit::WebPageProxy::didPerformClientRedirect):
(WebKit::WebPageProxy::didPerformServerRedirect):
(WebKit::WebPageProxy::didUpdateHistoryTitle):
- UIProcess/WebPageProxy.h:
- 7:27 AM Changeset in webkit [237100] by
-
- 3 edits in trunk/Source/WebKit
Use std::optional<size_t> for a WebBackForwardList's current index
https://bugs.webkit.org/show_bug.cgi?id=190448
Reviewed by Chris Dumez.
Also remove m_capacity, which was immutable.
- UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::WebBackForwardList):
(WebKit::WebBackForwardList::~WebBackForwardList):
(WebKit::WebBackForwardList::pageClosed):
(WebKit::WebBackForwardList::addItem):
(WebKit::WebBackForwardList::goToItem):
(WebKit::WebBackForwardList::currentItem const):
(WebKit::WebBackForwardList::backItem const):
(WebKit::WebBackForwardList::forwardItem const):
(WebKit::WebBackForwardList::itemAtIndex const):
(WebKit::WebBackForwardList::backListCount const):
(WebKit::WebBackForwardList::forwardListCount const):
(WebKit::WebBackForwardList::backListAsAPIArrayWithLimit const):
(WebKit::WebBackForwardList::forwardListAsAPIArrayWithLimit const):
(WebKit::WebBackForwardList::removeAllItems):
(WebKit::WebBackForwardList::clear):
(WebKit::WebBackForwardList::backForwardListState const):
(WebKit::WebBackForwardList::restoreFromState):
(WebKit::WebBackForwardList::loggingString):
- UIProcess/WebBackForwardList.h:
(WebKit::WebBackForwardList::currentIndex const): Deleted.
- 7:24 AM Changeset in webkit [237099] by
-
- 325 edits in trunk
Use pragma once in WTF
https://bugs.webkit.org/show_bug.cgi?id=190527
Reviewed by Chris Dumez.
Source/WTF:
We also need to consistently include wtf headers from within wtf so we can build wtf without
symbol redefinition errors from including the copy in Source and the copy in the build directory.
- wtf/ASCIICType.h:
- wtf/Assertions.cpp:
- wtf/Assertions.h:
- wtf/Atomics.h:
- wtf/AutomaticThread.cpp:
- wtf/AutomaticThread.h:
- wtf/BackwardsGraph.h:
- wtf/Bag.h:
- wtf/BagToHashMap.h:
- wtf/BitVector.cpp:
- wtf/BitVector.h:
- wtf/Bitmap.h:
- wtf/BloomFilter.h:
- wtf/Box.h:
- wtf/BubbleSort.h:
- wtf/BumpPointerAllocator.h:
- wtf/ByteOrder.h:
- wtf/CPUTime.cpp:
- wtf/CallbackAggregator.h:
- wtf/CheckedArithmetic.h:
- wtf/CheckedBoolean.h:
- wtf/ClockType.cpp:
- wtf/ClockType.h:
- wtf/CommaPrinter.h:
- wtf/CompilationThread.cpp:
- wtf/CompilationThread.h:
- wtf/Compiler.h:
- wtf/ConcurrentPtrHashSet.cpp:
- wtf/ConcurrentVector.h:
- wtf/Condition.h:
- wtf/CountingLock.cpp:
- wtf/CrossThreadTaskHandler.cpp:
- wtf/CryptographicUtilities.cpp:
- wtf/CryptographicUtilities.h:
- wtf/CryptographicallyRandomNumber.cpp:
- wtf/CryptographicallyRandomNumber.h:
- wtf/CurrentTime.cpp:
- wtf/DataLog.cpp:
- wtf/DataLog.h:
- wtf/DateMath.cpp:
- wtf/DateMath.h:
- wtf/DecimalNumber.cpp:
- wtf/DecimalNumber.h:
- wtf/Deque.h:
- wtf/DisallowCType.h:
- wtf/Dominators.h:
- wtf/DoublyLinkedList.h:
- wtf/FastBitVector.cpp:
- wtf/FastMalloc.cpp:
- wtf/FastMalloc.h:
- wtf/FeatureDefines.h:
- wtf/FilePrintStream.cpp:
- wtf/FilePrintStream.h:
- wtf/FlipBytes.h:
- wtf/FunctionDispatcher.cpp:
- wtf/FunctionDispatcher.h:
- wtf/GetPtr.h:
- wtf/Gigacage.cpp:
- wtf/GlobalVersion.cpp:
- wtf/GraphNodeWorklist.h:
- wtf/GregorianDateTime.cpp:
- wtf/GregorianDateTime.h:
- wtf/HashFunctions.h:
- wtf/HashMap.h:
- wtf/HashMethod.h:
- wtf/HashSet.h:
- wtf/HashTable.cpp:
- wtf/HashTraits.h:
- wtf/Indenter.h:
- wtf/IndexSparseSet.h:
- wtf/InlineASM.h:
- wtf/Insertion.h:
- wtf/IteratorAdaptors.h:
- wtf/IteratorRange.h:
- wtf/JSONValues.cpp:
- wtf/JSValueMalloc.cpp:
- wtf/LEBDecoder.h:
- wtf/Language.cpp:
- wtf/ListDump.h:
- wtf/Lock.cpp:
- wtf/Lock.h:
- wtf/LockAlgorithm.h:
- wtf/LockedPrintStream.cpp:
- wtf/Locker.h:
- wtf/MD5.cpp:
- wtf/MD5.h:
- wtf/MainThread.cpp:
- wtf/MainThread.h:
- wtf/MallocPtr.h:
- wtf/MathExtras.h:
- wtf/MediaTime.cpp:
- wtf/MediaTime.h:
- wtf/MemoryPressureHandler.cpp:
- wtf/MessageQueue.h:
- wtf/MetaAllocator.cpp:
- wtf/MetaAllocator.h:
- wtf/MetaAllocatorHandle.h:
- wtf/MonotonicTime.cpp:
- wtf/MonotonicTime.h:
- wtf/NakedPtr.h:
- wtf/NoLock.h:
- wtf/NoTailCalls.h:
- wtf/Noncopyable.h:
- wtf/NumberOfCores.cpp:
- wtf/NumberOfCores.h:
- wtf/OSAllocator.h:
- wtf/OSAllocatorPosix.cpp:
- wtf/OSRandomSource.cpp:
- wtf/OSRandomSource.h:
- wtf/ObjcRuntimeExtras.h:
- wtf/OrderMaker.h:
- wtf/PackedIntVector.h:
- wtf/PageAllocation.h:
- wtf/PageBlock.cpp:
- wtf/PageBlock.h:
- wtf/PageReservation.h:
- wtf/ParallelHelperPool.cpp:
- wtf/ParallelHelperPool.h:
- wtf/ParallelJobs.h:
- wtf/ParallelJobsLibdispatch.h:
- wtf/ParallelVectorIterator.h:
- wtf/ParkingLot.cpp:
- wtf/ParkingLot.h:
- wtf/Platform.h:
- wtf/PointerComparison.h:
- wtf/Poisoned.cpp:
- wtf/PrintStream.cpp:
- wtf/PrintStream.h:
- wtf/ProcessID.h:
- wtf/ProcessPrivilege.cpp:
- wtf/RAMSize.cpp:
- wtf/RAMSize.h:
- wtf/RandomDevice.cpp:
- wtf/RandomNumber.cpp:
- wtf/RandomNumber.h:
- wtf/RandomNumberSeed.h:
- wtf/RangeSet.h:
- wtf/RawPointer.h:
- wtf/ReadWriteLock.cpp:
- wtf/RedBlackTree.h:
- wtf/Ref.h:
- wtf/RefCountedArray.h:
- wtf/RefCountedLeakCounter.cpp:
- wtf/RefCountedLeakCounter.h:
- wtf/RefCounter.h:
- wtf/RefPtr.h:
- wtf/RetainPtr.h:
- wtf/RunLoop.cpp:
- wtf/RunLoop.h:
- wtf/RunLoopTimer.h:
- wtf/RunLoopTimerCF.cpp:
- wtf/SHA1.cpp:
- wtf/SHA1.h:
- wtf/SaturatedArithmetic.h:
(saturatedSubtraction):
- wtf/SchedulePair.h:
- wtf/SchedulePairCF.cpp:
- wtf/SchedulePairMac.mm:
- wtf/ScopedLambda.h:
- wtf/Seconds.cpp:
- wtf/Seconds.h:
- wtf/SegmentedVector.h:
- wtf/SentinelLinkedList.h:
- wtf/SharedTask.h:
- wtf/SimpleStats.h:
- wtf/SingleRootGraph.h:
- wtf/SinglyLinkedList.h:
- wtf/SixCharacterHash.cpp:
- wtf/SixCharacterHash.h:
- wtf/SmallPtrSet.h:
- wtf/Spectrum.h:
- wtf/StackBounds.cpp:
- wtf/StackBounds.h:
- wtf/StackStats.cpp:
- wtf/StackStats.h:
- wtf/StackTrace.cpp:
- wtf/StdLibExtras.h:
- wtf/StreamBuffer.h:
- wtf/StringHashDumpContext.h:
- wtf/StringPrintStream.cpp:
- wtf/StringPrintStream.h:
- wtf/ThreadGroup.cpp:
- wtf/ThreadMessage.cpp:
- wtf/ThreadSpecific.h:
- wtf/Threading.cpp:
- wtf/Threading.h:
- wtf/ThreadingPrimitives.h:
- wtf/ThreadingPthreads.cpp:
- wtf/TimeWithDynamicClockType.cpp:
- wtf/TimeWithDynamicClockType.h:
- wtf/TimingScope.cpp:
- wtf/TinyLRUCache.h:
- wtf/TinyPtrSet.h:
- wtf/TriState.h:
- wtf/TypeCasts.h:
- wtf/UUID.cpp:
- wtf/UnionFind.h:
- wtf/VMTags.h:
- wtf/ValueCheck.h:
- wtf/Vector.h:
- wtf/VectorTraits.h:
- wtf/WallTime.cpp:
- wtf/WallTime.h:
- wtf/WeakPtr.h:
- wtf/WeakRandom.h:
- wtf/WordLock.cpp:
- wtf/WordLock.h:
- wtf/WorkQueue.cpp:
- wtf/WorkQueue.h:
- wtf/WorkerPool.cpp:
- wtf/cf/LanguageCF.cpp:
- wtf/cf/RunLoopCF.cpp:
- wtf/cocoa/Entitlements.mm:
- wtf/cocoa/MachSendRight.cpp:
- wtf/cocoa/MainThreadCocoa.mm:
- wtf/cocoa/MemoryFootprintCocoa.cpp:
- wtf/cocoa/WorkQueueCocoa.cpp:
- wtf/dtoa.cpp:
- wtf/dtoa.h:
- wtf/ios/WebCoreThread.cpp:
- wtf/ios/WebCoreThread.h:
- wtf/mac/AppKitCompatibilityDeclarations.h:
- wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
- wtf/mbmalloc.cpp:
- wtf/persistence/PersistentCoders.cpp:
- wtf/persistence/PersistentDecoder.cpp:
- wtf/persistence/PersistentEncoder.cpp:
- wtf/spi/cf/CFBundleSPI.h:
- wtf/spi/darwin/CommonCryptoSPI.h:
- wtf/text/ASCIIFastPath.h:
- wtf/text/ASCIILiteral.cpp:
- wtf/text/AtomicString.cpp:
- wtf/text/AtomicString.h:
- wtf/text/AtomicStringHash.h:
- wtf/text/AtomicStringImpl.cpp:
- wtf/text/AtomicStringImpl.h:
- wtf/text/AtomicStringTable.cpp:
- wtf/text/AtomicStringTable.h:
- wtf/text/Base64.cpp:
- wtf/text/CString.cpp:
- wtf/text/CString.h:
- wtf/text/ConversionMode.h:
- wtf/text/ExternalStringImpl.cpp:
- wtf/text/IntegerToStringConversion.h:
- wtf/text/LChar.h:
- wtf/text/LineEnding.cpp:
- wtf/text/StringBuffer.h:
- wtf/text/StringBuilder.cpp:
- wtf/text/StringBuilder.h:
- wtf/text/StringBuilderJSON.cpp:
- wtf/text/StringCommon.h:
- wtf/text/StringConcatenate.h:
- wtf/text/StringHash.h:
- wtf/text/StringImpl.cpp:
- wtf/text/StringImpl.h:
- wtf/text/StringOperators.h:
- wtf/text/StringView.cpp:
- wtf/text/StringView.h:
- wtf/text/SymbolImpl.cpp:
- wtf/text/SymbolRegistry.cpp:
- wtf/text/SymbolRegistry.h:
- wtf/text/TextBreakIterator.cpp:
- wtf/text/TextBreakIterator.h:
- wtf/text/TextBreakIteratorInternalICU.h:
- wtf/text/TextPosition.h:
- wtf/text/TextStream.cpp:
- wtf/text/UniquedStringImpl.h:
- wtf/text/WTFString.cpp:
- wtf/text/WTFString.h:
- wtf/text/cocoa/StringCocoa.mm:
- wtf/text/cocoa/StringViewCocoa.mm:
- wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp:
- wtf/text/icu/UTextProvider.cpp:
- wtf/text/icu/UTextProvider.h:
- wtf/text/icu/UTextProviderLatin1.cpp:
- wtf/text/icu/UTextProviderLatin1.h:
- wtf/text/icu/UTextProviderUTF16.cpp:
- wtf/text/icu/UTextProviderUTF16.h:
- wtf/threads/BinarySemaphore.cpp:
- wtf/threads/BinarySemaphore.h:
- wtf/threads/Signals.cpp:
- wtf/unicode/CharacterNames.h:
- wtf/unicode/Collator.h:
- wtf/unicode/CollatorDefault.cpp:
- wtf/unicode/UTF8.cpp:
- wtf/unicode/UTF8.h:
Tools:
Put WorkQueue in namespace DRT so it does not conflict with WTF::WorkQueue.
- DumpRenderTree/TestRunner.cpp:
(TestRunner::queueLoadHTMLString):
(TestRunner::queueLoadAlternateHTMLString):
(TestRunner::queueBackNavigation):
(TestRunner::queueForwardNavigation):
(TestRunner::queueLoadingScript):
(TestRunner::queueNonLoadingScript):
(TestRunner::queueReload):
- DumpRenderTree/WorkQueue.cpp:
(WorkQueue::singleton): Deleted.
(WorkQueue::WorkQueue): Deleted.
(WorkQueue::queue): Deleted.
(WorkQueue::dequeue): Deleted.
(WorkQueue::count): Deleted.
(WorkQueue::clear): Deleted.
(WorkQueue::processWork): Deleted.
- DumpRenderTree/WorkQueue.h:
(WorkQueue::setFrozen): Deleted.
- DumpRenderTree/WorkQueueItem.h:
- DumpRenderTree/mac/DumpRenderTree.mm:
(runTest):
- DumpRenderTree/mac/FrameLoadDelegate.mm:
(-[FrameLoadDelegate processWork:]):
(-[FrameLoadDelegate webView:locationChangeDone:forDataSource:]):
- DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::notifyDone):
(TestRunner::forceImmediateCompletion):
(TestRunner::queueLoad):
- DumpRenderTree/win/DumpRenderTree.cpp:
(runTest):
- DumpRenderTree/win/FrameLoadDelegate.cpp:
(FrameLoadDelegate::processWork):
(FrameLoadDelegate::locationChangeDone):
- DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::notifyDone):
(TestRunner::forceImmediateCompletion):
(TestRunner::queueLoad):
- 7:01 AM Changeset in webkit [237098] by
-
- 2 edits in trunk/Source/JavaScriptCore
Gardening: Build fix after r237084.
https://bugs.webkit.org/show_bug.cgi?id=189708
Unreviewd.
- llint/LLIntOffsetsExtractor.cpp:
- 6:51 AM Changeset in webkit [237097] by
-
- 18 edits in trunk
[JSC] Remove Option::useAsyncIterator
https://bugs.webkit.org/show_bug.cgi?id=190567
Reviewed by Saam Barati.
.:
- Source/cmake/WebKitFeatures.cmake:
Source/JavaScriptCore:
Async iterator is enabled by default at 2017-08-09. It is already shipped in several releases,
and we can think that it is already mature. Let's drop the optionOption::useAsyncIterator
.
- Configurations/FeatureDefines.xcconfig:
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitNewFunctionExpressionCommon):
(JSC::BytecodeGenerator::emitNewFunction):
- parser/ASTBuilder.h:
(JSC::ASTBuilder::createFunctionMetadata):
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseForStatement):
(JSC::Parser<LexerType>::parseAsyncFunctionDeclaration):
(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseProperty):
(JSC::Parser<LexerType>::parseAsyncFunctionExpression):
- runtime/Options.h:
Source/WebCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore/PAL:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit:
- Configurations/FeatureDefines.xcconfig:
Source/WebKitLegacy/mac:
- Configurations/FeatureDefines.xcconfig:
Tools:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- 6:49 AM Changeset in webkit [237096] by
-
- 4 edits in trunk/Source/JavaScriptCore
[JSC] Remove Options::useObjectRestSpread
https://bugs.webkit.org/show_bug.cgi?id=190568
Reviewed by Saam Barati.
Options::useObjectRestSpread is enabled by default at 2017-06-27. It is already shipped in several releases,
and we can think that it is mature. Let's drop Options::useObjectRestSpread() flag.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::parseDestructuringPattern):
(JSC::Parser<LexerType>::parseProperty):
- parser/Parser.h:
- runtime/Options.h:
- 6:48 AM Changeset in webkit [237095] by
-
- 3 edits1 add in trunk
[JSC] JSON.stringify can accept call-with-no-arguments
https://bugs.webkit.org/show_bug.cgi?id=190343
Reviewed by Mark Lam.
JSTests:
- stress/json-stringify-no-arguments.js: Added.
(shouldBe):
Source/JavaScriptCore:
JSON.stringify can accept
JSON.stringify()
call (call-with-no-arguments) according to the spec[1].
Instead of throwing an error, we should take the first argument asundefined
if it is not given.
[1]: https://tc39.github.io/ecma262/#sec-json.stringify
- runtime/JSONObject.cpp:
(JSC::JSONProtoFuncStringify):
- 5:27 AM Changeset in webkit [237094] by
-
- 3 edits in trunk/LayoutTests
[GStreamer] MediaStream test failing since r236877
Unreviewed gardening
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
- 4:53 AM Changeset in webkit [237093] by
-
- 2 edits in trunk/Tools
[WPE] Silence a unused-parameter warning
Unreviewed.
- MiniBrowser/wpe/main.cpp:
(decidePermissionRequest):
- 4:44 AM Changeset in webkit [237092] by
-
- 3 edits in trunk/Source/WebCore
[GStreamer] Fix EME build for GStreamer 1.14.x
https://bugs.webkit.org/show_bug.cgi?id=190471
Reviewed by Xabier Rodriguez-Calvar.
- platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:
(webkitMediaCommonEncryptionDecryptTransformCaps): The
GST_PROTECTION_UNSPECIFIED_SYSTEM_ID #define won't be shipped
until the GStreamer 1.16.0 release, so its use needs to be wrapped
between a version check.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::initializationDataEncountered): Ditto.
Oct 14, 2018:
Oct 12, 2018:
- 5:29 PM October 2018 Meeting edited by
- Added IntersectionObserver Notes (diff)
- 5:29 PM IntersectionObserverNotes created by
- Notes from 2018 WebKit Contributors Meeting
- 5:17 PM October 2018 Meeting edited by
- Added Redesigned Form Controls and Dark Mode CSS notes (diff)
- 5:17 PM RedesignedFormControlsAndDarkModeCSS created by
- Notes from 2018 WebKit Contributors Meeting
- 5:09 PM October 2018 Meeting edited by
- Added Fixing WebKit Development Annoyances notes (diff)
- 5:08 PM FixingWebKitDevelopmentAnnoyances created by
- Notes from 2018 WebKit Contributors Meeting
- 4:54 PM Changeset in webkit [237091] by
-
- 1 edit2 adds in trunk/Websites/webkit.org
Add a demo for WebInspector scanvas debugging.
- demos/canvas-debugging/index.html: Added.
- 4:52 PM Changeset in webkit [237090] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Canvas: previews aren't removed when the parent view is hidden
https://bugs.webkit.org/show_bug.cgi?id=190525
Reviewed by Matt Baker.
- UserInterface/Views/CanvasTabContentView.js:
(WI.CanvasTabContentView.prototype.attached):
- UserInterface/Controllers/CanvasManager.js:
(WI.CanvasManager.prototype.get canvases):
(WI.CanvasManager.prototype.get shaderPrograms):
Drive-by: simplify these getters.
- 4:48 PM October 2018 Meeting edited by
- (diff)
- 4:46 PM October 2018 Meeting edited by
- Added Last 2 Years of Platform/Network/cURL notes (diff)
- 4:44 PM Last2YearsOfPlatformNetworkCurl created by
- Notes from 2018 WebKit Contributors Meeting
- 4:42 PM October 2018 Meeting edited by
- (diff)
- 4:39 PM WPTandWebKitTests edited by
- (diff)
- 4:31 PM October 2018 Meeting edited by
- Added WPT and WebKit Tests (diff)
- 4:30 PM WPTandWebKitTests created by
- Notes from 2018 WebKit Contributors Meeting
- 4:27 PM Changeset in webkit [237089] by
-
- 2 edits in trunk/Tools
[Tools][webkitpy] fix handling of JSCTESTS_OPTIONS
https://bugs.webkit.org/show_bug.cgi?id=190537
Reviewed by Alexey Proskuryakov.
In DeprecatedPort.run_javascriptcore_tests_command() JSCTESTS_OPTIONS
needs to be split before adding it to the command since it is treated
as a list of args.
- Scripts/webkitpy/common/config/ports.py:
(DeprecatedPort.run_javascriptcore_tests_command):
- 4:17 PM October 2018 Meeting edited by
- Added EWS Updates notes (diff)
- 4:16 PM Changeset in webkit [237088] by
-
- 2 edits in trunk/Source/JavaScriptCore
Gardening: Build fix after r237084.
https://bugs.webkit.org/show_bug.cgi?id=189708
Unreviewd.
- JavaScriptCore.xcodeproj/project.pbxproj:
- 4:16 PM EWSUpdates2018 created by
- Notes from 2018 WebKit Contributors Meeting
- 4:14 PM October 2018 Meeting edited by
- Added notes for WebKitGTK+ and WPE WebKit in Five Minutes (diff)
- 4:14 PM WebKitGTKAndWPEWebKitInFiveMinutes created by
- Notes from 2018 WebKit Contributors Meeting
- 4:13 PM Changeset in webkit [237087] by
-
- 27 edits5 adds in trunk
[iOS] Allow SPI clients to lay out at arbitrarily scaled sizes and scale to fit the view
https://bugs.webkit.org/show_bug.cgi?id=190504
<rdar://problem/45117760>
Reviewed by Tim Horton.
Source/WebCore:
Add support in ViewportConfiguration for applying a layout size scale factor to the viewport. See below for
more details.
Tests: fast/viewport/ios/constant-width-viewport-after-changing-view-scale.html
fast/viewport/ios/device-width-viewport-after-changing-view-scale.html
- page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::setViewLayoutSize):
The viewport's layout size may now be changed alongside the layout size scale factor. If either of these two
variables change, we recompute our minimum layout size and viewport configuration parameters.
(WebCore::ViewportConfiguration::shouldIgnoreHorizontalScalingConstraints const):
(WebCore::ViewportConfiguration::nativeWebpageParameters):
(WebCore::ViewportConfiguration::testingParameters):
(WebCore::ViewportConfiguration::updateConfiguration):
Multiply the minimum scale, initial scale, and maximum scale by the layout size scale factor. This allows us to
keep the document well-proportioned within the viewport, while still laying out at a different layout size.
(WebCore::ViewportConfiguration::updateMinimumLayoutSize):
Compute the minimum layout size by scaling the default layout size derived from our view's size.
(WebCore::ViewportConfiguration::layoutWidth const):
(WebCore::ViewportConfiguration::layoutHeight const):
- page/ViewportConfiguration.h:
Maintain the original initial scale, unaffected by the layout size scale factor. This is used when computing
layout width and height to prevent scaling by the layout size scale factor twice when computing layout sizes.
(WebCore::ViewportConfiguration::description const):
Include the layout size scale factor in ViewportConfiguration's description string.
(WebCore::ViewportConfiguration::Parameters::operator== const):
(WebCore::operator<<):
Source/WebKit:
Add support for _setViewScale: and _viewScale on iOS. While similar in concept to macOS, changing this property
on iOS uses viewport configurations to change the minimum layout size of the document and apply view scaling.
Setting the view scale on iOS to a values
multiplies the minimium layout size by a factor1 / s
, but also
multiplies the initial, minimum and maximum scales by a factor ofs
. The net effect of applying this scale
causes the page to lay out at a larger width and shrink (or a smaller width and expand) to fit the viewport.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
Send
viewportConfigurationLayoutSizeScaleFactor
alongsideviewportConfigurationViewLayoutSize
.
(-[WKWebView _dispatchSetViewLayoutSize:]):
(-[WKWebView _viewScale]):
(-[WKWebView _setViewScale:]):
Provide a different implementation of
_setViewScale:
on iOS, by scaling the effective minimum layout size.
(See above for more detail).
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
Add missing API availability annotations for the _viewScale property.
- UIProcess/API/mac/WKView.mm:
(-[WKView _setViewScale:]):
- UIProcess/Cocoa/WebViewImpl.mm:
Both -[WKView _setViewScale:] and -[WKWebView _setViewScale:] throw Objective C exceptions upon receiving a bad
argument (e.g. scale <= 0). However, logic for throwing this exception is specific to iOS in WKWebView, and
handled in WebViewImpl on macOS. To make this less confusing, move the exception throwing code out of
!PLATFORM(MAC) in WKWebView, and move the path for raising this exception in WKView on macOS from WebViewImpl to
WKView.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::layoutSizeScaleFactor const):
Tie the notion of "view scale" on iOS to
layoutSizeScaleFactor
. As its name suggests, this is a scale factor
by which we transform the layout size.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::setViewportConfigurationViewLayoutSize):
- WebProcess/WebPage/WebPage.cpp:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Plumb the layout size scale factor over to the web process, along with the layout size.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::setViewportConfigurationViewLayoutSize):
Tools:
Teach UIScriptController to set WKWebView's view scale via a new
setViewScale
method, supported in WebKit2 on
macOS and iOS.
- DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::setViewScale):
- DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::setViewScale):
- TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
- TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::setViewScale):
- TestRunnerShared/UIScriptContext/UIScriptController.h:
- WebKitTestRunner/UIScriptControllerCocoa.mm: Added.
Add a new file for UIScriptController methods on Cocoa platforms.
(WTR::UIScriptController::setViewScale):
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cocoaResetStateToConsistentValues):
Ensure that _viewScale is reset to 1 after running a layout test.
LayoutTests:
Add two new layout tests on iOS that change WKWebView's view scale, and measure the resulting window sizes and
lengths of viewport units.
- fast/viewport/ios/constant-width-viewport-after-changing-view-scale-expected.txt: Added.
- fast/viewport/ios/constant-width-viewport-after-changing-view-scale.html: Added.
Add a test page with a viewport meta tag that has a constant width and an explicit initial scale of 0.5.
- fast/viewport/ios/device-width-viewport-after-changing-view-scale-expected.txt: Added.
- fast/viewport/ios/device-width-viewport-after-changing-view-scale.html: Added.
Add a test page with a viewport meta tag at device-width, with initial scale 1.
- resources/ui-helper.js:
(window.UIHelper.setViewScale):
Add a convenience function that wraps a UI script invocation of
setViewScale
in a promise.
(window.UIHelper):
- 4:13 PM October 2018 Meeting edited by
- Added Igalia Contributions to WebKit (diff)
- 4:12 PM IgaliaContributionsToWebKit created by
- Notes from 2018 WebKit Contributors Meeting
- 4:10 PM Changeset in webkit [237086] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Perf dashboard: add a test for aggregating subtests without a matching metric in /api/report
https://bugs.webkit.org/show_bug.cgi?id=190544
Rubber-stamped by Keith Miller and unofficially reviewed by Dewei Zhu.
Added tests for reporting results to /api/report where a test with aggregated metrics has a subtest
without a matching metric type. The aggregation should simply skip such a subtest instead of returning
an error or aggregating with a mismatching metric type.
- server-tests/api-report-tests.js:
(.makeReport): Extracted out of a test case.
- 4:05 PM October 2018 Meeting edited by
- Added JavaScript RegExp Processing and JavaScriptCore Goals (diff)
- 4:03 PM JSCRegExpProcessingAndJSCGoals created by
- Notes from 2018 WebKit Contributors Meeting
- 3:59 PM Changeset in webkit [237085] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Dark Mode: Highlight text in Network Headers search is too dark
https://bugs.webkit.org/show_bug.cgi?id=190510
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-10-12
Reviewed by Devin Rousso.
- UserInterface/Views/ResourceHeadersContentView.css:
(.resource-headers.showing-find-banner .search-highlight):
Use adaptive text-color.
- 3:54 PM October 2018 Meeting edited by
- Added Web Inspector notes (diff)
- 3:52 PM WebInspectorNotes2018 created by
- Notes from 2018 WebKit Contributors Meeting
- 3:50 PM October 2018 Meeting edited by
- Added WebDriver Notes (diff)
- 3:47 PM WebDriverNotes2018 created by
- Notes from 2018 WebKit Contributors Meeting
- 3:39 PM Changeset in webkit [237084] by
-
- 7 edits2 adds in trunk/Source/JavaScriptCore
Separate configuration extraction from offset extraction
https://bugs.webkit.org/show_bug.cgi?id=189708
Reviewed by Keith Miller.
Instead of generating a file with all offsets for every combination of
configurations, we first generate a file with only the configuration
indices and pass that to the offset extractor. The offset extractor then
only generates the offsets for valid configurations
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- llint/LLIntOffsetsExtractor.cpp:
(JSC::LLIntOffsetsExtractor::dummy):
- llint/LLIntSettingsExtractor.cpp: Added.
(main):
- offlineasm/generate_offset_extractor.rb:
- offlineasm/generate_settings_extractor.rb: Added.
- offlineasm/offsets.rb:
- offlineasm/settings.rb:
- 3:38 PM October 2018 Meeting edited by
- Added WebKit Accessibility Performance notes (diff)
- 3:37 PM WebKitAccessibilityPerformance created by
- Notes from 2018 WebKit Contributors Meeting
- 3:28 PM October 2018 Meeting edited by
- Added Investigating Leaks and Bloat (diff)
- 3:28 PM InvestigatingLeaksAndBloat created by
- Notes from 2018 WebKit Contributors Meeting
- 3:24 PM October 2018 Meeting edited by
- Added WebKit Feature Focus 2018-2019 Notes (diff)
- 3:23 PM WebKitFeatureFocus2018-2019 created by
- Notes from the 2018 WebKit Contributors Meeting
- 3:16 PM October 2018 Meeting edited by
- (diff)
- 3:06 PM Changeset in webkit [237083] by
-
- 2 edits in trunk/Tools
[ews-build] Rename iOS-11-Simulator-Tests-EWS to iOS-11-Simulator-WK2-Tests-EWS
https://bugs.webkit.org/show_bug.cgi?id=190536
Reviewed by Alexey Proskuryakov.
- BuildSlaveSupport/ews-build/config.json: Renamed iOS-11-Simulator-Tests-EWS to iOS-11-Simulator-WK2-Tests-EWS.
- 3:06 PM Changeset in webkit [237082] by
-
- 5 edits in trunk/Source/WebCore
Use downcast for use of RealtimeMediaSource in LibWebRTCMediaEndpoint
https://bugs.webkit.org/show_bug.cgi?id=190533
Reviewed by Chris Dumez.
Clean-up work.
No change of behavior.
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::setExistingReceiverSourceTrack):
- platform/mediastream/RealtimeIncomingAudioSource.h:
(isType):
- platform/mediastream/RealtimeIncomingVideoSource.h:
(isType):
- platform/mediastream/RealtimeMediaSource.h:
- 2:43 PM Changeset in webkit [237081] by
-
- 2 edits in trunk/Source/WebCore
WebAVSampleBufferErrorListener's parent should be a WeakPtr.
https://bugs.webkit.org/show_bug.cgi?id=190524
<rdar://problem/44359307>
Reviewed by Eric Carlson.
Once WebAVSampleBufferErrorListener's parent is a WeakPtr, we no longer need to pass
protectedSelf into the callOnMainThread lambdas; we can pass in the parent itself.
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(-[WebAVSampleBufferErrorListener initWithParent:]):
(-[WebAVSampleBufferErrorListener observeValueForKeyPath:ofObject:change:context:]):
(-[WebAVSampleBufferErrorListener layerFailedToDecode:]):
(WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
(WebCore::SourceBufferPrivateAVFObjC::destroyRenderers):
- 2:42 PM Changeset in webkit [237080] by
-
- 15 edits in trunk/Source
Unreviewed, rolling out r237063.
Caused layout test fast/dom/Window/window-postmessage-clone-
deep-array.html to fail on macOS and iOS Debug bots.
Reverted changeset:
"[JSC] Remove gcc warnings on mips and armv7"
https://bugs.webkit.org/show_bug.cgi?id=188598
https://trac.webkit.org/changeset/237063
- 2:32 PM Changeset in webkit [237079] by
-
- 1 edit in trunk/Source/ThirdParty/libwebrtc/CMakeLists.txt
Unreviewed.
Speculative build fix for GTK/WPE after r237075.
- 2:30 PM Changeset in webkit [237078] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Dark Mode: wrong color used for "goto arrow" for selected DOM breakpoint tree element
https://bugs.webkit.org/show_bug.cgi?id=190180
<rdar://problem/44927654>
Reviewed by Matt Baker.
- UserInterface/Views/Main.css:
(@media (prefers-dark-interface)):
(:focus .selected .go-to-arrow):
- 2:29 PM Changeset in webkit [237077] by
-
- 2 edits in trunk/Source/WebCore
Address the review comment which was meant to be addressed in r237025.
- editing/MarkupAccumulator.cpp:
(WebCore::elementCannotHaveEndTag):
- 2:04 PM Changeset in webkit [237076] by
-
- 1 edit1 delete in trunk/Source/ThirdParty/libwebrtc
Unreviewed build fix, remove executable file imported with r237075.
- Source/webrtc/data/voice_engine/stereo_rtp_files/rtpplay.exe: Removed.
- 1:53 PM October 2018 Meeting edited by
- Moved "How Text Works" into main schedule (diff)
- 1:45 PM Changeset in webkit [237075] by
-
- 1279 edits64 copies164 moves313 adds92 deletes in trunk/Source
Refresh libwebrtc up to 343f4144be
https://bugs.webkit.org/show_bug.cgi?id=190361
Reviewed by Chris Dumez.
This refresh should not change behavior but will allow us to implement better
mdns candidate support and simulcast activation surfacing through addTransceiver.
Covered by existing tests.
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp: (WebCore::LibWebRTCMediaEndpoint::doCreateAnswer):
- testing/MockLibWebRTCPeerConnection.cpp: (WebCore::MockLibWebRTCPeerConnection::CreateAnswer):
- testing/MockLibWebRTCPeerConnection.h: (WebCore::MockRtpSender::GetParameters): Deleted. (WebCore::MockRtpSender::SetParameters): Deleted. (WebCore::MockRtpSender::GetDtmfSender const): Deleted.
ThirdParty/libwebrtc
- Configurations/libwebrtc.iOS.exp:
- Configurations/libwebrtc.iOSsim.exp:
- Configurations/libwebrtc.mac.exp:
- Configurations/libwebrtc.xcconfig:
- Source/webrtc: Resynced.
- WebKit/0001-Updating-webrtc.patch: Removed.
- libwebrtc.xcodeproj/project.pbxproj:
- 1:20 PM Changeset in webkit [237074] by
-
- 23 edits in trunk/Source
Allow encoding of small enum classes
https://bugs.webkit.org/show_bug.cgi?id=190531
Reviewed by Tim Horton.
Source/WebCore:
- Modules/webauthn/PublicKeyCredentialCreationOptions.h:
- dom/Document.h:
- editing/FontAttributeChanges.h:
- history/CachedFrame.h:
- loader/FrameLoaderTypes.h:
- platform/CookiesStrategy.h:
- platform/PasteboardItemInfo.h:
- platform/ReferrerPolicy.h:
Source/WebKit:
- NetworkProcess/NetworkLoadClient.h:
- Scripts/webkit/messages.py:
- Scripts/webkit/parser.py:
(parse_parameters_string):
- UIProcess/API/APINavigation.h:
- UIProcess/WebFramePolicyListenerProxy.h:
- UIProcess/WebNavigationState.h:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebPage/WebPage.messages.in:
Source/WebKitLegacy/mac:
- WebCoreSupport/WebFrameLoaderClient.mm:
(-[WebFramePolicyListener dealloc]):
Source/WTF:
- wtf/Forward.h:
- 12:58 PM October 2018 Meeting edited by
- Added IntersectionObserver talk (diff)
- 12:51 PM October 2018 Meeting edited by
- (diff)
- 12:47 PM October 2018 Meeting edited by
- (diff)
- 12:43 PM October 2018 Meeting edited by
- Changed order of Igalia and Web Inspector talks (diff)
- 12:20 PM Changeset in webkit [237073] by
-
- 15 edits in trunk/Source
Solve the confusion around blankURL() and isBlankURL() in URL
https://bugs.webkit.org/show_bug.cgi?id=158988
Patch by Rob Buis <rbuis@igalia.com> on 2018-10-12
Reviewed by Alex Christensen.
Source/WebCore:
The name isBlankURL is not accurate as the function tests the
protocol, not the full URL. Choose protocolIsAbout to align with
exisiting protocolIsData, protocolIsBlob etc.
No tests as no change in functionality.
- WebCore.order:
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::loadApplicationManifest):
(WebCore::DocumentLoader::startIconLoading):
- loader/NavigationAction.cpp:
(WebCore::shouldTreatAsSameOriginNavigation):
- loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
- loader/ResourceLoadObserver.cpp:
(WebCore::ResourceLoadObserver::logUserInteractionWithReducedTimeResolution):
- page/PageSerializer.cpp:
(WebCore::PageSerializer::SerializerMarkupAccumulator::appendCustomAttributes):
(WebCore::PageSerializer::serializeFrame):
- page/csp/ContentSecurityPolicyDirectiveList.cpp:
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForFrame const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForObjectSource const):
- platform/URL.cpp:
(WebCore::URL::protocolIsAbout const):
(WebCore::URL::isBlankURL const): Deleted.
- platform/URL.h:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::loadFull):
Source/WebKit:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::continueWillSendRequest):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForNavigationInternal):
- UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::logUserInteraction):
(WebKit::WebResourceLoadStatisticsStore::clearUserInteraction):
(WebKit::WebResourceLoadStatisticsStore::hasHadUserInteraction):
(WebKit::WebResourceLoadStatisticsStore::setLastSeen):
(WebKit::WebResourceLoadStatisticsStore::setPrevalentResource):
(WebKit::WebResourceLoadStatisticsStore::setVeryPrevalentResource):
(WebKit::WebResourceLoadStatisticsStore::isPrevalentResource):
(WebKit::WebResourceLoadStatisticsStore::isVeryPrevalentResource):
(WebKit::WebResourceLoadStatisticsStore::clearPrevalentResource):
(WebKit::WebResourceLoadStatisticsStore::setGrandfathered):
(WebKit::WebResourceLoadStatisticsStore::isGrandfathered):
(WebKit::WebResourceLoadStatisticsStore::setSubframeUnderTopFrameOrigin):
(WebKit::WebResourceLoadStatisticsStore::setSubresourceUnderTopFrameOrigin):
(WebKit::WebResourceLoadStatisticsStore::setSubresourceUniqueRedirectTo):
(WebKit::WebResourceLoadStatisticsStore::setSubresourceUniqueRedirectFrom):
(WebKit::WebResourceLoadStatisticsStore::setTopFrameUniqueRedirectTo):
(WebKit::WebResourceLoadStatisticsStore::setTopFrameUniqueRedirectFrom):
- 11:03 AM Changeset in webkit [237072] by
-
- 2 edits in trunk/LayoutTests
[Mojave Wk2] Layout Test http/tests/cache/disk-cache/disk-cache-validation-attachment.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=190323
Unreviewed, mark test as Flaky.
Patch by Dawei Fenton <realdawei@apple.com> on 2018-10-12
- platform/mac-wk2/TestExpectations:
- 10:57 AM Changeset in webkit [237071] by
-
- 5 edits in trunk/Source/WebKit
Cache API tests are flaky due to file writing failing from time to time
https://bugs.webkit.org/show_bug.cgi?id=190321
Reviewed by Chris Dumez.
Make NetworkCache::Storage::store callback return an error in case of writing failure.
Use this to surface this error at Cache API level.
Minor clean-up to make Storage::clear take a completion handler.
Make also sure to create the folder before writing the file in CacheStorageEngine.
As can be seen from some logging, it does happen that writing the 'origin' file sometimes fail with Posix error 9,
which might mean the folder is not present.
Changes are covered by current tests, flaky tests like http/wpt/cache-storage/cache-put-keys.https.any.worker.html
will show a "failed writing data to the file system" error message.
- NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::writeFile):
- NetworkProcess/cache/CacheStorageEngine.h:
- NetworkProcess/cache/CacheStorageEngineCaches.cpp:
(WebKit::CacheStorage::Caches::storeOrigin):
(WebKit::CacheStorage::Caches::writeCachesToDisk):
(WebKit::CacheStorage::Caches::writeRecord):
- NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::WriteOperation::WriteOperation):
(WebKit::NetworkCache::Storage::dispatchWriteOperation):
(WebKit::NetworkCache::Storage::finishWriteOperation):
(WebKit::NetworkCache::Storage::store):
(WebKit::NetworkCache::Storage::clear):
- NetworkProcess/cache/NetworkCacheStorage.h:
(WebKit::NetworkCache::Storage::store):
- 10:14 AM Changeset in webkit [237070] by
-
- 2 edits in trunk/Source/WebCore
DOMCache should dereference itself as soon as stopped
https://bugs.webkit.org/show_bug.cgi?id=190441
Reviewed by Chris Dumez.
Dereference the DOMCache as soon as its context is stopped instead of waiting for garbage collection.
This allows freeing resources sooner in the network process.
No observable change of behavior since the DOMCache becomes no-op when its context is stopped.
- Modules/cache/DOMCache.cpp:
(WebCore::DOMCache::~DOMCache):
(WebCore::DOMCache::stop):
- 9:57 AM Changeset in webkit [237069] by
-
- 2 edits in trunk/Source/WTF
Add PLATFORM(IOS_FAMILY) and OS(IOS_FAMILY)
https://bugs.webkit.org/show_bug.cgi?id=190477
Reviewed by Tim Horton.
Currently, PLATFORM(IOS) and OS(IOS) are true when building for any
TARGET_OS_IPHONE target, which is quite confusing. Add a better named alternative,
as a first step towards mass replacing PLATFORM(IOS). Can't so it all at once
because of dependencies in other source repositories.
- wtf/Platform.h: Changed to the new name in this file though. Kept a few
instances that actually target iOS only, having a version check.
- 9:24 AM October 2018 Meeting edited by
- (diff)
- 9:07 AM Changeset in webkit [237068] by
-
- 2 edits in trunk/LayoutTests
Layout Test editing/pasteboard/copy-paste-across-shadow-boundaries-with-style-2.html is failing
https://bugs.webkit.org/show_bug.cgi?id=190520
Unreviewed test gardening.
- platform/win/TestExpectations:
- 8:28 AM Changeset in webkit [237067] by
-
- 3 edits in trunk/Source/WebCore
CRASH in WebCore::MediaPlayerPrivateAVFoundation::setPreload
https://bugs.webkit.org/show_bug.cgi?id=190485
<rdar://problem/34613350>
Reviewed by Eric Carlson.
Crash analytics show that a pure-virtual function is called by MediaPlayerPrivateAVFoundation::setPreload(), and
the likely cause of that pure-virtual function call is that the MediaPlayerPrivateAVFoundation object itself has
been destroyed, likely as a side effect of calling MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL().
The usual suspect for this kind of crash is due to calling into JS (e.g., from a callback passed up to
HTMLMediaElement). Code inspection hasn't yielded any good hints about why this might be occurring, so we will
add a ScriptDisallowedScope assertion inside HTMLMediaElement::prepareToPlay(), to generate a good crashlog
showing exactly what callback is resulting in a JS call. But just in case the deallocation is not due to JS,
also add an explicit strong-ref inside MediaPlayer::prepareToPlay.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::prepareToPlay):
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::prepareToPlay):
- 8:28 AM Changeset in webkit [237066] by
-
- 2 edits in trunk/Source/WebCore
Null-dereference in SourceBufferPrivateAVFObjC::outputObscuredDueToInsufficientExternalProtectionChanged
https://bugs.webkit.org/show_bug.cgi?id=190490
<rdar://problem/42213807>
Reviewed by Eric Carlson.
Crash analytics show a null dereference occurring, likely because m_mediaSource is null.
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::outputObscuredDueToInsufficientExternalProtectionChanged):
- 6:19 AM October 2018 Meeting edited by
- Cannot attend the meeting. (diff)