Timeline
Oct 1, 2020:
- 11:47 PM Changeset in webkit [267868] by
-
- 2 edits in trunk/WebDriverTests
[WebDriver] Gardening no_browsing_context failures.
Unreviewed test gardening.
- TestExpectations.json:
- 11:14 PM Changeset in webkit [267867] by
-
- 6 edits in trunk/Source/JavaScriptCore
[JSC] Masm probe should invoke JIT operation function
https://bugs.webkit.org/show_bug.cgi?id=217199
Reviewed by Mark Lam.
Masm probe function should be invoked via OperationPtrTag since it is invoked from JIT code, and it is native code.
And we should register probe trampoline as JIT operation.
- assembler/MacroAssemblerARM64.cpp:
(JSC::MacroAssembler::probe):
- assembler/MacroAssemblerARMv7.cpp:
- assembler/MacroAssemblerMIPS.cpp:
- assembler/MacroAssemblerX86Common.cpp:
- runtime/JSCPtrTag.h:
- 11:06 PM Changeset in webkit [267866] by
-
- 4 edits in trunk
update FormData to latest spec webidl
https://bugs.webkit.org/show_bug.cgi?id=171589
Patch by Rob Buis <rbuis@igalia.com> on 2020-10-01
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Update improved test result.
- web-platform-tests/xhr/formdata-expected.txt:
Source/WebCore:
Change FormData contructor to not take optional, nullable
parameter.
Test: imported/w3c/web-platform-tests/xhr/formdata.html
- html/DOMFormData.cpp:
(WebCore::DOMFormData::DOMFormData):
- html/DOMFormData.h:
(WebCore::DOMFormData::create):
- html/DOMFormData.idl:
- 6:42 PM Changeset in webkit [267865] by
-
- 8 edits in trunk
[WebIDL] Add support for non-nullable optional wrapper type arguments to operations
https://bugs.webkit.org/show_bug.cgi?id=217162
Reviewed by Chris Dumez.
Source/WebCore:
The bindings currently treat both nullable and optional wrapper types as
having type WrapperType* (or RefPtr<WrapperType> for callbacks), whereas
non-nullable, non-optional wrapper types are treated as having type WrapperType&
(or Ref<WrapperType> for callbacks). This parallels non wrapper types
which use Optional<Type> for both nullable and optional vs Type for the
non-nullable non-optional variant. In both these cases, there is possibility
for ambiguity, should we ever need to disambiguate between nullable and
optional, but thus far it hasn't come up.
This change adds a missing case where we weren't supporting non-nullable
optional wrapper type arguments to operations. We solve this by expecting
the wrapped implementation to take the optional wrapper type argument the
same way it would take an optional wrapper type argument, with a WrapperType*,
(or RefPtr<WrapperType> for callbacks) that gets passed a nullptr if the
parameter was ommited.
Adopt this in Geolocation.idl, which has had a FIXME for this for a long
time.
- Modules/geolocation/Geolocation.idl:
- bindings/scripts/CodeGeneratorJS.pm:
- bindings/scripts/test/JS/JSTestObj.cpp:
- bindings/scripts/test/TestObj.idl:
LayoutTests:
- fast/dom/Geolocation/argument-types.html:
- fast/dom/Geolocation/argument-types-expected.txt:
Update tests now that the second argument to Geolocation.getCurrentPosition
and Geolocation.watchPosition are non-nullable.
- 6:16 PM Changeset in webkit [267864] by
-
- 18 edits5 adds in trunk
[GPU Process] Support drawing text in 2D canvas with font features
https://bugs.webkit.org/show_bug.cgi?id=206118
Reviewed by Wenson Hsieh.
Source/WebCore:
This patch simply serializes all the non-derived data in Font and FontPlatformData.
Serializing a CTFont involves serializing its font descriptor's attributes. However,
there's an extra step for web fonts, since the font descriptor's attributes don't include
the raw bytes of the font file. This was previously being saved in Font, but this patch
moves that into FontPlatformData because of layering, and adds the SharedBuffer to the
serialization routine for web fonts.
Test: fast/canvas/fill-text-with-font-features.html
- WebCore.xcodeproj/project.pbxproj:
- css/CSSFontFace.cpp:
(WebCore::CSSFontFace::font): Fonts and FontPlatformDatas are supposed to be immutable, so
having a setter for the FontFaceData is incorrect. This object is moved into the constructor
instead.
- css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::font): Deleting dead code.
- platform/graphics/Font.cpp:
(WebCore::Font::setFontFaceData): Deleted.
- platform/graphics/Font.h:
(WebCore::Font::fontFaceData const): Deleted. Moved to FontPlatformData
- platform/graphics/FontPlatformData.cpp:
(WebCore::FontPlatformData::FontPlatformData):
- platform/graphics/FontPlatformData.h:
(WebCore::FontPlatformData::creationData const): Moved from Font.
- platform/graphics/coretext/FontPlatformDataCoreText.cpp:
(WebCore::FontPlatformData::FontPlatformData):
- platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData): FontCustomPlatformData is a struct, so
there's no need for the m_ prefixes.
(WebCore::createFontCustomPlatformData):
- platform/graphics/mac/FontCustomPlatformData.h:
(WebCore::FontCustomPlatformData::FontCustomPlatformData): Ditto.
Source/WebKit:
Simply serialize and deserialize all the non-derived data in Font and PlatformFontData.
- Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
(IPC::ArgumentCoder<Ref<Font>>::encodePlatformData):
(IPC::ArgumentCoder<Ref<Font>>::decodePlatformData):
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<Ref<Font>>::encode):
(IPC::ArgumentCoder<Ref<Font>>::decode):
- Shared/WebCoreArgumentCoders.h:
LayoutTests:
- fast/canvas/fill-text-with-font-features-expected.html: Added.
- fast/canvas/fill-text-with-font-features.html: Added.
- fast/canvas/resources/FontWithFeatures.ttf: Added.
- 6:10 PM Changeset in webkit [267863] by
-
- 3 edits6 adds in trunk
Repaint as needed when adding and removing highlights
https://bugs.webkit.org/show_bug.cgi?id=217116
Source/WebCore:
<rdar://problem/59076190>
Reviewed by Simon Fraser.
When adding and removing psudo highlights, make sure that the
right areas are repainted.
Test: http/wpt/css/css-highlight-api/highlight-text-repaint.html
- Modules/highlight/HighlightRangeGroup.cpp:
(WebCore::repaintRange):
(WebCore::HighlightRangeGroup::removeFromSetLike):
(WebCore::HighlightRangeGroup::clearFromSetLike):
(WebCore::HighlightRangeGroup::addToSetLike):
LayoutTests:
Reviewed by Simon Fraser.
- http/wpt/css/css-highlight-api/highlight-text-repaint-expected.txt: Added.
- http/wpt/css/css-highlight-api/highlight-text-repaint.html: Added.
- http/wpt/css/css-highlight-api/highlight-text-replace-expected.html: Removed.
- 5:18 PM Changeset in webkit [267862] by
-
- 2 edits in trunk/Tools
Limit number of tests to log in case of large number of API test failures
https://bugs.webkit.org/show_bug.cgi?id=217181
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(AnalyzeAPITestsResults.analyzeResults):
- 4:56 PM Changeset in webkit [267861] by
-
- 2 edits in branches/safari-611.1.2-branch/Source/WebCore
Cherry-pick r267848. rdar://problem/69862200
REGRESSION(r267249): Crash in WebPage::updatePreferences() when libwebrtc is not available.
https://bugs.webkit.org/show_bug.cgi?id=217186
<rdar://problem/69817170>
Reviewed by Eric Carlson.
Always check for the presence of libwebrtc before calling into it.
- platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.cpp: (WebCore::LibWebRTCProvider::setH264HardwareEncoderAllowed): (WebCore::LibWebRTCProviderCocoa::createDecoderFactory): (WebCore::LibWebRTCProviderCocoa::createEncoderFactory): (WebCore::LibWebRTCProviderCocoa::setActive):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267848 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:41 PM Changeset in webkit [267860] by
-
- 2 edits in trunk/Tools
[DRT] imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/active-processing.https.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=217187
Reviewed by Eric Carlson.
The test sometimes fails with DRT only because window.AudioWorkletNode does not exist. The thing is that
window.AudioWorkletNode only exists in secure contexts. DumpRenderTree::resetWebViewToConsistentState()
was calling [WebFrame globalContext] before each test, which would eagerly create the Window JS wrapper
if it did not exist yet. Because the wrapper would get created too early, its security origin upon
creation was null and we would decide NOT to expose window.AudioWorkletNode.
To address the issue, I updated DumpRenderTree::resetWebViewToConsistentState() to only call
WebCoreTestSupport::resetInternalsObject([mainFrame globalContext])
after each test, instead of doing
it both before AND after. This new behavior is also more consistent with WebKitTestRunner.
- DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentState):
(runTest):
- 4:21 PM Changeset in webkit [267859] by
-
- 61 edits12 copies4 adds in trunk
Add basic infrastructure for AudioWorklet
https://bugs.webkit.org/show_bug.cgi?id=217153
Reviewed by Sam Weinig.
Source/WebCore:
Add basic infrastructure for AudioWorklet:
In particular, this adds a partial but spec-compliant implementation of
Worklet.addModule(), as per:
When Worklet.addModule() is called, we create a AudioWorket thread and
a AudioWorkletGlobalScope with its VM. We then ask the AudioWorkletGlobalScope
to fetch and invoke the worklet script. Note that AudioWorkletGlobalScope
does NOT fetch or invoke the worklet script yet to reduce patch size.
Calling Worklet.addModule() activates the AudioWorklet and causes audio rendering
to occur on the AudioWorkletThread.
A few important things that are still missing in this patch:
- Fetching & invoking worklet scripts
- Pretty much all API exposed to AudioWorkletGlobalScopes
- AudioWorkletProcessor support
No new tests, no Web-facing behavior change yet.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
Add new files to projets.
- Modules/webaudio/AudioWorklet.cpp:
(WebCore::AudioWorklet::create):
(WebCore::AudioWorklet::AudioWorklet):
(WebCore::AudioWorklet::createGlobalScopes):
(WebCore::AudioWorklet::proxy const):
- Modules/webaudio/AudioWorklet.h:
When the Worklet needs to create a GlobalScope, AudioWorklet takes care of creating a AudioWorkletMessagingProxy.
The AudioWorkletMessagingProxy starts the AudioWorkletThread, which creates the AudioWorkletGlobalScope.
AudioWorkletMessagingProxy takes care of posting tasks from the main thread to the AudioWorkletThread as well.
- Modules/webaudio/AudioWorkletGlobalScope.cpp: Added.
- Modules/webaudio/AudioWorkletGlobalScope.h: Added.
- Modules/webaudio/AudioWorkletGlobalScope.idl: Added.
Add basic implementation for AudioWorkletGlobalScope:
None of the Web API is exposed on the AudioWorkletGlobalScope yet.
- Modules/webaudio/AudioWorkletMessagingProxy.cpp: Added.
- Modules/webaudio/AudioWorkletMessagingProxy.h: Added.
Add new AudioWorkletMessagingProxy class (Similar to WorkerMessagingProxy) which starts to AudioWorkletThread
(which constructs the AudioWorkletGlobalScope on that thread) and takes care of posting tasks from the main
thread to the AudioWorkletThread.
- Modules/webaudio/AudioWorkletThread.cpp: Added.
- Modules/webaudio/AudioWorkletThread.h: Added.
Add new class which wraps the AudioThread used by AudioWorkets.
- Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::BaseAudioContext):
Pass document when constructing the AudioWorklet since it is now an ActiveDOMObject.
- Modules/webaudio/DefaultAudioDestinationNode.cpp:
(WebCore::DefaultAudioDestinationNode::enableInput):
(WebCore::Function<void):
(WebCore::DefaultAudioDestinationNode::startRendering):
(WebCore::DefaultAudioDestinationNode::resume):
(WebCore::DefaultAudioDestinationNode::setChannelCount):
- Modules/webaudio/DefaultAudioDestinationNode.h:
If AudioWorklet is active, pass a function to AudioDestination::start() that dispatches to the
AudioWorkletThread, so that the AudioDestination can do rendering on the AudioWorkletThead instead
of the device's rendering thread.
- Modules/webaudio/OfflineAudioDestinationNode.cpp:
(WebCore::OfflineAudioDestinationNode::startRendering):
If AudioWorklet is active, use the AudioWorklet's AudioWorkletThread instead of a new audio thread
to do the offline rendering.
- bindings/js/WebCoreBuiltinNames.h:
Add AudioWorkletGlobalScope since it is exposed conditionally at runtime to AudioWorkets.
- bindings/js/WebCoreJSClientData.cpp:
(WebCore::JSVMClientData::JSVMClientData):
- bindings/js/WebCoreJSClientData.h:
Add code to support AudioWorkletGlobalScope as a GlobalScope in our JS bindings.
- bindings/js/WorkerScriptController.h:
We now subclass WorkerOrWorkletScriptController interface. This allows WorkletScriptController
to reuse WorkerRunLoop.
- bindings/scripts/CodeGeneratorJS.pm:
(ShouldUseGlobalObjectPrototype):
- bindings/scripts/preprocess-idls.pl:
Add support for AudioWorkletGlobalScope as global scope in our JS bindings.
- css/DOMCSSPaintWorklet.cpp:
(WebCore::PaintWorklet::addModule):
(WebCore::PaintWorklet::createGlobalScopes):
- css/DOMCSSPaintWorklet.h:
- dom/Document.cpp:
(WebCore::Document::ensurePaintWorklet):
Update PaintWorklet code so that it keeps building.
- platform/MediaStrategy.h:
- platform/audio/AudioDestination.h:
Make AudioDestination ThreadSafeRefCounted so that it can keep itself alive
when dispatching to the AudioWorkletThread for rendering.
- platform/audio/cocoa/AudioDestinationCocoa.cpp:
(WebCore::AudioDestination::create):
(WebCore::AudioDestinationCocoa::start):
(WebCore::AudioDestinationCocoa::stop):
(WebCore::AudioDestinationCocoa::setIsPlaying):
(WebCore::AudioDestinationCocoa::render):
(WebCore::AudioDestinationCocoa::renderOnRenderingThead):
- platform/audio/cocoa/AudioDestinationCocoa.h:
When we get a request to render audio, we now use the function provided by
the DefaultAudioDestinationNode to dispatch to the AudioWorkletThread when
needed (AudioWorklet is active) before doing the rendering.
- platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
(WebCore::AudioDestinationGStreamer::start):
- platform/audio/gstreamer/AudioDestinationGStreamer.h:
- platform/mock/MockAudioDestinationCocoa.cpp:
(WebCore::MockAudioDestinationCocoa::start):
- platform/mock/MockAudioDestinationCocoa.h:
Update code so that it keeps building.
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::underlyingThread const):
- workers/WorkerGlobalScope.h:
- workers/WorkerOrWorkletGlobalScope.h: Added.
- workers/WorkerOrWorkletScriptController.h: Added.
Add new interfaces that are subclassed by Worker and Worklet implementation
classes in order to promote code sharing.
- workers/WorkerRunLoop.cpp:
- workers/WorkerRunLoop.h:
Update WorkerRunLoop to use WorkerOrWorkletGlobalScope so that it can be
reused by AudioWorkletThread.
- worklets/Worklet.cpp:
(WebCore::Worklet::Worklet):
(WebCore::Worklet::document):
(WebCore::Worklet::addModule):
(WebCore::Worklet::finishPendingTasks):
(WebCore::Worklet::activeDOMObjectName const):
- worklets/Worklet.h:
(WebCore::Worklet::proxies const):
- worklets/Worklet.idl:
Add initial implementation for addModule():
Make Worklet an ActiveDOMObject since it needs to resolve a JS promise asynchronously.
- worklets/WorkletGlobalScope.cpp:
(WebCore::WorkletGlobalScope::WorkletGlobalScope):
(WebCore::WorkletGlobalScope::evaluate):
(WebCore::WorkletGlobalScope::completeURL const):
(WebCore::WorkletGlobalScope::fetchAndInvokeScript):
- worklets/WorkletGlobalScope.h:
(WebCore::WorkletGlobalScope::isAudioWorkletGlobalScope const):
- worklets/WorkletGlobalScope.idl:
Update WorkletGlobalScope so that it can be subclassed by AudioWorkletGlobalScope and not
be PaintWorklet-specific.
- worklets/WorkletGlobalScopeProxy.h: Added.
Add WorkletGlobalScopeProxy interface to interact with the WorkletGlobalScope interface.
The purpose of this class is to post tasks to the WorkletGlobalScope, abstracting away
potential threading complexity. Note that AudioWorkets use threading while PaintWorklets
do not.
- worklets/WorkletPendingTasks.cpp: Added.
(WebCore::WorkletPendingTasks::WorkletPendingTasks):
(WebCore::WorkletPendingTasks::abort):
(WebCore::WorkletPendingTasks::decrementCounter):
- worklets/WorkletPendingTasks.h: Added.
(WebCore::WorkletPendingTasks::create):
Add implementation for:
While it is not strictly needed right for AudioWorklet (because there is always a single
WorkletGlobalScope), it will be needed once we have proper support for PaintWorklets.
PaintWorklets can have several WorkletGlobalScopes. In the mean time, it allows us to
have code that matches the specification text more closely.
- worklets/WorkletScriptController.cpp:
(WebCore::WorkletScriptController::WorkletScriptController):
(WebCore::WorkletScriptController::initScript):
(WebCore::WorkletScriptController::releaseHeapAccess):
(WebCore::WorkletScriptController::acquireHeapAccess):
(WebCore::WorkletScriptController::addTimerSetNotification):
(WebCore::WorkletScriptController::removeTimerSetNotification):
(WebCore::WorkletScriptController::scheduleExecutionTermination):
(WebCore::WorkletScriptController::isTerminatingExecution const):
- worklets/WorkletScriptController.h:
Update WorkletScriptController so that it can be used by AudioWorklets and not just
PaintWorklets.
Source/WebKit:
Update RemoteAudioDestinationProxy to match what was done in AudioDestinationCocoa.
RemoteAudioDestinationProxy is used when the GPU process is enabled.
- GPUProcess/media/RemoteAudioDestinationManager.cpp:
(WebKit::RemoteAudioDestination::start):
- WebProcess/GPU/media/RemoteAudioDestinationProxy.cpp:
(WebKit::RemoteAudioDestinationProxy::create):
(WebKit::RemoteAudioDestinationProxy::start):
(WebKit::RemoteAudioDestinationProxy::stop):
(WebKit::RemoteAudioDestinationProxy::renderBuffer):
- WebProcess/GPU/media/RemoteAudioDestinationProxy.h:
- WebProcess/GPU/media/WebMediaStrategy.cpp:
(WebKit::WebMediaStrategy::createAudioDestination):
- WebProcess/GPU/media/WebMediaStrategy.h:
Source/WebKitLegacy/mac:
- WebCoreSupport/WebPlatformStrategies.mm:
Source/WebKitLegacy/win:
- WebCoreSupport/WebPlatformStrategies.cpp:
- 4:12 PM Changeset in webkit [267858] by
-
- 18 edits in trunk/Source
Non-unified build fixes, early October 2020 edition
https://bugs.webkit.org/show_bug.cgi?id=217165
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
- llint/LLIntEntrypoint.h:
- llint/LLIntSlowPaths.cpp:
Source/WebCore:
- css/parser/CSSSelectorParser.cpp:
- display/DisplayTreeBuilder.h:
- display/DisplayView.cpp:
- editing/TextManipulationController.cpp:
- layout/flexformatting/FlexFormattingContext.cpp:
- layout/flexformatting/FlexFormattingContextGeometry.cpp:
- layout/inlineformatting/InlineLine.cpp:
- layout/integration/LayoutIntegrationCoverage.cpp:
- layout/integration/LayoutIntegrationCoverage.h:
- platform/graphics/displaylists/DisplayListItems.cpp:
- platform/graphics/displaylists/DisplayListRecorder.cpp:
Source/WebKit:
- WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h:
- WebProcess/WebPage/atk/WebKitWebPageAccessibilityObject.cpp:
- 4:10 PM Changeset in webkit [267857] by
-
- 2 edits in trunk/Source/WebCore
[PlayStation] Fix build break after r267753
https://bugs.webkit.org/show_bug.cgi?id=217188
Reviewed by Fujii Hironori.
After r267753 the PlayStation builds started failing with an error around a structured
binding declaration of a tuple type.
No new tests. No change in behavior.
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::handleDuplicateIndexIDs):
- 3:40 PM Changeset in webkit [267856] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r267814): [ Mojave+ release wk2 ] inspector/console/queryHolders.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=217193
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 3:40 PM Changeset in webkit [267855] by
-
- 2 edits in trunk/Source/WebCore
Handle deprecation warnings from libwebrtc headers
https://bugs.webkit.org/show_bug.cgi?id=217126
Reviewed by Tim Horton.
(A follow-up patch) Disable deprecation warnings coming from libwebrtc headers.
- Modules/mediastream/libwebrtc/LibWebRTCStatsCollector.h:
- 3:18 PM Changeset in webkit [267854] by
-
- 2 edits in trunk/LayoutTests
[macOS/iOS WK2] storage/indexeddb/IDBKey-create-array-buffer-view-oom.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=216960
Reviewed by Saam Barati.
Speculative fix to stop the test from timing out.
- storage/indexeddb/IDBKey-create-array-buffer-view-oom.html:
- 2:52 PM Changeset in webkit [267853] by
-
- 4 edits in trunk/Tools
[webkitscmpy] Support git-svn committers
https://bugs.webkit.org/show_bug.cgi?id=217151
<rdar://problem/69812996>
Rubber-stamped by Aakash Jain.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Bump version number.
- Scripts/libraries/webkitscmpy/webkitscmpy/contributor.py:
(Contributor):
(Contributor.from_scm_log): Handle case where a commit does not contain an author.
- Scripts/libraries/webkitscmpy/webkitscmpy/test/contributor_unittest.py:
(TestContributor):
(TestContributor.test_git_no_author):
(TestContributor.test_git_svn_no_author):
- 2:20 PM Changeset in webkit [267852] by
-
- 2 edits in trunk/LayoutTests
[GLib] Garden webaudio/Convolver/unmmodified-buffer.html flakiness
Unreviewed test gardening.
- platform/glib/TestExpectations:
- 1:47 PM Changeset in webkit [267851] by
-
- 4 edits in trunk/Tools
[build.webkit.org] Rename type to factory in config.json
https://bugs.webkit.org/show_bug.cgi?id=217127
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/build.webkit.org-config/config.json:
- BuildSlaveSupport/build.webkit.org-config/loadConfig.py:
(loadBuilderConfig):
- BuildSlaveSupport/build.webkit.org-config/loadConfig_unittest.py:
- 1:22 PM Changeset in webkit [267850] by
-
- 2 edits in trunk/Source/WebKitLegacy/mac
Remove duplicate definitions of @property (nonatomic) BOOL CSSIndividualTransformPropertiesEnabled
https://bugs.webkit.org/show_bug.cgi?id=217182
Reviewed by Alex Christensen.
When the fix for https://webkit.org/b/216271 was landed, it added two definitions of
the CSSIndividualTransformPropertiesEnabled property (though one getter was misnamed), leading
to linker warnings. This removes one of them.
- WebView/WebPreferences.mm:
(-[WebPreferences cssIndividualTransformPropertiesEnabled]): Deleted.
- 1:05 PM Changeset in webkit [267849] by
-
- 11 edits1 delete in trunk
Unreviewed, reverting r267841.
Broke Catalina Builds
Reverted changeset:
"Add AVAssetWriter SPI header"
https://bugs.webkit.org/show_bug.cgi?id=217169
https://trac.webkit.org/changeset/267841
- 1:01 PM Changeset in webkit [267848] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r267249): Crash in WebPage::updatePreferences() when libwebrtc is not available.
https://bugs.webkit.org/show_bug.cgi?id=217186
<rdar://problem/69817170>
Reviewed by Eric Carlson.
Always check for the presence of libwebrtc before calling into it.
- platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.cpp:
(WebCore::LibWebRTCProvider::setH264HardwareEncoderAllowed):
(WebCore::LibWebRTCProviderCocoa::createDecoderFactory):
(WebCore::LibWebRTCProviderCocoa::createEncoderFactory):
(WebCore::LibWebRTCProviderCocoa::setActive):
- 12:59 PM Changeset in webkit [267847] by
-
- 6 edits in trunk/Source/WebCore
[LFC][Integration] Partially convert Position::inlineBoxAndOffset to use iterator
https://bugs.webkit.org/show_bug.cgi?id=217180
Reviewed by Zalan Bujtas.
This still forces the legacy path as the return type currently requires it.
- dom/Position.cpp:
(WebCore::searchAheadForBetterMatch):
(WebCore::Position::inlineBoxAndOffset const):
- layout/integration/LayoutIntegrationRunIterator.cpp:
(WebCore::LayoutIntegration::RunIterator::nextOnLine const):
(WebCore::LayoutIntegration::TextRunIterator::traverseNextTextRun):
(WebCore::LayoutIntegration::lineLayoutSystemFlowForRenderer):
(WebCore::LayoutIntegration::runFor):
(WebCore::LayoutIntegration::TextRunIterator::traverseNextTextRunInVisualOrder): Deleted.
- layout/integration/LayoutIntegrationRunIterator.h:
(WebCore::LayoutIntegration::TextRunIterator::operator++):
(WebCore::LayoutIntegration::TextRunIterator::nextTextRun const):
(WebCore::LayoutIntegration::TextRunIterator::nextTextRunInTextOrder const):
- layout/integration/LayoutIntegrationRunIteratorLegacyPath.h:
(WebCore::LayoutIntegration::LegacyPath::traverseNextTextRun):
(WebCore::LayoutIntegration::LegacyPath::traverseNextTextRunInVisualOrder): Deleted.
- layout/integration/LayoutIntegrationRunIteratorModernPath.h:
(WebCore::LayoutIntegration::ModernPath::traverseNextTextRun):
(WebCore::LayoutIntegration::ModernPath::traverseNextTextRunInTextOrder):
(WebCore::LayoutIntegration::ModernPath::traverseNextTextRunInVisualOrder): Deleted.
- 11:52 AM Changeset in webkit [267846] by
-
- 2 edits in trunk/Source/JavaScriptCore
stress/put-private-name-invalid-define.js.ftl-eager is getting flaky failure
https://bugs.webkit.org/show_bug.cgi?id=217164
Reviewed by Mark Lam.
JIT operations need to use JITOperationPrologueCallFrameTracer to configure top call frame correctly.
But putById private field JIT operations miss them or use wrong frame tracer. Since we are not setting top frame correctly,
exception object creation from this JIT operations can be broken, and leading to stress/put-private-name-invalid-define.js.ftl-eager crash.
This patch configures top call frame via JITOperationPrologueCallFrameTracer appropriately.
- jit/JITOperations.cpp:
- 11:32 AM Changeset in webkit [267845] by
-
- 2 edits in trunk/Source/WebKitLegacy/mac
[macCatalyst] Crash when attempting to display a select dropdown in a UIWebView
https://bugs.webkit.org/show_bug.cgi?id=217148
<rdar://problem/64004677>
Reviewed by Darin Adler.
When clicking on a select element in a Catalyst UIWebView, WebKit calls
into UIKit to present a popover. On Catalyst, UIKit popovers call
resignFirstResponder on the current first responder, when presented.
Consequently, when an attempt to display the select dropdown is made,
[WebHTMLView resignFirstResponder] is invoked. This method blurs the
currently focused element, which tells UIKit to destroy the popover.
Destroying the popover while its attempting to become first responder
is not safe, leading to a crash.
In [WebHTMLView resignFirstResponder], clearFocus is only called if
[WebView _isPerformingProgrammaticFocus] is false. UIKit can take
advantage of this to prevent blurring an element if the first
responder is being resigned due to presenting a view associated with
the same element.
However, [WebHTMLView resignFirstResponder] also clears focus on the
current page's FocusController, which can also cause the element to be
blurred. To prevent this, guard the call on the same check as
clearFocus.
Note that this approach to preventing resignFirstResponder from blurring
the focused element is similar to the approach taken in WebKit2.
This change is made for all Cocoa platforms, since _isPerformingProgrammaticFocus
is internal to WebKit and the only time it is true is within a call to
WebChromeClient::makeFirstResponder. That method calls
[WebUIDelegate webView:makeFirstResponder], which states in its
documentation: "responder will always be a view that is in the view
subhierarchy of the top-level web view for this WebView". Consequently,
nextResponderIsInWebView will be true when _isPerformingProgrammaticFocus
is true, meaning the change doesn't affect existing behavior.
No new tests as the functionality is dependent on a UIKit change.
- WebView/WebHTMLView.mm:
(-[WebHTMLView resignFirstResponder]):
- 11:28 AM Changeset in webkit [267844] by
-
- 10 edits1 add in trunk
Prevent media capture unless the application has correct data for system permission prompt
https://bugs.webkit.org/show_bug.cgi?id=217104
<rdar://problem/69761929>
Reviewed by Darin Adler.
Source/WebKit:
Tested manually with MiniBrowser.
- SourcesCocoa.txt:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::requestAVCaptureAccessForMediaType): Renamed from requestAccessForMediaType.
(WebKit::UIDelegate::UIClient::decidePolicyForUserMediaPermissionRequest): Deny
requests of the application is not permitted to capture. Restructure logic to
make it easier to understand.
(WebKit::requestAccessForMediaType): Deleted.
- UIProcess/Cocoa/UserMediaPermissionRequestManagerProxy.mm: Added.
(WebKit::UserMediaPermissionRequestManagerProxy::permittedToCaptureAudio): Check
for required Info.plist string.
(WebKit::UserMediaPermissionRequestManagerProxy::permittedToCaptureVideo): Ditto.
- UIProcess/Cocoa/WebPageProxyCocoa.mm: Update for unified build.
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::permittedToCaptureAudio):
(WebKit::UserMediaPermissionRequestManagerProxy::permittedToCaptureVideo):
- UIProcess/UserMediaPermissionRequestManagerProxy.h:
- WebKit.xcodeproj/project.pbxproj:
Tools:
- MiniBrowser/mac/Info.plist: Add necessary entitlements and usage strings.
- MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.m:
(-[WebViewController createWebView]): Setting the private capture preference is
not necessary because we set configuration._mediaCaptureEnabled.
- 11:23 AM Changeset in webkit [267843] by
-
- 2 edits in trunk/LayoutTests
[ iOS 13 wk2 ews ]: 2 in-app-browser-privacy and 1 WPT are constant failures slowing down ews
https://bugs.webkit.org/show_bug.cgi?id=217184
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 10:42 AM Changeset in webkit [267842] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r267781): ASSERTION FAILED: Optional.h(525) : T *WTF::Optional<WebCore::Layout::LineRun::Text>::operator->() on 16 fast/layoutformattingcontext/* tests
https://bugs.webkit.org/show_bug.cgi?id=217143
Reviewed by Zalan Bujtas.
Need to test the Optional<> text() in dumping code.
- display/css/DisplayTextBox.cpp:
(WebCore::Display::TextBox::debugDescription const):
- 10:28 AM Changeset in webkit [267841] by
-
- 11 edits1 add in trunk
Add AVAssetWriter SPI header
https://bugs.webkit.org/show_bug.cgi?id=217169
<rdar://problem/69793050>
Reviewed by Eric Carlson.
Source/WebCore:
No change of behavior, include SPI header instead of private SDK header.
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:
Source/WebCore/PAL:
- PAL.xcodeproj/project.pbxproj:
- pal/spi/cocoa/AVAssetWriterSPI.h: Added.
Source/WTF:
- wtf/PlatformHave.h:
Remove dependency on AVAssetWriter_private.h
LayoutTests:
Enable tests by default on Catalina+, disable them on Mojave and WK1.
Disable tests for iOS13.
- TestExpectations:
- platform/ios-13/TestExpectations:
- platform/mac/TestExpectations:
- platform/mac-wk1/TestExpectations:
- 10:26 AM Changeset in webkit [267840] by
-
- 6 edits1 delete in trunk/Source/WebKit
[Media in GPU Process] Enable IPC message handlers of RemoteAudioSession
https://bugs.webkit.org/show_bug.cgi?id=217144
Reviewed by Jer Noble.
This patch enables the RemoteAudioSession in the Web process to handle
IPC messages from the GPU process. It also fixes a bug preventing the
audio playback to start.
No new tests, no functional change.
- GPUProcess/media/RemoteAudioSessionProxyManager.cpp:
(WebKit::RemoteAudioSessionProxyManager::tryToSetActiveForProcess):
Don't interrupt the audio session trying to start.
- GPUProcess/media/RemoteAudioSessionProxyManager.messages.in: Removed.
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/GPUProcessConnection.cpp:
(WebKit::GPUProcessConnection::dispatchMessage): Clean-up.
- WebProcess/GPU/media/RemoteAudioSession.cpp:
(WebKit::RemoteAudioSession::RemoteAudioSession):
(WebKit::RemoteAudioSession::~RemoteAudioSession):
We need to remove the "destinationID" parameter, otherwise, RemoteAudioSession
won't receive the IPC messages.
- WebProcess/GPU/media/RemoteAudioSession.h: Clean-up.
- WebProcess/GPU/media/WebMediaStrategy.h: Clean-up.
- 10:20 AM Changeset in webkit [267839] by
-
- 4 edits2 adds in trunk
RealtimeMediaSource should ignore ideal values outside the min/max range
https://bugs.webkit.org/show_bug.cgi?id=217178
Reviewed by Eric Carlson.
Source/WebCore:
Make valueForDiscreteCapabilityValues returns an Optional in case no valid value can be selected from the constraint.
This basically means the constraint will be ignored.
Before the patch, in case of no valid value, 0 will be set, which is a bad value for sample rate.
Test: fast/mediastream/audio-bad-sampleRate.html
- platform/mediastream/MediaConstraints.h:
(WebCore::NumericConstraint::valueForDiscreteCapabilityValues const):
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::applyNumericConstraint):
LayoutTests:
- fast/mediastream/audio-bad-sampleRate-expected.txt: Added.
- fast/mediastream/audio-bad-sampleRate.html: Added.
- 10:07 AM Changeset in webkit [267838] by
-
- 6 edits2 adds in trunk
getUserMedia with sampleRate constraints may fail
https://bugs.webkit.org/show_bug.cgi?id=217147
<rdar://problem/69831144>
Reviewed by Eric Carlson.
In case of new capture, make sure to reset sample rate and volume to default values.
This ensures that a sample rate that will fail the capture will not stick for other pages.
Manually tested.
- platform/mediastream/mac/BaseAudioSharedUnit.cpp:
(WebCore::BaseAudioSharedUnit::prepareForNewCapture):
- 10:05 AM Changeset in webkit [267837] by
-
- 12 edits in trunk
Non-special URLs are not idempotent
https://bugs.webkit.org/show_bug.cgi?id=215762
Reviewed by Tim Horton.
LayoutTests/imported/w3c:
- web-platform-tests/url/a-element-expected.txt:
- web-platform-tests/url/a-element-xhtml-expected.txt:
- web-platform-tests/url/url-constructor-expected.txt:
- web-platform-tests/url/url-setters-expected.txt:
Source/WTF:
https://github.com/whatwg/url/pull/505 added an interesting edge case to the URL serialization:
"If url’s host is null, url’s path’s size is greater than 1, and url’s path[0] is the empty string, then append U+002F (/) followed by U+002E (.) to output."
The problem was that URLs like "a:/a/..//a" would be parsed into "a://a" with a pathname of "a" and an empty host. If "a://a" was then reparsed, it would again have an href of "a://a"
but its host would be "a" and it would have an empty path. There is consensus that URL parsing should be idempotent, so we need to do something different here.
According to https://github.com/whatwg/url/issues/415#issuecomment-419197290 this follows what Edge did (and then subsequently abandoned when they switched to Chromium)
to make URL parsing idempotent by adding "/." before the path in the edge case of a URL with a non-special scheme (not http, https, wss, etc.) and a null host and a non-empty path that
has an empty first segment. All the members of the URL remain unchanged except the full serialization (href). This is not important in practice, but important in theory.
Our URL parser tries very hard to use the exact same WTF::String object given as input if it can. However, this step is better implemented as a post-processing step that will almost never happen
because otherwise we would have to parse the entire path twice to find out if we need to add "./" or if the "./" that may have already been there needs to stay. This is illustrated with the test URL
"t:/.//p/../../../..//x" which does need the "./".
In the common case, this adds one well-predicted branch to URL parsing, so I expect performance to be unaffected. Since this is such a rare edge case of URLs, I expect no compatibility problems.
- wtf/URL.cpp:
(WTF::URL::pathStart const):
- wtf/URL.h:
(WTF::URL::pathStart const): Deleted.
- wtf/URLParser.cpp:
(WTF::URLParser::copyURLPartsUntil):
(WTF::URLParser::URLParser):
(WTF::URLParser::needsNonSpecialDotSlash const):
(WTF::URLParser::addNonSpecialDotSlash):
- wtf/URLParser.h:
Tools:
- TestWebKitAPI/Tests/WTF/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 10:03 AM Changeset in webkit [267836] by
-
- 3 edits in trunk/LayoutTests
http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=217171
<rdar://problem/65085139>
Reviewed by Eric Carlson.
- http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable.html:
Setting the video currentTime too close to the end makes it render transparent frames.
Make it so that we try using the middle of the video content where we expect green content.
- 8:29 AM EarlyWarningSystem edited by
- (diff)
- 8:05 AM Changeset in webkit [267835] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed. Add missing guard around ModernPath usage.
No new tests needed.
- layout/integration/LayoutIntegrationRunIterator.cpp: Add ENABLE(LAYOUT_FORMATTING_CONTEXT)
guard around usage of the ModernPath type.
- layout/integration/LayoutIntegrationRunIterator.h: Ditto.
- 7:41 AM Changeset in webkit [267834] by
-
- 4 edits in trunk/Source/WebCore
[LFC][IFC] Remove redundant "needs hyphen" flag from LineContent::PartialContent
https://bugs.webkit.org/show_bug.cgi?id=217155
Reviewed by Antti Koivisto.
The last run already had this information. This is also in preparation for adding support for soft-hyphen where
the run with the hyphen is not partial at all.
(This patch also changes Optional<size_t> partialContentLength to just size_t. Optional<> may suggest that 0 is a valid overflow length.)
- display/css/DisplayTextBox.cpp:
(WebCore::Display::TextBox::debugDescription const):
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::lineLayout):
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::layoutInlineContent):
(WebCore::Layout::LineBuilder::placeInlineContent):
(WebCore::Layout::LineBuilder::close):
(WebCore::Layout::LineBuilder::nextContentForLine):
(WebCore::Layout::LineBuilder::handleFloatsAndInlineContent):
- layout/inlineformatting/InlineLineBuilder.h:
- 7:09 AM Changeset in webkit [267833] by
-
- 15 edits in trunk
MediaRecorder should support MediaRecorderOptions.mimeType
https://bugs.webkit.org/show_bug.cgi?id=215018
<rdar://problem/66681508>
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
- web-platform-tests/mediacapture-record/MediaRecorder-mimetype-expected.txt:
Source/WebCore:
Instead of setting mime type right away, set it just before firing start event as per spec.
This will allow in the future to populate exact codec parameters if proven useful.
Covered by rebased and updated tests.
- Modules/mediarecorder/MediaRecorder.cpp:
(WebCore::MediaRecorder::create):
(WebCore::MediaRecorder::startRecording):
- platform/mediarecorder/MediaRecorderPrivate.h:
(WebCore::MediaRecorderPrivate::startRecording):
- platform/mediarecorder/MediaRecorderPrivateAVFImpl.h:
Source/WebKit:
Update code to pass mimeType as part of startRecording callback.
- GPUProcess/webrtc/RemoteMediaRecorder.h:
(WebKit::RemoteMediaRecorder::mimeType const):
- GPUProcess/webrtc/RemoteMediaRecorderManager.cpp:
(WebKit::RemoteMediaRecorderManager::createRecorder):
- GPUProcess/webrtc/RemoteMediaRecorderManager.h:
- GPUProcess/webrtc/RemoteMediaRecorderManager.messages.in:
- WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
(WebKit::MediaRecorderPrivate::startRecording):
- WebProcess/GPU/webrtc/MediaRecorderPrivate.h:
LayoutTests:
Update test to expect setting of the mime type after start event.
- http/wpt/mediarecorder/mimeType.html:
- 5:33 AM Changeset in webkit [267832] by
-
- 8 edits in trunk
Make AXLoadingEvent notifications asynchronous.
https://bugs.webkit.org/show_bug.cgi?id=217157
Reviewed by Chris Fleizach.
Source/WebCore:
Test: accessibility/loading-iframe-sends-notification-expected.html.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::frameLoadingEventNotification):
Removed the isolated tree update from the frame loading notification
handler. This avoids updating the isolated tree synchronously.
- accessibility/AXObjectCache.h:
Added AXNotification::AXFrameLoadComplete.
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::updateChildren):
- accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXPostNotificationWithUserInfo):
Do not ignore AXLoadCompleteNotifications during LayoutTest.
(WebCore::AXObjectCache::postPlatformNotification):
Handle AXFrameLoadComplete notification as a AXLoadComplete notification.
(WebCore::AXObjectCache::frameLoadingEventPlatformNotification):
Loading finished event is now mapped to either AXLoadComplete or AXFrameLoadComplete.
LayoutTests:
- accessibility/loading-iframe-sends-notification-expected.txt:
- accessibility/loading-iframe-sends-notification.html:
- 5:17 AM Changeset in webkit [267831] by
-
- 175 edits1 copy2 moves22 adds2 deletes in trunk
Unreviewed. Update W3C WebDriver imported tests.
Tools:
- Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
(WebKitDriverProtocol):
(WebDriverW3CExecutor.init):
(WebDriverW3CExecutor.setup):
WebDriverTests:
- TestExpectations.json:
- imported/w3c/importer.json:
- imported/w3c/tools/webdriver/:
- imported/w3c/tools/wptrunner/:
- imported/w3c/webdriver/:
- 5:16 AM Changeset in webkit [267830] by
-
- 7 edits in trunk/Source/WebCore
[LFC][Integration] Add LineRunIterator
https://bugs.webkit.org/show_bug.cgi?id=217125
Reviewed by Zalan Bujtas.
Add LineRunIterator iterating line content.
Also remove end offset from modern path, instead set index to the content end position
in traversal functions.
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::textRunsFor const):
(WebCore::LayoutIntegration::LineLayout::runFor const):
- layout/integration/LayoutIntegrationRunIterator.cpp:
(WebCore::LayoutIntegration::TextRunIterator::traverseNextTextRunInVisualOrder):
(WebCore::LayoutIntegration::TextRunIterator::traverseNextTextRunInTextOrder):
(WebCore::LayoutIntegration::LineRunIterator::LineRunIterator):
(WebCore::LayoutIntegration::LineRunIterator::traverseNextOnLine):
(WebCore::LayoutIntegration::lineRun):
(WebCore::LayoutIntegration::RunIterator::traverseNextTextRunInVisualOrder): Deleted.
(WebCore::LayoutIntegration::RunIterator::traverseNextTextRunInTextOrder): Deleted.
- layout/integration/LayoutIntegrationRunIterator.h:
(WebCore::LayoutIntegration::TextRun::legacyInlineBox const):
(WebCore::LayoutIntegration::LineRunIterator::LineRunIterator):
(WebCore::LayoutIntegration::LineRunIterator::operator++):
(WebCore::LayoutIntegration::Run::legacyInlineBox const):
- layout/integration/LayoutIntegrationRunIteratorLegacyPath.h:
(WebCore::LayoutIntegration::LegacyPath::traverseNextOnLine):
(WebCore::LayoutIntegration::LegacyPath::legacyInlineBox const):
- layout/integration/LayoutIntegrationRunIteratorModernPath.h:
(WebCore::LayoutIntegration::ModernPath::ModernPath):
(WebCore::LayoutIntegration::ModernPath::isLastTextRunOnLine const):
(WebCore::LayoutIntegration::ModernPath::isLastTextRun const):
(WebCore::LayoutIntegration::ModernPath::traverseNextTextRunInVisualOrder):
(WebCore::LayoutIntegration::ModernPath::traverseNextTextRunInTextOrder):
(WebCore::LayoutIntegration::ModernPath::traverseNextOnLine):
(WebCore::LayoutIntegration::ModernPath::atEnd const):
(WebCore::LayoutIntegration::ModernPath::legacyInlineBox const):
(WebCore::LayoutIntegration::ModernPath::setAtEnd):
- 4:32 AM Changeset in webkit [267829] by
-
- 9 edits in trunk
[css-flexbox] Implement row-gap and column-gap for flex layout
https://bugs.webkit.org/show_bug.cgi?id=206767
Reviewed by Manuel Rego Casasnovas.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-flexbox/gap-017-expected.txt: Replaced FAIL by PASS expectation.
Source/WebCore:
Implement row/column-gap for flexboxes which allow authors to define gutters between flex items and also between flex lines.
Inspired by Blink's crrev.com/c/2162149 and crrev.com/c/2172758 by <dgrogan@chromium.org>
- rendering/FlexibleBoxAlgorithm.cpp:
(WebCore::FlexLayoutAlgorithm::FlexLayoutAlgorithm): Takes two new parameters with row/column gap lengths.
(WebCore::FlexLayoutAlgorithm::computeNextFlexLine): Add gaps to hypothetical and flex base sizes in between items.
- rendering/FlexibleBoxAlgorithm.h: Added two new attributes to store gaps.
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::computeIntrinsicLogicalWidths const): Add gaps to the intrinsic width.
(WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems): Take gap between lines as argument.
(WebCore::RenderFlexibleBox::layoutFlexItems): Take gap between lines as argument.
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Compute gaps to reduce the remaining free space.
(WebCore::RenderFlexibleBox::alignFlexLines): Add gap between lines to the line offset.
(WebCore::RenderFlexibleBox::computeGap const): Returns either the row-gap or the column-gap depending on the flex direction.
- rendering/RenderFlexibleBox.h:
LayoutTests:
- TestExpectations: Unskip all flex gap tests that are passing now.
- 4:25 AM Changeset in webkit [267828] by
-
- 3 edits in trunk/Source/WebCore
[iOS] MediaRecorder incorrect screen orientation handling
https://bugs.webkit.org/show_bug.cgi?id=198912
<rdar://problem/51802521>
Reviewed by Eric Carlson.
We were setting the transform to the writer input too soon.
Buffer the transform when receiving the first frame and set it at creation of the writer input.
Covered by http/wpt/mediarecorder/video-rotation.html now actually passing.
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:
(WebCore::MediaRecorderPrivateWriter::startAssetWriter):
(WebCore::MediaRecorderPrivateWriter::appendVideoSampleBuffer):
- 4:03 AM Changeset in webkit [267827] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Define Array#sort's implementation functions as globalPrivate
https://bugs.webkit.org/show_bug.cgi?id=217168
Reviewed by Ross Kirsling.
Now, these Array#sort's implementation functions are not capturing any heap variables. So we can make them @globalPrivate,
this avoids function allocations in LLInt / Baseline / DFG in Array#sort.
- builtins/ArrayPrototype.js:
(globalPrivate.sortMin):
(globalPrivate.sortStringComparator):
(globalPrivate.sortCompact):
(globalPrivate.sortCommit):
(globalPrivate.sortMerge):
(globalPrivate.sortMergeSort):
(globalPrivate.sortBucketSort):
(sort):
(sort.min): Deleted.
(sort.stringComparator): Deleted.
(sort.compact): Deleted.
(sort.commit): Deleted.
(sort.merge): Deleted.
(sort.mergeSort): Deleted.
(sort.bucketSort): Deleted.
- 3:51 AM Changeset in webkit [267826] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Do not use std::function in setPrivateField and definePrivateField
https://bugs.webkit.org/show_bug.cgi?id=217167
Reviewed by Ross Kirsling.
std::function can potentially allocate an object in heap. We should should just pass lambda with a templatized parameter instead.
- jit/JITOperations.cpp:
(JSC::setPrivateField):
(JSC::definePrivateField):
- 3:38 AM Changeset in webkit [267825] by
-
- 27 edits2 adds in trunk
MediaRecorder should support isTypeSupported
https://bugs.webkit.org/show_bug.cgi?id=216856
LayoutTests/imported/w3c:
Reviewed by Darin Adler.
- web-platform-tests/mediacapture-record/MediaRecorder-mimetype-expected.txt:
- web-platform-tests/mediacapture-record/MediaRecorder-peerconnection.https-expected.txt:
- web-platform-tests/mediacapture-record/idlharness.window-expected.txt:
- web-platform-tests/mediacapture-record/passthrough/MediaRecorder-passthrough.https-expected.txt:
- web-platform-tests/mediacapture-record/passthrough/MediaRecorder-passthrough.https.html:
Remove JS console log error line.
Source/WebCore:
<rdar://problem/69767695>
Reviewed by Darin Adler.
Introduce MediaRecorder::isMimeTypeSupported whose result is exposed as MediaRecoder.isTypeSupported.
Cocoa port allows mp4 audio and video mime types, with H264 and AAC codecs.
Add a routine to get the mime type from the MediaRecorderPrivate.
Store it in MediaRecorder and add a mimeType getter.
Test: http/wpt/mediarecorder/mimeType.html
- Modules/mediarecorder/MediaRecorder.cpp:
(WebCore::MediaRecorder::isTypeSupported):
(WebCore::MediaRecorder::create):
- Modules/mediarecorder/MediaRecorder.h:
- Modules/mediarecorder/MediaRecorder.idl:
- Modules/mediarecorder/MediaRecorderProvider.cpp:
(WebCore::MediaRecorderProvider::isSupported):
- Modules/mediarecorder/MediaRecorderProvider.h:
- platform/mediarecorder/MediaRecorderPrivate.h:
- platform/mediarecorder/MediaRecorderPrivateAVFImpl.cpp:
(WebCore::MediaRecorderPrivateAVFImpl::mimeType const):
- platform/mediarecorder/MediaRecorderPrivateAVFImpl.h:
- platform/mediarecorder/MediaRecorderPrivateMock.cpp:
(WebCore::MediaRecorderPrivateMock::mimeType const):
- platform/mediarecorder/MediaRecorderPrivateMock.h:
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:
(WebCore::MediaRecorderPrivateWriter::mimeType const):
- platform/mediastream/MediaStreamPrivate.h:
Source/WebKit:
<rdar://problem/69767695>
Reviewed by Darin Adler.
Stop passing mimeType for each data blob.
Instead, compute it on WebProcess side.
- GPUProcess/webrtc/RemoteMediaRecorder.cpp:
(WebKit::RemoteMediaRecorder::fetchData):
- GPUProcess/webrtc/RemoteMediaRecorder.h:
- GPUProcess/webrtc/RemoteMediaRecorder.messages.in:
- WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
(WebKit::MediaRecorderPrivate::MediaRecorderPrivate):
(WebKit::MediaRecorderPrivate::fetchData):
(WebKit::MediaRecorderPrivate::mimeType const):
- WebProcess/GPU/webrtc/MediaRecorderPrivate.h:
LayoutTests:
Reviewed by Darin Adler.
- http/wpt/mediarecorder/mimeType-expected.txt: Added.
- http/wpt/mediarecorder/mimeType.html: Added.
- 1:10 AM Changeset in webkit [267824] by
-
- 2 edits in trunk/Tools
[Flatpak] Nightly runner requires user interaction
https://bugs.webkit.org/show_bug.cgi?id=217092
Patch by Philippe Normand <pnormand@igalia.com> on 2020-10-01
Reviewed by Carlos Alberto Lopez Perez.
- Scripts/webkit-flatpak-run-nightly: The most recent version is 0.3 currently, this is the
branch that should be installed. At some point we could add a new option to override this
though.
- 12:53 AM Changeset in webkit [267823] by
-
- 5 edits in trunk/Source/WebCore
Drop some unnecessary code in SQLiteIDBBackingStore and IDBServer
https://bugs.webkit.org/show_bug.cgi?id=214992
<rdar://problem/66648514>
Reviewed by Brady Eidson.
No behavior change. Paths of SQLiteIDBBackingStore and IDBServer are only accessed from one thread now, so we
don't need to make isolated copy.
- Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::createBackingStore):
(WebCore::IDBServer::IDBServer::getAllDatabaseNamesAndVersions):
(WebCore::IDBServer::IDBServer::removeDatabasesModifiedSinceForVersion):
(WebCore::IDBServer::IDBServer::removeDatabasesWithOriginsForVersion):
(WebCore::IDBServer::IDBServer::renameOrigin):
(WebCore::IDBServer::IDBServer::upgradeFilesIfNecessary):
- Modules/indexeddb/server/IDBServer.h:
(WebCore::IDBServer::IDBServer::databaseDirectoryPathIsolatedCopy const): Deleted.
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::fullDatabaseDirectoryWithUpgrade):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteBackingStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::databaseNameFromEncodedFilename): Deleted.
- Modules/indexeddb/server/SQLiteIDBBackingStore.h:
- 12:34 AM Changeset in webkit [267822] by
-
- 5 edits in trunk
MediaRecorder should allow setting low bit rates for audio
https://bugs.webkit.org/show_bug.cgi?id=216688
<rdar://problem/69129142>
Reviewed by Eric Carlson.
Source/WebCore:
When setting the bitrate provided by the web app fails, we now use default bit rate values that are expected to work properly.
Covered by updated tests.
- platform/mediarecorder/cocoa/AudioSampleBufferCompressor.h:
- platform/mediarecorder/cocoa/AudioSampleBufferCompressor.mm:
(WebCore::AudioSampleBufferCompressor::setBitsPerSecond):
(WebCore::AudioSampleBufferCompressor::defaultOutputBitRate const):
(WebCore::AudioSampleBufferCompressor::initAudioConverterForSourceFormatDescription):
LayoutTests:
Add more bitrate tests.
- http/wpt/mediarecorder/MediaRecorder-audio-bitrate.html:
Sep 30, 2020:
- 11:48 PM Changeset in webkit [267821] by
-
- 3 edits in trunk/Source/WebCore
Remove responseIsXML
https://bugs.webkit.org/show_bug.cgi?id=217133
Patch by Rob Buis <rbuis@igalia.com> on 2020-09-30
Reviewed by Darin Adler.
Remove responseIsXML method, it can be inlined and is still readable, also
it in one case this avoids calling the non trivial responseMIMEType.
No new tests. No change in behavior.
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::createDecoder const):
(WebCore::XMLHttpRequest::responseIsXML const): Deleted.
- xml/XMLHttpRequest.h:
- 10:15 PM Changeset in webkit [267820] by
-
- 22 edits3 deletes in trunk/Source/JavaScriptCore
[JSC] We should not tag C function with JIT code related ptr tag
https://bugs.webkit.org/show_bug.cgi?id=217150
Reviewed by Mark Lam.
We are tagging getHostCallReturnValue function with JIT related PtrTag. As a part of JIT-caging effort, we are restricting our
PtrTag usage more for code types (e.g. JIT code should be tagged with JIT related PtrTag). So, we should not tag getHostCallReturnValue
with that. This patch implements getHostCallReturnValue in JIT code if JIT is enabled. If not, it is implemented by LLInt.
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- bytecode/BytecodeList.rb:
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- heap/MarkedBlock.h:
(JSC::MarkedBlock::Footer::offsetOfVM):
- heap/PreciseAllocation.h:
(JSC::PreciseAllocation::offsetOfWeakSet):
- heap/WeakSet.h:
(JSC::WeakSet::offsetOfVM):
- jit/HostCallReturnValue.cpp: Removed.
- jit/HostCallReturnValue.h: Removed.
- jit/JITOperations.cpp:
- jit/JITOperationsMSVC64.cpp: Removed.
- jit/JITStubsMSVC64.asm:
- llint/LLIntEntrypoint.cpp:
(JSC::LLInt::getHostCallReturnValueEntrypoint):
- llint/LLIntEntrypoint.h:
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::handleHostCall):
(JSC::LLInt::commonCallEval):
- llint/LLIntThunks.cpp:
(JSC::LLInt::getHostCallReturnValueThunk):
- llint/LLIntThunks.h:
- llint/LowLevelInterpreter.cpp:
(JSC::CLoop::execute):
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/JSCellInlines.h:
(JSC::tryAllocateCellHelper):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::offsetOfVM):
- runtime/VM.cpp:
(JSC::VM::VM):
- runtime/VM.h:
(JSC::VM::offsetOfEncodedHostCallReturnValue):
- 9:44 PM Changeset in webkit [267819] by
-
- 2 edits in trunk/LayoutTests
[GLIB] Missing bits from last gardening
Unreviewed test gardening.
- platform/gtk/TestExpectations:
- 9:35 PM Changeset in webkit [267818] by
-
- 3 edits in trunk/Source/WebKit
[Media in GPU Process] Enable IPC message handlers of RemoteMediaSessionHelper
https://bugs.webkit.org/show_bug.cgi?id=217152
Reviewed by Eric Carlson.
- WebProcess/GPU/GPUProcessConnection.cpp:
(WebKit::GPUProcessConnection::dispatchMessage):
- WebProcess/GPU/media/ios/RemoteMediaSessionHelper.cpp:
(WebKit::RemoteMediaSessionHelper::RemoteMediaSessionHelper):
- 8:21 PM Changeset in webkit [267817] by
-
- 12 edits in trunk
Storage Access API: Enable per-page storage access scope and align test cases
https://bugs.webkit.org/show_bug.cgi?id=217077
<rdar://problem/69017878>
Reviewed by Brent Fulgham.
It was decided in https://github.com/privacycg/storage-access/issues/3 that
browsers should grant storage access for all same-site resources on the whole
page, not just the requesting iframe.
Source/WebCore:
No new tests. Existing tests aligned, including
LayoutTests/http/tests/storageAccess/request-and-grant-access-with-per-page-scope-access-from-another-frame.html
which no longer calls
internals.settings.setStorageAccessAPIPerPageScopeEnabled(true)
to opt in to the setting that is now the default.
- dom/DocumentStorageAccess.cpp:
(WebCore::DocumentStorageAccess::requestStorageAccess):
Changed the settings check to do the reverse, i.e. assume
per-page access by default and per-frame access as the
exception.
- dom/DocumentStorageAccess.h:
Changed the default setting for m_storageAccessScope to per-page.
- page/Settings.yaml:
Changed the default to true for
storageAccessAPIPerPageScopeEnabled.
Source/WebKit:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::hasStorageAccess):
Added a call to WebPage::hasPageLevelStorageAccess()
and an early return if it returns true.
LayoutTests:
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame.html:
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-but-access-from-wrong-frame.html:
- http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access.html:
- http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access.html:
All of the above now explicitly call
internals.settings.setStorageAccessAPIPerPageScopeEnabled(false)
to opt out of the new default setting.
- http/tests/storageAccess/request-and-grant-access-with-per-page-scope-access-from-another-frame.html:
Changed to assume per-page is the default.
- 8:06 PM Changeset in webkit [267816] by
-
- 6 edits3 adds in trunk/LayoutTests
[GLIB] Gardening some failures
Unreviewed test gardening.
- platform/glib/TestExpectations:
- platform/glib/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-computed-value-expected.txt: Added.
- platform/glib/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads.sub.tentative-expected.txt:
- platform/glib/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_block_downloads.sub.tentative-expected.txt:
- platform/gtk-wayland/TestExpectations:
- platform/gtk/TestExpectations:
- 5:45 PM Changeset in webkit [267815] by
-
- 2 edits2 adds in trunk/Tools
[webkitscmpy] Add Commit object
https://bugs.webkit.org/show_bug.cgi?id=216403
<rdar://problem/68702779>
Reviewed by Dewei Zhu.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Bump version number.
- Scripts/libraries/webkitscmpy/webkitscmpy/commit.py: Added.
(Commit):
(Commit._parse_hash): Given a hash, verify that the provided argument is
Actually a git hash.
(Commit._parse_revision): Given a string or integer, verify the provided
argument is a valid SVN revision and return the revision as an integer.
(Commit._parse_identifier): Given a string or integer, verify the provided
argument is a valid identifier and return the identifier and branch.
(Commit.parse): Given a string representing a commit hash, svn revision or
identifier, return a commit object.
(Commit.init):
(Commit.pretty_print): Return a long string displaying the metadata for the commit
(Commit.repr): Return a one-line representation of the commit.
(Commit.hash):
(Commit.cmp): Compare two commit objects.
- Scripts/libraries/webkitscmpy/webkitscmpy/test/commit_unittest.py: Added.
(TestCommit):
(TestCommit.test_parse_hash):
(TestCommit.test_parse_revision):
(TestCommit.test_parse_identifier):
(TestCommit.test_parse):
(TestCommit.test_pretty_print):
- 5:40 PM Changeset in webkit [267814] by
-
- 13 edits1 add in trunk
[JSC] Implement item method proposal
https://bugs.webkit.org/show_bug.cgi?id=217115
Reviewed by Yusuke Suzuki.
JSTests:
- stress/item-method.js: Added.
- test262/config.yaml: Unskip tests.
Source/JavaScriptCore:
This patch implements {Array, %TypedArray%, String}.prototype.item, which reached Stage 3 at TC39 last week:
https://github.com/tc39/proposal-item-method/
This method behaves like the [] operator except:
- it recognizes negative indices (-1 through -length, without wrapping)
- it returns undefined *without* calling getters for out-of-bounds indices
The primary motivation for this is as a layering improvement for Web APIs (see, e.g., NodeList.prototype.item),
but the primary visible benefit for JavaScript users is negative indexation.
- builtins/ArrayPrototype.js:
(item):
- builtins/StringPrototype.js:
(item):
- builtins/TypedArrayPrototype.js:
(item):
- runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::finishCreation):
- runtime/JSTypedArrayViewPrototype.cpp:
(JSC::JSTypedArrayViewPrototype::finishCreation):
- runtime/StringPrototype.cpp:
LayoutTests:
- inspector/model/remote-object-get-properties-expected.txt:
- js/Object-getOwnPropertyNames-expected.txt:
- js/script-tests/Object-getOwnPropertyNames.js:
Adjust tests.
- 5:15 PM Changeset in webkit [267813] by
-
- 647 edits in trunk/Source/WebCore
[WebIDL] Make Exposed mandatory for IDL interfaces
https://bugs.webkit.org/show_bug.cgi?id=217101
Reviewed by Darin Adler.
Add [Exposed] to all IDL interfaces that were missing it and enforce its
requirement.
- bindings/scripts/CodeGeneratorJS.pm:
- bindings/scripts/preprocess-idls.pl:
Remove default "Window" exposed behavior and require it on all interfaces
and callback interfaces with constants that don't specify LegacyNoInterfaceObject.
- Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.idl:
- Modules/applepay/ApplePayError.idl:
- Modules/applepay/ApplePaySession.idl:
- Modules/applepay/ApplePaySetup.idl:
- Modules/applepay/ApplePaySetupFeature.idl:
- Modules/encryptedmedia/MediaKeyEncryptionScheme.idl:
- Modules/encryptedmedia/MediaKeyMessageEvent.idl:
- Modules/encryptedmedia/MediaKeySession.idl:
- Modules/encryptedmedia/MediaKeySessionType.idl:
- Modules/encryptedmedia/MediaKeyStatusMap.idl:
- Modules/encryptedmedia/MediaKeySystemAccess.idl:
- Modules/encryptedmedia/MediaKeys.idl:
- Modules/encryptedmedia/MediaKeysRequirement.idl:
- Modules/encryptedmedia/legacy/WebKitMediaKeyMessageEvent.idl:
- Modules/encryptedmedia/legacy/WebKitMediaKeyNeededEvent.idl:
- Modules/encryptedmedia/legacy/WebKitMediaKeySession.idl:
- Modules/encryptedmedia/legacy/WebKitMediaKeys.idl:
- Modules/entriesapi/DOMFileSystem.idl:
- Modules/entriesapi/FileSystemDirectoryEntry.idl:
- Modules/entriesapi/FileSystemDirectoryReader.idl:
- Modules/entriesapi/FileSystemEntry.idl:
- Modules/entriesapi/FileSystemFileEntry.idl:
- Modules/gamepad/Gamepad.idl:
- Modules/gamepad/GamepadButton.idl:
- Modules/gamepad/GamepadEvent.idl:
- Modules/geolocation/Geolocation.idl:
- Modules/geolocation/GeolocationCoordinates.idl:
- Modules/geolocation/GeolocationPosition.idl:
- Modules/geolocation/GeolocationPositionError.idl:
- Modules/geolocation/PositionOptions.idl:
- Modules/highlight/HighlightMap.idl:
- Modules/highlight/HighlightRangeGroup.idl:
- Modules/mediacapabilities/AudioConfiguration.idl:
- Modules/mediacapabilities/MediaCapabilities.idl:
- Modules/mediacapabilities/MediaCapabilitiesDecodingInfo.idl:
- Modules/mediacapabilities/MediaCapabilitiesEncodingInfo.idl:
- Modules/mediacapabilities/MediaCapabilitiesInfo.idl:
- Modules/mediacapabilities/MediaDecodingConfiguration.idl:
- Modules/mediacapabilities/MediaEncodingConfiguration.idl:
- Modules/mediacapabilities/VideoConfiguration.idl:
- Modules/mediasource/MediaSource.idl:
- Modules/mediasource/SourceBuffer.idl:
- Modules/mediasource/SourceBufferList.idl:
- Modules/mediastream/CanvasCaptureMediaStreamTrack.idl:
- Modules/mediastream/MediaDeviceInfo.idl:
- Modules/mediastream/MediaDevices.idl:
- Modules/mediastream/MediaStream.idl:
- Modules/mediastream/MediaStreamTrack.idl:
- Modules/mediastream/MediaStreamTrackEvent.idl:
- Modules/mediastream/OverconstrainedError.idl:
- Modules/mediastream/OverconstrainedErrorEvent.idl:
- Modules/mediastream/RTCCertificate.idl:
- Modules/mediastream/RTCConfiguration.idl:
- Modules/mediastream/RTCDTMFSender.idl:
- Modules/mediastream/RTCDTMFToneChangeEvent.idl:
- Modules/mediastream/RTCDataChannel.idl:
- Modules/mediastream/RTCDataChannelEvent.idl:
- Modules/mediastream/RTCIceCandidate.idl:
- Modules/mediastream/RTCIceTransport.idl:
- Modules/mediastream/RTCPeerConnection.idl:
- Modules/mediastream/RTCPeerConnectionIceEvent.idl:
- Modules/mediastream/RTCRtpReceiver.idl:
- Modules/mediastream/RTCRtpSender.idl:
- Modules/mediastream/RTCRtpTransceiver.idl:
- Modules/mediastream/RTCSessionDescription.idl:
- Modules/mediastream/RTCStatsReport.idl:
- Modules/mediastream/RTCTrackEvent.idl:
- Modules/notifications/Notification.idl:
- Modules/paymentrequest/PaymentRequest.idl:
- Modules/remoteplayback/RemotePlayback.idl:
- Modules/speech/SpeechSynthesis.idl:
- Modules/speech/SpeechSynthesisEvent.idl:
- Modules/speech/SpeechSynthesisUtterance.idl:
- Modules/speech/SpeechSynthesisVoice.idl:
- Modules/webaudio/AnalyserNode.idl:
- Modules/webaudio/AudioBuffer.idl:
- Modules/webaudio/AudioBufferSourceNode.idl:
- Modules/webaudio/AudioContext.idl:
- Modules/webaudio/AudioDestinationNode.idl:
- Modules/webaudio/AudioListener.idl:
- Modules/webaudio/AudioNode.idl:
- Modules/webaudio/AudioParam.idl:
- Modules/webaudio/AudioParamMap.idl:
- Modules/webaudio/AudioProcessingEvent.idl:
- Modules/webaudio/AudioScheduledSourceNode.idl:
- Modules/webaudio/BaseAudioContext.idl:
- Modules/webaudio/BiquadFilterNode.idl:
- Modules/webaudio/ChannelMergerNode.idl:
- Modules/webaudio/ChannelSplitterNode.idl:
- Modules/webaudio/ConstantSourceNode.idl:
- Modules/webaudio/ConvolverNode.idl:
- Modules/webaudio/DelayNode.idl:
- Modules/webaudio/DynamicsCompressorNode.idl:
- Modules/webaudio/GainNode.idl:
- Modules/webaudio/IIRFilterNode.idl:
- Modules/webaudio/MediaElementAudioSourceNode.idl:
- Modules/webaudio/MediaStreamAudioDestinationNode.idl:
- Modules/webaudio/MediaStreamAudioSourceNode.idl:
- Modules/webaudio/OfflineAudioCompletionEvent.idl:
- Modules/webaudio/OfflineAudioContext.idl:
- Modules/webaudio/OscillatorNode.idl:
- Modules/webaudio/PannerNode.idl:
- Modules/webaudio/PeriodicWave.idl:
- Modules/webaudio/ScriptProcessorNode.idl:
- Modules/webaudio/StereoPannerNode.idl:
- Modules/webaudio/WaveShaperNode.idl:
- Modules/webaudio/WebKitAudioContext.idl:
- Modules/webaudio/WebKitAudioPannerNode.idl:
- Modules/webaudio/WebKitOfflineAudioContext.idl:
- Modules/webdatabase/Database.idl:
- Modules/webdatabase/SQLError.idl:
- Modules/webdatabase/SQLResultSet.idl:
- Modules/webdatabase/SQLResultSetRowList.idl:
- Modules/webdatabase/SQLTransaction.idl:
- Modules/webgpu/GPUBufferUsage.idl:
- Modules/webgpu/GPUCanvasContext.idl:
- Modules/webgpu/GPUColorWrite.idl:
- Modules/webgpu/GPUOutOfMemoryError.idl:
- Modules/webgpu/GPUShaderStage.idl:
- Modules/webgpu/GPUTextureUsage.idl:
- Modules/webgpu/GPUValidationError.idl:
- Modules/webgpu/Navigator+GPU.idl:
- Modules/webgpu/WebGPU.idl:
- Modules/webgpu/WebGPUAdapter.idl:
- Modules/webgpu/WebGPUBindGroup.idl:
- Modules/webgpu/WebGPUBindGroupLayout.idl:
- Modules/webgpu/WebGPUBuffer.idl:
- Modules/webgpu/WebGPUCommandBuffer.idl:
- Modules/webgpu/WebGPUCommandEncoder.idl:
- Modules/webgpu/WebGPUComputePassEncoder.idl:
- Modules/webgpu/WebGPUComputePipeline.idl:
- Modules/webgpu/WebGPUDevice.idl:
- Modules/webgpu/WebGPUPipelineLayout.idl:
- Modules/webgpu/WebGPUProgrammablePassEncoder.idl:
- Modules/webgpu/WebGPUQueue.idl:
- Modules/webgpu/WebGPURenderPassEncoder.idl:
- Modules/webgpu/WebGPURenderPipeline.idl:
- Modules/webgpu/WebGPUSampler.idl:
- Modules/webgpu/WebGPUShaderModule.idl:
- Modules/webgpu/WebGPUSwapChain.idl:
- Modules/webgpu/WebGPUTexture.idl:
- Modules/webgpu/WebGPUTextureView.idl:
- Modules/webxr/XRInputSourceEvent.idl:
- Modules/webxr/XRInputSourcesChangeEvent.idl:
- Modules/webxr/XRReferenceSpaceEvent.idl:
- Modules/webxr/XRSessionEvent.idl:
- WebCore.xcodeproj/project.pbxproj:
- animation/AnimationPlaybackEvent.idl:
- animation/AnimationTimeline.idl:
- animation/DocumentTimeline.idl:
- animation/WebAnimation.idl:
- css/CSSConditionRule.idl:
- css/CSSFontFaceRule.idl:
- css/CSSGroupingRule.idl:
- css/CSSImportRule.idl:
- css/CSSKeyframeRule.idl:
- css/CSSKeyframesRule.idl:
- css/CSSMediaRule.idl:
- css/CSSNamespaceRule.idl:
- css/CSSPageRule.idl:
- css/CSSRuleList.idl:
- css/CSSStyleDeclaration.idl:
- css/CSSStyleRule.idl:
- css/CSSStyleSheet.idl:
- css/CSSSupportsRule.idl:
- css/DOMCSSNamespace.idl:
- css/DeprecatedCSSOMCounter.idl:
- css/DeprecatedCSSOMPrimitiveValue.idl:
- css/DeprecatedCSSOMRGBColor.idl:
- css/DeprecatedCSSOMRect.idl:
- css/DeprecatedCSSOMValue.idl:
- css/DeprecatedCSSOMValueList.idl:
- css/FontFace.idl:
- css/FontFaceSet.idl:
- css/MediaQueryListEvent.idl:
- css/typedom/StylePropertyMap.idl:
- dom/AbortAlgorithm.idl:
- dom/AnimationEvent.idl:
- dom/Attr.idl:
- dom/BeforeLoadEvent.idl:
- dom/BeforeUnloadEvent.idl:
- dom/CDATASection.idl:
- dom/CharacterData.idl:
- dom/ClipboardEvent.idl:
- dom/Comment.idl:
- dom/CompositionEvent.idl:
- dom/CustomElementRegistry.idl:
- dom/DOMImplementation.idl:
- dom/DOMRectList.idl:
- dom/DOMStringList.idl:
- dom/DOMStringMap.idl:
- dom/DataTransfer.idl:
- dom/DataTransferItem.idl:
- dom/DataTransferItemList.idl:
- dom/DeviceMotionEvent.idl:
- dom/DeviceOrientationEvent.idl:
- dom/Document.idl:
- dom/DocumentFragment.idl:
- dom/DocumentType.idl:
- dom/DragEvent.idl:
- dom/Element.idl:
- dom/FocusEvent.idl:
- dom/HashChangeEvent.idl:
- dom/IdleDeadline.idl:
- dom/InputEvent.idl:
- dom/KeyboardEvent.idl:
- dom/MouseEvent.idl:
- dom/MutationEvent.idl:
- dom/MutationObserver.idl:
- dom/MutationRecord.idl:
- dom/NamedNodeMap.idl:
- dom/Node.idl:
- dom/NodeFilter.idl:
- dom/NodeIterator.idl:
- dom/NodeList.idl:
- dom/OverflowEvent.idl:
- dom/PageTransitionEvent.idl:
- dom/PopStateEvent.idl:
- dom/ProcessingInstruction.idl:
- dom/Range.idl:
- dom/SecurityPolicyViolationEvent.idl:
- dom/ShadowRoot.idl:
- dom/StaticRange.idl:
- dom/Text.idl:
- dom/TextEvent.idl:
- dom/Touch.idl:
- dom/TouchEvent.idl:
- dom/TouchList.idl:
- dom/TransitionEvent.idl:
- dom/TreeWalker.idl:
- dom/UIEvent.idl:
- dom/WebKitAnimationEvent.idl:
- dom/WebKitTransitionEvent.idl:
- dom/WheelEvent.idl:
- dom/XMLDocument.idl:
- html/DOMTokenList.idl:
- html/HTMLAllCollection.idl:
- html/HTMLAnchorElement.idl:
- html/HTMLAppletElement.idl:
- html/HTMLAreaElement.idl:
- html/HTMLAttachmentElement.idl:
- html/HTMLAudioElement.idl:
- html/HTMLBRElement.idl:
- html/HTMLBaseElement.idl:
- html/HTMLBodyElement.idl:
- html/HTMLButtonElement.idl:
- html/HTMLCanvasElement.idl:
- html/HTMLCollection.idl:
- html/HTMLDListElement.idl:
- html/HTMLDataElement.idl:
- html/HTMLDataListElement.idl:
- html/HTMLDetailsElement.idl:
- html/HTMLDirectoryElement.idl:
- html/HTMLDivElement.idl:
- html/HTMLDocument.idl:
- html/HTMLElement.idl:
- html/HTMLEmbedElement.idl:
- html/HTMLFieldSetElement.idl:
- html/HTMLFontElement.idl:
- html/HTMLFormControlsCollection.idl:
- html/HTMLFormElement.idl:
- html/HTMLFrameElement.idl:
- html/HTMLFrameSetElement.idl:
- html/HTMLHRElement.idl:
- html/HTMLHeadElement.idl:
- html/HTMLHeadingElement.idl:
- html/HTMLHtmlElement.idl:
- html/HTMLIFrameElement.idl:
- html/HTMLImageElement.idl:
- html/HTMLInputElement.idl:
- html/HTMLKeygenElement.idl:
- html/HTMLLIElement.idl:
- html/HTMLLabelElement.idl:
- html/HTMLLegendElement.idl:
- html/HTMLLinkElement.idl:
- html/HTMLMapElement.idl:
- html/HTMLMarqueeElement.idl:
- html/HTMLMediaElement.idl:
- html/HTMLMenuElement.idl:
- html/HTMLMenuItemElement.idl:
- html/HTMLMetaElement.idl:
- html/HTMLMeterElement.idl:
- html/HTMLModElement.idl:
- html/HTMLOListElement.idl:
- html/HTMLObjectElement.idl:
- html/HTMLOptGroupElement.idl:
- html/HTMLOptionElement.idl:
- html/HTMLOptionsCollection.idl:
- html/HTMLOutputElement.idl:
- html/HTMLParagraphElement.idl:
- html/HTMLParamElement.idl:
- html/HTMLPictureElement.idl:
- html/HTMLPreElement.idl:
- html/HTMLProgressElement.idl:
- html/HTMLQuoteElement.idl:
- html/HTMLScriptElement.idl:
- html/HTMLSelectElement.idl:
- html/HTMLSlotElement.idl:
- html/HTMLSourceElement.idl:
- html/HTMLSpanElement.idl:
- html/HTMLStyleElement.idl:
- html/HTMLTableCaptionElement.idl:
- html/HTMLTableCellElement.idl:
- html/HTMLTableColElement.idl:
- html/HTMLTableElement.idl:
- html/HTMLTableRowElement.idl:
- html/HTMLTableSectionElement.idl:
- html/HTMLTemplateElement.idl:
- html/HTMLTextAreaElement.idl:
- html/HTMLTimeElement.idl:
- html/HTMLTitleElement.idl:
- html/HTMLTrackElement.idl:
- html/HTMLUListElement.idl:
- html/HTMLUnknownElement.idl:
- html/HTMLVideoElement.idl:
- html/MediaController.idl:
- html/MediaEncryptedEvent.idl:
- html/MediaError.idl:
- html/RadioNodeList.idl:
- html/TimeRanges.idl:
- html/ValidityState.idl:
- html/WebKitMediaKeyError.idl:
- html/canvas/CanvasCompositing.idl:
- html/canvas/CanvasDrawImage.idl:
- html/canvas/CanvasDrawPath.idl:
- html/canvas/CanvasFillStrokeStyles.idl:
- html/canvas/CanvasFilters.idl:
- html/canvas/CanvasImageData.idl:
- html/canvas/CanvasImageSmoothing.idl:
- html/canvas/CanvasPath.idl:
- html/canvas/CanvasPathDrawingStyles.idl:
- html/canvas/CanvasRect.idl:
- html/canvas/CanvasRenderingContext2D.idl:
- html/canvas/CanvasShadowStyles.idl:
- html/canvas/CanvasState.idl:
- html/canvas/CanvasText.idl:
- html/canvas/CanvasTextDrawingStyles.idl:
- html/canvas/CanvasTransform.idl:
- html/canvas/CanvasUserInterface.idl:
- html/canvas/PaintRenderingContext2D.idl:
- html/canvas/WebGLActiveInfo.idl:
- html/canvas/WebGLBuffer.idl:
- html/canvas/WebGLContextEvent.idl:
- html/canvas/WebGLFramebuffer.idl:
- html/canvas/WebGLProgram.idl:
- html/canvas/WebGLQuery.idl:
- html/canvas/WebGLRenderbuffer.idl:
- html/canvas/WebGLSampler.idl:
- html/canvas/WebGLShader.idl:
- html/canvas/WebGLShaderPrecisionFormat.idl:
- html/canvas/WebGLSync.idl:
- html/canvas/WebGLTexture.idl:
- html/canvas/WebGLTransformFeedback.idl:
- html/canvas/WebGLUniformLocation.idl:
- html/canvas/WebGLVertexArrayObject.idl:
- html/track/AudioTrack.idl:
- html/track/AudioTrackList.idl:
- html/track/DataCue.idl:
- html/track/TextTrack.idl:
- html/track/TextTrackCue.idl:
- html/track/TextTrackCueGeneric.idl:
- html/track/TextTrackCueList.idl:
- html/track/TextTrackList.idl:
- html/track/TrackEvent.idl:
- html/track/VTTCue.idl:
- html/track/VTTRegion.idl:
- html/track/VTTRegionList.idl:
- html/track/VideoTrack.idl:
- html/track/VideoTrackList.idl:
- loader/appcache/DOMApplicationCache.idl:
- mathml/MathMLElement.idl:
- mathml/MathMLMathElement.idl:
- page/BarProp.idl:
- page/Crypto.idl:
- page/DOMSelection.idl:
- page/DOMWindow.idl:
- page/GlobalCrypto.idl:
- page/GlobalPerformance.idl:
- page/History.idl:
- page/IntersectionObserver.idl:
- page/IntersectionObserverEntry.idl:
- page/Location.idl:
- page/Navigator+IsLoggedIn.idl:
- page/Navigator.idl:
- page/PerformanceNavigation.idl:
- page/PerformancePaintTiming.idl:
- page/PerformanceTiming.idl:
- page/RemoteDOMWindow.idl:
- page/ResizeObserver.idl:
- page/ResizeObserverEntry.idl:
- page/Screen.idl:
- page/UndoItem.idl:
- page/UndoManager.idl:
- page/UserMessageHandler.idl:
- page/UserMessageHandlersNamespace.idl:
- page/VisualViewport.idl:
- page/WebKitNamespace.idl:
- page/WebKitPoint.idl:
- plugins/DOMMimeType.idl:
- plugins/DOMMimeTypeArray.idl:
- plugins/DOMPlugin.idl:
- plugins/DOMPluginArray.idl:
- storage/Storage.idl:
- storage/StorageEvent.idl:
- svg/SVGAElement.idl:
- svg/SVGAltGlyphDefElement.idl:
- svg/SVGAltGlyphElement.idl:
- svg/SVGAltGlyphItemElement.idl:
- svg/SVGAngle.idl:
- svg/SVGAnimateColorElement.idl:
- svg/SVGAnimateElement.idl:
- svg/SVGAnimateMotionElement.idl:
- svg/SVGAnimateTransformElement.idl:
- svg/SVGAnimatedAngle.idl:
- svg/SVGAnimatedBoolean.idl:
- svg/SVGAnimatedEnumeration.idl:
- svg/SVGAnimatedInteger.idl:
- svg/SVGAnimatedLength.idl:
- svg/SVGAnimatedLengthList.idl:
- svg/SVGAnimatedNumber.idl:
- svg/SVGAnimatedNumberList.idl:
- svg/SVGAnimatedPreserveAspectRatio.idl:
- svg/SVGAnimatedRect.idl:
- svg/SVGAnimatedString.idl:
- svg/SVGAnimatedTransformList.idl:
- svg/SVGAnimationElement.idl:
- svg/SVGCircleElement.idl:
- svg/SVGClipPathElement.idl:
- svg/SVGComponentTransferFunctionElement.idl:
- svg/SVGCursorElement.idl:
- svg/SVGDefsElement.idl:
- svg/SVGDescElement.idl:
- svg/SVGElement.idl:
- svg/SVGEllipseElement.idl:
- svg/SVGFEBlendElement.idl:
- svg/SVGFEColorMatrixElement.idl:
- svg/SVGFEComponentTransferElement.idl:
- svg/SVGFECompositeElement.idl:
- svg/SVGFEConvolveMatrixElement.idl:
- svg/SVGFEDiffuseLightingElement.idl:
- svg/SVGFEDisplacementMapElement.idl:
- svg/SVGFEDistantLightElement.idl:
- svg/SVGFEDropShadowElement.idl:
- svg/SVGFEFloodElement.idl:
- svg/SVGFEFuncAElement.idl:
- svg/SVGFEFuncBElement.idl:
- svg/SVGFEFuncGElement.idl:
- svg/SVGFEFuncRElement.idl:
- svg/SVGFEGaussianBlurElement.idl:
- svg/SVGFEImageElement.idl:
- svg/SVGFEMergeElement.idl:
- svg/SVGFEMergeNodeElement.idl:
- svg/SVGFEMorphologyElement.idl:
- svg/SVGFEOffsetElement.idl:
- svg/SVGFEPointLightElement.idl:
- svg/SVGFESpecularLightingElement.idl:
- svg/SVGFESpotLightElement.idl:
- svg/SVGFETileElement.idl:
- svg/SVGFETurbulenceElement.idl:
- svg/SVGFilterElement.idl:
- svg/SVGFontElement.idl:
- svg/SVGFontFaceElement.idl:
- svg/SVGFontFaceFormatElement.idl:
- svg/SVGFontFaceNameElement.idl:
- svg/SVGFontFaceSrcElement.idl:
- svg/SVGFontFaceUriElement.idl:
- svg/SVGForeignObjectElement.idl:
- svg/SVGGElement.idl:
- svg/SVGGeometryElement.idl:
- svg/SVGGlyphElement.idl:
- svg/SVGGlyphRefElement.idl:
- svg/SVGGradientElement.idl:
- svg/SVGGraphicsElement.idl:
- svg/SVGHKernElement.idl:
- svg/SVGImageElement.idl:
- svg/SVGLength.idl:
- svg/SVGLengthList.idl:
- svg/SVGLineElement.idl:
- svg/SVGLinearGradientElement.idl:
- svg/SVGMPathElement.idl:
- svg/SVGMarkerElement.idl:
- svg/SVGMaskElement.idl:
- svg/SVGMatrix.idl:
- svg/SVGMetadataElement.idl:
- svg/SVGMissingGlyphElement.idl:
- svg/SVGNumber.idl:
- svg/SVGNumberList.idl:
- svg/SVGPathElement.idl:
- svg/SVGPathSeg.idl:
- svg/SVGPathSegArcAbs.idl:
- svg/SVGPathSegArcRel.idl:
- svg/SVGPathSegClosePath.idl:
- svg/SVGPathSegCurvetoCubicAbs.idl:
- svg/SVGPathSegCurvetoCubicRel.idl:
- svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
- svg/SVGPathSegCurvetoCubicSmoothRel.idl:
- svg/SVGPathSegCurvetoQuadraticAbs.idl:
- svg/SVGPathSegCurvetoQuadraticRel.idl:
- svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
- svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
- svg/SVGPathSegLinetoAbs.idl:
- svg/SVGPathSegLinetoHorizontalAbs.idl:
- svg/SVGPathSegLinetoHorizontalRel.idl:
- svg/SVGPathSegLinetoRel.idl:
- svg/SVGPathSegLinetoVerticalAbs.idl:
- svg/SVGPathSegLinetoVerticalRel.idl:
- svg/SVGPathSegList.idl:
- svg/SVGPathSegMovetoAbs.idl:
- svg/SVGPathSegMovetoRel.idl:
- svg/SVGPatternElement.idl:
- svg/SVGPoint.idl:
- svg/SVGPointList.idl:
- svg/SVGPolygonElement.idl:
- svg/SVGPolylineElement.idl:
- svg/SVGPreserveAspectRatio.idl:
- svg/SVGRadialGradientElement.idl:
- svg/SVGRect.idl:
- svg/SVGRectElement.idl:
- svg/SVGRenderingIntent.idl:
- svg/SVGSVGElement.idl:
- svg/SVGScriptElement.idl:
- svg/SVGSetElement.idl:
- svg/SVGStopElement.idl:
- svg/SVGStringList.idl:
- svg/SVGStyleElement.idl:
- svg/SVGSwitchElement.idl:
- svg/SVGSymbolElement.idl:
- svg/SVGTRefElement.idl:
- svg/SVGTSpanElement.idl:
- svg/SVGTextContentElement.idl:
- svg/SVGTextElement.idl:
- svg/SVGTextPathElement.idl:
- svg/SVGTextPositioningElement.idl:
- svg/SVGTitleElement.idl:
- svg/SVGTransform.idl:
- svg/SVGTransformList.idl:
- svg/SVGUnitTypes.idl:
- svg/SVGUseElement.idl:
- svg/SVGVKernElement.idl:
- svg/SVGViewElement.idl:
- svg/SVGViewSpec.idl:
- svg/SVGZoomEvent.idl:
- workers/Worker.idl:
- workers/service/ExtendableEvent.idl:
- workers/service/ExtendableEventInit.idl:
- workers/service/FetchEvent.idl:
- worklets/Worklet.idl:
- xml/DOMParser.idl:
- xml/XMLHttpRequestProgressEvent.idl:
- xml/XMLSerializer.idl:
- xml/XPathEvaluator.idl:
- xml/XPathExpression.idl:
- xml/XPathResult.idl:
- xml/XSLTProcessor.idl:
- 5:13 PM Changeset in webkit [267812] by
-
- 6 edits in trunk
CSS Selector an-plus-b serialization is incorrect
https://bugs.webkit.org/show_bug.cgi?id=217108
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebasline tests for correct an-plus-b serialization
- web-platform-tests/css/cssom/selectorSerialize-expected.txt:
- web-platform-tests/css/selectors/anplusb-selector-parsing-expected.txt:
Source/WebCore:
Right now we don't differentiate our CSS serialization for
an-plus-b expressions from any other CSS sytnax. This is
incorrect, according to the CSS spec an-plus-b expressions have
custom serialization rules. See:
https://www.w3.org/TR/css-syntax-3/#serializing-anb
One thing of note is for constant an-plus-b expressions (i.e. a is
zero so the resulting string is just a number), we get the string
from JSC::VM's numeric string cache.
- css/parser/CSSSelectorParser.cpp:
(WebCore::CSSSelectorParser::consumePseudo):
(WebCore::serializeANPlusB):
- 5:01 PM Changeset in webkit [267811] by
-
- 4 edits in trunk
Expose pvrtc extension without vendor prefix and remove redundant WebGL 2 extensions
https://bugs.webkit.org/show_bug.cgi?id=217110
Reviewed by Kenneth Russell.
Extensions are tested in LayoutTests/webgl
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::getExtension):
(WebCore::WebGL2RenderingContext::getSupportedExtensions):
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
- 4:51 PM Changeset in webkit [267810] by
-
- 8 edits in trunk/Tools
[webkitscmpy] Check if a git checkout is linked to an SVN checkout
https://bugs.webkit.org/show_bug.cgi?id=216888
<rdar://problem/69446322>
Reviewed by Dewei Zhu.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Increment library version.
- Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.info): Run
git svn info
if in a Git-SVN checkout.
(Git.is_svn): Check if in a Git-SVN checkout.
(Git.is_git): Return True.
- Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm.is_svn): Return False.
(Scm.is_git): Ditto.
- Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.is_svn): Return True.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git.init): Add
git svn
commands.
- Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_scm_type):
(TestGit.test_info):
- Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestSvn.test_scm_type):
- 4:23 PM Changeset in webkit [267809] by
-
- 2 edits in trunk/Source/WebCore
Adjuster::computeEventListenerRegionTypes() should use ENABLE(WHEEL_EVENT_REGIONS) not a platform #ifdef
https://bugs.webkit.org/show_bug.cgi?id=217146
Reviewed by Tim Horton.
Use ENABLE(WHEEL_EVENT_REGIONS) instead of !PLATFORM(IOS_FAMILY).
- style/StyleAdjuster.cpp:
(WebCore::Style::Adjuster::computeEventListenerRegionTypes):
- 3:28 PM Changeset in webkit [267808] by
-
- 6 edits in trunk/Source/JavaScriptCore
[JSC] Common slow paths should be JIT operations
https://bugs.webkit.org/show_bug.cgi?id=217141
Reviewed by Saam Barati.
Unlike LLInt slow paths, common (common means common between LLInt and Baseline) slow paths can be called from baseline JIT code. Thus, they should be JIT operations.
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::llint_slow_path_checkpoint_osr_exit_from_inlined_call):
(JSC::LLInt::llint_slow_path_checkpoint_osr_exit):
(JSC::LLInt::slow_path_checkpoint_osr_exit_from_inlined_call): Deleted.
(JSC::LLInt::slow_path_checkpoint_osr_exit): Deleted.
- llint/LLIntSlowPaths.h:
- llint/LowLevelInterpreter.asm:
- runtime/CommonSlowPaths.cpp:
(JSC::JSC_DEFINE_COMMON_SLOW_PATH):
(JSC::iteratorOpenTryFastImpl):
(JSC::iteratorNextTryFastImpl):
(JSC::SLOW_PATH_DECL): Deleted.
(JSC::iterator_open_try_fast): Deleted.
(JSC::iterator_next_try_fast): Deleted.
- runtime/CommonSlowPaths.h:
- 2:22 PM Changeset in webkit [267807] by
-
- 18 edits4 copies3 adds in trunk/Source
[PlayStation][WinCairo] Enable WebDriver target on PlayStation and client for WinCairo
https://bugs.webkit.org/show_bug.cgi?id=216908
Reviewed by Don Olmstead.
Source/JavaScriptCore:
Implement automation session correctly for PlayStation and WinCairo.
- inspector/remote/RemoteInspector.h:
- inspector/remote/socket/RemoteInspectorConnectionClient.cpp:
(Inspector::RemoteInspectorConnectionClient::parseTargetListJSON):
- inspector/remote/socket/RemoteInspectorConnectionClient.h:
- inspector/remote/socket/RemoteInspectorSocket.cpp:
(Inspector::RemoteInspector::stopInternal):
(Inspector::RemoteInspector::requestAutomationSession):
(Inspector::RemoteInspector::startAutomationSession):
Source/WebDriver:
Extend WebDriver client binary to support connection to remote device for both PlayStation
and WinCairo. We've implemented a simple web server to accept WebDriver request natively and bypass them
to RemoteInspector.
- Capabilities.h:
- HTTPServer.h:
- PlatformPlayStation.cmake: Added.
- PlatformWin.cmake:
- SessionHost.h:
(WebDriver::SessionHost::setHostAddress):
- WebDriverMain.cpp:
(main):
(dllLauncherEntryPoint):
- WebDriverService.cpp:
(WebDriver::printUsageStatement):
(WebDriver::WebDriverService::run):
(WebDriver::WebDriverService::connectToBrowser):
- WebDriverService.h:
- gtk/WebDriverServiceGtk.cpp:
(WebDriver::WebDriverService::platformInit):
- playstation/WebDriverServicePlayStation.cpp: Copied from Source\WebDriver\win\WebDriverServiceWin.cpp.
(WebDriver::WebDriverService::platformInit):
(WebDriver::WebDriverService::platformCapabilities):
(WebDriver::WebDriverService::platformCompareBrowserVersions):
(WebDriver::WebDriverService::platformValidateCapability const):
(WebDriver::WebDriverService::platformMatchCapability const):
(WebDriver::WebDriverService::platformParseCapabilities const):
(WebDriver::WebDriverService::platformSupportProxyType const):
- socket/CapabilitiesSocket.cpp: Copied from Source\WebDriver\socket\SessionHostSocket.cpp.
(WebDriver::CapabilitiesSocket::parseCapabilities):
- socket/CapabilitiesSocket.h: Copied from Source\WebDriver\socket\HTTPServerSocket.cpp.
- socket/HTTPParser.cpp: Added.
(WebDriver::HTTPParser::parse):
(WebDriver::HTTPParser::handlePhase):
(WebDriver::HTTPParser::abortProcess):
(WebDriver::HTTPParser::parseFirstLine):
(WebDriver::HTTPParser::readLine):
(WebDriver::HTTPParser::expectedBodyLength const):
- socket/HTTPParser.h: Copied from Source\WebDriver\HTTPServer.h.
(WebDriver::HTTPParser::pullMessage):
- socket/HTTPServerSocket.cpp:
(WebDriver::HTTPServer::listen):
(WebDriver::HTTPServer::disconnect):
(WebDriver::HTTPServer::doAccept):
(WebDriver::HTTPServer::didClose):
(WebDriver::HTTPRequestHandler::connect):
(WebDriver::HTTPRequestHandler::reset):
(WebDriver::HTTPRequestHandler::didReceive):
(WebDriver::HTTPRequestHandler::sendResponse):
(WebDriver::HTTPRequestHandler::packHTTPMessage const):
(WebDriver::HTTPRequestHandler::didClose):
- socket/SessionHostSocket.cpp:
(WebDriver::SessionHost::dispatchMap):
(WebDriver::SessionHost::sendWebInspectorEvent):
(WebDriver::SessionHost::connectToBrowser):
(WebDriver::SessionHost::isConnected const):
(WebDriver::SessionHost::didClose):
(WebDriver::SessionHost::parseTargetList):
(WebDriver::SessionHost::receivedSetTargetList):
(WebDriver::SessionHost::receivedSendMessageToFrontend):
(WebDriver::SessionHost::startAutomationSession):
(WebDriver::SessionHost::setTargetList):
(WebDriver::SessionHost::sendMessageToBackend):
- win/WebDriverServiceWin.cpp:
(WebDriver::WebDriverService::platformInit):
(WebDriver::WebDriverService::platformParseCapabilities const):
- wpe/WebDriverServiceWPE.cpp:
(WebDriver::WebDriverService::platformInit):
- 1:54 PM Changeset in webkit [267806] by
-
- 2 edits in trunk/Source/WebKit
[GPU Process] Canvas layout tests occasionally crash the web process under PutImageData::apply
https://bugs.webkit.org/show_bug.cgi?id=217140
Reviewed by Tim Horton.
When destroying a
RemoteImageBuffer
, logic exists in the superclass (DisplayList::ImageBuffer
) that attempts
to flush any remaining display list items. However, this currently doesn't work as intended, since we've already
finished destroying the subclass, so the superclass' call toflushDrawingContext()
calls `DisplayList::
ImageBuffer::flushDrawingContext()rather than
RemoteImageBuffer::flushDrawingContext()`. Rather than flushing
display list items to the GPU process, this has the effect of attempting to replay these display list items to
the drawing context (which is backed by aDisplayList
anyways), so this ends up having no tangible effect.
However, if one of these display list items happens to be
PutImageData
, we'll end up hitting an assertion due
to being unable to apply it without aDelegate
. To fix this, hoist the call toflushDrawingContext()
out to
~RemoteImageBuffer()
, rather than~DisplayList::ImageBuffer()
.
- WebProcess/GPU/graphics/RemoteImageBuffer.h:
(WebKit::RemoteImageBuffer::~RemoteImageBuffer):
- 1:53 PM Changeset in webkit [267805] by
-
- 4 edits in trunk/Tools
[webkitpy] Use webkitcorepy's auto installer for html5lib
https://bugs.webkit.org/show_bug.cgi?id=217130
<rdar://problem/69798724>
Rubber-stamped by Aakash Jain.
- Scripts/webkitpy/init.py: Add html5lib, webencodings and genshi.
- Scripts/webkitpy/thirdparty/init.py:
(AutoinstallImportHook.find_module): Remove html5lib.
(AutoinstallImportHook._install_mechanize):Ditto.
(AutoinstallImportHook._install_beautifulsoup): Ditto.
(AutoinstallImportHook._install_html5lib): Deleted.
- 1:51 PM Changeset in webkit [267804] by
-
- 3 edits in trunk/Source/WebKit
[macOS] Deny mach-lookup to the analytics service in the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=217137
<rdar://problem/69019193>
Reviewed by Brent Fulgham.
Only internal OS variants should have access to the 'com.apple.analyticsd' service.
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::diagnosticServices):
- WebProcess/com.apple.WebProcess.sb.in:
- 1:29 PM Changeset in webkit [267803] by
-
- 1 copy in tags/Safari-610.1.28.1.10
Tag Safari-610.1.28.1.10.
- 1:27 PM Changeset in webkit [267802] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION[267763] RELEASE_ASSERT in allNetworkProcesses hit when registering legacy protocol handlers before instantiating any WebKit objects
https://bugs.webkit.org/show_bug.cgi?id=217142
<rdar://problem/69778879>
Reviewed by Brady Eidson.
RELEASE_ASSERT(RunLoop::isMain()) was crashing because WTF::initializeMainThread hadn't been called.
This wasn't a problem before r267763 because the assertion did not exist. Rather than remove the assertion (which I think is important to have)
let's just initialize WebKit threading at these SPI entry points.
This unfortunately can't be tested with our current infrastructure because TestsController's constructor calls initializeMainThread.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::registerGlobalURLSchemeAsHavingCustomProtocolHandlers):
(WebKit::WebProcessPool::unregisterGlobalURLSchemeAsHavingCustomProtocolHandlers):
- 1:27 PM Changeset in webkit [267801] by
-
- 8 edits in branches/safari-610.1.28.1-branch/Source
Versioning.
WebKit-7610.1.28.1.10
- 12:24 PM Changeset in webkit [267800] by
-
- 4 edits2 adds in trunk
[LFC][Integration] Enable <wbr> content
https://bugs.webkit.org/show_bug.cgi?id=217065
Reviewed by Antti Koivisto.
Source/WebCore:
Enable <wbr> content now that IFC fully supports it.
Test: fast/text/wbr-simple.html
- layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForLineLayoutWithReason):
LayoutTests:
- fast/text/wbr-simple-expected.html: Added.
- fast/text/wbr-simple.html: Added.
- 12:06 PM Changeset in webkit [267799] by
-
- 7 edits in trunk/Source/WebCore
Handle deprecation warnings from libwebrtc headers
https://bugs.webkit.org/show_bug.cgi?id=217126
<rdar://problem/69747375>
Reviewed by Tim Horton.
Disable deprecation warnings coming from libwebrtc headers.
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
- Modules/mediastream/libwebrtc/LibWebRTCObservers.h:
- Modules/mediastream/libwebrtc/LibWebRTCRtpTransceiverBackend.h:
- Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp:
- platform/mediastream/libwebrtc/LibWebRTCProvider.h:
- testing/MockLibWebRTCPeerConnection.h:
- 11:37 AM Changeset in webkit [267798] by
-
- 26 edits2 deletes in trunk
Unreviewed, reverting r267788.
Broke internal builds.
Reverted changeset:
"MediaRecorder should support isTypeSupported"
https://bugs.webkit.org/show_bug.cgi?id=216856
https://trac.webkit.org/changeset/267788
- 11:20 AM Changeset in webkit [267797] by
-
- 4 edits in trunk/Source
Unreviewed, reverting r267795.
https://bugs.webkit.org/show_bug.cgi?id=217135
Incorrect fix.
Reverted changeset:
"REGRESSION(r259582): Build fails on aarch64 Linux with WebKit
2.30.1 on LLIntOffsetsExtractor.cpp.o"
https://bugs.webkit.org/show_bug.cgi?id=217079
https://trac.webkit.org/changeset/267795
- 10:45 AM WebKitGTK/2.30.x edited by
- (diff)
- 10:12 AM WebKitGTK/2.30.x edited by
- (diff)
- 10:10 AM Changeset in webkit [267796] by
-
- 57 edits4 copies13 deletes in trunk
Remove code behind ENABLE(MEDIA_SESSION), no ports enable it
https://bugs.webkit.org/show_bug.cgi?id=216831
Reviewed by Alex Christensen.
.:
- Source/cmake/OptionsFTW.cmake:
- Source/cmake/WebKitFeatures.cmake:
Remove option to build with MEDIA_SESSION, no one was doing it.
Source/WebCore:
- CMakeLists.txt:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
Remove media session related files.
- Modules/airplay/PlaybackTargetClientContextIdentifier.h: Added.
- Modules/airplay/WebMediaSessionManager.cpp: Added.
- Modules/airplay/WebMediaSessionManager.h: Added.
- Modules/airplay/WebMediaSessionManagerClient.h: Added.
- Modules/mediasession: Removed.
- platform/mediasession: Removed.
Delete Modules/mediasession and platform/mediasession. Move files that
were actually used for the WIRELESS_PLAYBACK_TARGET feature to
Modules/airplay where other parts of that feature are implemented.
- dom/Document.cpp:
- dom/Document.h:
- dom/EventTargetFactory.in:
- html/HTMLMediaElement.cpp:
- html/HTMLMediaElement.h:
- page/ChromeClient.h:
- page/Page.cpp:
- page/Page.h:
- testing/Internals.cpp:
- testing/Internals.h:
- testing/Internals.idl:
Remove all code inside ENABLE(MEDIA_SESSION).
Source/WebKit:
Removes all code in ENABLE(MEDIA_SESSION) and all media session
related SPI. It was never enabled and nothing ever adopted it.
- Sources.txt:
- SourcesCocoa.txt:
- WebKit.xcodeproj/project.pbxproj:
Remove media session related files.
- Shared/API/APIObject.h:
- Shared/API/c/WKBase.h:
- Shared/WebCoreArgumentCoders.cpp:
- Shared/WebCoreArgumentCoders.h:
- Shared/WebMediaSessionMetadata.cpp: Removed.
- Shared/WebMediaSessionMetadata.h: Removed.
- UIProcess/API/APIUIClient.h:
- UIProcess/API/C/WKAPICast.h:
- UIProcess/API/C/WKContext.cpp:
- UIProcess/API/C/WKContext.h:
- UIProcess/API/C/WKMediaSessionFocusManager.cpp: Removed.
- UIProcess/API/C/WKMediaSessionFocusManager.h: Removed.
- UIProcess/API/C/WKMediaSessionMetadata.cpp: Removed.
- UIProcess/API/C/WKMediaSessionMetadata.h: Removed.
- UIProcess/API/C/WKPage.cpp:
- UIProcess/API/C/WKPagePrivate.h:
- UIProcess/API/C/WKPageUIClient.h:
- UIProcess/WebMediaSessionFocusManager.cpp: Removed.
- UIProcess/WebMediaSessionFocusManager.h: Removed.
- UIProcess/WebMediaSessionFocusManagerClient.cpp: Removed.
- UIProcess/WebMediaSessionFocusManagerClient.h: Removed.
- UIProcess/WebPageProxy.cpp:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/WebProcessPool.cpp:
- UIProcess/WebProcessPool.h:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/WebPage.cpp:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Remove all code in ENABLE(MEDIA_SESSION).
Tools:
- Scripts/webkitperl/FeatureList.pm:
Remove support for building with MEDIA_SESSION enabled.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::createOtherPage):
(WTR::TestController::createWebViewWithOptions):
Update names to new 'unused' naming.
LayoutTests:
Remove always skipped Media Session tests.
- TestExpectations:
- gpu-process/TestExpectations:
- media/session: Removed.
- 10:07 AM Changeset in webkit [267795] by
-
- 4 edits in trunk/Source
REGRESSION(r259582): Build fails on aarch64 Linux with WebKit 2.30.1 on LLIntOffsetsExtractor.cpp.o
https://bugs.webkit.org/show_bug.cgi?id=217079
Patch by Mike Gorse <mgorse@suse.com> on 2020-09-30
Reviewed by Michael Catanzaro.
Source/JavaScriptCore:
- assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::copyCompactAndLinkCode): DOn't compile in a call to
dumpJITMemory if JIT is disabled; leads to a build failure.
Source/WTF:
- wtf/PlatformEnable.h: Only define USE_JUMP_ISLANDS if JIT is enabled.
- 9:40 AM Changeset in webkit [267794] by
-
- 6 edits in trunk/Source/WebCore
Fix for multiple layout tests in accessibility isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=217093
Reviewed by Chris Fleizach and Darin Adler.
Fix for the following layout tests in accessibility isolated tree mode:
accessibility/aria-menubar-menuitems.html
accessibility/aria-orientation.html
accessibility/set-selected-editable.html
accessibility/removed-continuation-element-causes-crash.html
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handleAttributeChange):
Update the isolated tree when the id attribute is modified. This is
needed for all tests that assign an id attribute to an element in JS,
in order to retrieve its accessibility object via AccessibilityController::accessibleElementById.
In addition, changed the handling of the lang attribute to just update
the isolated tree instead of posting a notification which is not used.
(WebCore::AXObjectCache::updateIsolatedTree):
Update the AXIsolatedObject IdentifierAttribute property.
Replaced the updateNodeCheckedState method with the more general updateNodeProperty.
- accessibility/AXObjectCache.h:
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeAttributeData):
The ComputedRoleString property needs to be isolatedCopied.
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::generateSubtree):
Instead of having an out parameter in createSubtree to collect the NodeChanges
that need to be added to the tree, we now add each individual pending
append as the live tree is traversed. This solves the issue manifest in
some tests where during the creation of the subtree, applyPendingChanges
was called and node properties were not updated because the nodes were
not added to the tree yet.
(WebCore::AXIsolatedTree::createSubtree): See above comment for generateSubtree.
(WebCore::AXIsolatedTree::updateNode):
(WebCore::AXIsolatedTree::updateNodeProperty):
Replaces updateNodeCheckedState to allow update of any individual property.
(WebCore::AXIsolatedTree::removeNode): Also remove the entry from m_nodeMap.
(WebCore::AXIsolatedTree::removeSubtree):
(WebCore::AXIsolatedTree::applyPendingChanges):
(WebCore::AXIsolatedTree::NodeChange::NodeChange):
Deleted, using aggregate initialization.
(WebCore::AXIsolatedTree::updateNodeCheckedState): Became updateNodeProperty.
(WebCore::AXIsolatedTree::appendNodeChanges): Deleted, not needed any longer.
- accessibility/isolatedtree/AXIsolatedTree.h:
- 9:34 AM Changeset in webkit [267793] by
-
- 2 edits in trunk/Source/WebKit
Web Inspector: exempt API::SharedJSContext from remote inspection and automatic inspection
https://bugs.webkit.org/show_bug.cgi?id=217109
<rdar://problem/69386559>
Reviewed by Mark Lam.
We have seen occasional unexpected spins underneath pauseWaitingForRemoteInspection() waiting
for this JSContext. Since it does not evaluate JavaScript and is WebKit-internal, simply disable
remote inspection for the JSContext.
- UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm:
(API::SharedJSContext::ensureContext):
- 9:30 AM Changeset in webkit [267792] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (r265009): Web Share API can no longer be invoked if a previous invocation was dismissed using the close button
https://bugs.webkit.org/show_bug.cgi?id=216913
<rdar://problem/69659878>
Reviewed by Darin Adler.
No new tests; not able to test without UI tests that actually use UIActivityViewController.
- UIProcess/Cocoa/WKShareSheet.mm:
(-[WKShareSheet presentWithShareDataArray:inRect:]):
-presentationControllerDidDismiss is not called if the UIActivityViewController is
programmatically dismissed, so we need to revert to observing completion via
UIActivityViewController's -completionWithItemsHandler.
In order to avoid regressing bug 214894 by doing so, we also need to
make sure that we're actually not presented anymore, as -completionWithItemsHandler
can be called multiple times before the share sheet is actually dismissed.
- 9:04 AM Changeset in webkit [267791] by
-
- 29 edits in trunk
Re-align DocumentAndElementEventHandlers.idl, GlobalEventHandlers.idl and WindowEventHandlers.idl with the HTML spec
https://bugs.webkit.org/show_bug.cgi?id=217088
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Update results for more passing tests.
- web-platform-tests/html/dom/idlharness.https-expected.txt:
- web-platform-tests/html/webappapis/scripting/events/event-handler-attributes-body-window-expected.txt:
- web-platform-tests/html/webappapis/scripting/events/event-handler-attributes-windowless-body-expected.txt:
- web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative-expected.txt:
Source/WebCore:
Re-align DocumentAndElementEventHandlers.idl, GlobalEventHandlers.idl and WindowEventHandlers.idl with
the HTML spec, adding commented out variants of properties we don't yet support. The actual changes are:
- onwebkitanimation* handlers moved from DocumentAndElementEventHandlers to GlobalEventHandlers (and were removed from DOMWindow as they are now redundant).
- onrejectionhandled/onunhandledrejection handlers move from GlobalEventHandlers to WindowEventHandlers
Updated results for more existing tests that now pass.
- dom/DocumentAndElementEventHandlers.idl:
- dom/GlobalEventHandlers.idl:
- page/DOMWindow.idl:
- page/WindowEventHandlers.idl:
- workers/WorkerGlobalScope.idl:
LayoutTests:
Update results for more passing tests.
- fast/dom/event-handler-attributes-expected.txt:
- js/dom/dom-static-property-for-in-iteration-expected.txt:
- platform/glib/imported/w3c/web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/gtk/js/dom/dom-static-property-for-in-iteration-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative-expected.txt:
- platform/ios-wk2/js/dom/dom-static-property-for-in-iteration-expected.txt:
- platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative-expected.txt:
- platform/mac-wk2/js/dom/dom-static-property-for-in-iteration-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/wpe/js/dom/dom-static-property-for-in-iteration-expected.txt:
- 8:00 AM Changeset in webkit [267790] by
-
- 5 edits2 moves in trunk/Source/WebCore
[LFC][IFC] Rename LineBreaker to InlineContentBreaker
https://bugs.webkit.org/show_bug.cgi?id=217119
Reviewed by Antti Koivisto.
This class is responsible for breaking inline content.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- layout/inlineformatting/InlineContentBreaker.cpp: Renamed from Source/WebCore/layout/inlineformatting/InlineLineBreaker.cpp.
(WebCore::Layout::isTextContentOnly):
(WebCore::Layout::isVisuallyEmptyWhitespaceContentOnly):
(WebCore::Layout::isNonContentRunsOnly):
(WebCore::Layout::firstTextRunIndex):
(WebCore::Layout::lastContentRunIndex):
(WebCore::Layout::isWrappingAllowed):
(WebCore::Layout::shouldKeepBeginningOfLineWhitespace):
(WebCore::Layout::lastWrapOpportunityIndex):
(WebCore::Layout::InlineContentBreaker::isContentWrappingAllowed const):
(WebCore::Layout::InlineContentBreaker::shouldKeepEndOfLineWhitespace const):
(WebCore::Layout::InlineContentBreaker::processInlineContent):
(WebCore::Layout::InlineContentBreaker::processOverflowingContent const):
(WebCore::Layout::InlineContentBreaker::processOverflowingTextContent const):
(WebCore::Layout::InlineContentBreaker::wordBreakBehavior const):
(WebCore::Layout::InlineContentBreaker::tryBreakingTextRun const):
(WebCore::Layout::InlineContentBreaker::ContinuousContent::append):
(WebCore::Layout::InlineContentBreaker::ContinuousContent::reset):
- layout/inlineformatting/InlineContentBreaker.h: Renamed from Source/WebCore/layout/inlineformatting/InlineLineBreaker.h.
(WebCore::Layout::InlineContentBreaker::ContinuousContent::logicalWidth const):
(WebCore::Layout::InlineContentBreaker::ContinuousContent::logicalLeft const):
(WebCore::Layout::InlineContentBreaker::ContinuousContent::collapsibleLogicalWidth const):
(WebCore::Layout::InlineContentBreaker::ContinuousContent::nonCollapsibleLogicalWidth const):
(WebCore::Layout::InlineContentBreaker::ContinuousContent::hasTrailingCollapsibleContent const):
(WebCore::Layout::InlineContentBreaker::ContinuousContent::isFullyCollapsible const):
(WebCore::Layout::InlineContentBreaker::ContinuousContent::runs const):
(WebCore::Layout::InlineContentBreaker::setHyphenationDisabled):
(WebCore::Layout::InlineContentBreaker::ContinuousContent::Run::Run):
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineCandidate::InlineContent::continuousContent const):
(WebCore::Layout::LineBuilder::placeInlineContent):
(WebCore::Layout::LineBuilder::handleFloatsAndInlineContent):
(WebCore::Layout::LineBuilder::commitPartialContent):
- layout/inlineformatting/InlineLineBuilder.h:
- 7:18 AM Changeset in webkit [267789] by
-
- 2 edits in trunk/Source/WTF
[GTK] Chassis type check fails if the value is quoted
https://bugs.webkit.org/show_bug.cgi?id=217123
Patch by Alexander Mikhaylenko <Alexander Mikhaylenko> on 2020-09-30
Reviewed by Carlos Garcia Campos.
Sometimes the chassis type can be quoted, in this case we'll fail to
parse it and fall back to desktop type. Unquote the string before
attempting to parse it.
- wtf/glib/ChassisType.cpp:
(WTF::readMachineInfoChassisType):
- 7:12 AM Changeset in webkit [267788] by
-
- 26 edits2 adds in trunk
MediaRecorder should support isTypeSupported
https://bugs.webkit.org/show_bug.cgi?id=216856
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/mediacapture-record/MediaRecorder-mimetype-expected.txt:
- web-platform-tests/mediacapture-record/MediaRecorder-peerconnection.https-expected.txt:
- web-platform-tests/mediacapture-record/idlharness.window-expected.txt:
- web-platform-tests/mediacapture-record/passthrough/MediaRecorder-passthrough.https-expected.txt:
- web-platform-tests/mediacapture-record/passthrough/MediaRecorder-passthrough.https.html:
Remove JS console log error line.
Source/WebCore:
Introduce MediaRecorder::isMimeTypeSupported whose result is exposed as MediaRecoder.isTypeSupported.
Cocoa port allows mp4 audio and video mime types, with H264 and AAC codecs.
Add a routine to get the mime type from the MediaRecorderPrivate.
Store it in MediaRecorder and add a mimeType getter.
Test: http/wpt/mediarecorder/mimeType.html
- Modules/mediarecorder/MediaRecorder.cpp:
(WebCore::MediaRecorder::isTypeSupported):
(WebCore::MediaRecorder::create):
- Modules/mediarecorder/MediaRecorder.h:
- Modules/mediarecorder/MediaRecorder.idl:
- Modules/mediarecorder/MediaRecorderProvider.cpp:
(WebCore::MediaRecorderProvider::isSupported):
- Modules/mediarecorder/MediaRecorderProvider.h:
- platform/mediarecorder/MediaRecorderPrivate.cpp:
(WebCore::MediaRecorderPrivate::mimeType const):
- platform/mediarecorder/MediaRecorderPrivate.h:
- platform/mediarecorder/MediaRecorderPrivateAVFImpl.cpp:
(WebCore::MediaRecorderPrivateAVFImpl::fetchData):
- platform/mediarecorder/MediaRecorderPrivateAVFImpl.h:
- platform/mediarecorder/MediaRecorderPrivateMock.cpp:
(WebCore::MediaRecorderPrivateMock::mimeType const):
- platform/mediarecorder/MediaRecorderPrivateMock.h:
- platform/mediastream/MediaStreamPrivate.h:
Source/WebKit:
Stop passing mimeType for each data blob.
Instead, compute it on WebProcess side.
- GPUProcess/webrtc/RemoteMediaRecorder.cpp:
(WebKit::RemoteMediaRecorder::fetchData):
- GPUProcess/webrtc/RemoteMediaRecorder.h:
- GPUProcess/webrtc/RemoteMediaRecorder.messages.in:
- WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
(WebKit::MediaRecorderPrivate::MediaRecorderPrivate):
(WebKit::MediaRecorderPrivate::fetchData):
(WebKit::MediaRecorderPrivate::mimeType const):
- WebProcess/GPU/webrtc/MediaRecorderPrivate.h:
LayoutTests:
- http/wpt/mediarecorder/mimeType-expected.txt: Added.
- http/wpt/mediarecorder/mimeType.html: Added.
- 7:10 AM Changeset in webkit [267787] by
-
- 17 edits4 adds in trunk
[GStreamer] Internal audio rendering support
https://bugs.webkit.org/show_bug.cgi?id=207634
Reviewed by Xabier Rodriguez-Calvar.
.:
- Source/cmake/FindWPEBackend_fdo.cmake: Check for the audio extension header initially
shipped in the 1.8.0 release.
- Source/cmake/GStreamerChecks.cmake: Check and enable external audio rendering support if
the WPEBackend-FDO audio extension was found.
Source/WebCore:
This patch introduces two features regarding audio rendering:
- Internal audio mixing enabled at runtime with the WEBKIT_GST_ENABLE_AUDIO_MIXER=1
environment variable. When this is enabled, the WebProcess will have its GStreamer backends
render to dedicated WebKit audio sinks. Those will forward buffers to a singleton audio
mixer. The resulting audio stream will then be rendered through the default audio sink
(PulseAudio in most cases). Using this approach, applications will maintain a single
connection to the audio daemon.
- For WPE, external audio pass-through. To enable this, the application has to register an
audio receiver using the WPEBackend-FDO wpe_audio_register_receiver() API. When this is
enabled, the WebKit audio sinks running in the WebProcess will forward audio samples to the
UIProcess, using a Wayland protocol defined in the WPEBackend-FDO backend and exposed
through its audio extension. This client-side rendering support allows applications to have
full control on the audio samples rendering.
The Internal mode should be considered a technology preview and can't be enabled by default
yet, because audiomixer lacks some features such as reverse playback support. External audio
rendering policy is covered by a new WPE API test.
- platform/GStreamer.cmake:
- platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer): Create sink depending on
selected audio rendering policy and probe platform for a working audio output device only
when the WebKit custom audio sink hasn't been selected. This is needed only for the
autoaudiosink case.
- platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:
(WebCore::AudioSourceProviderGStreamer::configureAudioBin): Instead of creating a new sink,
embed the one provided by the player into the audio bin. The resulting bin becomes the
player audio sink and it's able to render both to the WebAudio provider and the usual sink, as before.
- platform/audio/gstreamer/AudioSourceProviderGStreamer.h:
- platform/graphics/gstreamer/GStreamerAudioMixer.cpp: Added.
(WebCore::GStreamerAudioMixer::isAllowed): The mixer requires a recent GStreamer version and
the inter plugin (shipped in gst-plugins-bad until version 1.20 at least).
(WebCore::GStreamerAudioMixer::singleton): Entry point for the mixer. This is where the
singleton is created.
(WebCore::GStreamerAudioMixer::GStreamerAudioMixer): Configure the standalone mixer
pipeline.
(WebCore::GStreamerAudioMixer::~GStreamerAudioMixer):
(WebCore::GStreamerAudioMixer::ensureState): Lazily start/stop the mixer, depending on the
number of incoming streams. The pipeline starts when the first incoming stream is connected,
and stops when the last stream disappears.
(WebCore::GStreamerAudioMixer::registerProducer): Client pipelines require an interaudiosink, they
will render to that sink, which internally forwards data to a twin interaudiosrc element,
connected to the audiomixer.
(WebCore::GStreamerAudioMixer::unregisterProducer): Get rid of an interaudiosink and its interaudiosrc.
This is called by the WebKit audio sink when the element is being disposed.
- platform/graphics/gstreamer/GStreamerAudioMixer.h: Added.
- platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::initializeGStreamerAndRegisterWebKitElements): Register new audio sink element.
(WebCore::createPlatformAudioSink): New utility function to create an audio sink based on
the desired and implied runtime rendering policy.
(WebCore::initializeGStreamerAndRegisterWebKitElements):
- platform/graphics/gstreamer/GStreamerCommon.h:
- platform/graphics/gstreamer/GUniquePtrGStreamer.h:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::seek): Drive-by clean-up, no need to create the seek
Mediatime before the early return checking this is a live stream.
(WebCore::setSyncOnClock): Fixup code style in this method.
(WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
(WebCore::MediaPlayerPrivateGStreamer::audioSink const):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
- platform/graphics/gstreamer/WebKitAudioSinkGStreamer.cpp: Added. This sink can either
forward incoming samples to the shared audiomixer running in its own pipeline, or forward
samples to the UIProcess using the WPEBackend-FDO audio extension.
(AudioPacketHolder::AudioPacketHolder): Wrapper around audio buffers, in charge of creating
the corresponding memfd descriptor and also keeping track of the corresponding
wpe_audio_packet_export.
(AudioPacketHolder::~AudioPacketHolder):
(AudioPacketHolder::map): Create the memfd descriptor and return it along with the buffer size.
(webKitAudioSinkHandleSample): Forward incoming samples using the WPEBackend-FDO audio
extension. The wpe_audio_source start is synchronized with the buffer flow.
(webKitAudioSinkConfigure): When internal mixing has been requested, create an
interaudiosink to which samples will be sent. Internally the interaudiosink will forward
data to its interaudiosrc which is connected to the audiomixer. Otherwise, if external
rendering has been requested, create an appsink in order to relay samples to the UIProcess.
(webKitAudioSinkDispose):
(getInternalVolumeObject): When internal mixing is enabled, volume and mute states are
tracked within the audiomixer sink pads. Otherwise our audio sink manages this using a volume
element.
(webKitAudioSinkSetProperty): Proxy volume and mute properties from the internal volume proxy.
(webKitAudioSinkGetProperty): Ditto.
(webKitAudioSinkChangeState): Keep the WPE audio source state synchronized with the element
state, in order to know when the pause/resume notifications should be sent to the UIProcess.
This is also where maintain the relationship between the interaudiosink and the audiomixer, when
it's enabled.
(webkit_audio_sink_class_init):
(webkitAudioSinkNew):
- platform/graphics/gstreamer/WebKitAudioSinkGStreamer.h: Added.
Tools:
- Scripts/webkitpy/style/checker.py: White-list the new audio sink from the style checker.
- TestWebKitAPI/Tests/WebKit/file-with-video.html: New utility functions to pause and seek in the video.
- TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp: WPE test for external audio
rendering support. A video file is loaded through the webview and the test receives
notifications during playback. In order to reduce timeout risks, a seek near the end of the
video is performed early on.
(AudioRenderingWebViewTest::setup):
(AudioRenderingWebViewTest::teardown):
(AudioRenderingWebViewTest::AudioRenderingWebViewTest):
(AudioRenderingWebViewTest::handleStart):
(AudioRenderingWebViewTest::handleStop):
(AudioRenderingWebViewTest::handlePause):
(AudioRenderingWebViewTest::handleResume):
(AudioRenderingWebViewTest::handlePacket):
(AudioRenderingWebViewTest::waitUntilPaused):
(AudioRenderingWebViewTest::waitUntilEOS):
(AudioRenderingWebViewTest::state const):
(beforeAll):
- 6:38 AM Changeset in webkit [267786] by
-
- 5 edits in trunk/Source/WebCore
[LFC][IFC] Merge LineBreaker::CandidateContent and ContinuousContent
https://bugs.webkit.org/show_bug.cgi?id=217113
Reviewed by Antti Koivisto.
This patch simplifies the connection between the LineBuilder and the LineBreaker by using the same structure to track candidate runs.
LineBreaker::CandidateContent is also a continuous content (it has to be) so we can just use this structure in LineCandidate::InlineContent (m_continuousContent)
and pass it in to the LineBreaker when we hit a wrapping opportunity.
- layout/inlineformatting/InlineLineBreaker.cpp:
(WebCore::Layout::isTextContentOnly):
(WebCore::Layout::isVisuallyEmptyWhitespaceContentOnly):
(WebCore::Layout::isNonContentRunsOnly):
(WebCore::Layout::firstTextRunIndex):
(WebCore::Layout::lastContentRunIndex):
(WebCore::Layout::lastWrapOpportunityIndex):
(WebCore::Layout::LineBreaker::isContentWrappingAllowed const):
(WebCore::Layout::LineBreaker::shouldKeepEndOfLineWhitespace const):
(WebCore::Layout::LineBreaker::processInlineContent):
(WebCore::Layout::LineBreaker::processOverflowingContent const):
(WebCore::Layout::LineBreaker::tryBreakingTextRun const):
(WebCore::Layout::LineBreaker::ContinuousContent::append):
(WebCore::Layout::LineBreaker::ContinuousContent::reset):
(WebCore::Layout::ContinuousContent::runs const): Deleted.
(WebCore::Layout::ContinuousContent::isEmpty const): Deleted.
(WebCore::Layout::ContinuousContent::logicalWidth const): Deleted.
(WebCore::Layout::ContinuousContent::logicalLeft const): Deleted.
(WebCore::Layout::ContinuousContent::hasTrailingCollapsibleContent const): Deleted.
(WebCore::Layout::ContinuousContent::isFullyCollapsible const): Deleted.
(WebCore::Layout::ContinuousContent::ContinuousContent): Deleted.
(WebCore::Layout::ContinuousContent::nonCollapsibleLogicalWidth const): Deleted.
(WebCore::Layout::ContinuousContent::hasTextContentOnly const): Deleted.
(WebCore::Layout::ContinuousContent::isVisuallyEmptyWhitespaceContentOnly const): Deleted.
(WebCore::Layout::ContinuousContent::firstTextRunIndex const): Deleted.
(WebCore::Layout::ContinuousContent::lastContentRunIndex const): Deleted.
(WebCore::Layout::ContinuousContent::hasNonContentRunsOnly const): Deleted.
- layout/inlineformatting/InlineLineBreaker.h:
(WebCore::Layout::LineBreaker::ContinuousContent::logicalWidth const):
(WebCore::Layout::LineBreaker::ContinuousContent::logicalLeft const):
(WebCore::Layout::LineBreaker::ContinuousContent::collapsibleLogicalWidth const):
(WebCore::Layout::LineBreaker::ContinuousContent::nonCollapsibleLogicalWidth const):
(WebCore::Layout::LineBreaker::ContinuousContent::hasTrailingCollapsibleContent const):
(WebCore::Layout::LineBreaker::ContinuousContent::isFullyCollapsible const):
(WebCore::Layout::LineBreaker::ContinuousContent::runs const):
(WebCore::Layout::LineBreaker::ContinuousContent::Run::Run):
(WebCore::Layout::LineBreaker::Run::Run): Deleted.
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineCandidate::InlineContent::continuousContent const):
(WebCore::Layout::LineCandidate::InlineContent::appendInlineItem):
(WebCore::Layout::LineCandidate::InlineContent::reset):
(WebCore::Layout::LineCandidate::reset):
(WebCore::Layout::LineBuilder::placeInlineContent):
(WebCore::Layout::LineBuilder::nextContentForLine):
(WebCore::Layout::LineBuilder::handleFloatsAndInlineContent):
(WebCore::Layout::LineBuilder::commitPartialContent):
(WebCore::Layout::LineCandidate::InlineContent::runs const): Deleted.
(WebCore::Layout::LineCandidate::InlineContent::logicalWidth const): Deleted.
(WebCore::Layout::LineCandidate::InlineContent::collapsibleTrailingWidth const): Deleted.
- layout/inlineformatting/InlineLineBuilder.h:
- 5:00 AM Changeset in webkit [267785] by
-
- 3 edits in trunk/Tools
[Flatpak SDK] Bump libwpe and wpebackend-fdo
https://bugs.webkit.org/show_bug.cgi?id=217122
Reviewed by Carlos Garcia Campos.
- buildstream/elements/sdk/libwpe.bst: Bump to 1.8.0 and switch to Meson build system.
- buildstream/elements/sdk/wpebackend-fdo.bst: Bump to 1.9.0 development version and switch
to Meson build system.
- 3:00 AM Changeset in webkit [267784] by
-
- 2 edits in trunk/Tools
Fix assertion in linux_get_crash_log.py using Python 2.7
https://bugs.webkit.org/show_bug.cgi?id=217121
Patch by Nikolas Zimmermann <nzimmermann@igalia.com> on 2020-09-30
Reviewed by Philippe Normand.
Fix assertion in linux_get_crash_log.py using Python 2.7:
worker/6: UnicodeEncodeError(ascii' codec can't encode character u'\u201c' in position 85: ordinal not in range(128)') raised:
Encode data as utf-8 before passing on to communicate().
- Scripts/webkitpy/port/linux_get_crash_log.py:
(GDBCrashLogGenerator.generate_crash_log):
- 12:19 AM Changeset in webkit [267783] by
-
- 26 edits in trunk/Source
Always use OperationPtrTag for all operations and annotate operations in CSS JIT
https://bugs.webkit.org/show_bug.cgi?id=217117
Reviewed by Mark Lam.
Source/JavaScriptCore:
For JIT-caging, we would like to annotate all operations consistently with OperationPtrTag.
This patch replaces B3CCallPtrTag and CSSOperationPtrTag with OperationPtrTag and handle these
operations as Operation in JIT-caging.
We also collect and annotate all the operations called in CSS JIT and define them with JSC_DEFINE_JIT_OPERATION.
- b3/B3LowerMacros.cpp:
- b3/B3LowerMacrosAfterOptimizations.cpp:
- b3/B3MathExtras.cpp:
- b3/B3ReduceLoopStrength.cpp:
(JSC::B3::ReduceLoopStrength::reduceByteCopyLoopsToMemcpy):
- b3/B3ReduceStrength.cpp:
- b3/air/AirCCallSpecial.cpp:
(JSC::B3::Air::CCallSpecial::generate):
- b3/testb3_5.cpp:
(testCallSimple):
(testCallRare):
(testCallRareLive):
(testCallSimplePure):
(testCallFunctionWithHellaArguments):
(testCallFunctionWithHellaArguments2):
(testCallFunctionWithHellaArguments3):
(testCallSimpleDouble):
(testCallSimpleFloat):
(testCallFunctionWithHellaDoubleArguments):
(testCallFunctionWithHellaFloatArguments):
(testLinearScanWithCalleeOnStack):
- b3/testb3_6.cpp:
(testInterpreter):
- b3/testb3_7.cpp:
(testLICMPure):
(testLICMPureSideExits):
(testLICMPureWritesPinned):
(testLICMPureWrites):
(testLICMReadsLocalState):
(testLICMReadsPinned):
(testLICMReads):
(testLICMPureNotBackwardsDominant):
(testLICMPureFoiledByChild):
(testLICMPureNotBackwardsDominantFoiledByChild):
(testLICMExitsSideways):
(testLICMWritesLocalState):
(testLICMWrites):
(testLICMFence):
(testLICMWritesPinned):
(testLICMControlDependent):
(testLICMControlDependentNotBackwardsDominant):
(testLICMControlDependentSideExits):
(testLICMReadsPinnedWritesPinned):
(testLICMReadsWritesDifferentHeaps):
(testLICMReadsWritesOverlappingHeaps):
(testLICMDefaultCall):
(testShuffleDoesntTrashCalleeSaves):
- ftl/FTLOutput.h:
(JSC::FTL::Output::callWithoutSideEffects):
(JSC::FTL::Output::operation):
- runtime/JSCPtrTag.h:
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::emitCCall):
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::addTableGet):
(JSC::Wasm::B3IRGenerator::addTableSet):
(JSC::Wasm::B3IRGenerator::addRefFunc):
(JSC::Wasm::B3IRGenerator::addTableSize):
(JSC::Wasm::B3IRGenerator::addTableGrow):
(JSC::Wasm::B3IRGenerator::addTableFill):
(JSC::Wasm::B3IRGenerator::addGrowMemory):
(JSC::Wasm::B3IRGenerator::setGlobal):
(JSC::Wasm::B3IRGenerator::emitWriteBarrierForJSWrapper):
(JSC::Wasm::B3IRGenerator::addOp<OpType::I32Popcnt>):
(JSC::Wasm::B3IRGenerator::addOp<OpType::I64Popcnt>):
Source/WebCore:
- css/SelectorChecker.cpp:
(WebCore::isFrameFocused): Deleted.
(WebCore::doesShadowTreeContainFocusedElement): Deleted.
(WebCore::SelectorChecker::matchesFocusPseudoClass): Deleted.
(WebCore::SelectorChecker::matchesDirectFocusPseudoClass): Deleted.
- css/SelectorChecker.h:
- css/SelectorCheckerTestFunctions.h:
(WebCore::isFrameFocused):
(WebCore::matchesDirectFocusPseudoClass):
(WebCore::doesShadowTreeContainFocusedElement):
(WebCore::matchesFocusPseudoClass):
- cssjit/CSSPtrTag.h:
- cssjit/FunctionCall.h:
(WebCore::FunctionCall::FunctionCall):
(WebCore::FunctionCall::setFunctionAddress):
(WebCore::FunctionCall::prepareAndCall):
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::JSC_DEFINE_JIT_OPERATION):
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAddStyleRelation):
(WebCore::SelectorCompiler::SelectorCodeGenerator::modulo):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSynchronizeStyleAttribute):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSynchronizeAllAnimatedSVGAttribute):
(WebCore::SelectorCompiler::attributeValueSpaceSeparatedListContains):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueExactMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeFunctionCallValueMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementFunctionCallTest):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsActive):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsHovered):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsInLanguage):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPlaceholderShown):
(WebCore::SelectorCompiler::SelectorFragment::appendUnoptimizedPseudoClassWithContext): Deleted.
(WebCore::SelectorCompiler::addStyleRelationFunction): Deleted.
(WebCore::SelectorCompiler::moduloHelper): Deleted.
(WebCore::SelectorCompiler::attributeValueSpaceSeparetedListContains): Deleted.
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateContextFunctionCallTest): Deleted.
(WebCore::SelectorCompiler::elementIsActive): Deleted.
(WebCore::SelectorCompiler::elementIsHovered): Deleted.
(WebCore::SelectorCompiler::makeContextStyleUniqueIfNecessaryAndTestIsPlaceholderShown): Deleted.
(WebCore::SelectorCompiler::isPlaceholderShown): Deleted.
- dom/StyledElement.cpp:
(WebCore::StyledElement::synchronizeStyleAttributeInternalImpl):
(WebCore::StyledElement::synchronizeStyleAttributeInternal): Deleted.
- dom/StyledElement.h:
(WebCore::StyledElement::synchronizeStyleAttributeInternal const):
- style/ElementRuleCollector.cpp:
(WebCore::Style::ElementRuleCollector::collectMatchingRules):
- svg/SVGElement.cpp:
(WebCore::SVGElement::synchronizeAllAnimatedSVGAttribute): Deleted.
- svg/SVGElement.h:
- 12:02 AM Changeset in webkit [267782] by
-
- 10 edits in trunk/Source
[GPU Process] Remove FontHandle
https://bugs.webkit.org/show_bug.cgi?id=217076
Reviewed by Wenson Hsieh.
Source/WebCore:
The only reason FontHandle exists is to be an internally-nullable wrapper around WebCore::Font.
However, this codepath is only ever invoked with non-null fonts, so there's no point in having
this wrapper. This patch replaces it with just Ref<Font>.
No new tests because there is no behavior change.
- WebCore.xcodeproj/project.pbxproj:
- loader/cache/CachedFont.h:
- platform/graphics/Font.cpp:
(WebCore::FontHandle::FontHandle): Deleted.
- platform/graphics/Font.h:
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::DrawGlyphs::encode const):
(WebCore::DisplayList::DrawGlyphs::decode):
- platform/graphics/mac/FontCustomPlatformData.h:
Source/WebKit:
- Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
(IPC::ArgumentCoder<Ref<Font>>::encodePlatformData):
(IPC::ArgumentCoder<Ref<Font>>::decodePlatformData):
(IPC::ArgumentCoder<FontHandle>::encodePlatformData): Deleted.
(IPC::ArgumentCoder<FontHandle>::decodePlatformData): Deleted.
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<Ref<Font>>::encode):
(IPC::createFont):
(IPC::ArgumentCoder<Ref<Font>>::decode):
(IPC::ArgumentCoder<FontHandle>::encode): Deleted.
(IPC::ArgumentCoder<FontHandle>::decode): Deleted.
- Shared/WebCoreArgumentCoders.h:
Sep 29, 2020:
- 10:56 PM Changeset in webkit [267781] by
-
- 9 edits2 copies in trunk/Source/WebCore
[LFC Display] Basic text display
https://bugs.webkit.org/show_bug.cgi?id=217120
Reviewed by Zalan Bujtas.
Add basic text painting to LFC display. Display::TextBox() represents a run of text.
Display::TreeBuilder gains code to build the inline tree by traversing runs, and
CSSPainter gets the ability to paint text boxes.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- display/DisplayTreeBuilder.cpp:
(WebCore::Display::TreeBuilder::buildInlineDisplayTree const):
(WebCore::Display::TreeBuilder::recursiveBuildDisplayTree const):
(WebCore::Display::outputDisplayBox):
- display/DisplayTreeBuilder.h:
- display/css/DisplayBox.h:
(WebCore::Display::Box::isTextBox const):
- display/css/DisplayCSSPainter.cpp:
(WebCore::Display::CSSPainter::paintBoxContent):
- display/css/DisplayStyle.cpp:
(WebCore::Display::Style::Style):
(WebCore::Display::Style::autoWrap const):
(WebCore::Display::Style::preserveNewline const):
(WebCore::Display::Style::collapseWhiteSpace const):
- display/css/DisplayStyle.h:
(WebCore::Display::Style::color const):
(WebCore::Display::Style::fontCascade const):
(WebCore::Display::Style::fontMetrics const):
(WebCore::Display::Style::whiteSpace const):
(WebCore::Display::Style::tabSize const):
- display/css/DisplayTextBox.cpp: Copied from Source/WebCore/display/DisplayTreeBuilder.h.
(WebCore::Display::TextBox::TextBox):
(WebCore::Display::m_text):
(WebCore::Display::TextBox::debugDescription const):
- display/css/DisplayTextBox.h: Copied from Source/WebCore/display/DisplayTreeBuilder.h.
(WebCore::Display::TextBox::expansion const):
(WebCore::Display::TextBox::text const):
- 8:27 PM Changeset in webkit [267780] by
-
- 2 edits in trunk/Source/WebCore
We should avoid making connections to the GPU Process during garbage collection
https://bugs.webkit.org/show_bug.cgi?id=217112
Reviewed by Tim Horton.
Currently, it's possible to establish a connection to the GPU process from the web content process in the middle
of garbage collection. This may occur if GC occurs after a canvas element and its image buffer has been created,
but before the image buffer has initialized its backend (which, in the case of using the GPU process for
rendering, is a RemoteRenderingBackend). While estimating memory cost for the canvas element, if a remote
rendering backend has not been created yet, we end up creating it underneathensureBackendCreated()
, and
subsequently block the web process until the GPU process is finished creating the proxy rendering backend.
When running layout tests in
fast/canvas
, this causes some layout tests to occasionally hit assertions under
RemoteImageBufferMessageHandler::waitForCreateImageBufferBackend
, due to accessingm_remoteRenderingBackend
(a weak pointer).
To fix this, in the case where the image buffer does not yet have a rendering backend, we should simply return 0
instead of telling the GPU process to allocate the actual image buffer and then returning a non-zero cost.
- platform/graphics/ConcreteImageBuffer.h:
- 8:17 PM Changeset in webkit [267779] by
-
- 5 edits2 adds in trunk
Crash while loading a confluence page
https://bugs.webkit.org/show_bug.cgi?id=217111
Reviewed by Wenson Hsieh.
Source/WebCore:
The crash was caused by MutationObserver::disconnect attempting to unregister
a MutationObserverRegistration from a Node after it had already been removed once.
This happens when MutationObserverRegistration remains in MutationObserver
when there is an ongoing transient mutation observation.
Fixed the bug by setting a boolean MutationObserverRegistration when we've stopped
the observation in MutationObserverRegistration::stopObserving and not unregistering it
in subsequent calls to MutationObserver::disconnect.
Test: fast/dom/MutationObserver/disconnect-twice.html
- dom/MutationObserver.cpp:
(WebCore::MutationObserver::disconnect):
- dom/MutationObserverRegistration.cpp:
(WebCore::MutationObserverRegistration::stopObserving): Added.
- dom/MutationObserverRegistration.h:
LayoutTests:
Added a regression test.
- fast/dom/MutationObserver/disconnect-twice-expected.txt: Added.
- fast/dom/MutationObserver/disconnect-twice.html: Added.
- 7:45 PM Changeset in webkit [267778] by
-
- 3 edits in trunk/LayoutTests
REGRESSION(r267402): [ macOS iOS Release ] imported/w3c/web-platform-tests/user-timing/measure-l3.any.worker.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=217118
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 6:59 PM Changeset in webkit [267777] by
-
- 18 edits in trunk/Source/WebCore
[WebGPU] Add platform guards
https://bugs.webkit.org/show_bug.cgi?id=217095
Reviewed by Darin Adler.
Add platform guards around Apple specific implementations. The WebGPU implementation
on Apple platforms is guarded by USE(METAL). Additionally guard uses of the WHLSL
compiler.
No new tests. No change in behavior.
- Modules/webgpu/GPUCanvasContext.cpp:
(WebCore::GPUCanvasContext::platformLayer const):
- platform/graphics/gpu/GPUBindGroup.h:
- platform/graphics/gpu/GPUBindGroupAllocator.h:
- platform/graphics/gpu/GPUBindGroupLayout.h:
- platform/graphics/gpu/GPUBuffer.h:
- platform/graphics/gpu/GPUCommandBuffer.h:
- platform/graphics/gpu/GPUComputePassEncoder.h:
- platform/graphics/gpu/GPUComputePipeline.h:
- platform/graphics/gpu/GPUDevice.h:
- platform/graphics/gpu/GPUProgrammablePassEncoder.h:
- platform/graphics/gpu/GPUQueue.h:
- platform/graphics/gpu/GPURenderPassEncoder.h:
- platform/graphics/gpu/GPURenderPipeline.h:
- platform/graphics/gpu/GPUSampler.h:
- platform/graphics/gpu/GPUShaderModule.h:
- platform/graphics/gpu/GPUSwapChain.h:
- platform/graphics/gpu/GPUTexture.h:
- 6:37 PM Changeset in webkit [267776] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: [ iOS release wk2 ] compositing/debug-borders-dynamic.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=217114
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 6:29 PM Changeset in webkit [267775] by
-
- 22 edits5 deletes in trunk/Source
[Preferences] Adopt shared preferences configuration and script in WebKit
https://bugs.webkit.org/show_bug.cgi?id=217075
Reviewed by Darin Adler.
Source/WebKit:
- Shared/WebPreferences.yaml: Removed.
- Shared/WebPreferencesDebug.yaml: Removed.
- Shared/WebPreferencesExperimental.yaml: Removed.
- Shared/WebPreferencesInternal.yaml: Removed.
- Scripts/GeneratePreferences.rb: Removed.
- WebKit.xcodeproj/project.pbxproj:
Remove yaml preferences and preference generator in favor of shared one
in WTF.
- CMakeLists.txt:
- DerivedSources.make:
Update preference generation to use the shared script and preference files.
- Configurations/BaseTarget.xcconfig:
Add new variable, WTF_BUILD_SCRIPTS_DIR, that points to directory where the
shared generator and preference files live for use as input to the generation.
- DerivedSources-input.xcfilelist:
Update for new location of script and preference files.
- Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb:
- Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.cpp.erb:
- Scripts/PreferencesTemplates/WebPreferencesInternalDebugFeatures.cpp.erb:
- Scripts/PreferencesTemplates/WebPreferencesStoreDefaultsMap.cpp.erb:
Port support for multiple conditionally-defined defaultValues from WebKitLegacy,
keeping the same DEFAULT_VALUE_FOR_* macro naming and using the macro definitions
in place of existing <%= @pref.defaultValue %> idiom. Also updates for rename
from @internalDebugFeatures to @internalFeatures.
- Shared/WebPreferencesDefaultValues.cpp:
- Shared/WebPreferencesDefaultValues.h:
Remove defaults that are now fully specified in the preference files.
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
Replace removed DEFAULT_APPLE_PAY_ENABLED, with the now generated DEFAULT_VALUE_FOR_ApplePayEnabled.
Source/WebKitLegacy/mac:
- Scripts/generate-preferences.sh:
Update to account for new interface requiring the full path to each template.
Source/WTF:
- Scripts/GeneratePreferences.rb:
Simplify input by passing the templates as complete paths, rather than by name + template directory.
- Scripts/Preferences/WebPreferences.yaml:
- Scripts/Preferences/WebPreferencesDebug.yaml:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- Scripts/Preferences/WebPreferencesInternal.yaml:
Fix some mistakes / things left out to make WebKit defaults and names match current WebKit names and defaults.
- wtf/CMakeLists.txt:
Copy all the preferences and scripts into WTF_SCRIPTS_DIR so it can be accessed by WebKit.
- 6:05 PM Changeset in webkit [267774] by
-
- 2 edits in trunk/Tools
Modify END_AX_OBJC_EXCEPTIONS macro to assert to aid debugging of layout tests.
https://bugs.webkit.org/show_bug.cgi?id=217096
Reviewed by Chris Fleizach.
ASSERT_NOT_REACHED on thrown exceptions. This will tell us immediately
the location of a failure instead of silently swallowing the exception
and posibly causing a hang/timeout much harder to find after the fact.
- WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.h:
- 5:13 PM Changeset in webkit [267773] by
-
- 4 edits in trunk/Source/WebCore
Fullscreen mode on mlb.com shows white letterboxing when video aspect ratio does not match screen
https://bugs.webkit.org/show_bug.cgi?id=217060
<rdar://problem/68936043>
Reviewed by Darin Adler.
Add a Quirk which sets the background color of fullscreen elements on mlb.com to black.
- page/Quirks.cpp:
(WebCore::Quirks::needsBlackFullscreenBackgroundQuirk const):
- page/Quirks.h:
- style/UserAgentStyle.cpp:
(WebCore::Style::UserAgentStyle::ensureDefaultStyleSheetsForElement):
- 4:38 PM Changeset in webkit [267772] by
-
- 2 edits in trunk/Source/WebKit
[GPU Process] RemoteImageBufferProxy should ensure the state stack of the context is cleared before destruction
https://bugs.webkit.org/show_bug.cgi?id=208876
Reviewed by Tim Horton.
When running canvas layout tests in debug WebKit, the assertion in
~GraphicsContext()
which verifies that
m_stack.isEmpty()
fires. This occurs because the matching call to restore may still be buffered in the web
process when the remote image buffer proxy in the GPU process is destroyed; however, this may also occur if the
web process terminates without having sent the matching calls to restore the graphics context.
We can fix both of these scenarios by manually unwinding the context's state stack when destroying the
RemoteImageBufferProxy
. Original patch by Said Abou-Hallawa.
- GPUProcess/graphics/RemoteImageBufferProxy.h:
(WebKit::RemoteImageBufferProxy::~RemoteImageBufferProxy):
- 4:35 PM Changeset in webkit [267771] by
-
- 2 edits1 add in trunk
[CMake][WebGPU] Add FindDawn module
https://bugs.webkit.org/show_bug.cgi?id=217097
Reviewed by Darin Adler.
Add a FindDawn CMake module to use for a WebGPU implementation on non-Cocoa platforms.
If ENABLE_WEBGPU is on for WinCairo it will attempt to detect Dawn.
- Source/cmake/FindDawn.cmake: Added.
- Source/cmake/OptionsWinCairo.cmake:
- 4:31 PM Changeset in webkit [267770] by
-
- 3 edits in trunk/Source/ThirdParty/ANGLE
Fix EXT_color_buffer_half_float on iOS
https://bugs.webkit.org/show_bug.cgi?id=217107
Reviewed by Kenneth Russell.
- src/libANGLE/Context.cpp:
(gl::Context::generateSupportedExtensions const):
- src/libANGLE/renderer/gl/renderergl_utils.cpp:
(rx::nativegl_gl::GenerateTextureFormatCaps):
- 4:24 PM Changeset in webkit [267769] by
-
- 2 edits in trunk/Source/WebCore
[Media in GPU Process] Use VideoLayerManager to manage layers of MediaPlayerPrivateRemote
https://bugs.webkit.org/show_bug.cgi?id=216995
Reviewed by Wenson Hsieh.
A follow-up patch to remove WEBCORE_EXPORT of the VideoLayerManagerObjC constructor.
The constructor is inline, so it does not require WEBCORE_EXPORT.
- platform/graphics/avfoundation/objc/VideoLayerManagerObjC.h:
(WebCore::VideoLayerManagerObjC::VideoLayerManagerObjC):
- 3:57 PM Changeset in webkit [267768] by
-
- 3 edits in trunk/Source/WebKit
[PlayStation] Build fix for GPU Process after r267725
https://bugs.webkit.org/show_bug.cgi?id=217098
Unreviewed build fix.
Update playstation specific code for signature changes in the above.
Fix MediaPlayerPrivateRemote constructor when RELEASE_LOG_DISABLED was specified.
- GPUProcess/media/playstation/RemoteMediaPlayerProxyPlayStation.cpp:
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
- 3:04 PM Changeset in webkit [267767] by
-
- 3 edits in branches/safari-611.1.2-branch/Source/WebKitLegacy/mac
Cherry-pick r267756. rdar://problem/69765230
Unreviewed, reverting r267397.
SPI is still used <rdar://problem/69749992>
Reverted changeset:
"Remove deprecated script and stylesheet injection SPI,
replaced with more inclusively-named SPI"
https://bugs.webkit.org/show_bug.cgi?id=214936
https://trac.webkit.org/changeset/267397
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267756 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:52 PM Changeset in webkit [267766] by
-
- 9 edits in trunk
CSS serialization expects comments between certain tokens
https://bugs.webkit.org/show_bug.cgi?id=216947
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
The serialize-consecutive-tokens test now passes as expected. We fail the anplusb-selector-parsing
test because we considern-b
to be a DimensionToken followed by a NumberToken but this is incorrect.
I'll fix that test in a follow up patch.
- web-platform-tests/css/css-syntax/serialize-consecutive-tokens-expected.txt:
- web-platform-tests/css/selectors/anplusb-selector-parsing-expected.txt:
Source/WebCore:
This patch brings us up to spec on inserting comments while
serializing CSS tokens. The spec says that we should always be
able to round trip a serialized output. Weirdly, for reasons I
don't understand, the spec requires a comment rather than
whitespace so that's what this patch does. Since there are 32
token types building a table for every combination would have been
massive. Instead, this patch uses a constexpr function to generate
the table for the set of next (non-delimiter) tokens that require
a separating comment. This makes it a bit more readable while,
hopefully, not sacrificing too much performance. For delimiters
requiring separating comments, we check for those in a helper
lambda after checking the token table.
- css/parser/CSSParserToken.cpp:
(WebCore::buildNextTokenNeedsCommentTable):
(WebCore::CSSParserToken::serialize const):
- css/parser/CSSParserToken.h:
- css/parser/CSSParserTokenRange.cpp:
(WebCore::CSSParserTokenRange::serialize const):
LayoutTests:
Rebasline CSS tests for better serialization. The css-selectorText
test produces different output since we tokenize the <an-plus-b>
syntax incorrectly. I don't know if this means we evaluate it
incorrectly, however. In a follow up patch I will fix the the
tokenization issue so the comments will no longer appear.
- fast/dom/css-selectorText-expected.txt:
- 2:51 PM Changeset in webkit [267765] by
-
- 11 edits677 adds363 deletes in trunk/JSTests
Update test262 (2020.09.29)
https://bugs.webkit.org/show_bug.cgi?id=217102
Reviewed by Darin Adler.
- .gitattributes:
- test262/config.yaml:
- test262/expectations.yaml:
- test262/latest-changes-summary.txt:
- test262/test/:
- test262/test262-Revision.txt:
- 2:50 PM Changeset in webkit [267764] by
-
- 4 edits in trunk
[watchOS] AVKitSPI build fixes
https://bugs.webkit.org/show_bug.cgi?id=217070
<rdar://problem/69724883>
Rubber-stamped by Eric Carlson.
Source/WebCore/PAL:
- pal/spi/cocoa/AVKitSPI.h: Explicitly import AVPlayer.h and UIKit.h.
Tools:
- Scripts/configure-xcode-for-embedded-development: Copy AVKit headers for watchOS.
- 2:43 PM Changeset in webkit [267763] by
-
- 88 edits in trunk
Move NetworkProcessProxy ownership from WebProcessPool to WebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=216041
Reviewed by Brady Eidson.
Source/WebKit:
This patch moves the things on WebProcessPool associated with NetworkProcessProxy ownership and moves them
to WebsiteDataStore. It's pretty mechanical, but it reaches its fingers into a lot of things. Some comments
on interesting parts are below.
Why am I doing this? I'm glad you asked.
WKWebView had a fundamental cookie problem before this change. It had a WKWebsiteDataStore that could point to a cookie store on disk
that could be used in multiple network processes at the same time. This led to problems with cookies being received over the network
in those different processes being unable to be shared until they were written to disk, something that does not happen immediately, especially
on iOS. This problem is even worse with session cookies, which should be kept in memory and never be written to disk. Those processes
did not use shared memory to share the cookies. They just didn't share them, which led to cookie incorrectness. This was unfortunately
the default configuration if you call [[WKWebView alloc] init] more than once, which many developers do. There was also occasional cookie
corruption and loss from multiple processes writing cookies to the same file. All these problems can be worked around by doing what Safari does:
manually setting the WKProcessPool of all WKWebViewConfigurations to the same process pool to only use one network process. This is not intuitive
or well documented, and even though I have spent the majority of WWDC labs for the last 3 years telling developers to do it, most developers do not.
The default behavior should not lead to cookie incorrectness, corruption, or loss. This accomplishes that.
A bigger problem that can't really be worked around well is what we were doing in our WKHTTPCookieStore API. Many developers call setCookie:completionHandler:
to "log in" the user by setting a cookie, then in the completion handler, they open a WKWebView to their page and expect the cookie to be sent. Before this
change, we would not know which process pool to set the cookie in so we would guess. If there were no process pools, we would start writing to disk and hope
it writes fast enough. We can't wait for it to complete because it causes hangs like rdar://problem/66961066. This solution allows to start the network
process of that WebsiteDataStore and set the cookie in that process. We now know that is the only process this WebsiteDataStore will ever use. Now, users
will be able to actually be logged in all the time in such apps.
- NetworkProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::setHTTPCookieAcceptPolicy):
(WebKit::WebCookieManager::getHTTPCookieAcceptPolicy):
- NetworkProcess/Cookies/WebCookieManager.h:
- NetworkProcess/Cookies/WebCookieManager.messages.in:
- NetworkProcess/Cookies/curl/WebCookieManagerCurl.cpp:
(WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
- NetworkProcess/Cookies/mac/WebCookieManagerMac.mm:
(WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
- NetworkProcess/Cookies/soup/WebCookieManagerSoup.cpp:
(WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::ensureSession):
(WebKit::NetworkProcess::storageSession const):
(WebKit::NetworkProcess::forEachNetworkStorageSession):
(WebKit::NetworkProcess::defaultStorageSession const): Deleted.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
- NetworkProcess/NetworkProcessCreationParameters.h:
- NetworkProcess/WebStorage/LocalStorageDatabase.cpp:
(WebKit::LocalStorageDatabase::close):
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
(WebKit::saveCookies):
(WebKit::NetworkProcess::platformCreateDefaultStorageSession const): Deleted.
- NetworkProcess/curl/NetworkProcessCurl.cpp:
(WebKit::NetworkProcess::platformCreateDefaultStorageSession const): Deleted.
- NetworkProcess/mac/RemoteNetworkingContext.mm:
(WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession):
- NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::platformCreateDefaultStorageSession const): Deleted.
- Platform/IPC/Attachment.h:
- Shared/WebsiteDataStoreParameters.cpp:
(WebKit::WebsiteDataStoreParameters::encode const):
(WebKit::WebsiteDataStoreParameters::decode):
- Shared/WebsiteDataStoreParameters.h:
- UIProcess/API/APIHTTPCookieStore.cpp:
(API::HTTPCookieStore::HTTPCookieStore):
(API::HTTPCookieStore::~HTTPCookieStore):
(API::HTTPCookieStore::cookies):
(API::HTTPCookieStore::cookiesForURL):
(API::HTTPCookieStore::setCookies):
(API::HTTPCookieStore::deleteCookie):
(API::HTTPCookieStore::deleteAllCookies):
(API::HTTPCookieStore::setHTTPCookieAcceptPolicy):
(API::HTTPCookieStore::registerObserver):
(API::HTTPCookieStore::cookieManagerDestroyed):
(API::HTTPCookieStore::registerForNewProcessPoolNotifications): Deleted.
(API::HTTPCookieStore::unregisterForNewProcessPoolNotifications): Deleted.
- UIProcess/API/APIHTTPCookieStore.h:
- UIProcess/API/C/WKContext.cpp:
(WKContextSetUseSeparateServiceWorkerProcess):
(WKContextSetPrimaryWebsiteDataStore):
(WKContextGetCookieManager): Deleted.
(WKContextSetAllowsAnySSLCertificateForServiceWorkerTesting): Deleted.
(WKContextTerminateNetworkProcess): Deleted.
(WKContextGetNetworkProcessIdentifier): Deleted.
- UIProcess/API/C/WKContext.h:
- UIProcess/API/C/WKContextPrivate.h:
- UIProcess/API/C/WKPage.cpp:
(WKPageGetWebsiteDataStore):
- UIProcess/API/C/WKPage.h:
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreTerminateNetworkProcess):
(WKWebsiteDataStoreGetNetworkProcessIdentifier):
- UIProcess/API/C/WKWebsiteDataStoreRef.h:
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _setUseSeparateServiceWorkerProcess:]):
(-[WKProcessPool _terminateNetworkProcess]): Deleted.
(-[WKProcessPool _sendNetworkProcessWillSuspendImminently]): Deleted.
(-[WKProcessPool _sendNetworkProcessPrepareToSuspend:]): Deleted.
(-[WKProcessPool _sendNetworkProcessDidResume]): Deleted.
(-[WKProcessPool _networkProcessIdentifier]): Deleted.
(-[WKProcessPool _makeNextNetworkProcessLaunchFailForTesting]): Deleted.
(-[WKProcessPool _synthesizeAppIsBackground:]): Deleted.
(-[WKProcessPool _setAllowsAnySSLCertificateForServiceWorker:]): Deleted.
(-[WKProcessPool _networkProcessHasEntitlementForTesting:]): Deleted.
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _networkProcessHasEntitlementForTesting:]):
(-[WKWebsiteDataStore _terminateNetworkProcess]):
(-[WKWebsiteDataStore _sendNetworkProcessPrepareToSuspend:]):
(-[WKWebsiteDataStore _sendNetworkProcessWillSuspendImminently]):
(-[WKWebsiteDataStore _sendNetworkProcessDidResume]):
(-[WKWebsiteDataStore _synthesizeAppIsBackground:]):
(-[WKWebsiteDataStore _networkProcessIdentifier]):
(+[WKWebsiteDataStore _makeNextNetworkProcessLaunchFailForTesting]):
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/API/glib/WebKitCookieManager.cpp:
(_WebKitCookieManagerPrivate::cookieManager const):
(_WebKitCookieManagerPrivate::~_WebKitCookieManagerPrivate):
(webkitCookieManagerCreate):
(webkit_cookie_manager_set_persistent_storage):
(webkit_cookie_manager_set_accept_policy):
(webkit_cookie_manager_get_accept_policy):
(webkit_cookie_manager_add_cookie):
(webkit_cookie_manager_get_cookies):
(webkit_cookie_manager_delete_cookie):
- UIProcess/API/glib/WebKitWebContext.cpp:
(webkitWebContextConstructed):
(webkit_web_context_prefetch_dns):
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::addSingleCookie):
(WebKit::WebAutomationSession::deleteAllCookies):
- UIProcess/AuxiliaryProcessProxy.h:
- UIProcess/Cocoa/LegacyCustomProtocolManagerClient.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::updateProcessSuppressionState):
(WebKit::WebProcessPool::platformInitialize):
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
(WebKit::WebProcessPool::networkProcessHasEntitlementForTesting): Deleted.
(WebKit::WebProcessPool::xpcEndpointMessage const): Deleted.
(WebKit::WebProcessPool::sendNetworkProcessXPCEndpointToWebProcess): Deleted.
- UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::cancel):
(WebKit::DownloadProxy::publishProgress):
(WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
(WebKit::DownloadProxy::willSendRequest):
(WebKit::DownloadProxy::decideDestinationWithSuggestedFilenameAsync):
- UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::DownloadProxyMap):
(WebKit::DownloadProxyMap::applicationDidEnterBackground):
(WebKit::DownloadProxyMap::applicationWillEnterForeground):
(WebKit::DownloadProxyMap::createDownloadProxy):
(WebKit::DownloadProxyMap::downloadFinished):
(WebKit::DownloadProxyMap::invalidate):
- UIProcess/Downloads/DownloadProxyMap.h:
- UIProcess/Network/CustomProtocols/LegacyCustomProtocolManagerProxy.cpp:
(WebKit::LegacyCustomProtocolManagerProxy::startLoading):
(WebKit::LegacyCustomProtocolManagerProxy::stopLoading):
(WebKit::LegacyCustomProtocolManagerProxy::invalidate):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::allNetworkProcesses):
(WebKit::defaultProcess):
(WebKit::NetworkProcessProxy::defaultNetworkProcess):
(WebKit::NetworkProcessProxy::terminate):
(WebKit::NetworkProcessProxy::didTerminate):
(WebKit::NetworkProcessProxy::sendCreationParametersToNewProcess):
(WebKit::anyProcessPoolAlwaysRunsAtBackgroundPriority):
(WebKit::anyProcessPoolShouldTakeUIBackgroundAssertion):
(WebKit::NetworkProcessProxy::NetworkProcessProxy):
(WebKit::NetworkProcessProxy::~NetworkProcessProxy):
(WebKit::NetworkProcessProxy::getLaunchOptions):
(WebKit::NetworkProcessProxy::createDownloadProxy):
(WebKit::NetworkProcessProxy::networkProcessCrashed):
(WebKit::NetworkProcessProxy::didReceiveMessage):
(WebKit::NetworkProcessProxy::didClose):
(WebKit::NetworkProcessProxy::didReceiveAuthenticationChallenge):
(WebKit::NetworkProcessProxy::didFinishLaunching):
(WebKit::NetworkProcessProxy::setDomainsWithUserInteraction):
(WebKit::NetworkProcessProxy::addSession):
(WebKit::NetworkProcessProxy::removeSession):
(WebKit::NetworkProcessProxy::websiteDataStoreFromSessionID):
(WebKit::NetworkProcessProxy::establishWorkerContextConnectionToNetworkProcess):
(WebKit::anyProcessPoolHasForegroundWebProcesses):
(WebKit::anyProcessPoolHasBackgroundWebProcesses):
(WebKit::NetworkProcessProxy::updateProcessAssertion):
(WebKit::NetworkProcessProxy::hasSession const): Deleted.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxyCocoa.mm:
(WebKit::NetworkProcessProxy::XPCEventHandler::handleXPCEvent const):
- UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
(WebKit::WebCookieManagerProxy::~WebCookieManagerProxy):
(WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
(WebKit::WebCookieManagerProxy::deleteCookiesForHostnames):
(WebKit::WebCookieManagerProxy::deleteAllCookies):
(WebKit::WebCookieManagerProxy::deleteCookie):
(WebKit::WebCookieManagerProxy::deleteAllCookiesModifiedSince):
(WebKit::WebCookieManagerProxy::setCookies):
(WebKit::WebCookieManagerProxy::getAllCookies):
(WebKit::WebCookieManagerProxy::getCookies):
(WebKit::WebCookieManagerProxy::startObservingCookieChanges):
(WebKit::WebCookieManagerProxy::stopObservingCookieChanges):
(WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
(WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
(WebKit::WebCookieManagerProxy::supplementName): Deleted.
(WebKit::WebCookieManagerProxy::create): Deleted.
(WebKit::WebCookieManagerProxy::processPoolDestroyed): Deleted.
(WebKit::WebCookieManagerProxy::processDidClose): Deleted.
(WebKit::WebCookieManagerProxy::refWebContextSupplement): Deleted.
(WebKit::WebCookieManagerProxy::derefWebContextSupplement): Deleted.
- UIProcess/WebCookieManagerProxy.h:
(WebKit::WebCookieManagerProxy::create):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setControlledByAutomation):
(WebKit::WebPageProxy::disableServiceWorkerEntitlementInNetworkProcess):
(WebKit::WebPageProxy::clearServiceWorkerEntitlementOverride):
(WebKit::WebPageProxy::preconnectTo):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::logFrameNavigation):
(WebKit::WebPageProxy::dumpAdClickAttribution):
(WebKit::WebPageProxy::clearAdClickAttribution):
(WebKit::WebPageProxy::setAdClickAttributionOverrideTimerForTesting):
(WebKit::WebPageProxy::setAdClickAttributionConversionURLForTesting):
(WebKit::WebPageProxy::markAdClickAttributionsAsExpiredForTesting):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::urlSchemesWithCustomProtocolHandlers):
(WebKit::WebProcessPool::WebProcessPool):
(WebKit::WebProcessPool::~WebProcessPool):
(WebKit::WebProcessPool::languageChanged):
(WebKit::WebProcessPool::sendMemoryPressureEvent):
(WebKit::WebProcessPool::networkProcessCrashed):
(WebKit::WebProcessPool::establishWorkerContextConnectionToNetworkProcess):
(WebKit::WebProcessPool::removeFromServiceWorkerProcesses):
(WebKit::WebProcessPool::tryTakePrewarmedProcess):
(WebKit::WebProcessPool::initializeNewWebProcess):
(WebKit::WebProcessPool::processDidFinishLaunching):
(WebKit::WebProcessPool::createWebPage):
(WebKit::WebProcessPool::updateServiceWorkerUserAgent):
(WebKit::WebProcessPool::pageBeginUsingWebsiteDataStore):
(WebKit::WebProcessPool::download):
(WebKit::WebProcessPool::resumeDownload):
(WebKit::WebProcessPool::registerURLSchemeAsSecure):
(WebKit::WebProcessPool::registerURLSchemeAsBypassingContentSecurityPolicy):
(WebKit::WebProcessPool::registerURLSchemeAsLocal):
(WebKit::WebProcessPool::registerURLSchemeAsNoAccess):
(WebKit::WebProcessPool::registerGlobalURLSchemeAsHavingCustomProtocolHandlers):
(WebKit::WebProcessPool::unregisterGlobalURLSchemeAsHavingCustomProtocolHandlers):
(WebKit::WebProcessPool::setCacheModel):
(WebKit::WebProcessPool::setCacheModelSynchronouslyForTesting):
(WebKit::WebProcessPool::createDownloadProxy):
(WebKit::WebProcessPool::terminateServiceWorkers):
(WebKit::WebProcessPool::serviceWorkerProcesses):
(WebKit::WebProcessPool::updateProcessAssertions):
(WebKit::WebProcessPool::isServiceWorkerPageID const):
(WebKit::WebProcessPool::setUseSeparateServiceWorkerProcess):
(WebKit::WebProcessPool::hasServiceWorkerForegroundActivityForTesting const):
(WebKit::WebProcessPool::hasServiceWorkerBackgroundActivityForTesting const):
(WebKit::WebProcessPool::setLegacyCustomProtocolManagerClient): Deleted.
(WebKit::WebProcessPool::networkingProcessConnection): Deleted.
(WebKit::WebProcessPool::ensureNetworkProcess): Deleted.
There seems to be a lot of code removal here, but most of it was duplicate code with
WebsiteDataStore::parameters which is used instead. That which was not duplicate was
moved to NetworkProcessProxy::sendCreationParametersToNewProcess. This was the hardest part of this patch.
(WebKit::WebProcessPool::getNetworkProcessConnection): Deleted.
(WebKit::WebProcessPool::networkProcessIdentifier): Deleted.
(WebKit::WebProcessPool::synthesizeAppIsBackground): Deleted.
(WebKit::WebProcessPool::sendSyncToNetworkingProcess): Deleted.
(WebKit::WebProcessPool::clearCachedCredentials): Deleted.
(WebKit::WebProcessPool::terminateNetworkProcess): Deleted.
(WebKit::WebProcessPool::sendNetworkProcessPrepareToSuspendForTesting): Deleted.
(WebKit::WebProcessPool::sendNetworkProcessWillSuspendImminentlyForTesting): Deleted.
(WebKit::WebProcessPool::sendNetworkProcessDidResume): Deleted.
(WebKit::WebProcessPool::flushCookies): Deleted.
(WebKit::WebProcessPool::didCommitCrossSiteLoadWithDataTransfer): Deleted.
- UIProcess/WebProcessPool.h:
(WebKit::WebProcessPool::sendToNetworkingProcess): Deleted.
(WebKit::WebProcessPool::sendToNetworkingProcessRelaunchingIfNecessary): Deleted.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::setWebsiteDataStore):
(WebKit::WebProcessProxy::getNetworkProcessConnection):
(WebKit::WebProcessProxy::didFinishLaunching):
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::networkProcessHasEntitlementForTesting):
(WebKit::WebsiteDataStore::sendNetworkProcessXPCEndpointToWebProcess):
(WebKit::WebsiteDataStore::sendNetworkProcessXPCEndpointToAllWebProcesses):
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::forEachWebsiteDataStore):
(WebKit::WebsiteDataStore::WebsiteDataStore):
(WebKit::WebsiteDataStore::~WebsiteDataStore):
(WebKit::WebsiteDataStore::registerWithSessionIDMap):
(WebKit::WebsiteDataStore::existingDataStoreForSessionID):
(WebKit::WebsiteDataStore::networkProcess):
(WebKit::WebsiteDataStore::networkProcess const):
(WebKit::WebsiteDataStore::fetchDataAndApply):
(WebKit::WebsiteDataStore::removeData):
(WebKit::WebsiteDataStore::setServiceWorkerTimeoutForTesting):
(WebKit::WebsiteDataStore::resetServiceWorkerTimeoutForTesting):
(WebKit::WebsiteDataStore::setMaxStatisticsEntries):
(WebKit::WebsiteDataStore::setPruneEntriesDownTo):
(WebKit::WebsiteDataStore::setGrandfatheringTime):
(WebKit::WebsiteDataStore::setMinimumTimeBetweenDataRecordsRemoval):
(WebKit::WebsiteDataStore::dumpResourceLoadStatistics):
(WebKit::WebsiteDataStore::isPrevalentResource):
(WebKit::WebsiteDataStore::isGrandfathered):
(WebKit::WebsiteDataStore::setPrevalentResource):
(WebKit::WebsiteDataStore::setPrevalentResourceForDebugMode):
(WebKit::WebsiteDataStore::isVeryPrevalentResource):
(WebKit::WebsiteDataStore::setVeryPrevalentResource):
(WebKit::WebsiteDataStore::setShouldClassifyResourcesBeforeDataRecordsRemoval):
(WebKit::WebsiteDataStore::setSubframeUnderTopFrameDomain):
(WebKit::WebsiteDataStore::isRegisteredAsSubFrameUnder):
(WebKit::WebsiteDataStore::setSubresourceUnderTopFrameDomain):
(WebKit::WebsiteDataStore::isRegisteredAsSubresourceUnder):
(WebKit::WebsiteDataStore::setSubresourceUniqueRedirectTo):
(WebKit::WebsiteDataStore::setSubresourceUniqueRedirectFrom):
(WebKit::WebsiteDataStore::setTopFrameUniqueRedirectTo):
(WebKit::WebsiteDataStore::setTopFrameUniqueRedirectFrom):
(WebKit::WebsiteDataStore::isRegisteredAsRedirectingTo):
(WebKit::WebsiteDataStore::clearPrevalentResource):
(WebKit::WebsiteDataStore::resetParametersToDefaultValues):
(WebKit::WebsiteDataStore::submitTelemetry):
(WebKit::WebsiteDataStore::scheduleClearInMemoryAndPersistent):
(WebKit::WebsiteDataStore::getResourceLoadStatisticsDataSummary):
(WebKit::WebsiteDataStore::scheduleCookieBlockingUpdate):
(WebKit::WebsiteDataStore::scheduleStatisticsAndDataRecordsProcessing):
(WebKit::WebsiteDataStore::statisticsDatabaseHasAllTables):
(WebKit::WebsiteDataStore::setLastSeen):
(WebKit::WebsiteDataStore::domainIDExistsInDatabase):
(WebKit::WebsiteDataStore::mergeStatisticForTesting):
(WebKit::WebsiteDataStore::insertExpiredStatisticForTesting):
(WebKit::WebsiteDataStore::setNotifyPagesWhenDataRecordsWereScanned):
(WebKit::WebsiteDataStore::setIsRunningResourceLoadStatisticsTest):
(WebKit::WebsiteDataStore::getAllStorageAccessEntries):
(WebKit::WebsiteDataStore::setTimeToLiveUserInteraction):
(WebKit::WebsiteDataStore::logUserInteraction):
(WebKit::WebsiteDataStore::hasHadUserInteraction):
(WebKit::WebsiteDataStore::isRelationshipOnlyInDatabaseOnce):
(WebKit::WebsiteDataStore::clearUserInteraction):
(WebKit::WebsiteDataStore::setGrandfathered):
(WebKit::WebsiteDataStore::setUseITPDatabase):
(WebKit::WebsiteDataStore::setCrossSiteLoadWithLinkDecorationForTesting):
(WebKit::WebsiteDataStore::resetCrossSiteLoadsWithLinkDecorationForTesting):
(WebKit::WebsiteDataStore::deleteCookiesForTesting):
(WebKit::WebsiteDataStore::hasLocalStorageForTesting const):
(WebKit::WebsiteDataStore::hasIsolatedSessionForTesting const):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsShouldDowngradeReferrerForTesting):
(WebKit::WebsiteDataStore::setThirdPartyCookieBlockingMode):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsShouldEnbleSameSiteStrictEnforcementForTesting):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsFirstPartyWebsiteDataRemovalModeForTesting):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsToSameSiteStrictCookiesForTesting):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsFirstPartyHostCNAMEDomainForTesting):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsThirdPartyCNAMEDomainForTesting):
(WebKit::WebsiteDataStore::syncLocalStorage):
(WebKit::WebsiteDataStore::setCacheMaxAgeCapForPrevalentResources):
(WebKit::WebsiteDataStore::resetCacheMaxAgeCapForPrevalentResources):
(WebKit::WebsiteDataStore::processPools const):
(WebKit::WebsiteDataStore::allowSpecificHTTPSCertificateForHost):
(WebKit::WebsiteDataStore::getNetworkProcessConnection):
(WebKit::WebsiteDataStore::networkProcessCrashed):
(WebKit::WebsiteDataStore::terminateNetworkProcess):
(WebKit::WebsiteDataStore::sendNetworkProcessPrepareToSuspendForTesting):
(WebKit::WebsiteDataStore::sendNetworkProcessWillSuspendImminentlyForTesting):
(WebKit::WebsiteDataStore::sendNetworkProcessDidResume):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsEnabled):
(WebKit::WebsiteDataStore::setStatisticsTestingCallback):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsDebugMode):
(WebKit::WebsiteDataStore::isResourceLoadStatisticsEphemeral const):
(WebKit::WebsiteDataStore::setAdClickAttributionDebugMode):
(WebKit::WebsiteDataStore::flushCookies):
(WebKit::WebsiteDataStore::setAllowsAnySSLCertificateForWebSocket):
(WebKit::WebsiteDataStore::clearCachedCredentials):
(WebKit::WebsiteDataStore::parameters):
(WebKit::WebsiteDataStore::getLocalStorageDetails):
(WebKit::WebsiteDataStore::resetQuota):
(WebKit::WebsiteDataStore::networkProcessHasEntitlementForTesting):
(WebKit::WebsiteDataStore::renameOriginInWebsiteData):
(WebKit::WebsiteDataStore::hasAppBoundSession const):
(WebKit::WebsiteDataStore::clearAppBoundSession):
(WebKit::WebsiteDataStore::forwardAppBoundDomainsToITPIfInitialized):
(WebKit::WebsiteDataStore::setAppBoundDomainsForITP):
(WebKit::WebsiteDataStore::updateBundleIdentifierInNetworkProcess):
(WebKit::WebsiteDataStore::clearBundleIdentifierInNetworkProcess):
(WebKit::WebsiteDataStore::makeNextNetworkProcessLaunchFailForTesting):
(WebKit::WebsiteDataStore::shouldMakeNextNetworkProcessLaunchFailForTesting):
(WebKit::WebsiteDataStore::maybeRegisterWithSessionIDMap): Deleted.
(WebKit::WebsiteDataStore::existingNonDefaultDataStoreForSessionID): Deleted.
(WebKit::WebsiteDataStore::processPoolForCookieStorageOperations): Deleted.
(WebKit::WebsiteDataStore::isAssociatedProcessPool const): Deleted.
(WebKit::WebsiteDataStore::pendingCookies const): Deleted.
(WebKit::WebsiteDataStore::addPendingCookie): Deleted.
(WebKit::WebsiteDataStore::removePendingCookie): Deleted.
(WebKit::WebsiteDataStore::clearPendingCookies): Deleted.
(WebKit::WebsiteDataStore::didCreateNetworkProcess): Deleted.
- UIProcess/WebsiteData/WebsiteDataStore.h:
- UIProcess/WebsiteData/curl/WebsiteDataStoreCurl.cpp:
(WebKit::WebsiteDataStore::setNetworkProxySettings):
- UIProcess/WebsiteData/soup/WebsiteDataStoreSoup.cpp:
(WebKit::WebsiteDataStore::platformSetNetworkParameters):
(WebKit::WebsiteDataStore::setPersistentCredentialStorageEnabled):
- UIProcess/glib/WebProcessProxyGLib.cpp:
(WebKit::WebProcessProxy::platformGetLaunchOptions):
- UIProcess/soup/WebCookieManagerProxySoup.cpp:
(WebKit::WebCookieManagerProxy::setCookiePersistentStorage):
- UIProcess/soup/WebProcessPoolSoup.cpp:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
(WebKit::WebProcessPool::setIgnoreTLSErrors):
(WebKit::WebProcessPool::setNetworkProxySettings):
- WebProcess/Network/NetworkProcessConnectionInfo.h:
Tools:
Most changes to tests are just calling a function on the WKWebsiteDataStore instead of the WKProcessPool
because we want to do something with the network process and it has a new owner.
Exceptions are noted inline.
- TestWebKitAPI/Tests/WebKit/NetworkProcessCrashWithPendingConnection.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TestWebKitAPI::downloadAtRate):
- TestWebKitAPI/Tests/WebKitCocoa/IDBCheckpointWAL.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IDBDeleteRecovery.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IDBObjectStoreInfoUpgradeToV2.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBDatabaseProcessKill.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBMultiProcess.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBSuspendImminently.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBTempFileSize.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/NetworkProcessCrashNonPersistentDataStore.mm:
(checkRecoveryAfterCrash):
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
This test was making a WKWebsiteDataStore, getting its resource load statistics directory,
putting things in that directory, then starting the network process and making sure everything
works when initializing the network process. Now, network process initialization happens when a
WKWebsiteDataStore is instantiated, so we need to put things there before instantiating a WKWebsiteDataStore.
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
Before this change, each WKProcessPool had its own network process, which holds the service worker registry
for the WebsiteDataStores used with that process pool. Now, the network process still needs to have a service
worker registry in it, but when we receive a message from it looking for a web process to run the service
worker, we go arbitrarily to the first process pool that has a process we can use. This logic is in
WebProcessPool::establishWorkerContextConnectionToNetworkProcess. Because we use the first process pool each
time, setting the custom user agent to two different things in two different process pools causes only one
to be used. This is not a problem in practice, though, because the only application that uses the SPI to
set a service worker's custom user agent is Safari, which only has one process pool. This test still verifies
that a user ageint is correctly sent.
Similarly, the tests that count service worker processes either have different results or need to be run with
one process pool per parent process. To keep the results the same, I separated the tests into different
TEST(ServiceWorkers, ...) macros which are run in separate parent processes.
The test RestoreFromDiskNonDefaultStore needs to use the same data store for both WKWebViews now because otherwise
there was a race condition in the startup of a new network process that wasn't there before because we were using the
same process pool and therefore the same network process. I added spinning the run loop and sleeping to be able to
reproduce the race condition failure and I use the same WKWebsiteDataStore to use the same network process, which was
the intent of using the same WKProcessPool before. The test still tests that the registration is re-used when we are
not using the default data store.
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
- TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
(-[CheckSessionCookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[CheckSessionCookieUIDelegate waitForMessage]):
(-[CheckSessionCookieUIDelegate alertCookieHTML]):
(TEST):
This is the whole point of me doing this.
I took a test that was flaky only on iOS (because of different NSHTTPCookieStorage syncing behavior) and made
it flaky nowhere (fingers crossed!) and added a test that correctly handles session cookies like we could not
before this change.
I also re-used some test infrastructure and made it stop using process-global static variables for test state.
- TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-leaks.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(runWebsiteDataStoreCustomPaths):
(TEST):
- TestWebKitAPI/Tests/WebKitObjC/CustomProtocolsTest.mm:
(-[CloseWhileStartingProtocol startLoading]):
(TestWebKitAPI::runTest):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::findAndDumpWebKitProcessIdentifiers):
(WTR::TestController::networkProcessDidCrash):
(WTR::TestController::terminateNetworkProcess):
(WTR::TestController::platformAdjustContext):
WKContextSetAllowsAnySSLCertificateForServiceWorkerTesting is not needed, so I removed it.
WKContextSetPrimaryWebsiteDataStore isn't needed any more because WKContextRef (WebProcessPool) doesn't
own a network process any more, so it doesn't care which is the default WebsiteDataStore.
In fact, the "default" WebsiteDataStore isn't really important in the network process any more.
- 2:41 PM Changeset in webkit [267762] by
-
- 2 edits in trunk/Source/WebKit
Enable the Web Share Level 2 feature wherever Web Share is enabled
https://bugs.webkit.org/show_bug.cgi?id=217105
Reviewed by Beth Dakin.
No new tests; there are already tests that enable this.
- Shared/WebPreferencesExperimental.yaml:
- 2:38 PM Changeset in webkit [267761] by
-
- 79 edits1 add in trunk
Refactor test runner code to cut down on copy/paste code and long-winded repetitive idioms
https://bugs.webkit.org/show_bug.cgi?id=217028
Reviewed by Sam Weinig.
Source/JavaScriptCore:
- API/JSRetainPtr.h: Added support for JSClassRef.
Tools:
I did a lot of simplifying, but even more is possible. For some reason, the test
code is a hotbed of repeated idioms, and copy and paste rather than helper functions.
Even after the refactoring, I have some doubts about the way this code is written with
so much repeated marshaling for each function.
- DumpRenderTree/AccessibilityController.cpp:
(AccessibilityController::makeWindowObject): Use setGlobalObjectProperty.
(AccessibilityController::createJSClass): Replaced getJSClass with this. Return a
JSRetainPtr to make it clear this passes ownership to the caller.
- DumpRenderTree/AccessibilityController.h: Updated for the above.
- DumpRenderTree/AccessibilityUIElement.cpp:
(uiElementCountForSearchPredicateCallback): Removed unneeded initialization of
JSRetainPtr, which starts out null.
- DumpRenderTree/Bindings/CodeGeneratorDumpRenderTree.pm:
(_platformTypeConstructor): Use toOptionalBool and createJSString.
(_returnExpression): Use makeValue.
- DumpRenderTree/GCController.cpp:
(GCController::GCController): Deleted.
(GCController::~GCController): Deleted.
(collectCallback): Use a reference and auto.
(collectOnAlternateThreadCallback): Ditto.
(getJSObjectCountCallback): Ditto.
(GCController::makeWindowObject): Use setGlobalObjectProperty.
(AccessibilityController::createJSClass): Replaced getJSClass with this. Return a
JSRetainPtr to make it clear this passes ownership to the caller.
- DumpRenderTree/GCController.h: Updated for the above.
- DumpRenderTree/TestRunner.cpp:
(encodeHostNameCallback): Use createJSString.
(execCommandCallback): Ditto.
(findStringCallback): Ditto.
(isCommandEnabledCallback): Ditto.
(overridePreferenceCallback): Ditto.
(queueLoadCallback): Ditto.
(queueLoadHTMLStringCallback): Ditto.
(TestRunner::makeWindowObject): Use setGlobalObjectProperty.
(TestRunner::createJSClass): Replaced getJSClass with this. Return a
JSRetainPtr to make it clear this passes ownership to the caller.
(TestRunner::staticValues): Made return value const*.
(TestRunner::staticFunctions): Ditto.
(TestRunner::waitToDumpWatchdogTimerFired): Simplified printing.
(TestRunner::cacheTestRunnerCallback): Updated to use object pointers as hash
table values instead of values, since callbacks need to be objects.
(TestRunner::callTestRunnerCallback): Ditto.
(TestRunner::clearTestRunnerCallbacks): Ditto.
(TestRunner::setOpenPanelFiles): Use arrayLength.
- DumpRenderTree/TestRunner.h: Updated for the above.
- DumpRenderTree/ios/AccessibilityControllerIOS.mm:
(AccessibilityController::platformName const): Use createJSString.
- DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(createEmptyJSString): Dleted.
(AccessibilityUIElement::stringForTextMarkerRange): Use createJSString.
(AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
(AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
(AccessibilityUIElement::attributesOfChildren): Ditto.
(AccessibilityUIElement::allAttributes): Ditto.
(AccessibilityUIElement::stringAttributeValue): Ditto.
(AccessibilityUIElement::parameterizedAttributeNames): Ditto.
(AccessibilityUIElement::role): Ditto.
(AccessibilityUIElement::subrole): Ditto.
(AccessibilityUIElement::roleDescription): Ditto.
(AccessibilityUIElement::computedRoleString): Ditto.
(AccessibilityUIElement::title): Ditto.
(AccessibilityUIElement::orientation const): Ditto.
(AccessibilityUIElement::language): Ditto.
(AccessibilityUIElement::valueDescription): Ditto.
(AccessibilityUIElement::ariaDropEffects const): Ditto.
(AccessibilityUIElement::boundsForRange): Ditto.
(AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
(AccessibilityUIElement::attributesOfRowHeaders): Ditto.
(AccessibilityUIElement::attributesOfColumns): Ditto.
(AccessibilityUIElement::attributesOfRows): Ditto.
(AccessibilityUIElement::attributesOfVisibleCells): Ditto.
(AccessibilityUIElement::attributesOfHeader): Ditto.
(AccessibilityUIElement::selectedTextRange): Ditto.
(AccessibilityUIElement::accessibilityValue const): Ditto.
(AccessibilityUIElement::documentEncoding): Ditto.
(AccessibilityUIElement::documentURI): Ditto.
- DumpRenderTree/mac/AccessibilityCommonMac.h: Removed unneeded "extern".
- DumpRenderTree/mac/AccessibilityCommonMac.mm:
(searchPredicateParameterizedAttributeForSearchCriteria): Use arrayLength.
Removed unneeded call to JSValueToObject after JSValueIsObject.
- DumpRenderTree/mac/AccessibilityControllerMac.mm:
(AccessibilityController::platformName const): Use createJSString.
- DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(createEmptyJSString): Deleted.
(selectTextParameterizedAttributeForCriteria): Use arrayLength.
Removed unneeded call to JSValueToObject after JSValueIsObject.
(searchTextParameterizedAttributeForCriteria): Ditto.
(AccessibilityUIElement::accessibilityValue const): Use createJSString.
(AccessibilityUIElement::documentEncoding): Ditto.
(AccessibilityUIElement::documentURI): Ditto.
- DumpRenderTree/mac/FrameLoadDelegate.mm:
(-[FrameLoadDelegate didClearWindowObjectInStandardWorldForFrame:]):
Use auto. Pass fewer arguments to makeWindowObject. Simplified object
creation code by using adoptNS instead of release.
(-[FrameLoadDelegate didClearWindowObjectForFrame:inIsolatedWorld:]):
Use createJSString.
- DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::findString): Use arrayLength.
- DumpRenderTree/win/FrameLoadDelegate.cpp:
(FrameLoadDelegate::didClearWindowObjectForFrameInStandardWorld):
Pass fewer arguments to makeWindowObject.
- DumpRenderTree/win/TextInputController.cpp:
(TextInputController::makeWindowObject): Use setGlobalObjectProperty.
(TextInputController::createJSClass): Replaced getJSClass with this. Return a
JSRetainPtr to make it clear this passes ownership to the caller.
(TextInputController::staticValues): Made return value const*.
(TextInputController::staticFunctions): Ditto.
- DumpRenderTree/win/TextInputController.h: Updated for above.
- TestRunnerShared/Bindings/JSBasics.cpp:
(WTR::toOptionalBool): Renamed from JSValueMakeBooleanOrNull.
(WTR::toOptionalDouble): Added.
(WTR::makeValue): Added with overloads for various types.
Replaced JSValueToNullableBoolean and JSValueMakeStringOrNull.
(WTR::createJSString): Added with overloads for various types.
(WTR::property): Added.
(WTR::stringProperty): Added.
(WTR::booleanProperty): Added.
(WTR::numericProperty): Added.
(WTR::objectProperty): Refactored to call property.
(WTR::arrayLength): Added.
(WTR::setGlobalObjectProperty): Added.
(WTR::call): Refactored to let objectProperty do more of the null checking.
(WTR::callConstructor): Ditto.
- TestRunnerShared/Bindings/JSBasics.h: Updated for the above.
- TestRunnerShared/Bindings/JSWrappable.h: Reduced includes a bit.
- TestRunnerShared/Bindings/JSWrapper.h: Added setGlobalObjectProperty.
- TestRunnerShared/UIScriptContext/UIScriptContext.cpp:
(UIScriptContext::UIScriptContext): Pass fewer arguments to makeWindowObject.
(UIScriptContext::runUIScript): Use createJSString.
(UIScriptContext::objectFromRect const): Use setProperty.
- TestRunnerShared/UIScriptContext/UIScriptController.h: Updated for the above.
- TestRunnerShared/UIScriptContext/UIScriptControllerShared.cpp:
(WTR::toDeviceOrientation): Use createJSString and JSStringIsEqualToUTF8CString.
(WTR::UIScriptController::makeWindowObject): Use setGlobalObjectProperty.
- TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
(-[LayoutTestSpellChecker setResultsFromJSValue:inContext:]): Use createJSString
and removed unneeded use of lroundl.
- WebKitTestRunner/DictionaryFunctions.h: Added. Contains convenience functions
for dealing with WKDictionaryRef.
- WebKitTestRunner/EventSenderProxy.h: Initialize data members.
- WebKitTestRunner/GeolocationProviderMock.cpp:
(GeolocationProviderMock::setPosition): Use Optional instead of separate bool.
- WebKitTestRunner/GeolocationProviderMock.h: Updated for the above.
- WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::makeWindowObject): Use setGlobalObjectProperty.
- WebKitTestRunner/InjectedBundle/AccessibilityController.h: Updated for the above.
- WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:
(_generateImplementationFile): Use static initialization and a lambda instead of
an if statement to initialize.
(_platformTypeConstructor): Use toOptionalBool and createJSString. Also added
support for nullable doubles and used auto a bit more.
(_returnExpression): Use makeValue.
- InjectedBundle/Bindings/TestRunner.idl: Made the optional arguments to the
setMockGeolocationPosition function "double?" instead of "object".
- WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::getMenuItemChildrenCallback): Use auto and not JSValueToObject.
(WTR::arrayLength): Moved to JSBasics.h/cpp.
(WTR::parseTouchModifier): Added. Factored out of the
EventSendingController::setTouchModifier function.
(WTR::parseModifierArray): Use createJSString and remove unneeded ignored
exception out argument, since that is optional. Also added overload that
gets the context.
(WTR::EventSendingController::EventSendingController): Deleted.
(WTR::EventSendingController::~EventSendingController): Deleted.
(WTR::createMouseMessageBody): Use adoptWK and setValue. Return a WKRetainPtr.
(WTR::EventSendingController::mouseDown): Use postSynchronousPageMessage.
(WTR::EventSendingController::mouseUp): Ditto.
(WTR::EventSendingController::mouseMoveTo): Use setValue and
postSynchronousPageMessages.
(WTR::EventSendingController::mouseForceClick): Ditto.
(WTR::EventSendingController::startAndCancelMouseForceClick): Ditto.
(WTR::EventSendingController::mouseForceDown): Ditto.
(WTR::EventSendingController::mouseForceUp): Ditto.
(WTR::EventSendingController::mouseForceChanged): Ditto.
(WTR::EventSendingController::leapForward): Ditto.
(WTR::EventSendingController::scheduleAsynchronousClick): Use postPageMessage.
(WTR::createKeyDownMessageBody): Use setValue.
(WTR::EventSendingController::keyDown): Use postSynchronousPageMessage.
(WTR::EventSendingController::scheduleAsynchronousKeyDown): Use postPageMessage.
(WTR::EventSendingController::mouseScrollBy): Use setValue and postPageMessage.
(WTR::EventSendingController::mouseScrollByWithWheelAndMomentumPhases): Use
setValue and postPageMessage.
(WTR::EventSendingController::continuousMouseScrollBy): Use setValue and
postSynchronousPageMessage.
(WTR::EventSendingController::contextClick): Use auto and not JSValueToObject.
(WTR::toMonitorWheelEventsOptions): Use booleanProperty.
(WTR::EventSendingController::addTouchPoint): Use setValue and postSynchronousPageMessage.
(WTR::EventSendingController::updateTouchPoint): Ditto.
(WTR::EventSendingController::setTouchModifier): Ditto.
(WTR::EventSendingController::setTouchPointRadius): Ditto.
(WTR::EventSendingController::touchStart): Ditto.
(WTR::EventSendingController::touchMove): Ditto.
(WTR::EventSendingController::touchEnd): Ditto.
(WTR::EventSendingController::touchCancel): Ditto.
(WTR::EventSendingController::clearTouchPoints): Ditto.
(WTR::EventSendingController::releaseTouchPoint): Ditto.
(WTR::EventSendingController::cancelTouchPoint): Ditto.
(WTR::EventSendingController::makeWindowObject): Use setGlobalObjectProperty.
- WebKitTestRunner/InjectedBundle/EventSendingController.h: Updated for the above.
Deleted various unneeded functions.
- WebKitTestRunner/InjectedBundle/GCController.cpp:
(WTR::GCController::GCController): Deleted.
(WTR::GCController::~GCController): Deleted.
(WTR::GCController::makeWindowObject): Use setGlobalObjectProperty.
- WebKitTestRunner/InjectedBundle/GCController.h: Updated for the above.
Also marked the class final.
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didCreatePage): Use booleanValue.
(WTR::InjectedBundle::didReceiveMessage): Use toWK.
(WTR::InjectedBundle::postPageMessage): Added.
(WTR::InjectedBundle::reportLiveDocuments): Use postPageMessage.
(WTR::InjectedBundle::didReceiveMessageToPage): Use dictionaryValue,
booleanValue, postPageMessage, value, and more to streamline.
(WTR::InjectedBundle::booleanForKey): Deleted.
(WTR::InjectedBundle::stringForKey): Deleted.
(WTR::InjectedBundle::beginTesting): Use booleanValue.
(WTR::InjectedBundle::done): Use stringValue.
(WTR::InjectedBundle::closeOtherPages): Use setValue and toWK.
(WTR::InjectedBundle::dumpToStdErr): Use postPageMessage
(WTR::InjectedBundle::outputText): Use toWK.
(WTR::InjectedBundle::postNewBeforeUnloadReturnValue): Use postPageMessage.
(WTR::InjectedBundle::postAddChromeInputField): Ditto.
(WTR::InjectedBundle::postRemoveChromeInputField): Ditto.
(WTR::InjectedBundle::postFocusWebView): Ditto.
(WTR::InjectedBundle::postSetBackingScaleFactor): Ditto.
(WTR::InjectedBundle::postSetWindowIsKey): Use toWK.
(WTR::InjectedBundle::postSetViewSize): Use setValue and toWK.
(WTR::InjectedBundle::postSimulateWebNotificationClick): Use postPageMessage.
(WTR::InjectedBundle::postSetAddsVisitedLinks): Ditto.
(WTR::InjectedBundle::setGeolocationPermission): Ditto.
(WTR::InjectedBundle::setMockGeolocationPosition): Use setValue and postPageMessage,
and use Optional instead of bool/double pairs.
(WTR::InjectedBundle::setMockGeolocationPositionUnavailableError): Use postPageMessage.
(WTR::InjectedBundle::isGeolocationProviderActive const): Use toWK and booleanValue.
(WTR::InjectedBundle::imageCountInGeneralPasteboard const): Use toWK and uint64Value.
(WTR::InjectedBundle::setUserMediaPermission): Use postPageMessage.
(WTR::InjectedBundle::resetUserMediaPermission): Ditto.
(WTR::InjectedBundle::setUserMediaPersistentPermissionForOrigin): Use setValue
and postPageMessage.
(WTR::InjectedBundle::userMediaPermissionRequestCountForOrigin const): Ditto.
(WTR::InjectedBundle::resetUserMediaPermissionRequestCountForOrigin): Uset setValue
and uint64Value.
(WTR::InjectedBundle::setCustomPolicyDelegate): Use setValue and postPageMessage.
(WTR::InjectedBundle::setHidden): Ditto.
(WTR::InjectedBundle::setCacheModel): Ditto.
(WTR::InjectedBundle::shouldProcessWorkQueue const): Use toWK and booleanValue.
(WTR::InjectedBundle::processWorkQueue): Use postPageMessage.
(WTR::InjectedBundle::queueBackNavigation): Ditto.
(WTR::InjectedBundle::queueForwardNavigation): Ditto.
(WTR::InjectedBundle::queueLoad): Use setValue and postPageMessage.
(WTR::InjectedBundle::queueLoadHTMLString): Ditto.
(WTR::InjectedBundle::queueReload): Ditto.
(WTR::InjectedBundle::queueLoadingScript): Ditto.
(WTR::InjectedBundle::queueNonLoadingScript): Ditto.
(WTR::postMessage): Added. Overloads for many types to keep caller code streamlined.
(WTR::postSynchronousMessage): Ditto.
(WTR::postPageMessage): Ditto.
(WTR::postSynchronousPageMessage): Ditto.
- WebKitTestRunner/InjectedBundle/InjectedBundle.h: Updated for the above.
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::propertyValue): Deleted. Use functions from JSBasics.h instead.
(WTR::propertyValueDouble): Ditto.
(WTR::propertyValueInt): Ditto.
(WTR::numericWindowProperty): Renamed from numericWindowPropertyValue for brevity
and for consistency with JSBasics.h functions.
(WTR::dumpPath): Use stringProperty, objectProperty, and makeString.
(WTR::rangeToStr): Use auto, numericProperty, and makeString.
(WTR::NavigationTypeToString): Use toWK.
(WTR::string): Renamed from securityOriginToStr. Use makeString.
(WTR::frameToStr): Use auto.
(WTR::InjectedBundlePage::resetAfterTest): Removed unneeded local.
(WTR::dumpFrameDescriptionSuitableForTestResult): Use auto.
(WTR::dumpRequestDescriptionSuitableForTestResult): Ditto.
(WTR::dumpErrorDescriptionSuitableForTestResult): Use auto and toWK.
(WTR::dumpFrameScrollPosition): Update for name change.
(WTR::toJS): Deleted. Use functions from JSBasics.h instead.
(WTR::hasDocumentElement): Use objectProperty.
(WTR::InjectedBundlePage::didClearWindowForFrame): Use setGlobalObjectProperty,
and pass fewer arguments to makeWindowObject.
(WTR::InjectedBundlePage::decidePolicyForNavigationAction): Streamline code a bit.
(WTR::InjectedBundlePage::decidePolicyForResponse): Use makeString.
(WTR::lastFileURLPathComponent): Ditto.
(WTR::InjectedBundlePage::willSetStatusbarText): Ditto.
(WTR::InjectedBundlePage::didReachApplicationCacheOriginQuota): Ditto.
(WTR::InjectedBundlePage::didExceedDatabaseQuota): Ditto.
(WTR::InjectedBundlePage::shouldBeginEditing): Ditto.
(WTR::InjectedBundlePage::shouldEndEditing): Ditto.
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::TestRunner): Use toWK.
(WTR::page): Added.
(WTR::mainFrame): Added.
(WTR::mainFrameJSContext): Added.
(WTR::TestRunner::display): Use page.
(WTR::TestRunner::displayAndTrackRepaints): Use page.
(WTR::toWK): Added overload for double.
(WTR::createWKDictionary): Added.
(WTR::postSynchronousMessageWithReturnValue): Added.
(WTR::postSynchronousMessageReturningBoolean): Added.
(WTR::postSynchronousPageMessageWithReturnValue): Added.
(WTR::postSynchronousPageMessageReturningBoolean): Added.
(WTR::postSynchronousPageMessageReturningUInt64): Added.
(WTR::postSynchronousMessageReturningUInt64): Added.
(WTR::overridePreference): Added.
(WTR::TestRunner::shouldDumpPixels const): Use postSynchronousMessageReturningBoolean.
(WTR::TestRunner::setDumpPixels): Use postSynchronousMessage.
(WTR::TestRunner::whatToDump const): Use postSynchronousMessageReturningUInt64.
(WTR::TestRunner::setWhatToDump): Use postSynchronousMessage.
(WTR::TestRunner::setWaitUntilDone): Use postSynchronousMessage.
(WTR::TestRunner::shouldWaitUntilDone const): Use postSynchronousMessageReturningBoolean.
(WTR::TestRunner::setShouldDumpFrameLoadCallbacks): Use postSynchronousMessage.
(WTR::TestRunner::shouldDumpFrameLoadCallbacks): Use postSynchronousMessageReturningBoolean.
(WTR::TestRunner::addUserScript): Use page.
(WTR::TestRunner::addUserStyleSheet): Ditto.
(WTR::TestRunner::execCommand): Ditto.
(WTR::findOptionsFromArray): Use mainFrameJSContext, arrayLength, and createJSString.
(WTR::TestRunner::findString): Use page.
(WTR::TestRunner::findStringMatchesInPage): Ditto.
(WTR::TestRunner::replaceFindMatchesAtIndices): Use mainFrameJSContext and arrayLength and
removed unneeded call to std::round.
(WTR::TestRunner::clearAllDatabases): Use postSynchronousMessage.
(WTR::TestRunner::syncLocalStorage): Ditto.
(WTR::TestRunner::clearAllApplicationCaches): Use page.
(WTR::TestRunner::clearApplicationCacheForOrigin): Ditto.
(WTR::TestRunner::setAppCacheMaximumSize): Ditto.
(WTR::TestRunner::applicationCacheDiskUsageForOrigin): Ditto.
(WTR::stringArrayToJS): Tweaked coding style a bit.
(WTR::TestRunner::originsWithApplicationCache): Use page.
(WTR::TestRunner::isCommandEnabled): Ditto.
(WTR::TestRunner::setCanOpenWindows): Use postSynchronousMessage.
(WTR::TestRunner::setXSSAuditorEnabled): Use overridePreference.
(WTR::TestRunner::setMediaDevicesEnabled): Ditto.
(WTR::TestRunner::setWebRTCMDNSICECandidatesEnabled): Ditto.
(WTR::TestRunner::setCustomUserAgent): Use postSynchronousMessage.
(WTR::TestRunner::setWebAPIStatisticsEnabled): Use overridePreference.
(WTR::TestRunner::setModernMediaControlsEnabled): Ditto.
(WTR::TestRunner::setWebGL2Enabled): Ditto.
(WTR::TestRunner::setWritableStreamAPIEnabled): Ditto.
(WTR::TestRunner::setTransformStreamAPIEnabled): Ditto.
(WTR::TestRunner::setReadableByteStreamAPIEnabled): Ditto.
(WTR::TestRunner::setEncryptedMediaAPIEnabled): Ditto.
(WTR::TestRunner::setPictureInPictureAPIEnabled): Ditto.
(WTR::TestRunner::setGenericCueAPIEnabled): Ditto.
(WTR::TestRunner::setAllowsAnySSLCertificate): Use postSynchronousPageMessage.
(WTR::TestRunner::setShouldSwapToEphemeralSessionOnNextNavigation): Ditto.
(WTR::TestRunner::setShouldSwapToDefaultSessionOnNextNavigation): Ditto.
(WTR::TestRunner::setPluginsEnabled): Use overridePreference.
(WTR::TestRunner::isPageBoxVisible): Use mainFrame.
(WTR::TestRunner::setValueForUser): Removed local.
(WTR::TestRunner::setAudioResult): Ditto.
(WTR::TestRunner::clearBackForwardList): Use page.
(WTR::TestRunner::makeWindowObject): Use setGlobalObjectProperty.
(WTR::TestRunner::showWebInspector): Use page.
(WTR::TestRunner::closeWebInspector): Ditto.
(WTR::TestRunner::evaluateInWebInspector): Ditto.
(WTR::TestRunner::worldIDForWorld): Use range-based for loop.
(WTR::TestRunner::evaluateScriptInIsolatedWorld): Use mainFrame.
(WTR::TestRunner::setTextDirection): Use mainFrame.
(WTR::TestRunner::didReceiveServerRedirectForProvisionalNavigation const):
Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::clearDidReceiveServerRedirectForProvisionalNavigation):
Use postSynchronousPageMessage.
(WTR::cacheTestRunnerCallback): Changed map to store objects instead of values.
(WTR::callTestRunnerCallback): Simplify since map has objects. Use mainFrameJSContext.
(WTR::TestRunner::clearTestRunnerCallbacks): Ditto.
(WTR::TestRunner::setAlwaysAcceptCookies): Use postSynchronousMessage.
(WTR::TestRunner::setOnlyAcceptFirstPartyCookies): Use auto and toWK.
(WTR::TestRunner::setUserStyleSheetEnabled): Use toWK.
(WTR::TestRunner::setUserStyleSheetLocation): Use page.
(WTR::TestRunner::setTabKeyCyclesThroughElements): Ditto.
(WTR::TestRunner::grantWebNotificationPermission): Ditto.
(WTR::TestRunner::denyWebNotificationPermission): Ditto.
(WTR::TestRunner::removeAllWebNotificationPermissions): Use mainFrameJSContext.
(WTR::TestRunner::simulateWebNotificationClick): Ditto.
(WTR::TestRunner::setMockGeolocationPosition): Use Optional<double> instead of bool/double
pairs, letting the IDL bindings do the work for us.
(WTR::TestRunner::setMockGeolocationPositionUnavailableError): Removed local.
(WTR::TestRunner::isDoingMediaCapture const): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setUserMediaPersistentPermissionForOrigin): Removed locals.
(WTR::TestRunner::userMediaPermissionRequestCountForOrigin const): Ditto.
(WTR::TestRunner::resetUserMediaPermissionRequestCountForOrigin): DItto.
(WTR::TestRunner::callShouldCloseOnWebView): Use mainFrame.
(WTR::TestRunner::queueLoad): Ditto.
(WTR::TestRunner::queueLoadHTMLString): Removed a local.
(WTR::TestRunner::queueLoadingScript): Ditto.
(WTR::TestRunner::queueNonLoadingScript): Ditto.
(WTR::TestRunner::setRejectsProtectionSpaceAndContinueForAuthenticationChallenges):
Use postPageMessage.
(WTR::TestRunner::setHandlesAuthenticationChallenges): Ditto.
(WTR::TestRunner::setShouldLogCanAuthenticateAgainstProtectionSpace): Ditto.
(WTR::TestRunner::setShouldLogDownloadCallbacks): Ditto.
(WTR::TestRunner::setAuthenticationUsername): Ditto.
(WTR::TestRunner::setAuthenticationPassword): Ditto.
(WTR::TestRunner::secureEventInputIsEnabled const): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setBlockAllPlugins): Use postPageMessage.
(WTR::TestRunner::setPluginSupportedMode): Ditto.
(WTR::TestRunner::failNextNewCodeBlock): Use mainFrameJSContext.
(WTR::TestRunner::numberOfDFGCompiles): Ditto.
(WTR::TestRunner::neverInlineFunction): Ditto.
(WTR::TestRunner::setShouldDecideNavigationPolicyAfterDelay): Use postPageMessage.
(WTR::TestRunner::setShouldDecideResponsePolicyAfterDelay): Ditto.
(WTR::TestRunner::setNavigationGesturesEnabled): Ditto.
(WTR::TestRunner::setIgnoresViewportScaleLimits): Ditto.
(WTR::TestRunner::setShouldDownloadUndisplayableMIMETypes): Ditto.
(WTR::TestRunner::setShouldAllowDeviceOrientationAndMotionAccess): Ditto.
(WTR::TestRunner::terminateNetworkProcess): Use postSynchronousPageMessage.
(WTR::TestRunner::terminateServiceWorkers): Ditto.
(WTR::TestRunner::setUseSeparateServiceWorkerProcess): Ditto.
(WTR::TestRunner::runUIScript): Use postPageMessage.
(WTR::TestRunner::runUIScriptImmediately): Ditto.
(WTR::TestRunner::runUIScriptCallback): Use mainFrameJSContext.
(WTR::TestRunner::setAllowedMenuActions): Use mainFrameJSContext, arrayLength,
and postPageMessage.
(WTR::TestRunner::installCustomMenuAction): Use postPageMessage.
(WTR::TestRunner::clearStatisticsDataForDomain): Use postSynchronousMessage.
(WTR::TestRunner::doesStatisticsDomainIDExistInDatabase): Use
postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setStatisticsEnabled): Use postSynchronousMessage.
(WTR::TestRunner::isStatisticsEphemeral): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setStatisticsDebugMode): Use postMessage.
(WTR::TestRunner::setStatisticsPrevalentResourceForDebugMode): Ditto.
(WTR::TestRunner::setStatisticsLastSeen): Ditto.
(WTR::TestRunner::setStatisticsMergeStatistic): Ditto.
(WTR::TestRunner::setStatisticsExpiredStatistic): Ditto.
(WTR::TestRunner::setStatisticsPrevalentResource): Ditto.
(WTR::TestRunner::setStatisticsVeryPrevalentResource): Ditto.
(WTR::TestRunner::dumpResourceLoadStatistics): Use postSynchronousPageMessage.
(WTR::TestRunner::isStatisticsPrevalentResource): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::isStatisticsVeryPrevalentResource): Ditto.
(WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder): Ditto.
(WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder): Ditto.
(WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo): Ditto.
(WTR::TestRunner::setStatisticsHasHadUserInteraction): Use postMessage.
(WTR::TestRunner::isStatisticsHasHadUserInteraction): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::isStatisticsOnlyInDatabaseOnce): Ditto.
(WTR::TestRunner::setStatisticsGrandfathered): Use postSynchronousMessage.
(WTR::TestRunner::setUseITPDatabase): Ditto.
(WTR::TestRunner::isStatisticsGrandfathered): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setStatisticsSubframeUnderTopFrameOrigin): Use postSynchronousMessage.
(WTR::TestRunner::setStatisticsSubresourceUnderTopFrameOrigin): Ditto.
(WTR::TestRunner::setStatisticsSubresourceUniqueRedirectTo): Ditto.
(WTR::TestRunner::setStatisticsSubresourceUniqueRedirectFrom): Ditto.
(WTR::TestRunner::setStatisticsTopFrameUniqueRedirectTo): Ditto.
(WTR::TestRunner::setStatisticsTopFrameUniqueRedirectFrom): Ditto.
(WTR::TestRunner::setStatisticsCrossSiteLoadWithLinkDecoration): Ditto.
(WTR::TestRunner::setStatisticsTimeToLiveUserInteraction): Ditto.
(WTR::TestRunner::statisticsDidRunTelemetryCallback): Use mainFrameJSContext.
(WTR::TestRunner::statisticsProcessStatisticsAndDataRecords): Use postSynchronousMessage.
(WTR::TestRunner::statisticsUpdateCookieBlocking): Use postMessage.
(WTR::TestRunner::statisticsSubmitTelemetry): Use postSynchronousMessage.
(WTR::TestRunner::setStatisticsNotifyPagesWhenDataRecordsWereScanned): Ditto.
(WTR::TestRunner::setStatisticsIsRunningTest): Ditto.
(WTR::TestRunner::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval): Ditto.
(WTR::TestRunner::setStatisticsMinimumTimeBetweenDataRecordsRemoval): Ditto.
(WTR::TestRunner::setStatisticsGrandfatheringTime): Ditto.
(WTR::TestRunner::setStatisticsMaxStatisticsEntries): Ditto.
(WTR::TestRunner::setStatisticsPruneEntriesDownTo): Ditto.
(WTR::TestRunner::statisticsClearInMemoryAndPersistentStore): Use postMessage.
(WTR::TestRunner::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours): Ditto.
(WTR::TestRunner::statisticsClearThroughWebsiteDataRemoval): Ditto.
(WTR::TestRunner::statisticsDeleteCookiesForHost): Use postSynchronousMessage.
(WTR::TestRunner::isStatisticsHasLocalStorage): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setStatisticsCacheMaxAgeCap): Use postSynchronousMessage.
(WTR::TestRunner::hasStatisticsIsolatedSession): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setStatisticsShouldDowngradeReferrer): Use postMessage.
(WTR::TestRunner::setStatisticsShouldBlockThirdPartyCookies): Ditto.
(WTR::TestRunner::setStatisticsFirstPartyWebsiteDataRemovalMode): Ditto.
(WTR::TestRunner::statisticsSetToSameSiteStrictCookies): Ditto.
(WTR::TestRunner::statisticsSetFirstPartyHostCNAMEDomain): Ditto.
(WTR::TestRunner::statisticsSetThirdPartyCNAMEDomain): Ditto.
(WTR::TestRunner::statisticsResetToConsistentState): Ditto.
(WTR::TestRunner::getAllStorageAccessEntries): Ditto.
(WTR::makeDomainsValue): Factored out. Use mainFrameJSContext.
(WTR::TestRunner::callDidReceiveAllStorageAccessEntriesCallback): Use makeDomainsValue.
(WTR::TestRunner::loadedSubresourceDomains): Use postMessage.
(WTR::TestRunner::callDidReceiveLoadedSubresourceDomainsCallback): Use makeDomainsValue.
(WTR::TestRunner::addMockMediaDevice): Use postSynchronousMessage.
(WTR::TestRunner::clearMockMediaDevices): Ditto.
(WTR::TestRunner::removeMockMediaDevice): Ditto.
(WTR::TestRunner::resetMockMediaDevices): Ditto.
(WTR::TestRunner::setMockCameraOrientation): Ditto.
(WTR::TestRunner::isMockRealtimeMediaSourceCenterEnabled): Use
postSynchronousMessageReturningBoolean.
(WTR::TestRunner::connectMockGamepad): Use postSynchronousMessage.
(WTR::TestRunner::disconnectMockGamepad): Ditto.
(WTR::TestRunner::setMockGamepadDetails): Ditto.
(WTR::TestRunner::setMockGamepadAxisValue): Ditto.
(WTR::TestRunner::setMockGamepadButtonValue): Ditto.
(WTR::TestRunner::setOpenPanelFiles): Use mainFrameJSContext, arrayLength, createJSString,
and postPageMessage.
(WTR::TestRunner::setOpenPanelFilesMediaIcon): Use mainFrameJSContext and postPageMessage.
(WTR::TestRunner::removeAllSessionCredentials): Use postMessage.
(WTR::TestRunner::clearDOMCache): Use postSynchronousMessage.
(WTR::TestRunner::clearDOMCaches): Ditto.
(WTR::TestRunner::hasDOMCache): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::domCacheSize): Use postSynchronousPageMessageReturningUInt64.
(WTR::TestRunner::setAllowStorageQuotaIncrease): Use postSynchronousPageMessage.
(WTR::TestRunner::getApplicationManifestThen): Use postMessage.
(WTR::TestRunner::injectUserScript): Use postSynchronousMessage.
(WTR::TestRunner::sendDisplayConfigurationChangedMessageForTesting): Ditto.
(WTR::TestRunner::setServiceWorkerFetchTimeout): Ditto.
(WTR::TestRunner::addTestKeyToKeychain): Ditto.
(WTR::TestRunner::cleanUpKeychain): Ditto.
(WTR::TestRunner::keyExistsInKeychain): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::serverTrustEvaluationCallbackCallsCount): Use
postSynchronousMessageReturningUInt64.
(WTR::TestRunner::setShouldDismissJavaScriptAlertsAsynchronously): Use
postSynchronousMessage.
(WTR::TestRunner::abortModal): Ditto.
(WTR::TestRunner::dumpAdClickAttribution): Use postSynchronousPageMessage.
(WTR::TestRunner::clearAdClickAttribution): Ditto.
(WTR::TestRunner::clearAdClickAttributionsThroughWebsiteDataRemoval): Ditto.
(WTR::TestRunner::setAdClickAttributionOverrideTimerForTesting): Ditto.
(WTR::TestRunner::setAdClickAttributionConversionURLForTesting): Ditto.
(WTR::TestRunner::markAdClickAttributionsAsExpiredForTesting): Ditto.
(WTR::TestRunner::setOffscreenCanvasEnabled): Use overridePreference.
(WTR::TestRunner::hasAppBoundSession): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::clearAppBoundSession): Use postSynchronousMessage.
(WTR::TestRunner::setAppBoundDomains): Use mainFrameJSContext, arrayLength, createJSString,
and toWK.
(WTR::TestRunner::postMessage): Added.
- WebKitTestRunner/InjectedBundle/TestRunner.h: Updated for the above. Also changed
overridePreference ot a static member function.
- WebKitTestRunner/InjectedBundle/TextInputController.cpp:
(WTR::TextInputController::TextInputController): Deleted.
(WTR::TextInputController::~TextInputController): Deleted.
(WTR::TextInputController::makeWindowObject): Use setGlobalObjectProperty.
(WTR::arrayLength): Deleted. Use the one from JSBasics.h now.
(WTR::createCompositionHighlightData): Use setValue.
- WebKitTestRunner/InjectedBundle/TextInputController.h: Updated for the above.
- WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm:
(WTR::AccessibilityController::platformName): Use createJSString.
- WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::createEmptyJSString): Deleted. Use createJSString from JSBasics.h now.
(WTR::AccessibilityUIElement::attributesOfLinkedUIElements): Use createJSString.
(WTR::AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
(WTR::AccessibilityUIElement::attributesOfChildren): Ditto.
(WTR::AccessibilityUIElement::allAttributes): Ditto.
(WTR::AccessibilityUIElement::stringDescriptionOfAttributeValue): Ditto.
(WTR::AccessibilityUIElement::stringAttributeValue): Ditto.
(WTR::AccessibilityUIElement::parameterizedAttributeNames): Ditto.
(WTR::AccessibilityUIElement::role): Ditto.
(WTR::AccessibilityUIElement::subrole): Ditto.
(WTR::AccessibilityUIElement::computedRoleString): Ditto.
(WTR::AccessibilityUIElement::title): Ditto.
(WTR::AccessibilityUIElement::orientation const): Ditto.
(WTR::AccessibilityUIElement::language): Ditto.
(WTR::AccessibilityUIElement::valueDescription): Ditto.
(WTR::AccessibilityUIElement::isFocused const): Ditto.
(WTR::AccessibilityUIElement::isSelectedOptionActive const): Ditto.
(WTR::AccessibilityUIElement::isIndeterminate const): Ditto.
(WTR::AccessibilityUIElement::ariaDropEffects const): Ditto.
(WTR::AccessibilityUIElement::boundsForRange): Ditto.
(WTR::AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
(WTR::AccessibilityUIElement::attributesOfRowHeaders): Ditto.
(WTR::AccessibilityUIElement::attributesOfColumns): Ditto.
(WTR::AccessibilityUIElement::attributesOfRows): Ditto.
(WTR::AccessibilityUIElement::attributesOfVisibleCells): Ditto.
(WTR::AccessibilityUIElement::attributesOfHeader): Ditto.
(WTR::AccessibilityUIElement::clearSelectedChildren const): Ditto.
(WTR::AccessibilityUIElement::accessibilityValue const): Ditto.
(WTR::AccessibilityUIElement::documentEncoding): Ditto.
(WTR::AccessibilityUIElement::documentURI): Ditto.
(WTR::AccessibilityUIElement::isSelectable const): Ditto.
(WTR::AccessibilityUIElement::isMultiSelectable const): Ditto.
(WTR::AccessibilityUIElement::isVisible const): Ditto.
(WTR::AccessibilityUIElement::isOffScreen const): Ditto.
(WTR::AccessibilityUIElement::isCollapsed const): Ditto.
(WTR::AccessibilityUIElement::isSingleLine const): Ditto.
(WTR::AccessibilityUIElement::isMultiLine const): Ditto.
(WTR::AccessibilityUIElement::takeFocus): Ditto.
(WTR::AccessibilityUIElement::takeSelection): Ditto.
(WTR::AccessibilityUIElement::addSelection): Ditto.
(WTR::AccessibilityUIElement::removeSelection): Ditto.
(WTR::AccessibilityUIElement::stringForTextMarkerRange): Ditto.
- WebKitTestRunner/InjectedBundle/ios/EventSenderProxyIOS.mm:
(WTR::EventSenderProxy::EventSenderProxy): Initialize in the class definition.
(WTR::EventSenderProxy::~EventSenderProxy): Deleted.
- WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm:
(WTR::makeJSArray): Return a JSObjectRef. Renamed from makeArrayRefForArray.
(WTR::makeJSObject): Return a JSObjectRef. Renamed from makeObjectRefForDictionary.
(WTR::makeValueRefForValue): Updated for the above.
(WTR::searchPredicateParameterizedAttributeForSearchCriteria): Use toWTFString
and arrayLength.
- WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
(WTR::AccessibilityController::platformName): Use createJSString.
- WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::createEmptyJSString): Deleted. Use createJSString from JSBasics.h instead.
(WTR::convertVectorToObjectArray): Deleted.
(WTR::makeJSArray): Renamed from convertVectorToObjectArray.
(WTR::selectTextParameterizedAttributeForCriteria): Use toWTFString and arrayLength.
(WTR::searchTextParameterizedAttributeForCriteria): Ditto.
(WTR::AccessibilityUIElement::rowHeaders const): Use makeJSArray.
(WTR::AccessibilityUIElement::columnHeaders const): Ditto.
(WTR::AccessibilityUIElement::uiElementArrayAttributeValue const): Ditto.
(WTR::AccessibilityUIElement::searchTextWithCriteria): Ditto.
(WTR::AccessibilityUIElement::accessibilityValue const): Use createJSString.
(WTR::AccessibilityUIElement::documentEncoding): Ditto.
(WTR::AccessibilityUIElement::documentURI): Ditto.
- WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
(WTR::TestRunner::inspectorTestStubURL): Remove locals.
- WebKitTestRunner/StringFunctions.h: Added toWKString overload that converts from
a JSValueRef, JSStringRef, or JSRetainPtr<JSStringRef> and toWK overload that converts
from a const char*.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize): Use toWK.
(WTR::TestController::generateContextConfiguration const): Ditto.
(WTR::TestController::resetPreferencesToConsistentValues): Ditto.
(WTR::TestController::resetStateToConsistentValues): Use setValue.
(WTR::TestController::updateLiveDocumentsAfterTest): Ditto.
(WTR::TestController::checkForWorldLeaks): Use toWK.
(WTR::contentExtensionJSONPath): Use toSTD.
(WTR::TestController::configureContentExtensionForTest): Use toWK.
(WTR::TestController::didReceiveKeyDownMessageFromInjectedBundle): Use stringValue
and uint64Value.
(WTR::TestController::didReceiveLiveDocumentsList): Use dictionaryValue and
uint64Value.
(WTR::TestController::didReceiveMessageFromInjectedBundle): Use dictionaryValue,
stringValue, uint64Value, doubleValue, booleanValue.
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle): Ditto.
(WTR::TestController::setBlockAllPlugins): Use toWK.
(WTR::TestController::setPluginSupportedMode): Ditto.
(WTR::TestController::canAuthenticateAgainstProtectionSpace): Use auto.
(WTR::TestController::didFinishNavigation): Removed local.
(WTR::TestController::didReceiveAuthenticationChallenge): Use auto and toWTFString
instead of toSTD.
(WTR::TestController::setMockGeolocationPosition): Use Optional instead of pairs
of bool and double.
(WTR::TestController::handleCheckOfUserMediaPermissionForOrigin): Use toWK.
(WTR::TestController::decidePolicyForUserMediaPermissionRequestIfPossible): Ditto.
(WTR::TestController::updateBundleIdentifierInNetworkProcess): Use toWK.
- WebKitTestRunner/TestController.h: Updated for the above.
- WebKitTestRunner/TestInvocation.cpp:
(WTR::postPageMessage): Added.
(WTR::TestInvocation::TestIncovation): Use toWTFString.
(WTR::TestInvocation::createTestSettingsDictionary): Use auto and setValue.
(WTR::TestInvocation::invoke): Use postPageMessage and setValue.
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle): Use postPageMessage
and stringValue.
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): Use
dictionaryValue, booleanValue, value, stringValue, doubleValue, and
optionalDoubleValue.
(WTR::TestInvocation::uiScriptDidComplete): Use postPageMessage and setValue.
(WTR::TestInvocation::didBeginSwipe): Use postPageMessage.
(WTR::TestInvocation::willEndSwipe): Ditto.
(WTR::TestInvocation::didEndSwipe): Ditto.
(WTR::TestInvocation::didRemoveSwipeSnapshot): Ditto.
(WTR::TestInvocation::notifyDownloadDone): Ditto.
(WTR::TestInvocation::didClearStatisticsInMemoryAndPersistentStore): Ditto.
(WTR::TestInvocation::didClearStatisticsThroughWebsiteDataRemoval): Ditto.
(WTR::TestInvocation::didSetShouldDowngradeReferrer): Ditto.
(WTR::TestInvocation::didSetShouldBlockThirdPartyCookies): Ditto.
(WTR::TestInvocation::didSetFirstPartyWebsiteDataRemovalMode): Ditto.
(WTR::TestInvocation::didSetToSameSiteStrictCookies): Ditto.
(WTR::TestInvocation::didSetFirstPartyHostCNAMEDomain): Ditto.
(WTR::TestInvocation::didSetThirdPartyCNAMEDomain): Ditto.
(WTR::TestInvocation::didResetStatisticsToConsistentState): Ditto.
(WTR::TestInvocation::didSetBlockCookiesForHost): Ditto.
(WTR::TestInvocation::didSetStatisticsDebugMode): Ditto.
(WTR::TestInvocation::didSetPrevalentResourceForDebugMode): Ditto.
(WTR::TestInvocation::didSetLastSeen): Ditto.
(WTR::TestInvocation::didMergeStatistic): Ditto.
(WTR::TestInvocation::didSetExpiredStatistic): Ditto.
(WTR::TestInvocation::didSetPrevalentResource): Ditto.
(WTR::TestInvocation::didSetVeryPrevalentResource): Ditto.
(WTR::TestInvocation::didSetHasHadUserInteraction): Ditto.
(WTR::TestInvocation::didReceiveAllStorageAccessEntries): Ditto.
(WTR::TestInvocation::didReceiveLoadedSubresourceDomains): Ditto.
(WTR::TestInvocation::didRemoveAllSessionCredentials): Ditto.
(WTR::TestInvocation::didSetAppBoundDomains): Ditto.
(WTR::TestInvocation::performCustomMenuAction): Ditto.
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
Added JSBasics.h to DictionaryFunctions.h to appropriate targets.
- WebKitTestRunner/WorkQueueManager.cpp:
(WTR::ScriptItem::ScriptItem): Use toWK.
(WTR::WorkQueueManager::queueLoadHTMLString): Ditto.
- WebKitTestRunner/cocoa/UIScriptControllerCocoa.h: Make most functions private.
- WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::overridePreference): Use toWTFString.
- WebKitTestRunner/ios/UIScriptControllerIOS.h: Marked the class final and made
most functions private.
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::arrayLength): Deleted. Use the one in JSBasics.h.
(WTR::parseModifierArray): Use the new toWTFString overload.
(WTR::UIScriptControllerIOS::typeCharacterUsingHardwareKeyboard): Ditto.
- WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::EventSenderProxy): Initialize in the class definition.
(WTR::EventSenderProxy::keyDown): Use toWTFString.
- WebKitTestRunner/mac/UIScriptControllerMac.h: Marked the class final and made
most functions private.
- 2:22 PM Changeset in webkit [267760] by
-
- 9 edits in trunk/Source
[macCatalyst] Focus rings are not painted
https://bugs.webkit.org/show_bug.cgi?id=217073
<rdar://problem/46794111>
Reviewed by Darin Adler.
Source/WebCore:
The logic which paints focus rings on Cocoa platforms is incorrectly
guarded by the ENABLE(FULL_KEYBOARD_ACCESS) flag. This flag is only
enabled on macOS and iOS, resulting in an empty implementation for
GraphicsContext::drawFocusRing on macCatalyst.
To fix, remove the incorrect usage of ENABLE(FULL_KEYBOARD_ACCESS).
- platform/graphics/cocoa/GraphicsContextCocoa.mm:
(WebCore::GraphicsContext::drawFocusRing):
- rendering/RenderImage.cpp:
(WebCore::RenderImage::paintAreaElementFocusRing):
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::platformFocusRingColor const):
Source/WebCore/PAL:
- pal/spi/ios/UIKitSPI.h:
Ensure needed interfaces are available on all IOS_FAMILY platforms.
Source/WebKit:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
Ensure that a default focus ring color is specified on macCatalyst.
- 1:51 PM Changeset in webkit [267759] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Make sure <wbr> gets an inline box too.
https://bugs.webkit.org/show_bug.cgi?id=217100
Reviewed by Antti Koivisto.
<wbr> behaves similarly to <br> when it comes to line breaking. They are not committed to LineBreaker but instead we post-process them.
In this patch the <wbr> content is added to the LineCandidate list as a special item (same as with <br>) and later submitted to the current line as a zero width run.
This behavior matches the spec (and FF) but does not match current trunk/rendering.
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineCandidate::InlineContent::trailingWordBreakOpportunity const):
(WebCore::Layout::LineCandidate::InlineContent::appendTrailingLineBreak):
(WebCore::Layout::LineCandidate::InlineContent::appendtrailingWordBreakOpportunity):
(WebCore::Layout::LineCandidate::InlineContent::appendInlineItem):
(WebCore::Layout::LineCandidate::InlineContent::reset):
(WebCore::Layout::LineBuilder::placeInlineContent):
(WebCore::Layout::LineBuilder::nextContentForLine):
(WebCore::Layout::LineCandidate::InlineContent::appendLineBreak): Deleted.
(WebCore::Layout::LineCandidate::InlineContent::setTrailingLineBreak): Deleted.
- 1:40 PM Changeset in webkit [267758] by
-
- 44 edits2 deletes in trunk
Remove IndexedDBWorkers runtime setting now since it is always true
https://bugs.webkit.org/show_bug.cgi?id=217090
Reviewed by Darin Adler.
Source/WebCore:
Removes IndexedDBWorkers runtime setting, allowing us to remove a bunch
of special cases for WorkerGlobalScope constructors. Now instead of explicitly
adding the IndexedDB constructors to WorkerGlobalScope, we use the Exposed
mechanism to have the generators do this for us. While going through each of
the IndexedDB IDLs, I also re-alligned with the current spec, adding comments
for missing functionality as necessary.
- Modules/indexeddb/IDBCursor.idl:
- Modules/indexeddb/IDBCursorWithValue.idl:
- Modules/indexeddb/IDBDatabase.idl:
- Modules/indexeddb/IDBFactory.idl:
- Modules/indexeddb/IDBIndex.idl:
- Modules/indexeddb/IDBKeyRange.idl:
- Modules/indexeddb/IDBObjectStore.idl:
- Modules/indexeddb/IDBOpenDBRequest.idl:
- Modules/indexeddb/IDBRequest.idl:
- Modules/indexeddb/IDBTransaction.idl:
- Modules/indexeddb/IDBVersionChangeEvent.idl:
- Modules/indexeddb/WorkerGlobalScope+IndexedDatabase.idl:
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setIndexedDBWorkersEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::indexedDBWorkersEnabled const): Deleted.
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setIndexedDBWorkersEnabled): Deleted.
- testing/InternalSettings.h:
- testing/InternalSettings.idl:
- workers/WorkerGlobalScope.idl:
LayoutTests:
Removes calls to setIndexedDBWorkersEnabled, which hasn't been required in quite some time,
and removes workers-disabled.html test, as it is no longer possible nor desirable to do this.
- http/tests/security/cross-origin-worker-indexeddb-allowed.html:
- http/tests/security/cross-origin-worker-indexeddb.html:
- http/tests/security/resources/cross-origin-iframe-for-worker-indexeddb.html:
- http/tests/security/resources/document-for-cross-origin-worker-indexeddb.html:
- platform/wincairo/TestExpectations:
- storage/indexeddb/basics-workers.html:
- storage/indexeddb/cursor-advance-workers.html:
- storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html:
- storage/indexeddb/dont-commit-on-blocked-private.html:
- storage/indexeddb/dont-commit-on-blocked.html:
- storage/indexeddb/index-basics-workers.html:
- storage/indexeddb/modern/workers-disabled-expected.txt: Removed.
- storage/indexeddb/modern/workers-disabled.html: Removed.
- storage/indexeddb/objectstore-basics-workers.html:
- storage/indexeddb/open-twice-workers.html:
- storage/indexeddb/pending-activity-workers.html:
- storage/indexeddb/pending-version-change-on-exit-private.html:
- storage/indexeddb/pending-version-change-on-exit.html:
- storage/indexeddb/pending-version-change-stuck-private.html:
- storage/indexeddb/pending-version-change-stuck-works-with-terminate-private.html:
- storage/indexeddb/pending-version-change-stuck-works-with-terminate.html:
- storage/indexeddb/pending-version-change-stuck.html:
- storage/indexeddb/transaction-complete-workers-private.html:
- storage/indexeddb/transaction-complete-workers.html:
- storage/indexeddb/unprefix-workers.html:
- 1:13 PM Changeset in webkit [267757] by
-
- 2 edits in trunk/Tools
[tvOS] [watchOS] Add support in libTestWTFAlwaysMissing-iOS-v2.tbd
https://bugs.webkit.org/show_bug.cgi?id=217068
<rdar://problem/69724742>
Rubber-stamped by Aakash Jain.
- TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS-v2.tbd: Add watchOS and tvOS.
- 12:16 PM Changeset in webkit [267756] by
-
- 3 edits in trunk/Source/WebKitLegacy/mac
Unreviewed, reverting r267397.
SPI is still used <rdar://problem/69749992>
Reverted changeset:
"Remove deprecated script and stylesheet injection SPI,
replaced with more inclusively-named SPI"
https://bugs.webkit.org/show_bug.cgi?id=214936
https://trac.webkit.org/changeset/267397
- 11:24 AM Changeset in webkit [267755] by
-
- 2 edits in trunk/Tools
URL for Apple-iOS-14-Simulator-Debug-WK2-Tests is broken on the dashboard
https://bugs.webkit.org/show_bug.cgi?id=217094
Reviewed by Aakash Jain.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot): Remove a space in the queue name.
- 11:12 AM Changeset in webkit [267754] by
-
- 24 edits in trunk/Source/JavaScriptCore
[JSC] Annotate JIT operation functions called from B3 etc.
https://bugs.webkit.org/show_bug.cgi?id=217082
Reviewed by Saam Barati.
There are many math functions that are called from B3 etc. We should make them JIT operations to complete JIT-caging.
- b3/B3LowerMacros.cpp:
- b3/B3LowerMacrosAfterOptimizations.cpp:
- b3/B3MathExtras.cpp:
- b3/B3ReduceLoopStrength.cpp:
(JSC::B3::JSC_DEFINE_JIT_OPERATION):
(JSC::B3::ReduceLoopStrength::reduceByteCopyLoopsToMemcpy):
(JSC::B3::fastForwardCopy32): Deleted.
- b3/B3ReduceLoopStrength.h:
(JSC::B3::fastForwardCopy32):
- b3/B3ReduceStrength.cpp:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGArithMode.cpp:
(JSC::DFG::arithUnaryFunction):
(JSC::DFG::arithUnaryOperation):
(WTF::printInternal):
- dfg/DFGArithMode.h:
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithMod):
(JSC::DFG::SpeculativeJIT::compileArithRounding):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileArithPow):
- ftl/FTLOutput.cpp:
(JSC::FTL::Output::doubleTrunc):
(JSC::FTL::Output::doubleUnary):
(JSC::FTL::Output::doubleStdPow):
(JSC::FTL::Output::doublePow): Deleted.
- ftl/FTLOutput.h:
- jit/SpecializedThunkJIT.h:
(JSC::SpecializedThunkJIT::callDoubleToDouble):
- jit/ThunkGenerators.cpp:
- runtime/MathCommon.cpp:
(JSC::Math::log1pDoubleImpl):
(JSC::Math::log1pFloatImpl):
(JSC::Math::log1p):
(JSC::Math::JSC_DEFINE_JIT_OPERATION):
(JSC::Math::roundDoubleImpl):
- runtime/MathCommon.h:
- runtime/MathObject.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- runtime/Operations.h:
(JSC::jsRemainder):
- 11:00 AM Changeset in webkit [267753] by
-
- 8 edits3 adds in trunk
IndexedDB Index Corruption after upgrade from iOS 13 to iOS 14
https://bugs.webkit.org/show_bug.cgi?id=216962
<rdar://problem/69587004>
Reviewed by Brady Eidson.
Source/WebCore:
There is an implementation error in r255318, which updated index ID in database IndexInfo and IndexRecords
tables: it made changes to original table while iterating records of it. This means modified records can
be modified again, which leads to that two indices have the same index ID. As index ID is supposed to be unique,
some indices and index records cannot be populated and clients will find some indices are missing.
To fix this, we need to change the implementation of ID update and deal with already corrupted tables. For index
ID update, now we create a temporary table for storing the updated records, and replace the original table with
temporary table at the end of iteration. For the corruption issue, we check if IndexInfo table has duplicate
index IDs. If it has, we try recovering IndexInfo and IndexRecords table by removing records with duplicate
index IDs, assigning new IDs to duplicate indices, and adding records with updated index IDs.
API tests: IndexedDB.IndexUpgradeToV2WithMultipleIndices
IndexedDB.IndexUpgradeToV2WithMultipleIndicesHaveSameID
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::indexInfoTableSchema):
(WebCore::IDBServer::SQLiteIDBBackingStore::createAndPopulateInitialDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::migrateIndexInfoTableForIDUpdate):
(WebCore::IDBServer::SQLiteIDBBackingStore::migrateIndexRecordsTableForIDUpdate):
(WebCore::IDBServer::SQLiteIDBBackingStore::removeExistingIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::addExistingIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::handleDuplicateIndexIDs):
(WebCore::IDBServer::SQLiteIDBBackingStore::extractExistingDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::createIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::updateOneIndexForAddRecord):
- Modules/indexeddb/server/SQLiteIDBBackingStore.h:
- Modules/indexeddb/shared/IDBIndexInfo.h:
(WebCore::IDBIndexInfo::setIdentifier):
- Modules/indexeddb/shared/IDBObjectStoreInfo.cpp:
(WebCore::IDBObjectStoreInfo::addExistingIndex):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm:
(runMultipleIndicesTestWithDatabase):
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2WithMultipleIndices.html: Added.
- TestWebKitAPI/Tests/WebKitCocoa/IndexUpgradeWithMultipleIndices.sqlite3: Added.
- TestWebKitAPI/Tests/WebKitCocoa/IndexUpgradeWithMultipleIndicesHaveSameID.sqlite3: Added.
- 10:55 AM Changeset in webkit [267752] by
-
- 1 copy in tags/Safari-611.1.1.2
Tag Safari-611.1.1.2.
- 10:51 AM Changeset in webkit [267751] by
-
- 8 edits in branches/safari-611.1.1-branch/Source
Versioning.
WebKit-7611.1.1.2
- 10:38 AM Changeset in webkit [267750] by
-
- 73 edits251 deletes in trunk
Remove plist-based ResourceLoadStatistics storage, which has been replaced by database-based storage
https://bugs.webkit.org/show_bug.cgi?id=217063
Reviewed by John Wilander.
Source/WebCore:
ResourceLoadStatistics was initially implemented using plists to store the persistent data on disk.
This caused some performance issues, so a sqlite database backend was implemented and transitioned to.
Now that the transition is complete, let's remove the old plist backend.
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setIsITPDatabaseEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::isITPDatabaseEnabled const): Deleted.
Source/WebKit:
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:
(WebKit::ResourceLoadStatisticsMemoryStore::setPersistentStorage): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::syncStorageIfNeeded): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::syncStorageImmediately): Deleted.
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h:
- NetworkProcess/Classifier/ResourceLoadStatisticsPersistentStorage.cpp: Removed.
- NetworkProcess/Classifier/ResourceLoadStatisticsPersistentStorage.h: Removed.
- NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:
(WebKit::ResourceLoadStatisticsStore::processStatisticsAndDataRecords):
(WebKit::ResourceLoadStatisticsStore::grandfatherExistingWebsiteData):
- NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):
(WebKit::WebResourceLoadStatisticsStore::~WebResourceLoadStatisticsStore):
(WebKit::WebResourceLoadStatisticsStore::didDestroyNetworkSession):
(WebKit::WebResourceLoadStatisticsStore::populateMemoryStoreFromDisk):
(WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent):
(WebKit::WebResourceLoadStatisticsStore::flushAndDestroyPersistentStore): Deleted.
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didClose):
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::setUseITPDatabase): Deleted.
- NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::isITPDatabaseEnabled const): Deleted.
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
- NetworkProcess/NetworkProcessCreationParameters.h:
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::destroyResourceLoadStatistics):
(WebKit::NetworkSession::flushAndDestroyPersistentStore): Deleted.
- NetworkProcess/NetworkSession.h:
- Shared/WebPreferencesInternal.yaml:
- Sources.txt:
- SourcesCocoa.txt:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetIsITPDatabaseEnabled): Deleted.
(WKPreferencesGetIsITPDatabaseEnabled): Deleted.
- UIProcess/API/C/WKPreferencesRef.h:
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreStatisticsResetToConsistentState):
(WKWebsiteDataStoreSetUseITPDatabase): Deleted.
- UIProcess/API/C/WKWebsiteDataStoreRef.h:
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _isITPDatabaseEnabled]): Deleted.
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _setUseITPDatabase:completionHandler:]): Deleted.
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::setUseITPDatabase): Deleted.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::setUseITPDatabase): Deleted.
- UIProcess/WebsiteData/WebsiteDataStore.h:
- UIProcess/ios/ResourceLoadStatisticsPersistentStorageIOS.mm: Removed.
- WebKit.xcodeproj/project.pbxproj:
Source/WTF:
- Scripts/Preferences/WebPreferencesInternal.yaml:
Tools:
These three tests API tests have been removed:
ResourceLoadStatistics.ChildProcessesNotLaunched
ResourceLoadStatistics.GrandfatherCallback
ResourceLoadStatistics.ShouldNotGrandfatherOnStartup
Each of those tests has a corresponding test that ends with "Database" that tests the database backend,
so the only test coverage loss was of the code that was removed.
- TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(ensureITPFileIsCreated):
(TEST):
(isITPDatabaseEnabled): Deleted.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setUseITPDatabase): Deleted.
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::setUseITPDatabase): Deleted.
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
LayoutTests:
- http/tests/resourceLoadStatistics/add-blocking-to-redirect-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/add-blocking-to-redirect-database.html: Removed.
- http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-database.html: Removed.
- http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-expected.txt:
- http/tests/resourceLoadStatistics/blocking-in-web-worker-script-import-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/blocking-in-web-worker-script-import-database.html: Removed.
- http/tests/resourceLoadStatistics/cap-cache-max-age-for-prevalent-resource-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/cap-cache-max-age-for-prevalent-resource-database.html: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-database.html: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-decoration-same-site-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-decoration-same-site-database.html: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-fragment-from-prevalent-resource-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-fragment-from-prevalent-resource-database.html: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-and-fragment-from-prevalent-resource-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-and-fragment-from-prevalent-resource-database.html: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-from-prevalent-resource-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-from-prevalent-resource-database.html: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-without-link-decoration-from-prevalent-resource-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-without-link-decoration-from-prevalent-resource-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-collusion-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-collusion-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-to-prevalent-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-to-prevalent-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-collusion-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-collusion-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-to-prevalent-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-to-prevalent-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-unique-redirects-to-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-unique-redirects-to-database.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-very-prevalent-based-on-mixed-statistics-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/classify-as-very-prevalent-based-on-mixed-statistics-database.html: Removed.
- http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-database.html: Removed.
- http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour-database.html: Removed.
- http/tests/resourceLoadStatistics/cookie-deletion-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/cookie-deletion-database.html: Removed.
- http/tests/resourceLoadStatistics/cookies-with-and-without-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/cookies-with-and-without-user-interaction-database.html: Removed.
- http/tests/resourceLoadStatistics/count-third-party-script-import-in-worker-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/count-third-party-script-import-in-worker-database.html: Removed.
- http/tests/resourceLoadStatistics/count-third-party-script-import-in-worker-expected.txt:
- http/tests/resourceLoadStatistics/count-third-party-script-loads-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/count-third-party-script-loads-database.html: Removed.
- http/tests/resourceLoadStatistics/count-third-party-script-loads-expected.txt:
- http/tests/resourceLoadStatistics/delete-script-accessible-cookies-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/delete-script-accessible-cookies-database.html: Removed.
- http/tests/resourceLoadStatistics/do-not-block-top-level-navigation-redirect-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/do-not-block-top-level-navigation-redirect-database.html: Removed.
- http/tests/resourceLoadStatistics/do-not-capture-statistics-for-simple-top-navigations-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/do-not-capture-statistics-for-simple-top-navigations-database.html: Removed.
- http/tests/resourceLoadStatistics/do-not-remove-blocking-in-redirect-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/do-not-remove-blocking-in-redirect-database.html: Removed.
- http/tests/resourceLoadStatistics/do-not-switch-session-on-navigation-to-prevalent-without-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/do-not-switch-session-on-navigation-to-prevalent-without-interaction-database.php: Removed.
- http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script-database.html: Removed.
- http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script-expected.txt:
- http/tests/resourceLoadStatistics/downgrade-document-referrer-nested-third-party-iframe.html:
- http/tests/resourceLoadStatistics/downgrade-document-referrer-third-party-iframe.html:
- http/tests/resourceLoadStatistics/downgraded-referrer-for-navigation-with-link-query-from-prevalent-resource-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/downgraded-referrer-for-navigation-with-link-query-from-prevalent-resource-database.html: Removed.
- http/tests/resourceLoadStatistics/enable-debug-mode-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/enable-debug-mode-database.html: Removed.
- http/tests/resourceLoadStatistics/enforce-samesite-strict-based-on-top-frame-unique-redirects-to-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/enforce-samesite-strict-based-on-top-frame-unique-redirects-to-database.html: Removed.
- http/tests/resourceLoadStatistics/exemptDomains/app-bound-domains-exempt-from-website-data-deletion-database.html:
- http/tests/resourceLoadStatistics/grandfathering-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/grandfathering-database.html: Removed.
- http/tests/resourceLoadStatistics/leave-empty-document-referrer-alone-third-party-iframe.html:
- http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration-database.html: Removed.
- http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration-expected.txt:
- http/tests/resourceLoadStatistics/log-delayed-client-side-redirects-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/log-delayed-client-side-redirects-database.html: Removed.
- http/tests/resourceLoadStatistics/log-delayed-client-side-redirects-expected.txt:
- http/tests/resourceLoadStatistics/many-inserts-only-insert-once.html:
- http/tests/resourceLoadStatistics/merge-statistic-does-not-overwrite-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/merge-statistic-does-not-overwrite-database.html: Removed.
- http/tests/resourceLoadStatistics/merge-statistic-does-overwrite-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/merge-statistic-does-overwrite-database.html: Removed.
- http/tests/resourceLoadStatistics/merge-statistic-does-partially-overwrite-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/merge-statistic-does-partially-overwrite-database.html: Removed.
- http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction-database.html: Removed.
- http/tests/resourceLoadStatistics/non-prevalent-resource-without-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-prevalent-resource-without-user-interaction-database.html: Removed.
- http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context-database.html: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
- http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-database.html: Removed.
- http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-expected.txt:
- http/tests/resourceLoadStatistics/operating-dates-all-website-data-removed-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/operating-dates-all-website-data-removed-database.html: Removed.
- http/tests/resourceLoadStatistics/ping-to-prevalent-resource-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/ping-to-prevalent-resource-database.html: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown-database.html: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown-database.html: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-database.html: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout-database.html: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-without-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/prevalent-resource-without-user-interaction-database.html: Removed.
- http/tests/resourceLoadStatistics/prune-statistics-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/prune-statistics-database.html: Removed.
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-link-decoration-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-link-decoration-database.html: Removed.
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-link-decoration-expected.txt:
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-mixed-statistics-entries-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-mixed-statistics-entries-database.html: Removed.
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-third-party-script-loads-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-third-party-script-loads-database.html: Removed.
- http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-third-party-script-loads-expected.txt:
- http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
- http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip-database.html: Removed.
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-database.html: Removed.
- http/tests/resourceLoadStatistics/set-custom-prevalent-resource-in-debug-mode-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/set-custom-prevalent-resource-in-debug-mode-database.html: Removed.
- http/tests/resourceLoadStatistics/standalone-web-application-exempt-from-website-data-deletion-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/standalone-web-application-exempt-from-website-data-deletion-database.html: Removed.
- http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-redirects-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-redirects-database.html: Removed.
- http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-requests-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-requests-database.html: Removed.
- http/tests/resourceLoadStatistics/switch-session-on-navigation-to-prevalent-with-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/switch-session-on-navigation-to-prevalent-with-interaction-database.php: Removed.
- http/tests/resourceLoadStatistics/telemetry-generation-advanced-functionality-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/telemetry-generation-advanced-functionality-database.html: Removed.
- http/tests/resourceLoadStatistics/telemetry-generation-basic-functionality-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/telemetry-generation-basic-functionality-database.html: Removed.
- http/tests/resourceLoadStatistics/telemetry-generation-expected.txt:
- http/tests/resourceLoadStatistics/third-party-cookie-blocking-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/third-party-cookie-blocking-database.html: Removed.
- http/tests/resourceLoadStatistics/third-party-cookie-blocking-ephemeral-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/third-party-cookie-blocking-ephemeral-database.html: Removed.
- http/tests/resourceLoadStatistics/third-party-cookie-blocking-on-sites-without-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/third-party-cookie-blocking-on-sites-without-user-interaction-database.html: Removed.
- http/tests/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame-database.html: Removed.
- http/tests/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time-database.html: Removed.
- http/tests/resourceLoadStatistics/user-interaction-reported-after-website-data-removal-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/user-interaction-reported-after-website-data-removal-database.html: Removed.
- http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration-database.html: Removed.
- http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration-expected.txt:
- http/tests/resourceLoadStatistics/website-data-removal-for-site-with-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/website-data-removal-for-site-with-user-interaction-database.html: Removed.
- http/tests/resourceLoadStatistics/website-data-removal-for-site-without-user-interaction-database-expected.txt: Removed.
- http/tests/resourceLoadStatistics/website-data-removal-for-site-without-user-interaction-database.html: Removed.
- http/tests/storageAccess/aggregate-sorted-data-with-storage-access-database-expected.txt: Removed.
- http/tests/storageAccess/aggregate-sorted-data-with-storage-access-database.html: Removed.
- http/tests/storageAccess/aggregate-sorted-data-with-storage-access-expected.txt:
- http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking-database-expected.txt: Removed.
- http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking-database.html: Removed.
- http/tests/storageAccess/deny-storage-access-under-opener-database-expected.txt: Removed.
- http/tests/storageAccess/deny-storage-access-under-opener-database.html: Removed.
- http/tests/storageAccess/deny-storage-access-under-opener-if-auto-dismiss-database-expected.txt: Removed.
- http/tests/storageAccess/deny-storage-access-under-opener-if-auto-dismiss-database.html: Removed.
- http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture-database-expected.txt: Removed.
- http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture-database.html: Removed.
- http/tests/storageAccess/deny-without-prompt-preserves-gesture-database-expected.txt: Removed.
- http/tests/storageAccess/deny-without-prompt-preserves-gesture-database.html: Removed.
- http/tests/storageAccess/grant-storage-access-under-opener-at-popup-user-gesture-database-expected.txt: Removed.
- http/tests/storageAccess/grant-storage-access-under-opener-at-popup-user-gesture-database.html: Removed.
- http/tests/storageAccess/grant-with-prompt-preserves-gesture-database-expected.txt: Removed.
- http/tests/storageAccess/grant-with-prompt-preserves-gesture-database.html: Removed.
- http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking-database-expected.txt: Removed.
- http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking-database.html: Removed.
- http/tests/storageAccess/has-storage-access-crash-database-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-crash-database.html: Removed.
- http/tests/storageAccess/has-storage-access-false-by-default-database-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-false-by-default-database.html: Removed.
- http/tests/storageAccess/has-storage-access-false-by-default-ephemeral-database-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-false-by-default-ephemeral-database.html: Removed.
- http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-user-interaction-database-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-user-interaction-database.html: Removed.
- http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-database-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-database.html: Removed.
- http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral-database-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral-database.html: Removed.
- http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie-database-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie-database.html: Removed.
- http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie-database-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie-database.html: Removed.
- http/tests/storageAccess/remove-requesting-iframe-database-expected.txt: Removed.
- http/tests/storageAccess/remove-requesting-iframe-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-but-access-from-wrong-frame-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-but-access-from-wrong-frame-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-nested-iframe-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-nested-iframe-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access-database.html: Removed.
- http/tests/storageAccess/request-and-grant-access-then-navigate-same-site-should-have-access-database-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-access-then-navigate-same-site-should-have-access-database.html: Removed.
- http/tests/storageAccess/request-storage-access-crash-database-expected.txt: Removed.
- http/tests/storageAccess/request-storage-access-crash-database.html: Removed.
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin-database-expected.txt: Removed.
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin-database.html: Removed.
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token-database-expected.txt: Removed.
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token-database.html: Removed.
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-user-gesture-database-expected.txt: Removed.
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-user-gesture-database.html: Removed.
- http/tests/storageAccess/request-storage-access-same-origin-iframe-database-expected.txt: Removed.
- http/tests/storageAccess/request-storage-access-same-origin-iframe-database.html: Removed.
- http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-database-expected.txt: Removed.
- http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-database.html: Removed.
- http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token-database-expected.txt: Removed.
- http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token-database.html: Removed.
- http/tests/storageAccess/request-storage-access-top-frame-database-expected.txt: Removed.
- http/tests/storageAccess/request-storage-access-top-frame-database.html: Removed.
- http/tests/webAPIStatistics/canvas-read-and-write-data-collection-expected.txt:
- http/tests/webAPIStatistics/font-load-data-collection-expected.txt:
- http/tests/webAPIStatistics/navigator-functions-accessed-data-collection-expected.txt:
- http/tests/webAPIStatistics/screen-functions-accessed-data-collection-expected.txt:
- platform/gtk/TestExpectations:
- platform/ios-wk2/TestExpectations:
- platform/ios/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/wk2/TestExpectations:
- platform/wpe/TestExpectations:
- 10:36 AM Changeset in webkit [267749] by
-
- 2 edits in branches/safari-610-branch/Source/WebCore
Cherry-pick r267722. rdar://problem/69586659
Cherry-pick r266899. rdar://problem/69586659
Integrator's note: as some of the symbols present on trunk are not available on branch, special modifications had to be made to this cherry-pick to build.
Address a post-commit review comment after r266887
https://bugs.webkit.org/show_bug.cgi?id=216257
Reviewed by Darin Adler.
Remove a check that currently makes us conditionally set
IsComputedStyleInvalidFlag
if there is a computed
style in rare data. There should be no change in behavior; this just makes the code a bit simpler.
- dom/Element.cpp: (WebCore::Element::invalidateStyle): (WebCore::Element::storeDisplayContentsStyle):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266899 268f45cc-cd09-0410-ab3c-d52691b4dbfc
git-svn-id: https://svn.webkit.org/repository/webkit/branches/safari-610-branch@267722 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:34 AM Changeset in webkit [267748] by
-
- 4 edits2 adds in branches/safari-610-branch
Cherry-pick r267721. rdar://problem/69586659
Cherry-pick r266887. rdar://problem/69586659
Integrator's note: as some of the symbols present on trunk are not available on branch, special modifications had to be made to this cherry-pick to build.
REGRESSION (r257839): clickpay.com - password placeholder text cannot be replaced
https://bugs.webkit.org/show_bug.cgi?id=216257
<rdar://problem/68150686>
Reviewed by Antti Koivisto.
Source/WebCore:
On clickpay.com, the field in the login form that contains the text "Password" is actually a plain text input,
referred to by the site's script as the "null text input". The page adds a focus event listener to this null
text input, and inside of this focus event listener, it reveals a hidden password field by removing an inline
display: none;
style rule on the real password input element, programmatically focuses it, and then hides the
null text input by setting it todisplay: none;
via inline style.
However, after the changes in r257839, we no longer attempt to do a style update upon programmatic focus in the
case where the programmatically focused element does not have a renderer yet (this applies to the password field
in this scenario, because it previously haddisplay: none;
). When we determine whether the newly displayed
password field is focusable usingElement::isVisibleWithoutResolvingFullStyle
, we then attempt to use either
the existing computedRenderStyle
on the element, or perform a partial computed style resolution using the
ResolveComputedStyleMode::RenderedOnly
flag.
But in the case where
ElementRareData
's computed style exists, it is not guaranteed to be up to date if the
inline style changed since the computed style was last set. In the context of this bug, it's actually Safari's
AutoFill logic (embedded in the injected bundle) that ends up asking for the computed style of the password
input, forcing it to be created and set (though, as demonstrated in the layout test, simply grabbing the
computed style is sufficient to replicate the bug outside of Safari).
The end result is that we'll use this stale computed style, which still believes that the password input is not
displayed, and we end up not focusing the element due to believing that the password input is hidden. To fix
this, we would need to either check whether the element has an invalid style (i.e.needsStyleRecalc()
) before
attempting to use the existing computed style, or clear out theElementRareData
computed style anytime the
element's style is invalidated. However, both of these approaches will cause us to perform partial style
resolution much more aggressively, leading to a 2-3% regression in Speedometer.
To address the bug without hampering our performance wins from r257839, we add a new node flag so that we can
remember when computed styles are no longer valid due to style invalidation, and consult this flag in
Element::isVisibleWithoutResolvingFullStyle
to avoid using the existing computed style.
Test: fast/forms/programmatic-focus-after-display.html
- dom/Element.cpp: (WebCore::Element::invalidateStyle): (WebCore::Element::resolveComputedStyle): (WebCore::Element::isVisibleWithoutResolvingFullStyle const):
- dom/Node.h: (WebCore::Node::setHasValidStyle):
LayoutTests:
Add a new layout test to verify that the bug does not occur. See WebCore/ChangeLog for more details.
- fast/forms/programmatic-focus-after-display-expected.txt: Added.
- fast/forms/programmatic-focus-after-display.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266887 268f45cc-cd09-0410-ab3c-d52691b4dbfc
git-svn-id: https://svn.webkit.org/repository/webkit/branches/safari-610-branch@267721 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:21 AM Changeset in webkit [267747] by
-
- 2 edits in branches/safari-611.1.2-branch/Source/WebCore
Cherry-pick r267706. rdar://problem/69751604
REGRESSION (r267329): Crash due to null-dereference of frame pointer in DOMSelection::rangeCount
https://bugs.webkit.org/show_bug.cgi?id=217053
Reviewed by Sam Weinig.
Later as a follow-up it would be nice to add a test case, but not obvious how to
make a simple one quickly.
- page/DOMSelection.cpp: (WebCore::DOMSelection::rangeCount const): Fixed the null check.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267706 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:52 AM Changeset in webkit [267746] by
-
- 4 edits2 deletes in branches/safari-610-branch
Revert r266887. rdar://problem/69586659
- 9:52 AM Changeset in webkit [267745] by
-
- 2 edits in branches/safari-610-branch/Source/WebCore
Revert r266899. rdar://problem/69586659
- 9:47 AM Changeset in webkit [267744] by
-
- 70 edits2 copies11 adds in trunk
Add stubs for AudioWorklet
https://bugs.webkit.org/show_bug.cgi?id=217059
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
Rebaseline WPT tests now that AudioWorklet / AudioWorkletNode / AudioParamMap interfaces are exposed.
- web-platform-tests/webaudio/idlharness.https.window-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/active-processing.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/processing-after-resume.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-audioworklet-connections.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-audioworklet.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-stereo-panner-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-addmodule-resolution.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-audioparam-iterable.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-audioparam-size.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-audioparam.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-messageport.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-postmessage-sharedarraybuffer.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-suspend.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletglobalscope-sample-rate.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletglobalscope-timing-info.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-automatic-pull.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-channel-count.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-construction.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-constructor-options.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-disconnected-input.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-onerror.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-output-channel-count.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-options.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-process-frozen-array.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-process-zero-outputs.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-promises.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/baseaudiocontext-audioworklet.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/extended-audioworkletnode-with-parameters.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/process-getter.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/process-parameters.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/processor-construction-port.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/simple-input-output.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/suspended-context-messageport.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/active-processing.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/active-processing.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/cors-check.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/no-cors.https-expected.txt:
Source/WebCore:
Add stubs for AudioWorklet, AudioWorkletNode and AudioParamMap:
- https://www.w3.org/TR/webaudio/#audioworklet
- https://www.w3.org/TR/webaudio/#audioworkletnode
- https://www.w3.org/TR/webaudio/#audioparammap
No new tests, rebaselined existing tests.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Modules/webaudio/AudioNode.cpp:
(WebCore::convertEnumerationToString):
- Modules/webaudio/AudioNode.h:
- Modules/webaudio/AudioParamMap.cpp: Added.
(WebCore::AudioParamMap::initializeMapLike):
(WebCore::AudioParamMap::add):
- Modules/webaudio/AudioParamMap.h: Added.
(WebCore::AudioParamMap::create):
(WebCore::AudioParamMap::map const):
- Modules/webaudio/AudioParamMap.idl: Added.
- Modules/webaudio/AudioWorklet.cpp: Added.
(WebCore::AudioWorklet::create):
(WebCore::AudioWorklet::AudioWorklet):
- Modules/webaudio/AudioWorklet.h: Added.
- Modules/webaudio/AudioWorklet.idl: Added.
- Modules/webaudio/AudioWorkletNode.cpp: Added.
(WebCore::AudioWorkletNode::create):
(WebCore::AudioWorkletNode::AudioWorkletNode):
(WebCore::AudioWorkletNode::~AudioWorkletNode):
(WebCore::AudioWorkletNode::process):
- Modules/webaudio/AudioWorkletNode.h: Added.
(WebCore::AudioWorkletNode::parameters):
(WebCore::AudioWorkletNode::port):
- Modules/webaudio/AudioWorkletNode.idl: Added.
- Modules/webaudio/AudioWorkletNodeOptions.h: Added.
- Modules/webaudio/AudioWorkletNodeOptions.idl: Added.
- Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::BaseAudioContext):
- Modules/webaudio/BaseAudioContext.h:
(WebCore::BaseAudioContext::audioWorklet):
- Modules/webaudio/BaseAudioContext.idl:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/WebCoreBuiltinNames.h:
- css/DOMCSSPaintWorklet.cpp:
(WebCore::DOMCSSPaintWorklet::ensurePaintWorklet):
(WebCore::PaintWorklet::addModule):
- css/DOMCSSPaintWorklet.h:
- dom/Document.cpp:
(WebCore::Document::ensurePaintWorklet):
- dom/Document.h:
- dom/EventNames.h:
- page/Settings.yaml:
- worklets/Worklet.cpp:
(WebCore::Worklet::addModule):
- worklets/Worklet.h:
- worklets/Worklet.idl:
- worklets/WorkletOptions.h: Copied from Source/WebCore/worklets/Worklet.idl.
- worklets/WorkletOptions.idl: Copied from Source/WebCore/worklets/Worklet.idl.
Source/WebKit:
Add experimental feature flag for AudioWorklet API.
- Shared/WebPreferencesExperimental.yaml:
LayoutTests:
Skip tests that are timing out because we don't support Worklet.addModule() yet.
- TestExpectations:
- webaudio/AudioParam/worklet-warnings-expected.txt:
- 9:47 AM Changeset in webkit [267743] by
-
- 2 edits in trunk/Tools
[resultsdbpy] Restrict incoming traffic to localhost
https://bugs.webkit.org/show_bug.cgi?id=217089
<rdar://problem/69749845>
Reviewed by Aakash Jain.
- Scripts/libraries/resultsdbpy/resultsdbpy/model/docker-compose.yml: Restrict incoming traffic to localhost.
- 9:41 AM Changeset in webkit [267742] by
-
- 18 edits in trunk/Source/WebCore
[GPU Process] Several layout tests in fast/canvas crash under GraphicsContext::clipToImageBuffer
https://bugs.webkit.org/show_bug.cgi?id=217026
<rdar://problem/69663834>
Reviewed by Simon Fraser.
When using the GPU Process for rendering, calling
GraphicsContext::clipToImageBuffer
currently results in a
crash, due to the platformCGContextRef
being null. This causes the following 4 canvas-related tests to fail:
- fast/canvas/2d.fillText.gradient.html
- fast/canvas/2d.text.draw.fill.maxWidth.gradient.html
- fast/canvas/canvas-text-alignment.html
- fast/canvas/gradient-text-with-shadow.html
In all four of these tests, the
clipToImageBuffer
call comes fromCanvasRenderingContext2D::drawTextInternal
method, while creating the image used to provide the mask when there is a gradient or pattern fill. This is
tricky to support when using the GPU process with display list items, sinceImageBuffer
s cannot be generally
sent to the GPU process through IPC. Instead of painting anImageBuffer
and sending it over IPC, we can
introduce a newGraphicsContext
method that clips to an image that is painted via aWTF::Function
that is
passed in, and receives aGraphicsContext&
. When using a display-list-backedGraphicsContext
, we can create
a newDisplayList
recording context and use the givenFunction
to populate the display list with items,
which can then be sent to the GPU process through IPC. When using a platformCGContextRef
-backed
GraphicsContext
, we instead create a newImageBuffer
compatible with the current context, and then use this
ImageBuffer
to callclipToImageBuffer
. We then refactordrawTextInternal
so that it uses this new
GraphicsContext
method. See below for more details.
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawTextInternal):
Refactor this to use
clipToDrawingCommands
instead ofclipToImageBuffer
.
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::clipToDrawingCommands):
Introduce a new
GraphicsContext
method that takes a function which draws into a givenGraphicsContext
. When
there is noGraphicsContextImpl
present, we create a newImageBuffer
compatible with thisGraphicsContext
,
paint into it using the givenFunction
, and lastly pass this paintedImageBuffer
intoclipToImageBuffer
.
- platform/graphics/GraphicsContext.h:
- platform/graphics/GraphicsContextImpl.h:
- platform/graphics/cairo/GraphicsContextImplCairo.cpp:
(WebCore::GraphicsContextImplCairo::clipToDrawingCommands):
Add an unimplemented method stub. Since the only call site of
GraphicsContext::clipToDrawingCommands
is behind
aUSE(CG)
guard, leaving this unimplemented for the time being won't result in any regression in behavior.
- platform/graphics/cairo/GraphicsContextImplCairo.h:
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::clipToImageBuffer):
It's not strictly necessary to fix these layout tests, but we should still add a check for
clipToImageBuffer
here with a call toGraphicsContextImpl::clipToImageBuffer
even thoughclipToImageBuffer
is unimplemented,
to ensure that we at least avoid crashing if anything calls into this codepath.
- platform/graphics/displaylists/DisplayList.h:
- platform/graphics/displaylists/DisplayListDrawingContext.h:
(WebCore::DisplayList::DrawingContext::takeDisplayList):
Add a helper function to extract the
DisplayList
out of aDisplayList::DrawingContext
.
- platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::ClipToDrawingCommands::ClipToDrawingCommands):
(WebCore::DisplayList::ClipToDrawingCommands::apply const):
Apply the
ClipToDrawingCommands
item by usingDisplayList::Replayer
to replay the given display list items
back in a new platform CG-backed image buffer in the GPU process.
(WebCore::DisplayList::operator<<):
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::ClipToDrawingCommands::create):
(WebCore::DisplayList::ClipToDrawingCommands::destination const):
(WebCore::DisplayList::ClipToDrawingCommands::colorSpace const):
(WebCore::DisplayList::ClipToDrawingCommands::drawingCommands const):
(WebCore::DisplayList::ClipToDrawingCommands::encode const):
(WebCore::DisplayList::ClipToDrawingCommands::decode):
(WebCore::DisplayList::Item::encode const):
(WebCore::DisplayList::Item::decode):
Add a new
ClipToDrawingCommands
display list item, with support for IPC encoding and decoding.
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::clipToDrawingCommands):
Implement the display-list-backed
clipToDrawingCommands
method by creating a newDisplayList::DrawingContext
and playing the given drawing function back into theDrawingContext
. This populates the recording context with
a display list, which we can use to create a serializable display list item.
- platform/graphics/displaylists/DisplayListRecorder.h:
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:
(Nicosia::CairoOperationRecorder::clipToDrawingCommands):
Add another unimplemented method stub.
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
- platform/graphics/win/GraphicsContextImplDirect2D.cpp:
(WebCore::GraphicsContextImplDirect2D::clipToDrawingCommands):
Add another unimplemented method stub.
- platform/graphics/win/GraphicsContextImplDirect2D.h:
- 9:34 AM Changeset in webkit [267741] by
-
- 3 edits in trunk/Source/WebCore
[Media in GPU Process] Use VideoLayerManager to manage layers of MediaPlayerPrivateRemote
https://bugs.webkit.org/show_bug.cgi?id=216995
Patch by Peng Liu <Peng Liu> on 2020-09-29
Reviewed by Zalan Bujtas.
A follow-up patch to fix a build failure.
- platform/graphics/avfoundation/objc/VideoLayerManagerObjC.h:
- platform/graphics/avfoundation/objc/VideoLayerManagerObjC.mm:
(WebCore::VideoLayerManagerObjC::~VideoLayerManagerObjC):
- 9:27 AM Changeset in webkit [267740] by
-
- 2 edits in trunk/Tools
Limit number of tests to log in case of large number of JSC test failures
https://bugs.webkit.org/show_bug.cgi?id=217085
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(AnalyzeJSCTestsResults.start):
- 9:27 AM Changeset in webkit [267739] by
-
- 2 edits in trunk/Tools
[ews] Refactor NUM_API_FAILURES_TO_DISPLAY
https://bugs.webkit.org/show_bug.cgi?id=217086
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(AnalyzeAPITestsResults):
(AnalyzeAPITestsResults.analyzeResults):
- 9:04 AM Changeset in webkit [267738] by
-
- 5 edits in trunk
[macOS] Deny access to 'com.apple.awdd' in the WebContent sandbox
https://bugs.webkit.org/show_bug.cgi?id=216975
Reviewed by Darin Adler.
Source/WebKit:
This has already been done on iOS in <https://trac.webkit.org/changeset/254376>, and should be done on macOS as well.
- WebProcess/com.apple.WebProcess.sb.in:
LayoutTests:
- fast/sandbox/mac/sandbox-mach-lookup-expected.txt:
- fast/sandbox/mac/sandbox-mach-lookup.html:
- 9:03 AM Changeset in webkit [267737] by
-
- 3 edits in trunk/Tools
Limit maximum number of webkitpy failures to display
https://bugs.webkit.org/show_bug.cgi?id=217087
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(WebKitPyTest):
(WebKitPyTest.getResultSummary):
- BuildSlaveSupport/ews-build/steps_unittest.py:
(test_lot_of_failures): Added unit-tests.
- 9:02 AM Changeset in webkit [267736] by
-
- 1 edit1 add in trunk/Tools
[build.webkit.org] Add unit-test to detect invalid triggers in config.json
https://bugs.webkit.org/show_bug.cgi?id=216898
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/build.webkit.org-config/loadConfig_unittest.py: Added.
(ConfigDotJSONTest):
(ConfigDotJSONTest.get_config):
(ConfigDotJSONTest.test_builder_keys):
(ConfigDotJSONTest.test_multiple_scheduers_for_builder):
(ConfigDotJSONTest.test_schduler_contains_valid_builder_name):
(ConfigDotJSONTest.test_single_builder_for_triggerable_scheduler):
- 8:52 AM Changeset in webkit [267735] by
-
- 11 edits3 adds in trunk/Source/WebCore
Implement asynchronous OffscreenCanvas placeholder updates for TextureMapperGL-based compositor
https://bugs.webkit.org/show_bug.cgi?id=202798
Reviewed by Simon Fraser.
Implement asynchronous updates for users of the Nicosia compositor
(i.e. GTK, WPE). This allows OffscreenCanvas-controlled canvases to
update visually while the main thread is blocked.
No new tests. Covered by existing tests.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::transferControlToOffscreen):
- html/OffscreenCanvas.cpp:
(WebCore::OffscreenCanvas::create):
(WebCore::OffscreenCanvas::setPlaceholderCanvas):
(WebCore::OffscreenCanvas::pushBufferToPlaceholder):
(WebCore::OffscreenCanvas::commitToPlaceholderCanvas):
- html/OffscreenCanvas.h:
- html/canvas/PlaceholderRenderingContext.cpp:
(WebCore::PlaceholderRenderingContext::PlaceholderRenderingContext):
(WebCore::PlaceholderRenderingContext::platformLayer const):
- html/canvas/PlaceholderRenderingContext.h:
- platform/TextureMapper.cmake:
- platform/graphics/ImageBufferPipe.cpp: Added.
(WebCore::ImageBufferPipe::create):
- platform/graphics/ImageBufferPipe.h: Added.
- platform/graphics/nicosia/NicosiaImageBufferPipe.cpp: Added.
(Nicosia::NicosiaImageBufferPipeSource::NicosiaImageBufferPipeSource):
(Nicosia::NicosiaImageBufferPipeSource::handle):
(Nicosia::NicosiaImageBufferPipeSource::platformLayer const):
(Nicosia::NicosiaImageBufferPipeSource::swapBuffersIfNeeded):
(Nicosia::NicosiaImageBufferPipe::NicosiaImageBufferPipe):
(Nicosia::NicosiaImageBufferPipe::source const):
(Nicosia::NicosiaImageBufferPipe::platformLayer const):
(WebCore::ImageBufferPipe::create):
- platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:
(WebCore::TextureMapperPlatformLayerProxy::activateOnCompositingThread):
(WebCore::TextureMapperPlatformLayerProxy::scheduleUpdateOnCompositorThread):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::containsPaintedContent const):
(WebCore::RenderLayerBacking::contentChanged):
- 6:19 AM Changeset in webkit [267734] by
-
- 11 edits in trunk/Source/WebCore
[LFC][Integration] Generalize run iterator for non-text runs
https://bugs.webkit.org/show_bug.cgi?id=217083
Reviewed by Zalan Bujtas.
Add RunIterator base for TextRunIterator.
Add type traits.
Naming improvements.
- dom/Position.cpp:
(WebCore::Position::upstream const):
(WebCore::Position::downstream const):
- editing/TextIterator.cpp:
(WebCore::TextIterator::handleTextRun):
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::textRunsFor const):
(WebCore::LayoutIntegration::LineLayout::runFor const):
(WebCore::LayoutIntegration::LineLayout::elementRunFor const): Deleted.
- layout/integration/LayoutIntegrationLineLayout.h:
- layout/integration/LayoutIntegrationRunIterator.cpp:
(WebCore::LayoutIntegration::RunIterator::RunIterator):
(WebCore::LayoutIntegration::RunIterator::traverseNextTextRunInVisualOrder):
(WebCore::LayoutIntegration::RunIterator::traverseNextTextRunInTextOrder):
(WebCore::LayoutIntegration::RunIterator::operator== const):
(WebCore::LayoutIntegration::RunIterator::atEnd const):
(WebCore::LayoutIntegration::TextRunIterator::TextRunIterator):
(WebCore::LayoutIntegration::runFor):
(WebCore::LayoutIntegration::TextRunIterator::traverseNextInVisualOrder): Deleted.
(WebCore::LayoutIntegration::TextRunIterator::traverseNextInTextOrder): Deleted.
(WebCore::LayoutIntegration::TextRunIterator::operator== const): Deleted.
(WebCore::LayoutIntegration::TextRunIterator::atEnd const): Deleted.
(WebCore::LayoutIntegration::ElementRunIterator::ElementRunIterator): Deleted.
(WebCore::LayoutIntegration::ElementRunIterator::atEnd const): Deleted.
(WebCore::LayoutIntegration::elementRunFor): Deleted.
- layout/integration/LayoutIntegrationRunIterator.h:
(WebCore::LayoutIntegration::RunIterator::RunIterator):
(WebCore::LayoutIntegration::RunIterator::operator!= const):
(WebCore::LayoutIntegration::RunIterator::operator* const):
(WebCore::LayoutIntegration::RunIterator::operator-> const):
(WebCore::LayoutIntegration::TextRunIterator::TextRunIterator):
(WebCore::LayoutIntegration::TextRunIterator::operator++):
(WebCore::LayoutIntegration::TextRunIterator::operator* const):
(WebCore::LayoutIntegration::TextRunIterator::operator-> const):
(WebCore::LayoutIntegration::TextRunIterator::get const):
(WebCore::LayoutIntegration::Run::isText const):
(WebCore::LayoutIntegration::Run::minimumCaretOffset const):
(WebCore::LayoutIntegration::Run::maximumCaretOffset const):
(WebCore::LayoutIntegration::TextRun::isLastTextRunOnLine const):
(WebCore::LayoutIntegration::TextRun::isLastTextRun const):
(isType):
(WebCore::LayoutIntegration::TextRunIterator::operator bool const): Deleted.
(WebCore::LayoutIntegration::TextRunIterator::operator!= const): Deleted.
(WebCore::LayoutIntegration::TextRunIterator::operator== const): Deleted.
(WebCore::LayoutIntegration::ElementRunIterator::ElementRunIterator): Deleted.
(WebCore::LayoutIntegration::ElementRunIterator::operator bool const): Deleted.
(WebCore::LayoutIntegration::ElementRunIterator::operator* const): Deleted.
(WebCore::LayoutIntegration::ElementRunIterator::operator-> const): Deleted.
(WebCore::LayoutIntegration::TextRun::isLastOnLine const): Deleted.
(WebCore::LayoutIntegration::TextRun::isLast const): Deleted.
- layout/integration/LayoutIntegrationRunIteratorLegacyPath.h:
(WebCore::LayoutIntegration::LegacyPath::isText const):
(WebCore::LayoutIntegration::LegacyPath::minimumCaretOffset const):
(WebCore::LayoutIntegration::LegacyPath::maximumCaretOffset const):
(WebCore::LayoutIntegration::LegacyPath::isLastTextRunOnLine const):
(WebCore::LayoutIntegration::LegacyPath::isLastTextRun const):
(WebCore::LayoutIntegration::LegacyPath::isLastOnLine const): Deleted.
(WebCore::LayoutIntegration::LegacyPath::isLast const): Deleted.
- layout/integration/LayoutIntegrationRunIteratorModernPath.h:
(WebCore::LayoutIntegration::ModernPath::isText const):
(WebCore::LayoutIntegration::ModernPath::minimumCaretOffset const):
(WebCore::LayoutIntegration::ModernPath::maximumCaretOffset const):
(WebCore::LayoutIntegration::ModernPath::isLastTextRunOnLine const):
(WebCore::LayoutIntegration::ModernPath::isLastTextRun const):
(WebCore::LayoutIntegration::ModernPath::isLastOnLine const): Deleted.
(WebCore::LayoutIntegration::ModernPath::isLast const): Deleted.
- rendering/RenderLineBreak.cpp:
(WebCore::RenderLineBreak::linesBoundingBox const):
(WebCore::RenderLineBreak::boundingBoxForRenderTreeDump const):
(WebCore::RenderLineBreak::absoluteRects const):
(WebCore::RenderLineBreak::absoluteQuads const):
- rendering/RenderText.cpp:
(WebCore::containsOffset):
- 6:12 AM Changeset in webkit [267733] by
-
- 6 edits in trunk/Source/WebCore
[LFC][IFC] LineBreaker renames
https://bugs.webkit.org/show_bug.cgi?id=217067
Reviewed by Antti Koivisto.
The following functions and structures have evolved over time. Let's sync up their names.
LineBreaker::shouldWrapInlineContent -> processInlineContent -> it's not just a "should wrap now" function anymore.
LineBreaker::tryWrappingInlineContent -> processOverflowingContent -> It does both wrapping and breaking.
LineBreaker::wrapTextContent -> processOverflowingTextContent same as above
struct WrappedTextContent -> TrailingTextContent -> it holds information about the trailing content after wrapping/breaking.
LineBreaker::Result::Action::Split -> Break -> closer to spec term.
(This patch also changes some unsigned to size_t.)
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::lineLayout):
- layout/inlineformatting/InlineLineBreaker.cpp:
(WebCore::Layout::LineBreaker::processInlineContent):
(WebCore::Layout::LineBreaker::processOverflowingContent const):
(WebCore::Layout::LineBreaker::processOverflowingTextContent const):
(WebCore::Layout::LineBreaker::tryBreakingTextRun const):
(WebCore::Layout::LineBreaker::shouldWrapInlineContent): Deleted.
(WebCore::Layout::LineBreaker::tryWrappingInlineContent const): Deleted.
(WebCore::Layout::LineBreaker::wrapTextContent const): Deleted.
- layout/inlineformatting/InlineLineBreaker.h:
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::layoutInlineContent):
(WebCore::Layout::LineBuilder::placeInlineContent):
(WebCore::Layout::LineBuilder::nextContentForLine):
(WebCore::Layout::LineBuilder::handleFloatsAndInlineContent):
- layout/inlineformatting/InlineLineBuilder.h:
- 2:04 AM Changeset in webkit [267732] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, attempt to fix WinCairo build failure part 2
https://bugs.webkit.org/show_bug.cgi?id=217071
- ftl/FTLOperations.h:
- 1:50 AM Changeset in webkit [267731] by
-
- 3 edits in trunk/Source/JavaScriptCore
Unreviewed, attempt to fix WinCairo build failure
https://bugs.webkit.org/show_bug.cgi?id=217071
- ftl/FTLOperations.h:
- tools/JSDollarVM.cpp:
- 12:44 AM Changeset in webkit [267730] by
-
- 6 edits2 adds in trunk
Data URL image is not rendered if there is whitespace between the mime type and and "base64" string
https://bugs.webkit.org/show_bug.cgi?id=216900
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-09-29
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/data-urls/processing.any-expected.txt:
- web-platform-tests/fetch/data-urls/processing.any.worker-expected.txt:
Source/WebCore:
According to https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs,
spaces are allowed in the data URL to allow better formatting. This
means spaces may appear before and after the comma and the semicolon
(if it exits in the Data URL).
Test: fast/images/image-data-url-with-spaces.html
- platform/network/DataURLDecoder.cpp:
(WebCore::DataURLDecoder::DecodeTask::process):
LayoutTests:
In the new test, 16 cases are included to cover all the permutations of
adding spaces before and after the comma and the semicolon. PNG and JPEG
formats are used to ensure the mime type is tested.
- fast/images/image-data-url-with-spaces-expected.html: Added.
- fast/images/image-data-url-with-spaces.html: Added.
- 12:20 AM Changeset in webkit [267729] by
-
- 2 edits in trunk/Source/WebKit
[GTK] Stop using the default website data store for the inspector
https://bugs.webkit.org/show_bug.cgi?id=217034
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2020-09-29
Reviewed by Michael Catanzaro.
The GTK should never use the default website data store. Use a dedicated website data store for the inspector
with its own configuration to store persistent data.
- UIProcess/Inspector/gtk/WebInspectorProxyGtk.cpp:
(WebKit::inspectorWebsiteDataStore):
(WebKit::WebInspectorProxy::platformCreateFrontendPage):
Sep 28, 2020:
- 11:25 PM Changeset in webkit [267728] by
-
- 3 edits in trunk/Tools
[webkitpy] Use webkitcorepy's auto installer for pycodestyle (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=215427
<rdar://problem/66931291>
Unreviewed follow-up fix.
Conflict resolution at some point broke the original change.
- Scripts/webkitpy/style/checkers/python.py: Import directly from pycodestyle.
- Scripts/webkitpy/thirdparty/init.py:
(AutoinstallImportHook._install_pycodestyle): Deleted.
- 10:51 PM Changeset in webkit [267727] by
-
- 131 edits in trunk/Source
Use JSC_DECLARE_JIT_OPERATION / JSC_DECLARE_CUSTOM_GETTER / JSC_DECLARE_CUSTOM_SETTER
https://bugs.webkit.org/show_bug.cgi?id=217071
Reviewed by Keith Miller.
Source/JavaScriptCore:
This patch changes how to define JIT_OPERATIONs including custom getters and setters.
We introduce JSC_DECLARE_JIT_OPERATION etc. to declare and define them. This is useful
to perform some additional things (like, JIT-caging registering) for each function.
Source/WebCore:
No behavior change.
Source/WTF:
Add the following macros.
- JSC_DECLARE_JIT_OPERATION
- JSC_DEFINE_JIT_OPERATION
- JSC_DECLARE_CUSTOM_GETTER
- JSC_DEFINE_CUSTOM_GETTER
- JSC_DECLARE_CUSTOM_SETTER
- JSC_DEFINE_CUSTOM_SETTER
- wtf/PlatformCallingConventions.h:
- 9:54 PM Changeset in webkit [267726] by
-
- 21 edits in trunk
Add Bounds Check Elimination validation for debugging.
https://bugs.webkit.org/show_bug.cgi?id=217055
rdar://69122891
Reviewed by Keith Miller.
Source/JavaScriptCore:
Added a JSC_validateBoundsCheckElimination option (with alias
JSC_validateBCE) that adds an AssertInBounds whenever a CheckInBounds
node is elided.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGIntegerCheckCombiningPhase.cpp:
(JSC::DFG::IntegerCheckCombiningPhase::handleBlock):
- dfg/DFGIntegerRangeOptimizationPhase.cpp:
- dfg/DFGNodeType.h:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGValidate.cpp:
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::validateAIState):
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileAssertNotEmpty):
(JSC::FTL::DFG::LowerDFGToB3::compileAssertInBounds):
- ftl/FTLOperations.cpp:
(JSC::FTL::operationReportBoundsCheckEliminationErrorAndCrash):
- ftl/FTLOperations.h:
- runtime/OptionsList.h:
Tools:
Added --validateBCE=true to ftl-no-cjit-validate-sampling-profiler
and ftl-eager-no-cjit.
- Scripts/run-jsc-stress-tests:
- 9:52 PM Changeset in webkit [267725] by
-
- 15 edits1 copy in trunk/Source
[Media in GPU Process] Use VideoLayerManager to manage layers of MediaPlayerPrivateRemote
https://bugs.webkit.org/show_bug.cgi?id=216995
Reviewed by Eric Carlson.
Source/WebCore:
No new tests since no functional changes.
- Headers.cmake:
Export TextTrackRepresentation and VideoLayerManager.
- WebCore.xcodeproj/project.pbxproj:
Add VideoLayerManager.h.
Export TextTrackRepresentation, WebVideoContainerLayer and VideoLayerManager.
- platform/graphics/TextTrackRepresentation.cpp:
- platform/graphics/TextTrackRepresentation.h:
Minor clean-up.
- platform/graphics/VideoLayerManager.h: Added.
Add this interface so that we can use VideoLayerManager in the C++ code.
- platform/graphics/avfoundation/objc/VideoLayerManagerObjC.h:
- platform/graphics/avfoundation/objc/VideoLayerManagerObjC.mm:
(WebCore::VideoLayerManagerObjC::videoInlineLayer const):
(WebCore::VideoLayerManagerObjC::videoFullscreenLayer const):
(WebCore::VideoLayerManagerObjC::videoFullscreenFrame const):
(WebCore::VideoLayerManagerObjC::updateVideoFullscreenInlineImage):
Fix the issue when RELEASE_LOG_DISABLED is defined and add WEBCORE_EXPORT
to some functions.
Source/WebKit:
This patch removes the remote hosting layer in the GPU process for video fullscreen and
picture-in-picture. We don't need to keep a layer in the GPU process for video fullscreen
and picture-in-picture because no rendering will be done for that layer. We don't need
EnterFullscreen, ExitFullscreen and SetVideoFullscreenFrameFenced IPC messages after removing
the layer because the RemoteMediaPlayerPrivateRemote in the web process can deal with
the video presentation mode change.
- GPUProcess/media/RemoteMediaPlayerProxy.h:
- GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
- GPUProcess/media/cocoa/RemoteMediaPlayerProxyCocoa.mm:
(WebKit::RemoteMediaPlayerProxy::prepareForPlayback):
(WebKit::RemoteMediaPlayerProxy::enterFullscreen): Deleted.
(WebKit::RemoteMediaPlayerProxy::exitFullscreen): Deleted.
(WebKit::RemoteMediaPlayerProxy::setVideoFullscreenFrameFenced): Deleted.
Remove unused IPC messages after removing the remote hosting layer for video fullscreen
and picture-in-picture.
- GPUProcess/media/gstreamer/RemoteMediaPlayerProxyGStreamer.cpp:
(WebKit::RemoteMediaPlayerProxy::prepareForPlayback):
(WebKit::RemoteMediaPlayerProxy::enterFullscreen): Deleted.
(WebKit::RemoteMediaPlayerProxy::exitFullscreen): Deleted.
Ditto.
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::MediaPlayerPrivateRemote):
(WebKit::MediaPlayerPrivateRemote::~MediaPlayerPrivateRemote):
(WebKit::MediaPlayerPrivateRemote::prepareForPlayback):
Remove the code related to the remote hosting layer for video fullscreen and picture-in-picture.
(WebKit::MediaPlayerPrivateRemote::platformLayer const):
(WebKit::MediaPlayerPrivateRemote::setVideoFullscreenLayer):
Use VideoLayerManager to manage the layer.
(WebKit::MediaPlayerPrivateRemote::setVideoFullscreenFrame): Ditto.
(WebKit::MediaPlayerPrivateRemote::requiresTextTrackRepresentation const): Ditto.
(WebKit::MediaPlayerPrivateRemote::setTextTrackRepresentation): Ditto.
(WebKit::MediaPlayerPrivateRemote::syncTextTrackBounds): Ditto.
(WebKit::MediaPlayerPrivateRemote::setVideoFullscreenFrameFenced): Deleted.
- WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
Need to move the Logger up in the data members so that other members can use it
in the constructor, e.g., VideoLayerManager.
- WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm:
(WebKit::MediaPlayerPrivateRemote::MediaPlayerPrivateRemote):
(WebKit::MediaPlayerPrivateRemote::createVideoFullscreenLayer):
(WebKit::MediaPlayerPrivateRemote::setVideoFullscreenFrame): Deleted.
(WebKit::MediaPlayerPrivateRemote::setTextTrackRepresentation): Deleted.
(WebKit::MediaPlayerPrivateRemote::syncTextTrackBounds): Deleted.
Simplify the implementation by managing layers with VideoLayerManager.
- 9:10 PM Changeset in webkit [267724] by
-
- 4 edits2 adds in trunk
webkitfullscreenchange does not fire for shadow DOM elements
https://bugs.webkit.org/show_bug.cgi?id=216607
Patch by Tetsuharu Ohzeki <Tetsuharu Ohzeki> on 2020-09-28
Reviewed by Ryosuke Niwa.
Source/WebCore:
This bug was caused by the
webkitfullscreenchange
event being fired
but without _composed_ flag set.
This patch fixed the bug by making it composed as defined as
the step 3-2 of https://fullscreen.spec.whatwg.org/#run-the-fullscreen-steps.
so that event listeners outside shadow tree could observe it.
Test: fast/shadow-dom/fullscreen-in-shadow-event-should-propagate.html
- dom/FullscreenManager.cpp:
(WebCore::FullscreenManager::dispatchFullscreenChangeOrErrorEvent):
LayoutTests:
Added a regression test for making an element inside a shadow tree full screen,
and listening towebkitfullscreenchange
outside the shadow tree.
- fast/shadow-dom/fullscreen-in-shadow-event-should-propagate-expected.txt: Added.
- fast/shadow-dom/fullscreen-in-shadow-event-should-propagate.html: Added.
- platform/ios-wk2/TestExpectations:
Other testcases related to fullscreen API in fast/shadow-dom/ are also
disabled for ios-wk2.
- 8:49 PM Changeset in webkit [267723] by
-
- 19 edits in trunk
Web Inspector: add checkbox to local override popover to allow it to skip the network
https://bugs.webkit.org/show_bug.cgi?id=217031
Reviewed by Brian Burg.
Source/WebInspectorUI:
- UserInterface/Models/LocalResourceOverride.js:
(WI.LocalResourceOverride):
(WI.LocalResourceOverride.create):
(WI.LocalResourceOverride.fromJSON):
(WI.LocalResourceOverride.prototype.toJSON):
(WI.LocalResourceOverride.prototype.get type): Added.
(WI.LocalResourceOverride.prototype.saveIdentityToCookie):
Introduce aWI.LocalResourceOverride.Type
that is used when handling request/response
interceptions to determined theNetwork
command for continuing.
- UserInterface/Controllers/NetworkManager.js:
(WI.NetworkManager.supportsOverridingRequestsWithResponses): Added.
(WI.NetworkManager.supportsOverridingResponses): Added.
(WI.NetworkManager.prototype.initializeTarget):
(WI.NetworkManager.prototype.addLocalResourceOverride):
(WI.NetworkManager.prototype.removeLocalResourceOverride):
(WI.NetworkManager.prototype.requestIntercepted):
(WI.NetworkManager.prototype.responseIntercepted):
(WI.NetworkManager.prototype._commandArgumentsForInterception):
(WI.NetworkManager.prototype._addInterception): Added.
(WI.NetworkManager.prototype._removeInterception): Added.
(WI.NetworkManager.prototype._handleResourceOverrideDisabledChanged):
(WI.NetworkManager.supportsLocalResourceOverrides): Deleted.
Add logic forNetwork.interceptRequestWithResponse
inNetwork.requestIntercepted
.
Drive-by: refactor common logic into member functions.
- UserInterface/Views/LocalResourceOverridePopover.js:
(WI.LocalResourceOverridePopover.prototype.get serializedData):
(WI.LocalResourceOverridePopover.prototype.show):
- UserInterface/Views/LocalResourceOverridePopover.css:
(.popover .local-resource-override-popover-content .add-header + .reference-page-link-container): Added.
(.popover .local-resource-override-popover-content .options td): Added.
(.popover .local-resource-override-popover-content .reference-page-link-container): Deleted.
Add an "Options" row containing a "[ ] Skip Network" checkbox for controlling whether
Network.interceptWithResponse
orNetwork.interceptRequestWithResponse
is used.
- UserInterface/Models/Resource.js:
(WI.Resource.prototype.async createLocalResourceOverride):
- UserInterface/Views/ContextMenuUtilities.js:
(WI.appendContextMenuItemsForSourceCode):
- UserInterface/Views/FontResourceContentView.js:
(WI.FontResourceContentView.prototype.contentAvailable):
- UserInterface/Views/ImageResourceContentView.js:
(WI.ImageResourceContentView.prototype.contentAvailable):
- UserInterface/Views/LocalResourceOverrideTreeElement.js:
(WI.LocalResourceOverrideTreeElement.prototype.willDismissPopover):
- UserInterface/Views/OpenResourceDialog.js:
(WI.OpenResourceDialog.prototype._addLocalResourceOverrides):
- UserInterface/Views/ResourceContentView.js:
(WI.ResourceContentView):
(WI.ResourceContentView.prototype.closed):
- UserInterface/Views/SourcesNavigationSidebarPanel.js:
(WI.SourcesNavigationSidebarPanel):
(WI.SourcesNavigationSidebarPanel.prototype._willDismissLocalOverridePopover):
(WI.SourcesNavigationSidebarPanel.prototype._addLocalOverride):
(WI.SourcesNavigationSidebarPanel.prototype._removeResourceOverride):
(WI.SourcesNavigationSidebarPanel.prototype._populateCreateResourceContextMenu):
RenamesupportsLocalResourceOverrides
tosupportsOverridingResponses
for clarity.
- Localizations/en.lproj/localizedStrings.js:
LayoutTests:
- http/tests/inspector/network/local-resource-override-basic.html:
- http/tests/inspector/network/local-resource-override-main-resource.html:
- http/tests/inspector/network/local-resource-override-script-tag.html:
- http/tests/inspector/network/resource-response-inspector-override.html:
Add expected parameter for
WI.LocalResourceOverride.create
calls.
- 5:38 PM Changeset in webkit [267722] by
-
- 2 edits in branches/safari-610-branch/Source/WebCore
Cherry-pick r266899. rdar://problem/69586659
Integrator's note: as some of the symbols present on trunk are not available on branch, special modifications had to be made to this cherry-pick to build.
Address a post-commit review comment after r266887
https://bugs.webkit.org/show_bug.cgi?id=216257
Reviewed by Darin Adler.
Remove a check that currently makes us conditionally set
IsComputedStyleInvalidFlag
if there is a computed
style in rare data. There should be no change in behavior; this just makes the code a bit simpler.
- dom/Element.cpp: (WebCore::Element::invalidateStyle): (WebCore::Element::storeDisplayContentsStyle):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266899 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:38 PM Changeset in webkit [267721] by
-
- 4 edits2 adds in branches/safari-610-branch
Cherry-pick r266887. rdar://problem/69586659
Integrator's note: as some of the symbols present on trunk are not available on branch, special modifications had to be made to this cherry-pick to build.
REGRESSION (r257839): clickpay.com - password placeholder text cannot be replaced
https://bugs.webkit.org/show_bug.cgi?id=216257
<rdar://problem/68150686>
Reviewed by Antti Koivisto.
Source/WebCore:
On clickpay.com, the field in the login form that contains the text "Password" is actually a plain text input,
referred to by the site's script as the "null text input". The page adds a focus event listener to this null
text input, and inside of this focus event listener, it reveals a hidden password field by removing an inline
display: none;
style rule on the real password input element, programmatically focuses it, and then hides the
null text input by setting it todisplay: none;
via inline style.
However, after the changes in r257839, we no longer attempt to do a style update upon programmatic focus in the
case where the programmatically focused element does not have a renderer yet (this applies to the password field
in this scenario, because it previously haddisplay: none;
). When we determine whether the newly displayed
password field is focusable usingElement::isVisibleWithoutResolvingFullStyle
, we then attempt to use either
the existing computedRenderStyle
on the element, or perform a partial computed style resolution using the
ResolveComputedStyleMode::RenderedOnly
flag.
But in the case where
ElementRareData
's computed style exists, it is not guaranteed to be up to date if the
inline style changed since the computed style was last set. In the context of this bug, it's actually Safari's
AutoFill logic (embedded in the injected bundle) that ends up asking for the computed style of the password
input, forcing it to be created and set (though, as demonstrated in the layout test, simply grabbing the
computed style is sufficient to replicate the bug outside of Safari).
The end result is that we'll use this stale computed style, which still believes that the password input is not
displayed, and we end up not focusing the element due to believing that the password input is hidden. To fix
this, we would need to either check whether the element has an invalid style (i.e.needsStyleRecalc()
) before
attempting to use the existing computed style, or clear out theElementRareData
computed style anytime the
element's style is invalidated. However, both of these approaches will cause us to perform partial style
resolution much more aggressively, leading to a 2-3% regression in Speedometer.
To address the bug without hampering our performance wins from r257839, we add a new node flag so that we can
remember when computed styles are no longer valid due to style invalidation, and consult this flag in
Element::isVisibleWithoutResolvingFullStyle
to avoid using the existing computed style.
Test: fast/forms/programmatic-focus-after-display.html
- dom/Element.cpp: (WebCore::Element::invalidateStyle): (WebCore::Element::resolveComputedStyle): (WebCore::Element::isVisibleWithoutResolvingFullStyle const):
- dom/Node.h: (WebCore::Node::setHasValidStyle):
LayoutTests:
Add a new layout test to verify that the bug does not occur. See WebCore/ChangeLog for more details.
- fast/forms/programmatic-focus-after-display-expected.txt: Added.
- fast/forms/programmatic-focus-after-display.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266887 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:58 PM Changeset in webkit [267720] by
-
- 2 edits in branches/safari-610-branch/LayoutTests
REGRESSION: [ iOS wk2 ] ( safari-610-branch ) fast/events/touch/ios/pointer-events-with-modifiers.html is a constant crash
rdar://69722963
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 4:48 PM Changeset in webkit [267719] by
-
- 1 edit2 adds in trunk/LayoutTests
Document.p.contains returns true for nodes in shadow tree
https://bugs.webkit.org/show_bug.cgi?id=189164
Reviewed by Darin Adler.
Added a regression after r267220 had fixed this bug.
- fast/shadow-dom/document-contains-returns-false-for-node-inside-shadow-tree-expected.txt: Added.
- fast/shadow-dom/document-contains-returns-false-for-node-inside-shadow-tree.html: Added.
- 4:18 PM Changeset in webkit [267718] by
-
- 1 copy in tags/Safari-611.1.1.1
Tag Safari-611.1.1.1.
- 3:09 PM Changeset in webkit [267717] by
-
- 8 edits in branches/safari-611.1.1-branch/Source
Versioning.
WebKit-7611.1.1.1
- 3:05 PM Changeset in webkit [267716] by
-
- 55 edits in branches/safari-610-branch/Source/WebCore
Apply patch. rdar://problem/69594082
- 2:11 PM Changeset in webkit [267715] by
-
- 2 edits in trunk
Print message saying what project is being built
https://bugs.webkit.org/show_bug.cgi?id=216865
<rdar://problem/69408135>
Reviewed by Andy Estes.
XCBuild removes the progress messages saying which project/target is
being built. We can't show the target, but update the Makefiles to at
least show which project is being built.
- Makefile.shared:
- 1:26 PM Changeset in webkit [267714] by
-
- 6 edits5 moves2 adds in trunk/Source
[Preferences] Move GeneratePreferences.rb and yaml configuration files to WTF to be shared
https://bugs.webkit.org/show_bug.cgi?id=217056
Reviewed by Darin Adler.
Move GeneratePreferences.rb and WebPreferences*.yaml files from WebKitLegacy to WTF, and install them into the existing
$SDKROOT/usr/local/install/wtf/Scripts for use by down stack projects.
Source/WebKitLegacy:
- WebKitLegacy.xcodeproj/project.pbxproj:
Source/WebKitLegacy/mac:
Also adds new script, generate-preferences.sh, to make editing / reviewing the invocation a bit easier as you don't
have to use the tiny editor in the Run Scripts phase pane.
Adds new build variable, WTF_BUILD_SCRIPTS_DIR, to easily specify the new location of the moved files.
- Configurations/WebKitLegacy.xcconfig:
- Scripts/GeneratePreferences.rb: Removed.
- Scripts/generate-preferences.sh: Added.
- WebView/WebPreferences.yaml: Removed.
- WebView/WebPreferencesDebug.yaml: Removed.
- WebView/WebPreferencesExperimental.yaml: Removed.
- WebView/WebPreferencesInternal.yaml: Removed.
Source/WTF:
- Scripts/GeneratePreferences.rb: Copied from Source/WebKitLegacy/mac/Scripts/GeneratePreferences.rb.
- Scripts/Preferences: Added.
- Scripts/Preferences/WebPreferences.yaml: Copied from Source/WebKitLegacy/mac/WebView/WebPreferences.yaml.
- Scripts/Preferences/WebPreferencesDebug.yaml: Copied from Source/WebKitLegacy/mac/WebView/WebPreferencesDebug.yaml.
- Scripts/Preferences/WebPreferencesExperimental.yaml: Copied from Source/WebKitLegacy/mac/WebView/WebPreferencesExperimental.yaml.
- Scripts/Preferences/WebPreferencesInternal.yaml: Copied from Source/WebKitLegacy/mac/WebView/WebPreferencesInternal.yaml.
- WTF.xcodeproj/project.pbxproj:
- 1:21 PM Changeset in webkit [267713] by
-
- 10 edits in trunk/Source
[GPUP] Out-of-band TextTracks
https://bugs.webkit.org/show_bug.cgi?id=217062
<rdar://problem/68739969>
Reviewed by Jer Noble.
Source/WebCore:
Add support for passing out-of-band TextTracks to a media engine running in the GPU process.
No new tests, this can only be tested with a specific hardware setup.
- html/HTMLMediaElement.cpp:
(WebCore::toPlatform):
- platform/graphics/PlatformTextTrack.h: Put instance variables into a struct so
state can be encoded and decoded.
(WebCore::PlatformTextTrackData::PlatformTextTrackData):
(WebCore::PlatformTextTrackData::decode):
(WebCore::PlatformTextTrackData::encode const):
(WebCore::PlatformTextTrackClient::privateTrack):
(WebCore::PlatformTextTrack::create):
(WebCore::PlatformTextTrack::createOutOfBand):
(WebCore::PlatformTextTrack::type const):
(WebCore::PlatformTextTrack::kind const):
(WebCore::PlatformTextTrack::mode const):
(WebCore::PlatformTextTrack::label const):
(WebCore::PlatformTextTrack::language const):
(WebCore::PlatformTextTrack::url const):
(WebCore::PlatformTextTrack::uniqueId const):
(WebCore::PlatformTextTrack::isDefault const):
(WebCore::PlatformTextTrack::client const):
(WebCore::PlatformTextTrack::data const):
(WebCore::PlatformTextTrack::PlatformTextTrack):
(WebCore::PlatformTextTrack::captionMenuOffItem): Deleted.
(WebCore::PlatformTextTrack::captionMenuAutomaticItem): Deleted.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::mediaDescriptionForKind):
(WebCore::MediaPlayerPrivateAVFoundationObjC::synchronizeTextTrackState):
Source/WebKit:
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::outOfBandTrackSources):
- GPUProcess/media/RemoteMediaPlayerProxyConfiguration.h:
(WebKit::RemoteMediaPlayerProxyConfiguration::encode const):
(WebKit::RemoteMediaPlayerProxyConfiguration::decode):
- Scripts/webkit/messages.py:
- WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:
(WebKit::RemoteMediaPlayerManager::createRemoteMediaPlayer):
- WebProcess/GPU/media/RemoteMediaPlayerManager.h:
- 1:06 PM Changeset in webkit [267712] by
-
- 3 edits in trunk/Tools
Fix Build triggers for iOS, watchOS, and tvOS
https://bugs.webkit.org/show_bug.cgi?id=217057
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
- BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
(ShouldBuildTest):
(ShouldBuildTest.test_should_build):
- 1:04 PM Changeset in webkit [267711] by
-
- 7 edits2 adds in trunk
[TextureMapper] Enable a depth buffer for preserve-3d
https://bugs.webkit.org/show_bug.cgi?id=90078
Reviewed by Don Olmstead.
Source/WebCore:
Test: transforms/3d/general/preserve-3d.html
- platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::getEGLConfig):
- platform/graphics/texmap/TextureMapper.h:
(WebCore::TextureMapper::beginPreserves3D): Added a new virtual method.
(WebCore::TextureMapper::endPreserves3D): Ditto.
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::beginPainting):
(WebCore::createProjectionMatrix): Swapped nearValue and farValue
so that the depth buffer works as expected.
(WebCore::TextureMapperGL::beginPreserves3D): Added.
(WebCore::TextureMapperGL::endPreserves3D): Ditto.
- platform/graphics/texmap/TextureMapperGL.h:
- platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::paintSelfAndChildren): Call
beginPreserves3D() and endPreserves3D() if m_state.preserves3D.
LayoutTests:
- transforms/3d/general/preserve-3d-expected.html: Added.
- transforms/3d/general/preserve-3d.html: Added.
- 12:54 PM Changeset in webkit [267710] by
-
- 3 edits in trunk/Tools
[webkitpy] Use webkitcorepy's auto installer for pycodestyle
https://bugs.webkit.org/show_bug.cgi?id=215427
<rdar://problem/66931291>
Reviewed by Darin Adler.
- Scripts/webkitpy/init.py: Add pycodestyle.
- Scripts/webkitpy/thirdparty/init.py:
(AutoinstallImportHook.find_module): Remove pycodestyle.
- 11:23 AM Changeset in webkit [267709] by
-
- 23 edits1 add in trunk
[iOS] unable to airplay directly loaded fullscreen video
https://bugs.webkit.org/show_bug.cgi?id=216858
<rdar://problem/68746321>
Reviewed by Eric Carlson.
Source/WebCore:
It's possible that
MediaPlayerPrivate::wirelessVideoPlaybackDisabled
is queried before a
"real"MediaPlayerPrivate
(i.e. notNullMediaPlayerPrivate
) is initialized through one
of the registeredMediaPlayerFactory
"engine"s. It's further possible that the value
returned byMediaPlayerPrivate::wirelessVideoPlaybackDisabled
will change as the new
"real"MediaPlayerPrivate
may have different logic. In this case, theMediaPlayer
doesn't update its client (and therefore nothing "up" the tree, including the client's
clients) with the newMediaPlayerPrivate::wirelessVideoPlaybackDisabled
value, meaning
that the old value will still be used.
Add piping such that when the
MediaPlayerFactory
"engine" changes, theMediaPlayer
notifies its client (which is further piped "up" the tree to the client's clients) which
eventually causesMediaPlayerPrivate::wirelessVideoPlaybackDisabled
to be re-evaluated.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaEngineWasUpdated):
- page/Page.h:
- page/Page.cpp:
(WebCore::Page::playbackControlsMediaEngineChanged): Added.
- page/ChromeClient.h:
(WebCore::ChromeClient::playbackControlsMediaEngineChanged): Added.
- platform/cocoa/PlaybackSessionModelMediaElement.h:
- platform/cocoa/PlaybackSessionModelMediaElement.mm:
(WebCore::PlaybackSessionModelMediaElement::mediaEngineChanged): Added.
Source/WebKit:
It's possible that
MediaPlayerPrivate::wirelessVideoPlaybackDisabled
is queried before a
"real"MediaPlayerPrivate
(i.e. notNullMediaPlayerPrivate
) is initialized through one
of the registeredMediaPlayerFactory
"engine"s. It's further possible that the value
returned byMediaPlayerPrivate::wirelessVideoPlaybackDisabled
will change as the new
"real"MediaPlayerPrivate
may have different logic. In this case, theMediaPlayer
doesn't update its client (and therefore nothing "up" the tree, including the client's
clients) with the newMediaPlayerPrivate::wirelessVideoPlaybackDisabled
value, meaning
that the old value will still be used.
Add piping such that when the
MediaPlayerFactory
"engine" changes, theMediaPlayer
notifies its client (which is further piped "up" the tree to the client's clients) which
eventually causesMediaPlayerPrivate::wirelessVideoPlaybackDisabled
to be re-evaluated.
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::playbackControlsMediaEngineChanged): Added.
- WebProcess/cocoa/PlaybackSessionManager.h:
- WebProcess/cocoa/PlaybackSessionManager.mm:
(WebKit::PlaybackSessionManager::mediaEngineChanged): Added.
- UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
- UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKWebView _wirelessVideoPlaybackDisabled]): Added.
- UIProcess/Cocoa/PlaybackSessionManagerProxy.h:
- UIProcess/Cocoa/PlaybackSessionManagerProxy.mm:
(WebKit::PlaybackSessionManagerProxy::wirelessVideoPlaybackDisabled): Added.
Create additional functions for piping data to tests.
Source/WebKitLegacy/mac:
It's possible that
MediaPlayerPrivate::wirelessVideoPlaybackDisabled
is queried before a
"real"MediaPlayerPrivate
(i.e. notNullMediaPlayerPrivate
) is initialized through one
of the registeredMediaPlayerFactory
"engine"s. It's further possible that the value
returned byMediaPlayerPrivate::wirelessVideoPlaybackDisabled
will change as the new
"real"MediaPlayerPrivate
may have different logic. In this case, theMediaPlayer
doesn't update its client (and therefore nothing "up" the tree, including the client's
clients) with the newMediaPlayerPrivate::wirelessVideoPlaybackDisabled
value, meaning
that the old value will still be used.
Add piping such that when the
MediaPlayerFactory
"engine" changes, theMediaPlayer
notifies its client (which is further piped "up" the tree to the client's clients) which
eventually causesMediaPlayerPrivate::wirelessVideoPlaybackDisabled
to be re-evaluated.
- WebCoreSupport/WebChromeClient.h:
- WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::playbackControlsMediaEngineChanged): Added.
- WebView/WebViewInternal.h:
- WebView/WebView.mm:
(-[WebView _playbackControlsMediaEngineChanged]): Added.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/MediaDocument.mm: Added.
(MediaDocument.WirelessPlaybackEnabled):
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- 11:23 AM Changeset in webkit [267708] by
-
- 8 edits in branches/safari-611.1.2-branch/Source
Versioning.
WebKit-7611.1.2
- 11:16 AM Changeset in webkit [267707] by
-
- 1 copy in branches/safari-611.1.2-branch
New branch.
- 11:14 AM Changeset in webkit [267706] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r267329): Crash due to null-dereference of frame pointer in DOMSelection::rangeCount
https://bugs.webkit.org/show_bug.cgi?id=217053
Reviewed by Sam Weinig.
Later as a follow-up it would be nice to add a test case, but not obvious how to
make a simple one quickly.
- page/DOMSelection.cpp:
(WebCore::DOMSelection::rangeCount const): Fixed the null check.
- 10:46 AM Changeset in webkit [267705] by
-
- 6 edits in trunk/Tools
Notify igalia team about pre-existing test failures and build failures for WPE and GTK queues
https://bugs.webkit.org/show_bug.cgi?id=217052
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/send_email.py:
(send_email_to_bot_watchers): Moved the logic here to determine whether to email igalia folks.
- BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.send_email_for_preexisting_build_failure): Passed builder_name parameter.
(AnalyzeJSCTestsResults.send_email_for_flaky_failure):
(AnalyzeJSCTestsResults.send_email_for_pre_existing_failure):
(ReRunWebKitTests.send_email_for_flaky_failure):
(AnalyzeLayoutTestsResults.send_email_for_flaky_failure):
(AnalyzeLayoutTestsResults.send_email_for_pre_existing_failure):
(AnalyzeAPITestsResults.send_email_for_flaky_failure):
(AnalyzeAPITestsResults.send_email_for_pre_existing_failure):
- BuildSlaveSupport/ews-build/steps_unittest.py:
(TestAnalyzeJSCTestsResults.configureStep): Drive-by fix to improve unit-test.
- BuildSlaveSupport/ews-build/emails.json: Added IGALIA_GTK_WPE_EMAILS. Renamed BOT_WATCHERS_EMAILS to APPLE_BOT_WATCHERS_EMAILS.
- BuildSlaveSupport/ews-build/email_unittest.py: Updated unit-test.
- 10:07 AM Changeset in webkit [267704] by
-
- 3 edits in trunk/Tools
Unreviewed dashboard fix.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
- 10:05 AM Changeset in webkit [267703] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, test gardening.
- 9:07 AM Changeset in webkit [267702] by
-
- 4 edits in trunk/LayoutTests
Unreviewed, mark webaudio/the-audio-api/the-analysernode-interface/test-analyser-output.html as flaky instead of skipping it entirely.
This test is no longer timing out.
LayoutTests/imported/w3c:
- web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/test-analyser-output-expected.txt:
LayoutTests:
- 8:37 AM Changeset in webkit [267701] by
-
- 29 edits4 adds in trunk
[macOS] Update the appearance of editable date/time controls to match the system
https://bugs.webkit.org/show_bug.cgi?id=216616
<rdar://problem/69004603>
Reviewed by Devin Rousso.
Source/WebCore:
The default appearance of editable components within the date/time
control should closely match NSDatePicker.
- Focused components should have rounded corners
This is achieved by adding the border-radius property to the
datetime-edit fields.
- Use a raised colon separator for time inputs
The colon should be raised as it is surrounded two numbers. However,
since the colon is rendered in its own <div>, it remains lowered. To
raise the colon, the "ss03" font-feature-setting is enabled. Note that
this can cause issues with fonts that use "ss03" for a different purpose.
However, since we do not have support for the @font-feature-values rule
in CSS, there is currently no way to workaround this problem. Instead,
the issue should be fixed once we gain CSS support.
- Components should have a fixed width, and the width of the control should match the content
Since the control is not guaranteed to use a monospace font, the current
design results in editable components being resized each time the value
changes. To fix this issue, the display type was changed to inline-block
and the min-width of a component is computed at runtime. See below for
more details.
- css/html.css:
Added UA stylesheet code that was removed from RenderTheme.
(input::-webkit-datetime-edit):
(input::-webkit-datetime-edit-year-field,):
Display inline-block allows us to set a fixed width for individual
components. The text is center-aligned so that changes are not
jarring. Finally, the font property is now "inherit !important",
as it does not make sense for the font used in a component to
differ from the control's font.
(input::-webkit-datetime-edit-year-field:focus,): Add rounded corners on focus.
- html/shadow/DateTimeFieldElement.cpp:
(WebCore::DateTimeFieldElement::DateTimeFieldElement):
- html/shadow/DateTimeFieldElements.cpp: Call setHasCustomStyleResolveCallbacks() to compute min-width.
(WebCore::DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement): Drive-by fix - milliseconds component has 3 digits.
- html/shadow/DateTimeNumericFieldElement.cpp:
(WebCore::DateTimeNumericFieldElement::resolveCustomStyle):
The min-width of a numeric field should be the largest possible width
depending on the font, the largest digit character in the font and the
length of the field. Ten possible values are tested (0-9).
- html/shadow/DateTimeNumericFieldElement.h:
- html/shadow/DateTimeSymbolicFieldElement.cpp:
(WebCore::DateTimeSymbolicFieldElement::resolveCustomStyle):
The min-width of a symbolic field should be the largest symbol given
a font. Two (meridiem) to twelve (month) values may be tested.
- html/shadow/DateTimeSymbolicFieldElement.h:
- rendering/RenderTheme.cpp:
- rendering/RenderTheme.h: Moved code to html.css.
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm: Moved code to html.css.
- style/UserAgentStyle.cpp:
(WebCore::Style::UserAgentStyle::ensureDefaultStyleSheetsForElement): Moved code to html.css.
- style/UserAgentStyle.h:
LayoutTests:
Updated stylesheets so that font properties are not set on inner elements
of the control and rebaselined existing tests.
- fast/forms/date/date-editable-components/date-editable-components-focus-and-blur-events.html:
- fast/forms/date/date-editable-components/date-editable-components-mouse-events.html:
- fast/forms/date/date-pseudo-elements.html:
- fast/forms/datetimelocal/datetimelocal-editable-components/datetimelocal-editable-components-focus-and-blur-events.html:
- fast/forms/datetimelocal/datetimelocal-editable-components/datetimelocal-editable-components-mouse-events.html:
- fast/forms/time/time-editable-components/time-editable-components-focus-and-blur-events.html:
- fast/forms/time/time-editable-components/time-editable-components-mouse-events.html:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/rendering/widgets/appearance/default-styles-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/rendering/widgets/baseline-alignment-and-overflow.tentative-expected.txt:
The newly failing tests for <input type=week> are a false negative.
Previously, the style for this input type was empty, causing some
tests to incorrectly pass. The new failures are consistent with the
other date/time inputs, see the rest of the expectations for specifics.
- platform/mac-catalina/fast/forms/date/date-input-rendering-basic-expected.txt:
- platform/mac-catalina/fast/forms/time/time-input-rendering-basic-expected.txt: Added.
- platform/mac-mojave/fast/forms/date/date-input-rendering-basic-expected.txt:
- platform/mac-mojave/fast/forms/time/time-input-rendering-basic-expected.txt: Added.
- platform/mac-wk2/fast/forms/date/date-input-rendering-basic-expected.txt:
- platform/mac-wk2/fast/forms/date/date-pseudo-elements-expected.txt:
- platform/mac-wk2/fast/forms/time/time-input-rendering-basic-expected.txt:
- 8:00 AM Changeset in webkit [267700] by
-
- 5 edits2 adds in trunk
[LFC][Floats] Add support for clear on float box
https://bugs.webkit.org/show_bug.cgi?id=217045
Reviewed by Antti Koivisto.
Source/WebCore:
When the float box also has to clear other floats, we need to adjust the initial
vertical position from where we start searching for available space.
(This patch also fixes a previous find&replace renaming and addresses a post-landing comment.)
Test: fast/layoutformattingcontext/float-with-clear-simple.html
- layout/floats/FloatingContext.cpp:
(WebCore::Layout::FloatingContext::positionForFloat const):
(WebCore::Layout::FloatingContext::positionForNonFloatingFloatAvoider const):
(WebCore::Layout::FloatingContext::absoluteCoordinates const):
(WebCore::Layout::FloatingContext::absoluteBoxGeometryCoordinates const): Deleted.
- layout/floats/FloatingContext.h:
LayoutTests:
- fast/layoutformattingcontext/float-with-clear-simple-expected.html: Added.
- fast/layoutformattingcontext/float-with-clear-simple.html: Added.
- 7:55 AM Changeset in webkit [267699] by
-
- 8 edits in trunk/Source/WebCore
Crash under DateTimeEditElement::blurFromField
https://bugs.webkit.org/show_bug.cgi?id=216930
<rdar://problem/69308322>
Reviewed by Ryosuke Niwa.
DateTimeEditElement::blurFromField incorrectly invoked
HTMLElement::dispatchBlurEvent, as it was not the element being blurred.
Accessing member variables after this call is unsafe, as there is
nothing protecting the DateTimeEditElement.
To fix, the problematic methods were removed entirely, and replaced
with a new approach to responding to blur events within a DateTimeEditElement.
The blur event's relatedTarget is now compared to the fields within the
DateTimeEditElement, in order to determine when to close the calendar.
This approach is safe, since the relatedTarget is protected by
Document::setFocusedElement.
- html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::elementDidBlur): Remove unnecessary call.
If the input has editable fields, closing the calendar is handled by the
new codepath. Running this code unconditionally will result in a flash of the
calendar when clicking on a part of the input type that doesn't contain
an editable field.
- html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditElement::didBlurFromField):
Check if the event's relatedTarget is another field within the same
DateTimeEditElement. If yes, the calendar should remain open.
- html/shadow/DateTimeEditElement.h:
- html/shadow/DateTimeFieldElement.cpp:
(WebCore::DateTimeFieldElement::defaultEventHandler):
Call handleBlurEvent() if a blur event occurs. This was previously done by
the now-removed dispatchBlurEvent override.
(WebCore::DateTimeFieldElement::handleBlurEvent):
- html/shadow/DateTimeFieldElement.h:
- html/shadow/DateTimeNumericFieldElement.cpp:
(WebCore::DateTimeNumericFieldElement::handleBlurEvent):
- html/shadow/DateTimeNumericFieldElement.h:
- 7:34 AM Changeset in webkit [267698] by
-
- 3 edits in trunk/Source/WebKit
Make sure our calls to AVCaptureDevice requestAccessForMediaType do processing on the main thread
https://bugs.webkit.org/show_bug.cgi?id=216974
Reviewed by Darin Adler.
The completion handler to [AVCaptureDeviceClass requestAccessForMediaType:] may sometimes be called in a background thread on iOS.
Make sure to hop to the main thread if that is the case.
Also make sure to ref/weakref lambda captured variables.
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::requestAccessForMediaType):
(WebKit::UIDelegate::UIClient::decidePolicyForUserMediaPermissionRequest):
- 6:42 AM Changeset in webkit [267697] by
-
- 12 edits4 moves in trunk/Source/WebCore
[LFC][Integration] Move run iterator to LayoutIntegration namespace
https://bugs.webkit.org/show_bug.cgi?id=217046
Reviewed by Zalan Bujtas.
Also use name 'Modern' for LFC and 'Legacy' for the old inline tree path.
Also rename box->run for more consistent terminology.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/Position.cpp:
(WebCore::Position::upstream const):
(WebCore::Position::downstream const):
- editing/TextIterator.cpp:
(WebCore::TextIterator::advance):
(WebCore::TextIterator::handleTextNode):
(WebCore::TextIterator::handleTextRun):
(WebCore::TextIterator::handleTextNodeFirstLetter):
(WebCore::TextIterator::handleTextBox): Deleted.
- editing/TextIterator.h:
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::textRunsFor const):
(WebCore::LayoutIntegration::LineLayout::elementRunFor const):
(WebCore::LayoutIntegration::LineLayout::paint):
(WebCore::LayoutIntegration::LineLayout::textBoxesFor const): Deleted.
(WebCore::LayoutIntegration::LineLayout::elementBoxFor const): Deleted.
- layout/integration/LayoutIntegrationLineLayout.h:
- layout/integration/LayoutIntegrationRunIterator.cpp: Renamed from Source/WebCore/rendering/line/LineLayoutTraversal.cpp.
(WebCore::LayoutIntegration::TextRunIterator::TextRunIterator):
(WebCore::LayoutIntegration::TextRunIterator::traverseNextInVisualOrder):
(WebCore::LayoutIntegration::TextRunIterator::traverseNextInTextOrder):
(WebCore::LayoutIntegration::TextRunIterator::operator== const):
(WebCore::LayoutIntegration::TextRunIterator::atEnd const):
(WebCore::LayoutIntegration::firstTextRunFor):
(WebCore::LayoutIntegration::firstTextRunInTextOrderFor):
(WebCore::LayoutIntegration::textRunsFor):
(WebCore::LayoutIntegration::ElementRunIterator::ElementRunIterator):
(WebCore::LayoutIntegration::ElementRunIterator::atEnd const):
(WebCore::LayoutIntegration::elementRunFor):
- layout/integration/LayoutIntegrationRunIterator.h: Renamed from Source/WebCore/rendering/line/LineLayoutTraversal.h.
(WebCore::LayoutIntegration::TextRunIterator::TextRunIterator):
(WebCore::LayoutIntegration::TextRunIterator::operator++):
(WebCore::LayoutIntegration::TextRunIterator::operator!= const):
(WebCore::LayoutIntegration::TextRunIterator::operator* const):
(WebCore::LayoutIntegration::TextRunIterator::operator-> const):
(WebCore::LayoutIntegration::ElementRunIterator::ElementRunIterator):
(WebCore::LayoutIntegration::ElementRunIterator::operator* const):
(WebCore::LayoutIntegration::ElementRunIterator::operator-> const):
(WebCore::LayoutIntegration::TextRunRange::TextRunRange):
(WebCore::LayoutIntegration::TextRunRange::begin const):
(WebCore::LayoutIntegration::Run::Run):
(WebCore::LayoutIntegration::Run::rect const):
(WebCore::LayoutIntegration::Run::baseline const):
(WebCore::LayoutIntegration::Run::isLeftToRightDirection const):
(WebCore::LayoutIntegration::Run::isHorizontal const):
(WebCore::LayoutIntegration::Run::dirOverride const):
(WebCore::LayoutIntegration::Run::isLineBreak const):
(WebCore::LayoutIntegration::Run::useLineBreakBoxRenderTreeDumpQuirk const):
(WebCore::LayoutIntegration::TextRun::hasHyphen const):
(WebCore::LayoutIntegration::TextRun::TextRun):
(WebCore::LayoutIntegration::TextRun::text const):
(WebCore::LayoutIntegration::TextRun::localStartOffset const):
(WebCore::LayoutIntegration::TextRun::localEndOffset const):
(WebCore::LayoutIntegration::TextRun::length const):
(WebCore::LayoutIntegration::TextRun::isLastOnLine const):
(WebCore::LayoutIntegration::TextRun::isLast const):
- layout/integration/LayoutIntegrationRunIteratorLegacyPath.h: Renamed from Source/WebCore/rendering/line/LineLayoutTraversalComplexPath.h.
(WebCore::LayoutIntegration::LegacyPath::LegacyPath):
(WebCore::LayoutIntegration::LegacyPath::operator== const):
(WebCore::LayoutIntegration::LegacyPath::nextInlineTextBoxInTextOrder const):
- layout/integration/LayoutIntegrationRunIteratorModernPath.h: Renamed from Source/WebCore/rendering/line/LineLayoutTraversalDisplayRunPath.h.
(WebCore::LayoutIntegration::ModernPath::ModernPath):
(WebCore::LayoutIntegration::ModernPath::operator== const):
(WebCore::LayoutIntegration::ModernPath::rect const):
- rendering/RenderLineBreak.cpp:
(WebCore::RenderLineBreak::linesBoundingBox const):
(WebCore::RenderLineBreak::boundingBoxForRenderTreeDump const):
(WebCore::RenderLineBreak::absoluteRects const):
(WebCore::RenderLineBreak::absoluteQuads const):
- rendering/RenderText.cpp:
(WebCore::RenderText::absoluteRects const):
(WebCore::collectAbsoluteQuadsForNonComplexPaths):
(WebCore::RenderText::firstRunLocation const):
(WebCore::RenderText::linesBoundingBox const):
(WebCore::RenderText::caretMinOffset const):
(WebCore::RenderText::caretMaxOffset const):
(WebCore::RenderText::countRenderedCharacterOffsetsUntil const):
(WebCore::containsOffset):
(WebCore::RenderText::hasRenderedText const):
- rendering/RenderTreeAsText.cpp:
(WebCore::RenderTreeAsText::writeRenderObject):
(WebCore::writeTextRun):
(WebCore::write):
(WebCore::writeTextBox): Deleted.
- 5:25 AM Changeset in webkit [267696] by
-
- 3 edits in trunk/LayoutTests
Fix test failures inadventently introduced in r267644
https://bugs.webkit.org/show_bug.cgi?id=217049
Patch by Angelos Oikonomopoulos <Angelos Oikonomopoulos> on 2020-09-28
Reviewed by Adrian Perez de Castro.
r267644 strips trailing whitespace in two LayoutTests/js/*expected.txt files
but doesn't update the corresponding js string literals to not produce such.
- js/script-tests/parser-syntax-check.js:
- js/script-tests/regexp-sticky.js:
- 1:20 AM WebKitGTK/StableRelease edited by
- (diff)
- 1:18 AM Changeset in webkit [267695] by
-
- 2 edits in releases/WebKitGTK/webkit-2.30/Source/WebKit
Merge r267655 - [SOUP] WebSocket: cookies set in request don't appear in the inspector
https://bugs.webkit.org/show_bug.cgi?id=217012
Reviewed by Michael Catanzaro.
Cookies are set by libsoup and we are notifying about the handshake being sent before the cookie header is added
to the request.
- NetworkProcess/soup/WebSocketTaskSoup.cpp:
(WebKit::WebSocketTask::WebSocketTask): Connect to SoupMessage::starting to notify the web process the handshake
request has been sent.
- 1:18 AM Changeset in webkit [267694] by
-
- 4 edits in releases/WebKitGTK/webkit-2.30/Source
Merge r267621 - [SOUP] Do not set site for cookies twice in case of redirection
https://bugs.webkit.org/show_bug.cgi?id=217010
Reviewed by Michael Catanzaro.
Source/WebCore:
Only set is-toplevel-navigation on SoupMessage when same site info is present.
- platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateSoupMessageMembers const):
Source/WebKit:
ResourceRequest::updateSoupMessage() already fills the same site information, but we are duplicating the code in
NetworkDataTaskSoup::continueHTTPRedirection().
- NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::continueHTTPRedirection): Do not set same site information here, it will be done
again in NetworkDataTaskSoup::createRequest().
- 1:18 AM Changeset in webkit [267693] by
-
- 2 edits in releases/WebKitGTK/webkit-2.30/Source/WebCore
Merge r267620 - [SOUP] Slack.com is not working, new messages do not load due to WebSocket authentication failure issue
https://bugs.webkit.org/show_bug.cgi?id=149551
Reviewed by Michael Catanzaro.
The problem is that we are not including all the cookies in the web socket request. There are two cookies with
the Lax same-site policy set, that are not included for the websocket request.
- Modules/websockets/ThreadableWebSocketChannel.cpp:
(WebCore::ThreadableWebSocketChannel::webSocketConnectRequest): Add same site information to WebSocket requests.
Sep 27, 2020:
- 11:36 PM Changeset in webkit [267692] by
-
- 15 edits15 moves4 adds1 delete in trunk/LayoutTests
Resync web-platform-tests/html/semantics/the-iframe-element from upstream
https://bugs.webkit.org/show_bug.cgi?id=217033
Patch by Rob Buis <rbuis@igalia.com> on 2020-09-27
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Resync web-platform-tests/html/semantics/the-iframe-element from upstream a520598adb3957def27f1b63c6bff62e891ccbda.
- resources/resource-files.json:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/historical-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/historical.html:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-eager-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-eager.tentative-expected.txt.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-eager.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-eager.tentative.html.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-base-url-2-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-base-url-2.tentative-expected.txt.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-base-url-2.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-base-url-2.tentative.html.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-base-url-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-base-url.tentative-expected.txt.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-base-url.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-base-url.tentative.html.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event.tentative-expected.txt.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event.tentative.html.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-multiple-times-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-multiple-times.tentative-expected.txt.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-multiple-times.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-multiple-times.tentative.html.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-referrerpolicy-change.sub-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-referrerpolicy-change.sub.tentative-expected.txt.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-referrerpolicy-change.sub.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-referrerpolicy-change.sub.tentative.html.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-to-eager-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-to-eager.tentative-expected.txt.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-to-eager.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-to-eager.tentative.html.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy.tentative.html.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy.tentative-expected.txt: Removed.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-network-error.sub-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-network-error.sub.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_block_downloads.sub.tentative-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_block_downloads.sub.tentative.html:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads.sub.tentative-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads.sub.tentative.html:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_block_downloads.sub.tentative-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_block_downloads.sub.tentative.html:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/sandbox-toggle-in-inactive-document-crash.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/download_stash.py:
(main):
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/w3c-import.log:
LayoutTests:
Adjust for tentative extension removal.
- platform/mac-wk1/TestExpectations:
- platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_block_downloads.sub.tentative-expected.txt:
- 9:39 PM Changeset in webkit [267691] by
-
- 3 edits in trunk/Source/WebKit
REGRESSION(r267688) [GTK] Many compositing timeouts
https://bugs.webkit.org/show_bug.cgi?id=217044
Reviewed by Darin Adler.
Especulative fix by adding missing finalize step to
updateRendering (or calling isolatedUpdateRendering).
Covered by existing tests.
- WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:
(WebKit::DrawingAreaCoordinatedGraphics::updateBackingStoreState):
Call finalizeUpdateRendering.
(WebKit::DrawingAreaCoordinatedGraphics::display): Ditto.
- WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.cpp:
(WebKit::LayerTreeHost::flushAndRenderLayers): Call
isolatedUpdateRendering instead of updateRendering on the corePage().
- 6:52 PM Changeset in webkit [267690] by
-
- 3 edits in trunk/Source/WebKitLegacy/mac
Fix some typos found by Simon post-review for https://bugs.webkit.org/show_bug.cgi?id=217042
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
"rmeove" -> "remove".
- 6:42 PM Changeset in webkit [267689] by
-
- 15 edits in trunk/Source/WebKitLegacy/mac
[Preferences] Generate base preferences for WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=217042
Reviewed by Tim Horton.
Imports (and sorts) WebPreferences.yaml from WebKit, and starts generation for
for WebKitLegacy. To support this, a few tweaks to generation were required:
- A new 'exposed' key was added to the configuration files which allows restricting which frontends a preference is exposed to. By default, preferences are exposed to all frontends. This is intended to be used for preferences that don't have a binding to WebCore (e.g. process model related preferences for Webkit). We will require a seperate concept for features that WebCore knows about, but are not supported by a frontend, but that will be added in future revisions.
'exposed' is used in a few places that have 'custom' bindings to WebCore where
WebKitLegacy and WebKit don't use the same type or meaning for a preference, such
as WebKitLegacy's FrameFlattening enum vs. WebKit's FrameFlatteningEnabled bool,
or WebKitLegacy's WebSQLEnabled vs. WebKit's WebSQLDisabled. Eventually, it would
be nice to make these match, but it is not required.
- A new 'webKitLegacyPreferenceKey' key was added to the configuration files allowing for existing keys that don't match the default pattern of "WebKit" + keyName. This is to avoid changing the value of the preference key strings in WebPreferenceKeysPrivate.h, as I am not confident that changing them is kosher. I also went back and reverted the few I had already changed, just to be on the safe side.
- Support was added in WebViewPreferencesChangedGenerated.mm.erb for non bool values.
- Preferences that are conditionally compiled out (using the conditional key) no longer generate a default when they are compiled out, which required a little macro magic in WebPreferencesDefinitions.h.erb in the form of the new INITIALIZE_DEFAULT_PREFERENCES_FOR_ macros.
- Scripts/GeneratePreferences.rb:
- Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb:
- Scripts/PreferencesTemplates/WebViewPreferencesChangedGenerated.mm.erb:
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
- WebView/WebPreferences.yaml:
- WebView/WebPreferencesDebug.yaml:
- WebView/WebPreferencesDefaultValues.h:
- WebView/WebPreferencesDefaultValues.mm:
(WebKit::defaultAllowsInlineMediaPlayback):
(WebKit::defaultAllowsInlineMediaPlaybackAfterFullscreen):
(WebKit::defaultAllowsPictureInPictureMediaPlayback):
(WebKit::defaultJavaScriptCanOpenWindowsAutomatically):
(WebKit::defaultInlineMediaPlaybackRequiresPlaysInlineAttribute):
(WebKit::defaultPassiveTouchListenersAsDefaultOnDocument):
(WebKit::defaultRequiresUserGestureToLoadVideo):
(WebKit::defaultWebSQLEnabled):
(WebKit::defaultAttachmentElementEnabled):
(WebKit::defaultShouldRestrictBaseURLSchemes):
- WebView/WebPreferencesExperimental.yaml:
- WebView/WebPreferencesInternal.h:
- WebView/WebPreferencesInternal.yaml:
- WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _preferencesChanged:]):
(shouldAllowPictureInPictureMediaPlayback): Deleted.
(shouldAllowWindowOpenWithoutUserGesture): Deleted.
(shouldRequireUserGestureToLoadVideo): Deleted.
(shouldRestrictBaseURLSchemes): Deleted.
- WebView/WebViewData.h:
- 5:23 PM Changeset in webkit [267688] by
-
- 10 edits in trunk/Source
WebKitLegacy should call Page::finalizeRenderingUpdate()
https://bugs.webkit.org/show_bug.cgi?id=216958
Reviewed by Tim Horton.
Source/WebCore:
Convert Page::m_inUpdateRendering to an enum which tracks the phase, which will be
used in a later patch to prevent extra update scheduling (webkit.org/b/216726).
Add isolatedUpdateRendering(), which is for callers who aren't going to call finalizeRenderingUpdate(),
and use it for SVGImage updates.
DRT/WTR can trigger Page::updateRendering() re-entrancy, so there's a bit of ugliness
that deals with that.
- page/Page.cpp:
(WebCore::Page::updateRendering):
(WebCore::Page::isolatedUpdateRendering):
(WebCore::Page::doAfterUpdateRendering):
(WebCore::Page::finalizeRenderingUpdate):
- page/Page.h:
Source/WebKit:
dynamicViewportSizeUpdate() needs to call isolatedUpdateRendering() because it isn't followed
by a finalizeRenderingUpdate().
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::dynamicViewportSizeUpdate):
Source/WebKitLegacy/mac:
This is a precursor to fixing webkit.org/b/216726. Page needs to track the phase
of updateRendering that we are in, and to ease this tracking, WebKitLegacy needs to call
Page::finalizeRenderingUpdate() so the state is tracked.
Rename -_viewWillDrawInternal to -_updateRendering, and have it call updateRendering()
and finalizeRenderingUpdate(). We can also move in the call to -_synchronizeCustomFixedPositionLayoutRect
which both call sites do.
Since updateRendering() is guaranteed to update layout, we know -_flushCompositingChanges would have
never returned NO here, so we can remove the condition in LayerFlushController::flushLayers().
-[WebHTMLView viewWillDraw] also does a similar -_web_updateLayoutAndStyleIfNeededRecursive
then -_flushCompositingChanges but this is called from AppKit with a timing that we don't control;
it may be redundant with -[WebView _updateRendering] but I leave that behavior unchanged.
- WebView/WebView.mm:
(-[WebView _updateRendering]):
(-[WebView _forceRepaintForTesting]):
(LayerFlushController::flushLayers):
(-[WebView _viewWillDrawInternal]): Deleted.
Source/WebKitLegacy/win:
Windows doesn't call finalizeRenderingUpdate() so needs to use isolatedUpdateRendering().
- WebCoreSupport/AcceleratedCompositingContext.cpp:
(AcceleratedCompositingContext::flushAndRenderLayers):
- WebView.cpp:
(WebView::paint):
(WebView::flushPendingGraphicsLayerChangesSoon):
(WebView::flushPendingGraphicsLayerChanges):
- 1:00 PM Changeset in webkit [267687] by
-
- 2 edits in branches/safari-610-branch/Source/WebKit
Cherry-pick r267540. rdar://problem/69593993
CrashTracer: com.apple.WebKit.Networking in NetworkSession::firstPartyHostCNAMEDomain() code
https://bugs.webkit.org/show_bug.cgi?id=216934
<rdar://problem/69216768>
Reviewed by Alex Christensen.
Add a check for a valid key.
- NetworkProcess/NetworkSession.cpp: (WebKit::NetworkSession::firstPartyHostCNAMEDomain):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267540 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:00 PM Changeset in webkit [267686] by
-
- 3 edits in branches/safari-610-branch/Source/WebCore
Cherry-pick r267530. rdar://problem/69594070
Regression(r265280) Web Audio sources malfunction when disconnected from the audio graph
https://bugs.webkit.org/show_bug.cgi?id=216703
<rdar://problem/69158436>
Reviewed by Eric Carlson.
In case of an audio source that stops producing data, but does not end or mute the track,
we would continuously try to read the data until getting to the end of the data.
When reaching the end of the data, we would return silence and go back in time a little bit
to restart playing with some margin. This allows to read just one chunk of audio until we are back to the end of data.
We fix this by storing the end of the data counter when reaching it.
When trying to pull some more data, we will go back in time a little bit only if some more data was added in the meantime.
Otherwise, we just output silence.
Covered by manual test.
- platform/audio/mac/AudioSampleDataSource.h:
- platform/audio/mac/AudioSampleDataSource.mm: (WebCore::AudioSampleDataSource::pullSamplesInternal):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267530 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:00 PM Changeset in webkit [267685] by
-
- 4 edits in branches/safari-610-branch/Source/ThirdParty/ANGLE
Cherry-pick r267520. rdar://problem/69594405
REGRESSION: Textures Fail to Render in WebGL from HLS Stream [iOS 14]
https://bugs.webkit.org/show_bug.cgi?id=215908
<rdar://problem/68000962>
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2020-09-24
Reviewed by Dean Jackson.
Disable ANGLE workers until EAGL implementation is more complete.
Current implementation fails to compile any shader, since the
compilation happens in the worker thread and worker EAGL context
which does not use the same sharegroup as the main context.
The shader objects are created in the main context but the shader
source setting and compilation happens in the worker context.
EAGL needs a flush between state changes, and adding that
correctly is a bigger change to be done later.
Use sized formats when calling [EAGLContext -texImageIOSurface]
from EGL_ANGLE_iosurface_client_buffer code. The texImageIOSurface
accepts parameters with glTexImage2D logic. On ES3, some of the
internal formats must be sized formats. The EAGLContext instantiated
by ANGLE is ES3, even if the ANGLE context would be ES2.
No tests added since this should be caught with the many video
related tests. It's unclear why this is not the case -- at
least on real hw. This is to be investigated later, too.
- src/libANGLE/renderer/driver_utils.h: (rx::IsIOS):
- src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:
- src/libANGLE/renderer/gl/renderergl_utils.cpp: (rx::nativegl_gl::InitializeFeatures):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267520 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:00 PM Changeset in webkit [267684] by
-
- 2 edits in branches/safari-610-branch/Source/WebKit
Cherry-pick r267496. rdar://problem/69594104
[macOS] Change name of client decoder entitlement
https://bugs.webkit.org/show_bug.cgi?id=216670
<rdar://problem/69101997>
Reviewed by Darin Adler.
The client decoder entitlement landed in <https://trac.webkit.org/changeset/266613/webkit> has changed name, and should be updated.
- Scripts/process-entitlements.sh:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267496 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:00 PM Changeset in webkit [267683] by
-
- 2 edits in branches/safari-610-branch/Source/WebKit
Cherry-pick r267412. rdar://problem/69594162
Crashtracer inside PDFPlugin::createScrollbar.
<rdar://problem/69256031> and https://bugs.webkit.org/show_bug.cgi?id=216810
Reviewed by Tim Horton.
To quote Tim from r264945:
No new tests; timing is such that I can't reproduce without inserting
intentional delays into the main thread hops, which is further than
I'm willing to go for a test.
This is a speculative fix due to the aforementioned reproducibility issue.
- WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::PDFPlugin::installPDFDocument): With all the past fixes in place, its apparent the plug-in HAS been torn down, and it's somewhat common to bypass the other "hasBeenDestroyed" checks. So put an explicit check here followed by an explicit release assert.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267412 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:00 PM Changeset in webkit [267682] by
-
- 5 edits in branches/safari-610-branch/Source
Cherry-pick r267394. rdar://problem/69593980
paper.io ad close buttons cannot be iteracted with via trackpad on iPad
https://bugs.webkit.org/show_bug.cgi?id=216812
<rdar://problem/68738585>
Reviewed by Wenson Hsieh.
Source/WebCore:
- platform/RuntimeApplicationChecks.h:
- platform/cocoa/RuntimeApplicationChecksCocoa.mm: (WebCore::IOSApplication::isPaperIO):
Source/WebKit:
- UIProcess/ios/WKContentViewInteraction.mm: (applicationIsKnownToIgnoreMouseEvents):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267394 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:00 PM Changeset in webkit [267681] by
-
- 13 edits in branches/safari-610-branch
Cherry-pick r267369. rdar://problem/69594300
[WebAuthn] Don't set the UV option if the authenticator doesn't support it
https://bugs.webkit.org/show_bug.cgi?id=215836
<rdar://problem/67817359>
Reviewed by Darin Adler.
Source/WebCore:
Covered by new API tests.
UV in the the CTAP 2.0 spec only means internal UV:
https://fidoalliance.org/specs/fido-v2.0-ps-20190130/fido-client-to-authenticator-protocol-v2.0-ps-20190130.html#authenticatorGetInfo
If an authenticator supports ClientPin, it can set the uv bit in the responses to true but it
will not advertise itself supporting internal UV, which is the uv in the options.
https://fidoalliance.org/specs/fido-v2.0-ps-20190130/fido-client-to-authenticator-protocol-v2.0-ps-20190130.html#authenticatorMakeCredential
Hence, setting it to true could result in error if the authenticator doesn't support internal UV even if it supports ClientPin.
It's not a way to ask the authenticator to set the uv bit in the response.
- Modules/webauthn/fido/DeviceRequestConverter.cpp: (fido::encodeMakeCredenitalRequestAsCBOR): (fido::encodeGetAssertionRequestAsCBOR):
Tools:
- TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp: (TestWebKitAPI::TEST):
LayoutTests:
- http/wpt/webauthn/public-key-credential-create-failure-hid-silent.https.html:
- http/wpt/webauthn/public-key-credential-create-failure-hid.https.html:
- http/wpt/webauthn/public-key-credential-get-failure-hid-silent.https.html:
- http/wpt/webauthn/public-key-credential-get-failure-hid.https.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267369 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:00 PM Changeset in webkit [267680] by
-
- 4 edits in branches/safari-610-branch
Cherry-pick r267305. rdar://problem/69594350
[macOS] REGRESSION (r265702): System Services receive 0 bytes when extracting selected content as rich text data
https://bugs.webkit.org/show_bug.cgi?id=216718
<rdar://problem/69150358>
Reviewed by Tim Horton.
Source/WebKit:
Test: CopyHTML.WriteRichTextSelectionToPasteboard
- UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::dataSelectionForPasteboard):
After r265702, the
IPCHandle
received in the UI process was always being converted into a buffer of size 0,
due to using thesize
local variable (which is no longer set as an outparam of the sync IPC message). Instead,
useipcHandle.dataSize
.
Tools:
Add a new API test to verify that we get non-empty web archive data when using
-writeSelectionToPasteboard:types:
to grab selected content as rich text data.
- TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267305 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:00 PM Changeset in webkit [267679] by
-
- 2 edits in branches/safari-610-branch/Source/JavaScriptCore
Cherry-pick r267304. rdar://problem/69594380
[JSC] PreciseAllocation's isNewlyAllocated flag should be propagated from isMarked at GC begin phase to make isLive correct
https://bugs.webkit.org/show_bug.cgi?id=216717
Reviewed by Mark Lam.
When starting full GC, at beginMarking, PreciseAllocation's mark bit is cleared to be usable for upcoming marking.
However, this means that HeapCell::isLive will see this object as dead until it is marked.
Let's consider that this object is not newly allocated one. Then, its isNewlyAllocated is false. And now mark bit
is also cleared. Since PreciseAllocation::isLive is isNewlyAllocated isMarked, then it looks dead, while it is live. This confuses HeapCell:isLive function and makes some of watchpoints perform wrong decisions (e.g. this condition is
no longer valid, let's just discard it).
At the beginning of full collection, we should propagate the old mark bit to isNewlyAllocated so that it looks live
during marking. This is similar trick to MarkedBlock::aboutToMark.
- heap/PreciseAllocation.cpp: (JSC::PreciseAllocation::flip):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267304 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:00 PM Changeset in webkit [267678] by
-
- 2 edits in branches/safari-610-branch/Source/WebCore
Cherry-pick r267287. rdar://problem/69594243
Crash under WebCore::shouldResetFocusNavigationStartingNode()
https://bugs.webkit.org/show_bug.cgi?id=216714
<rdar://problem/68132047>
Reviewed by Darin Adler.
Protect anchorElement in FrameView::scrollToFragmentInternal() to make sure
it stays alive until the time we pass it to setFocusNavigationStartingNode().
- page/FrameView.cpp: (WebCore::FrameView::scrollToFragmentInternal):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267287 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:00 PM Changeset in webkit [267677] by
-
- 4 edits in branches/safari-610-branch/Source
Cherry-pick r267215. rdar://problem/69594225
Per-app accent color overrides are broken
https://bugs.webkit.org/show_bug.cgi?id=216674
<rdar://problem/67745464>
Reviewed by Wenson Hsieh.
Source/WebCore/PAL:
- pal/spi/mac/NSApplicationSPI.h:
Source/WebKit:
No new tests; I've no idea how to write a test that would have caught this;
any test I can imagine would have also written to _accentColor and worked fine.
- UIProcess/mac/PageClientImplMac.mm: (WebKit::PageClientImpl::accentColor): AppKit changed the meaning of the IPI. Use the correct version. We still write to _accentColor; it is now purely an override.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267215 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:00 PM Changeset in webkit [267676] by
-
- 2 edits in branches/safari-610-branch/Source/WebCore
Cherry-pick r267198. rdar://problem/69594065
[iOS] YouTube does not route video to AirPlay the first time
https://bugs.webkit.org/show_bug.cgi?id=216626
<rdar://problem/62222846>
Reviewed by Eric Carlson.
Difficult to test this, since it requires an live AppleTV device.
During a refactor, the order of a couple calls changed. A MediaPlaybackTarget needs to be in place before the MediaPlayer can
be told to start playing to that target. Once the target is in-place, subsequent requests to start playing to that target succeed,
which explains the "only initial AirPlay fails" behavior.
- platform/audio/ios/MediaSessionManagerIOS.mm: (WebCore::MediaSessionManageriOS::activeVideoRouteDidChange):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267198 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:00 PM Changeset in webkit [267675] by
-
- 2 edits in branches/safari-610-branch/Source/WebCore
Cherry-pick r267148. rdar://problem/69594002
[macOS] Limit reported macOS release to 10.15 series
https://bugs.webkit.org/show_bug.cgi?id=216593
<rdar://problem/68937905>
Reviewed by Maciej Stachowiak.
If the reported system OS is 11.0 (or beyond) report the last stable release
of macOS.
- platform/mac/UserAgentMac.mm: (WebCore::standardUserAgentWithApplicationName):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267148 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:00 PM Changeset in webkit [267674] by
-
- 4 edits in branches/safari-610-branch
Cherry-pick r267092. rdar://problem/69594199
REGRESSION (r267002): ASSERTION FAILED:[ iOS wk2 Debug ] !HashTranslator::equal(KeyTraits::emptyValue(), key) on compositing/ios/overflow-scroll-update-overlap.html
https://bugs.webkit.org/show_bug.cgi?id=216520
<rdar://problem/68894931>
Reviewed by Tim Horton.
Source/WebKit:
Avoid hash lookups with zero nodeIDs.
- WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm: (WebKit::RemoteScrollingCoordinator::isRubberBandInProgress const): (WebKit::RemoteScrollingCoordinator::isUserScrollInProgress const): (WebKit::RemoteScrollingCoordinator::isScrollSnapInProgress const):
LayoutTests:
- platform/ios-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267092 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:00 PM Changeset in webkit [267673] by
-
- 20 edits in branches/safari-610-branch/Source
Cherry-pick r267002. rdar://problem/69594199
Overflow:scroll rubberbanding is interrupted by post-layout scrolling
https://bugs.webkit.org/show_bug.cgi?id=216463
<rdar://problem/67095741>
Reviewed by Darin Adler.
When rubberbanding overflow:scroll RenderLayer has an overscrolled scroll offset.
If RenderLayer::updateScrollInfoAfterLayout() happens when in this state, it can
clamp the scroll offset, causing the rubberband to collapse which interferes with
the user interaction. This happend on Gmail when composing a reply.
Fix by tracking the rubberbanding state in the scrolling tree, and having RenderLayer
query this state via the ScrollingCoordinator. RenderLayer::updateScrollInfoAfterLayout()
already tested isRubberBandInProgress(). This is similar to how isUserScrollInProgress()
and isScrollSnapInProgress() work.
This patch also fixes the tracking of rubberbanding state. Previously setMainFrameIsRubberBanding()
was just based on when the timer was started and stopped, which did not match the
implementation of ScrollController::isRubberBandInProgress(). Now ScrollController
correctly notifies its clients when the rubberbanding state changes by updating that
state whenever any of the conditions consulted in isRubberBandInProgressInternal() change.
Source/WebCore:
I tried to make tests for this, but the timing of wheel and scroll event delivery makes
reliable detection of interrupted rubberbands impossible in WebKitTestRunner.
- page/FrameView.cpp: (WebCore::FrameView::isRubberBandInProgress const):
- page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::isRubberBandInProgress const):
- page/scrolling/AsyncScrollingCoordinator.h:
- page/scrolling/ScrollingCoordinator.h: (WebCore::ScrollingCoordinator::isRubberBandInProgress const):
- page/scrolling/ScrollingTree.cpp: (WebCore::ScrollingTree::isRubberBandInProgressForNode): (WebCore::ScrollingTree::setRubberBandingInProgressForNode): (WebCore::ScrollingTree::isRubberBandInProgress): Deleted. (WebCore::ScrollingTree::setMainFrameIsRubberBanding): Deleted.
- page/scrolling/ScrollingTree.h:
- page/scrolling/ScrollingTreeScrollingNode.cpp: (WebCore::ScrollingTreeScrollingNode::commitStateBeforeChildren):
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm: (WebCore::ScrollingTreeFrameScrollingNodeMac::currentScrollPositionChanged): (WebCore::ScrollingTreeFrameScrollingNodeMac::updateMainFramePinAndRubberbandState):
- page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.h:
- page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm: (WebCore::ScrollingTreeOverflowScrollingNodeMac::currentScrollPositionChanged):
- page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h:
- page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm: (WebCore::ScrollingTreeScrollingNodeDelegateMac::currentScrollPositionChanged): (WebCore::ScrollingTreeScrollingNodeDelegateMac::isRubberBandInProgress const): (WebCore::ScrollingTreeScrollingNodeDelegateMac::didStopRubberbandSnapAnimation): (WebCore::ScrollingTreeScrollingNodeDelegateMac::rubberBandingStateChanged):
- platform/ScrollAnimator.cpp: (WebCore::ScrollAnimator::notifyPositionChanged):
- platform/cocoa/ScrollController.h: (WebCore::ScrollControllerClient::rubberBandingStateChanged):
- platform/cocoa/ScrollController.mm: (WebCore::ScrollController::handleWheelEvent): (WebCore::ScrollController::snapRubberBandTimerFired): (WebCore::ScrollController::scrollPositionChanged): (WebCore::ScrollController::isRubberBandInProgress const): (WebCore::ScrollController::stopSnapRubberbandTimer): (WebCore::ScrollController::isRubberBandInProgressInternal const): (WebCore::ScrollController::updateRubberBandingState): (WebCore::ScrollController::updateGestureInProgressState):
- rendering/RenderLayer.cpp: (WebCore::RenderLayer::isRubberBandInProgress const): (WebCore::RenderLayer::updateScrollInfoAfterLayout):
Source/WebKit:
- WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.h:
- WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm: (WebKit::RemoteScrollingCoordinator::isRubberBandInProgress const): (WebKit::RemoteScrollingCoordinator::scrollingStateInUIProcessChanged):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267002 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:00 PM Changeset in webkit [267672] by
-
- 5 edits2 adds in branches/safari-610-branch
Cherry-pick r266611. rdar://problem/69594191
MediaRecorder timeslice parameter causing internal error on longer videos
https://bugs.webkit.org/show_bug.cgi?id=216076
<rdar://problem/68209422>
Reviewed by Eric Carlson.
Source/WebCore:
Test: http/wpt/fetch/blob-range.html
- platform/network/BlobResourceHandle.cpp: (WebCore::BlobResourceHandle::readDataAsync):
Source/WebKit:
Test: http/wpt/fetch/blob-range.html
- NetworkProcess/NetworkDataTaskBlob.cpp: (WebKit::NetworkDataTaskBlob::readData): readData can be re-entrant so we need to reset m_currentItemReadSize before consuming data.
LayoutTests:
- http/wpt/fetch/blob-range-expected.txt: Added.
- http/wpt/fetch/blob-range.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266611 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:00 PM Changeset in webkit [267671] by
-
- 3 edits in branches/safari-610-branch/Source/WebCore
Cherry-pick r266312. rdar://problem/69594218
[macOS] AirPlay device name is wrong when playing to multiple devices
https://bugs.webkit.org/show_bug.cgi?id=215952
<rdar://problem/66930799>
Reviewed by Jer Noble.
Tested manually because this requires a specific hardware setup.
- platform/graphics/avfoundation/MediaPlaybackTargetCocoa.mm: (WebCore::MediaPlaybackTargetCocoa::deviceName const): If the AVOutputContext supports multiple output devices, create the device name by concatenating the names of all of the active output devices.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266312 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:00 PM Changeset in webkit [267670] by
-
- 2 edits in branches/safari-610-branch/Source/WebKit
Cherry-pick r265977. rdar://problem/69594018
Could not find module 'WebKit' for target 'armv7-apple-ios'
<https://bugs.webkit.org/show_bug.cgi?id=215190>
<rdar://problem/65642049>
Reviewed by Brady Eidson.
The config changes here got added to the wrong config file. They need to
be for the overlay, not its tests.
- SwiftOverlay/Configurations/WebKitSwiftOverlay.xcconfig:
- SwiftOverlay/Configurations/WebKitSwiftOverlayTests.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265977 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:59 PM Changeset in webkit [267669] by
-
- 2 edits in branches/safari-610-branch/Source/WebKit
Cherry-pick r265322. rdar://problem/69594018
Could not find module 'WebKit' for target 'armv7-apple-ios'
<https://bugs.webkit.org/show_bug.cgi?id=215190>
<rdar://problem/65642049>
Reviewed by Brady Eidson.
- SwiftOverlay/Configurations/WebKitSwiftOverlayTests.xcconfig: Define SWIFT_MODULE_ONLY_ARCHS to emit other architectures.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265322 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:48 AM Changeset in webkit [267668] by
-
- 2 edits in trunk/Tools
Remove run-webkit-tests code that strips trailing spaces when comparing expected.txt files
https://bugs.webkit.org/show_bug.cgi?id=217041
Reviewed by Sam Weinig.
- Scripts/webkitpy/port/base.py:
(Port.do_text_results_differ): Removed code to strip the expected text before comparing.
- 9:45 AM Changeset in webkit [267667] by
-
- 5 edits in trunk/LayoutTests/imported/w3c
Remove trailing spaces from the last few expected.txt files that have them
https://bugs.webkit.org/show_bug.cgi?id=217040
Reviewed by Zalan Bujtas.
- web-platform-tests/content-security-policy/style-src/style-src-imported-style-allowed.sub-expected.txt:
- web-platform-tests/content-security-policy/style-src/style-src-imported-style-blocked-expected.txt:
- web-platform-tests/css/css-text/white-space/append-whitespace-only-node-crash-001-expected.txt:
- web-platform-tests/pointerevents/pointerlock/pointerevent_pointermove_on_chorded_mouse_button_when_locked-expected.txt:
Remove trailing spaces.
- 9:30 AM Changeset in webkit [267666] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Call showLayoutTree only when trees are mismatching.
- layout/Verification.cpp:
(WebCore::Layout::LayoutContext::verifyAndOutputMismatchingLayoutTree):
- 8:37 AM Changeset in webkit [267665] by
-
- 15 edits in trunk/LayoutTests/imported/w3c
Remove trailing spaces from expected.txt files in imported/w3c/web-platform-tests/encoding/legacy-mb-japanese/euc-jp
https://bugs.webkit.org/show_bug.cgi?id=217037
Reviewed by Zalan Bujtas.
To run at a resaonable speed, we may want to find a way to change these encoding tests to not
decode each character separately since that's not critical to what they are testing; this likely
would result in tests fast enough to run as regression tests (right now they are skipped) and
much smaller output files too. But for now, these are colossal files.
- web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-decode-cseucpkdfmtjapanese-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-decode-errors-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-decode-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-decode-x-euc-jp-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-cseucpkdfmtjapanese-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-errors-han-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-errors-hangul-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-errors-misc-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-x-euc-jp-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href-errors-han-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href-errors-hangul-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href-errors-misc-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/euc-jp/eucjp-encode-href-expected.txt:
Remove trailing spaces.
- 8:36 AM Changeset in webkit [267664] by
-
- 27 edits in trunk/LayoutTests/imported/w3c
Remove trailing spaces from expected.txt files in imported/w3c/web-platform-tests/encoding/legacy-mb-korean
https://bugs.webkit.org/show_bug.cgi?id=217036
Reviewed by Zalan Bujtas.
To run at a resaonable speed, we may want to find a way to change these encoding tests to not
decode each character separately since that's not critical to what they are testing; this likely
would result in tests fast enough to run as regression tests (right now they are skipped) and
much smaller output files too. But for now, these are colossal files.
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-cseuckr-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-csksc56011987-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-errors-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-iso-ir-149-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-korean-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-ks_c_5601-1987-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-ks_c_5601-1989-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-ksc5601-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-ksc_5601-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-windows-949-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-cseuckr-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-csksc56011987-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-errors-han-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-errors-misc-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-iso-ir-149-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-korean-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-ks_c_5601-1987-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-ks_c_5601-1989-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-ksc5601-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-ksc_5601-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-windows-949-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-href-errors-han-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-href-errors-misc-expected.txt:
- web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-href-expected.txt:
Strip trailing spaces from these files.
- 8:36 AM Changeset in webkit [267663] by
-
- 25 edits in trunk/LayoutTests/imported/w3c
Remove trailing spaces from expected.txt files in imported/w3c/web-platform-tests/encoding/legacy-mb-japanese/shift_jis
https://bugs.webkit.org/show_bug.cgi?id=217039
Reviewed by Zalan Bujtas.
To run at a resaonable speed, we may want to find a way to change these encoding tests to not
decode each character separately since that's not critical to what they are testing; this likely
would result in tests fast enough to run as regression tests (right now they are skipped) and
much smaller output files too. But for now, these are colossal files.
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-csshiftjis-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-errors-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-ms932-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-ms_kanji-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-shift-jis-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-sjis-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-windows-31j-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-x-sjis-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-csshiftjis-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-errors-han-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-errors-hangul-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-errors-misc-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-ms932-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-ms_kanji-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-shift-jis-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-sjis-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-windows-31j-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-x-sjis-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-han-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-hangul-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-misc-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-expected.txt:
Remove trailing spaces.
- 8:35 AM Changeset in webkit [267662] by
-
- 14 edits in trunk/LayoutTests/imported/w3c
Remove trailing spaces from expected.txt files in imported/w3c/web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp
https://bugs.webkit.org/show_bug.cgi?id=217038
Reviewed by Zalan Bujtas.
To run at a resaonable speed, we may want to find a way to change these encoding tests to not
decode each character separately since that's not critical to what they are testing; this likely
would result in tests fast enough to run as regression tests (right now they are skipped) and
much smaller output files too. But for now, these are colossal files.
- web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-decode-csiso2022jp-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-decode-errors-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-decode-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-csiso2022jp-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-han-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-hangul-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-misc-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-errors-stateful-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-form-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href-errors-han-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href-errors-hangul-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href-errors-misc-expected.txt:
- web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-encode-href-expected.txt:
Remove trailng spaces.
- 8:34 AM Changeset in webkit [267661] by
-
- 24 edits in trunk/LayoutTests/imported/w3c
Remove trailing spaces from expected.txt files in imported/w3c/web-platform-tests/encoding/legacy-mb-tchinese/big5
https://bugs.webkit.org/show_bug.cgi?id=217035
Reviewed by Zalan Bujtas.
To run at a resaonable speed, we may want to find a way to change these encoding tests to not
decode each character separately since that's not critical to what they are testing; this likely
would result in tests fast enough to run as regression tests (right now they are skipped) and
much smaller output files too. But for now, these are colossal files.
- web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-decode-big5-hkscs-expected.txt:
- web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-decode-cn-big5-expected.txt:
- web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-decode-csbig5-expected.txt:
- web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-decode-errors-expected.txt:
- web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-decode-expected.txt:
- web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-decode-extra-expected.txt:
- web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-decode-x-x-big5-expected.txt:
- web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-enc-ascii-expected.txt:
- web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-big5-hkscs-expected.txt:
- web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-cn-big5-expected.txt:
- web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-csbig5-expected.txt:
- web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-extBa-expected.txt:
- web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-extBb-expected.txt:
- web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-han-expected.txt:
- web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-hangul-expected.txt:
- web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-misc-expected.txt:
- web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-pua-expected.txt:
- web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-expected.txt:
- web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-x-x-big5-expected.txt:
- web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-href-errors-han-expected.txt:
- web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-href-errors-hangul-expected.txt:
- web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-href-errors-misc-expected.txt:
- web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-href-expected.txt:
Strip trailing spaces from all these files. No other changes at this time.
- 8:17 AM Changeset in webkit [267660] by
-
- 362 edits in trunk/LayoutTests/imported/w3c
Remove trailing spaces from expected.txt files in web-platform-tests/dom
https://bugs.webkit.org/show_bug.cgi?id=217029
Reviewed by Zalan Bujtas.
This affects many files, and it's not helpful to fill the change log with a list of them.
- 8:15 AM Changeset in webkit [267659] by
-
- 84 edits in trunk/LayoutTests/imported/w3c
Remove trailing spaces from expected.txt files in web-platform-tests/encoding, not including the tests in the legacy-mb directories
https://bugs.webkit.org/show_bug.cgi?id=217030
Reviewed by Zalan Bujtas.
This affects many files, and it's not helpful to fill the change log with a list of them.
- 7:41 AM Changeset in webkit [267658] by
-
- 1230 edits in trunk/LayoutTests
Remove trailing spaces from all expected.txt files outside the web-platform-tests directory
https://bugs.webkit.org/show_bug.cgi?id=217027
Reviewed by Zalan Bujtas.
This affects many files, and it's not helpful to fill the change log with a list of them.
- 6:03 AM Changeset in webkit [267657] by
-
- 8 edits2 adds in trunk
[LFC][IFC] Create inline boxes for hard line breaks(<br>) and word wrap opportunities (<wbr>)
https://bugs.webkit.org/show_bug.cgi?id=217023
Reviewed by Antti Koivisto.
Source/WebCore:
Both hard <br> and the word break opportunity layout boxes generate inline boxes and get computed box geometries.
It enables us to answer questions like element.offsetTop/offsetLeft.
Test: fast/layoutformattingcontext/br-and-wbr-simple.html
- layout/FormattingState.cpp:
(WebCore::Layout::FormattingState::boxGeometry):
- layout/Verification.cpp:
(WebCore::Layout::LayoutContext::verifyAndOutputMismatchingLayoutTree):
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthConstraints):
(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):
- layout/inlineformatting/InlineFormattingContextGeometry.cpp:
(WebCore::Layout::LineBoxBuilder::constructInlineBoxes):
- layout/inlineformatting/InlineLine.h:
(WebCore::Layout::Line::Run::isLineBreak const):
(WebCore::Layout::Line::Run::isSoftLineBreak const):
(WebCore::Layout::Line::Run::isHardLineBreak const):
- layout/tableformatting/TableFormattingContext.cpp:
(WebCore::Layout::TableFormattingContext::setUsedGeometryForCells):
LayoutTests:
- fast/layoutformattingcontext/br-and-wbr-simple-expected.html: Added.
- fast/layoutformattingcontext/br-and-wbr-simple.html: Added.
- 5:55 AM Changeset in webkit [267656] by
-
- 4 edits in trunk/LayoutTests/imported/w3c
Add support to pause in testdriver.js
https://bugs.webkit.org/show_bug.cgi?id=216933
Reviewed by Darin Adler
While simulating a mouse action, pause in dispatchMouseActions() is needed. Otherwise, the events are sent
without delay, the simulation might not be effective. The patch uses JS setTimeout to simulate a pause.
- web-platform-tests/pointerevents/pointerlock/pointerevent_pointerlock_supercedes_capture-expected.txt:
- web-platform-tests/pointerevents/pointerlock/pointerevent_pointermove_on_chorded_mouse_button_when_locked-expected.txt:
- web-platform-tests/resources/testdriver-vendor.js:
(pause): Use setTimeout to simulate a pause.
(dispatchMouseActions):
- 5:45 AM Changeset in webkit [267655] by
-
- 2 edits in trunk/Source/WebKit
[SOUP] WebSocket: cookies set in request don't appear in the inspector
https://bugs.webkit.org/show_bug.cgi?id=217012
Reviewed by Michael Catanzaro.
Cookies are set by libsoup and we are notifying about the handshake being sent before the cookie header is added
to the request.
- NetworkProcess/soup/WebSocketTaskSoup.cpp:
(WebKit::WebSocketTask::WebSocketTask): Connect to SoupMessage::starting to notify the web process the handshake
request has been sent.
- 5:35 AM Changeset in webkit [267654] by
-
- 18 edits3 deletes in trunk
Alias WebKitCSSMatrix to DOMMatrix
https://bugs.webkit.org/show_bug.cgi?id=153675
Patch by Rob Buis <rbuis@igalia.com> on 2020-09-27
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
Update imrpved test results.
- web-platform-tests/css/geometry/DOMMatrix-stringifier-expected.txt:
- web-platform-tests/css/geometry/WebKitCSSMatrix-expected.txt:
Source/WebCore:
Alias WebKitCSSMatrix to DOMMatrix and remove
the generated JSWebKitCSSMatrix as well as
WebKitCSSMatrix itself since it is no longer
needed.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/DOMMatrix.idl:
- css/WebKitCSSMatrix.cpp: Removed.
- css/WebKitCSSMatrix.h: Removed.
- css/WebKitCSSMatrix.idl: Removed.
LayoutTests:
Adapt tests to expect DOMMatrix behavior rather than WebKitCSSMatrix.
- platform/ios/ios/css/construct-WebKitCSSMatrix-expected.txt:
- platform/ios/ios/css/resources/construct-WebKitCSSMatrix.js:
- transforms/cssmatrix-2d-interface-expected.txt:
- transforms/cssmatrix-2d-interface.xhtml:
- transforms/cssmatrix-3d-interface-expected.txt:
- transforms/cssmatrix-3d-interface.xhtml:
- 1:14 AM Changeset in webkit [267653] by
-
- 2 edits1 add in trunk
Add .ccls config file
https://bugs.webkit.org/show_bug.cgi?id=216877
Patch by Philippe Normand <pnormand@igalia.com> on 2020-09-27
Reviewed by Darin Adler.
ccls is a stand-alone server implementing the Language Server Protocol for C, C++, and
Objective-C languages. It can be used with any editor which provides an LSP client
implementation. It originates from cquery.
https://github.com/MaskRay/ccls/wiki
It's basically used to provide semantic highlighting and code navigation. Many IDEs support
LSP nowadays.
- .ccls: Added.
- .gitignore:
- 12:37 AM Changeset in webkit [267652] by
-
- 18 edits in trunk
Clean up type parameter for Event idl
https://bugs.webkit.org/show_bug.cgi?id=217013
Patch by Rob Buis <rbuis@igalia.com> on 2020-09-27
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
Update improved test result.
- web-platform-tests/html/dom/idlharness.https-expected.txt:
Source/WebCore:
Clean up type parameter for Event idl files, there is no need to
pass "undefined" default value.
- dom/CompositionEvent.idl:
- dom/HashChangeEvent.idl:
- dom/KeyboardEvent.idl:
- dom/MouseEvent.idl:
- dom/MutationEvent.idl:
- dom/TextEvent.idl:
- dom/TouchEvent.idl:
- dom/UIEvent.idl:
- storage/StorageEvent.idl:
LayoutTests:
Update improved test results.
- platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt: