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 infoif 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 svncommands.
- 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 thanRemoteImageBuffer::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 aDisplayListanyways), 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: