Timeline
Oct 7, 2020:
- 10:26 PM Changeset in webkit [268172] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed. Remove the build warning below since r238330.
warning: unused variable ‘connectionIdentifier’ [-Wunused-variable]
No new tests, no new behaviors.
- WebProcess/Inspector/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::updateConnection):
- 9:56 PM Changeset in webkit [268171] by
-
- 2 edits in trunk/LayoutTests
Rebaseline test result
https://bugs.webkit.org/show_bug.cgi?id=167729
Unreviewed test gardening.
- platform/mac/imported/w3c/web-platform-tests/css/css-pseudo/text-selection-expected.txt:
- 9:18 PM Changeset in webkit [268170] by
-
- 27 edits in trunk/Source
[JSC] Restrict more ptr-tagging and avoid using OperationPtrTag for JIT code
https://bugs.webkit.org/show_bug.cgi?id=217460
Reviewed by Saam Barati.
Source/JavaScriptCore:
This patch makes tagging / untagging pointer functions solid by using PtrTag in template parameter.
Later, we will introduce compile time behavior change for different kind of PtrTag so that we can insert OperationPtrTag validation
when tagging a function with OperationPtrTag.
We also found that FTL is tagging JIT code with OperationPtrTag wrongly. We should tag it with JITThunkPtrTag.
- assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::getLinkerAddress):
- assembler/AssemblerBuffer.h:
(JSC::ARM64EHash::update):
(JSC::ARM64EHash::finalHash const):
- assembler/JITOperationList.cpp:
(JSC::addPointers):
- assembler/MacroAssemblerARM64.cpp:
(JSC::MacroAssembler::probe):
- assembler/MacroAssemblerCodeRef.h:
(JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr):
(JSC::MacroAssemblerCodePtr::createFromExecutableAddress):
- assembler/testmasm.cpp:
(JSC::testProbeModifiesProgramCounter):
- b3/air/testair.cpp:
- ftl/FTLOutput.h:
(JSC::FTL::Output::callWithoutSideEffects):
(JSC::FTL::Output::operation):
- ftl/FTLSlowPathCall.cpp:
(JSC::FTL::SlowPathCallContext::makeCall):
- jit/JITCode.cpp:
(JSC::JITCodeWithCodeRef::executableAddressAtOffset):
- jit/JITExceptions.cpp:
(JSC::genericUnwind):
- jit/JITOperations.cpp:
- jit/Repatch.cpp:
(JSC::readPutICCallTarget):
(JSC::ftlThunkAwareRepatchCall):
(JSC::tryCacheGetBy):
(JSC::tryCachePutByID):
- llint/LLIntData.cpp:
(JSC::LLInt::initialize):
- llint/LLIntPCRanges.h:
(JSC::LLInt::isLLIntPC):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::setUpCall):
- llint/LLIntThunks.cpp:
(JSC::LLInt::generateThunkWithJumpTo):
- runtime/MachineContext.h:
(JSC::MachineContext::instructionPointer):
- runtime/NativeExecutable.cpp:
(JSC::NativeExecutable::finishCreation):
- runtime/PutPropertySlot.h:
(JSC::PutPropertySlot::setCustomValue):
(JSC::PutPropertySlot::setCustomAccessor):
(JSC::PutPropertySlot::customSetter const):
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::emitCCall):
- wasm/WasmSlowPaths.cpp:
Source/WTF:
- wtf/PlatformRegisters.cpp:
(WTF::threadStateLRInternal):
(WTF::threadStatePCInternal):
- wtf/PtrTag.h:
(WTF::tagCFunctionPtr):
(WTF::tagCFunction):
(WTF::untagCFunctionPtr):
(WTF::tagInt):
(WTF::isTaggedWith):
(WTF::assertIsTaggedWith):
(WTF::assertIsNullOrTaggedWith):
- 8:19 PM Changeset in webkit [268169] by
-
- 2 edits in trunk/Tools
REGRESSION(r268123): [ iOS ] 4 TestWebKitAPI.WebKitLegacy failures: File name unavailable. Unknown C++ exception thrown in the test body.
https://bugs.webkit.org/show_bug.cgi?id=217445
<rdar://problem/70063370>
Reviewed by Wenson Hsieh.
The patch which introduced these tests swizzled [UIDatePicker setDatePickerMode:]
to avoid a crash within UIKit, resulting from the fact that TestWebKitAPI isn't
actually an app.
However, this was not a reliable solution since UIKit was still attempting to
create a QoS interval. To fix, swizzle out a method much closer to the source
of the exception: [UITableView cellForRowAtIndexPath:].
- TestWebKitAPI/Tests/WebKitLegacy/ios/DateTimeInputsAccessoryViewTests.mm:
(cellForRowAtIndexPath):
(runTestWithInputType):
- 7:11 PM Changeset in webkit [268168] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r267940): [ macOS Catalina ] imported/w3c/web-platform-tests/css/css-pseudo/text-selection.html is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=167729#add_comment
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 6:52 PM Changeset in webkit [268167] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (iOS 14): [ iOS wk2 ] imported/w3c/web-platform-tests/service-workers/cache-storage/serviceworker/cache-add.https.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=217462
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 6:35 PM Changeset in webkit [268166] by
-
- 3 edits3 adds in trunk/LayoutTests
REGRESSION (r268138): [ iOS Mojave+ ] imported/w3c/web-platform-tests/css/css-masking/clip-path/svg-clipPath.svg is missing expected results
https://bugs.webkit.org/show_bug.cgi?id=217461
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 5:59 PM Changeset in webkit [268165] by
-
- 9 edits in trunk
[JSC] Revert String.prototype.item
https://bugs.webkit.org/show_bug.cgi?id=217449
Reviewed by Yusuke Suzuki.
JSTests:
- stress/item-method.js:
- test262/config.yaml:
Source/JavaScriptCore:
This patch reverts the String part of r267814, as it has been shown to be web-incompatible:
https://github.com/tc39/proposal-item-method/issues/31
Thankfully, this was the inessential part of the proposal; the core parts (Array and %TypedArray%) remain for now.
- builtins/StringPrototype.js:
(item): Deleted.
- runtime/StringPrototype.cpp:
LayoutTests:
- js/Object-getOwnPropertyNames-expected.txt:
- js/script-tests/Object-getOwnPropertyNames.js:
- 5:27 PM Changeset in webkit [268164] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, fix Windows build after r268161.
- dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::createdMessagePort):
(WebCore::ScriptExecutionContext::destroyedMessagePort):
- workers/WorkerOrWorkletGlobalScope.h:
(isType):
- 5:23 PM Changeset in webkit [268163] by
-
- 12 edits in trunk/Source
Update post-processing rules for headers to not unnecessarily change timestamps
https://bugs.webkit.org/show_bug.cgi?id=217371
<rdar://problem/69992230>
Reviewed by Darin Adler.
Under XCBuild, the scripts employed in custom build rules can be
invoked in innocuous situations. A common example is when the user is
building from the command-line and they change themakeoutput from
stdout to a file, or vice-versa. Changing the output changes the
setting of the COLOR_DIAGNOSTICS environment variable, which is enough
to cause XCBuild to think something is different and that the custom
build rule needs to be invoked. For the script's part, nothing
significant has changed, yet it post-processes the header files,
causing their modification dates to change, causing downstream
rebuilds to occur.
Fix this problem by adopting an approach that doesn't modify the
post-processed header files unless their contents actually change.
Source/JavaScriptCore:
- Scripts/postprocess-header-rule:
Source/ThirdParty/ANGLE:
- adjust-angle-include-paths-rule:
Source/ThirdParty/libwebrtc:
- libwebrtc.xcodeproj/project.pbxproj:
Source/WebKit:
No new tests -- this is a build change only.
- Scripts/postprocess-header-rule:
Source/WebKitLegacy:
- scripts/postprocess-header-rule:
Source/WTF:
- Scripts/GeneratePreferences.rb:
- 5:01 PM Changeset in webkit [268162] by
-
- 4 edits2 adds in trunk
REGRESSION: Safari unable to load PDF in <embed> (docs.legalconnect.com)
https://bugs.webkit.org/show_bug.cgi?id=217451
<rdar://problem/69767043>
Reviewed by Alex Christensen.
Source/WebCore:
Test: fast/replaced/pdf-as-embed-with-no-mime-type-is-not-blank.html
If plugins are enabled, we'll always let the request go through, and WebKit will
guess that files with PDFPlugin-handled extensions should instantiate PDFPlugin,
even if no other plugins are available.
However, if plugins are disabled, requestPlugin() will early return if the explicitly
specified MIME type is not handled by an application plugin (even though the downstream
WebKit code would have happily instantiated an application plugin for us).
Application plugins shouldn't depend on the plugin enablement setting.
To fix this, have SubframeLoader guess the MIME type if not explicitly specified
(matching WebKit's behavior), and allow the request if it matches an application plugin.
- loader/SubframeLoader.cpp:
(WebCore::findPluginMIMETypeFromURL):
Improve this previously logging-only function to use the lastPathComponent
of the URL instead of randomly looking at the end of the URL, to ignore
query strings and fragments when looking for the file extension.
(WebCore::FrameLoader::SubframeLoader::requestPlugin):
Make use of findPluginMIMETypeFromURL to guess the MIME type if it's not
explicitly specified. If the guessed MIME type is one that is handled
by application plugins, allow the request to go out to WebKit (which
may then instantiate a PDFPlugin, for example).
(WebCore::logPluginRequest):
(WebCore::FrameLoader::SubframeLoader::requestObject):
(WebCore::FrameLoader::SubframeLoader::createJavaAppletWidget):
Pass the URL instead of stringifying it, so we can lastPathComponent as above.
LayoutTests:
- fast/replaced/pdf-as-embed-with-no-mime-type-is-not-blank-expected-mismatch.html: Added.
- fast/replaced/pdf-as-embed-with-no-mime-type-is-not-blank.html: Added.
Add a test ensuring that <embed> with no specified MIME type still renders the PDF.
- 4:31 PM Changeset in webkit [268161] by
-
- 35 edits1 copy in trunk
Constructing a AudioWorkletNode should construct an AudioWorkletProcessor on the Worklet thread
https://bugs.webkit.org/show_bug.cgi?id=217442
Reviewed by Geoffrey Garen.
LayoutTests/imported/w3c:
Rebaseline WPT tests now that we are passing more checks.
- web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/processing-after-resume.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-messageport.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletglobalscope-timing-info.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-options.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/processor-construction-port.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/suspended-context-messageport.https-expected.txt:
Source/WebCore:
Constructing a AudioWorkletNode should construct an AudioWorkletProcessor on the Worklet thread:
No new tests, rebaselined existing tests.
- Modules/webaudio/AudioWorklet.cpp:
(WebCore::AudioWorklet::createProcessor):
Add createProcessor() function to AudioWorklet which takes care of hopping to the worklet thread
in order to call createProcessor() on the AudioWorkletGlobalScope.
- Modules/webaudio/AudioWorklet.h:
- Modules/webaudio/AudioWorkletGlobalScope.cpp:
(WebCore::AudioWorkletGlobalScope::createProcessor):
Construct an AudioWorkletProcessor, as specified here:
(WebCore::AudioWorkletGlobalScope::takePendingProcessorConstructionData):
A function to take the pending ProcessorConstructionData. This construction
data gets initialized in createProcessor() and gets consumed by
AudioWorkletProcessor::create().
- Modules/webaudio/AudioWorkletGlobalScope.h:
- Modules/webaudio/AudioWorkletNode.cpp:
(WebCore::AudioWorkletNode::create):
Improve AudioWorkletNode constructor to actually cause the construction of
the AudioWorkletProcessor on the worklet thread, passing it the options and
the MessagePort. This is as per the specification here:
(WebCore::AudioWorkletNode::AudioWorkletNode):
(WebCore::AudioWorkletNode::~AudioWorkletNode):
(WebCore::AudioWorkletNode::setProcessor):
Once the AudioWorkletProcessor is created on the worklet thread, this gets
called so that the AudioWorkletNode has a reference to the processor. This
will be needed later on once AudioWorkletNode::process() starts doing audio
processing through the AudioWorkletProcessor.
(WebCore::AudioWorkletNode::process):
Improve comment.
- Modules/webaudio/AudioWorkletNode.h:
- Modules/webaudio/AudioWorkletNode.idl:
Pass the global object to the constructor. It is needed now that the constructor
serializes script values to pass them to the worklet thread.
- Modules/webaudio/AudioWorkletNodeOptions.idl:
Add [JSGenerateToJSObject] to AudioWorkletNodeOptions dictionary so that a
convertDictionaryToJS() function gets generated for this dictionary. This function
is called by the AudioWorkletNode constructor.
- Modules/webaudio/AudioWorkletProcessor.cpp:
(WebCore::AudioWorkletProcessor::create):
(WebCore::AudioWorkletProcessor::AudioWorkletProcessor):
- Modules/webaudio/AudioWorkletProcessor.h:
(WebCore::AudioWorkletProcessor::name const):
(WebCore::AudioWorkletProcessor::port):
Implement AudioWorkletProcessor constructor so that its retrieves the pending
construction data from the AudioWorkletGlobalScope and properly initializes
its name and port. The specification for this is here:
- Modules/webaudio/AudioWorkletProcessor.idl:
Indicate that the constructor may throw an exception as per the specification:
Also pass the ScriptExecutionContext to the constructor since the constructor
needs to retrieve the pending construction data from it:
- Modules/webaudio/AudioWorkletProcessorConstructionData.h:
(WebCore::AudioWorkletProcessorConstructionData::AudioWorkletProcessorConstructionData):
(WebCore::AudioWorkletProcessorConstructionData::name const):
(WebCore::AudioWorkletProcessorConstructionData::port const):
Add class to wrap the AudioWorkletProcess's construction data:
- Modules/webaudio/AudioWorkletThread.h:
Move ThreadSafeRefCounted from this class to the parent class (WorkerOrWorkletThread)
since WorkerMessagePortChannelProvider needs to protect a WorkerOrWorkletThread now.
- WebCore.xcodeproj/project.pbxproj:
Add new header to project.
- bindings/js/JSDOMGlobalObject.cpp:
(WebCore::toJSDOMGlobalObject):
Properly handle WorkletGlobalScope.
- dom/MessagePort.cpp:
(WebCore::MessagePort::disentangle):
(WebCore::MessagePort::disentanglePorts):
(WebCore::MessagePort::entanglePorts):
(WebCore::MessagePort::entangle):
- dom/MessagePort.h:
Tweak MessagePort API to support disentangling/entangling a single
MessagePort. Previously we had to pass an array of ports.
- dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::createdMessagePort):
(WebCore::ScriptExecutionContext::destroyedMessagePort):
Tweak assertions to handle AudioWorkletGlobalScopes.
- dom/messageports/MessagePortChannelProvider.cpp:
(WebCore::MessagePortChannelProvider::fromContext):
- dom/messageports/MessageWithMessagePorts.h:
- dom/messageports/WorkerMessagePortChannelProvider.cpp:
(WebCore::WorkerMessagePortChannelProvider::WorkerMessagePortChannelProvider):
(WebCore::WorkerMessagePortChannelProvider::takeAllMessagesForPort):
(WebCore::WorkerMessagePortChannelProvider::checkRemotePortForActivity):
- dom/messageports/WorkerMessagePortChannelProvider.h:
Update WorkerMessagePortChannelProvider to use WorkerOrWorkletScope instead
or WorkerGlobalScope. This allows us to reuse this class for AudioWorklets
so that MessagePort communication between the main thread and the worklet
thread now works.
- workers/WorkerOrWorkletThread.h:
Move ThreadSafeRefCounted from subclasses to this class so that
WorkerMessagePortChannelProvider can protect a WorkerOrWorkletThread.
- workers/WorkerThread.h:
- worklets/WorkletGlobalScope.cpp:
(WebCore::WorkletGlobalScope::notifyFinished):
Only evaluate the script if we have not already evaluated it in this worklet.
I am assuming this is needed because we are not treating the script as a module
yet (due to lack of support in workers). Without this changes, the worklet's
script would get in a bad state when importing several times the same module
(which is something the WPT tests do).
(WebCore::WorkletGlobalScope::messagePortChannelProvider):
Instantiate WorkerMessagePortChannelProvider if needed. This is needed for
MessagePort communication is AudioWorklets.
- worklets/WorkletGlobalScope.h:
LayoutTests:
Unskip a few tests that are no longer timing out.
- 3:49 PM Changeset in webkit [268160] by
-
- 1 copy in tags/Safari-610.2.8.1.1
Tag Safari-610.2.8.1.1.
- 3:44 PM Changeset in webkit [268159] by
-
- 2 edits in trunk/Source/WebCore
Crash under JSAudioWorkletProcessorConstructor::~JSAudioWorkletProcessorConstructor()
https://bugs.webkit.org/show_bug.cgi?id=217448
<rdar://problem/70059902>
Reviewed by Geoffrey Garen.
Make sure we clear out m_processorConstructorMap in AudioWorkletGlobalScope::prepareForTermination()
since this map keeps JS wrappers alive.
No new tests, already covered by existing tests that are crashing on ASAN bots.
- Modules/webaudio/AudioWorkletGlobalScope.cpp:
(WebCore::AudioWorkletGlobalScope::prepareForTermination):
- 3:42 PM Changeset in webkit [268158] by
-
- 5 edits in trunk
background-clip:var(--a) invalidates -webkit-background-clip:text when --a:text
https://bugs.webkit.org/show_bug.cgi?id=199410
Patch by Tyler Wilcock <Tyler Wilcock> on 2020-10-07
Reviewed by Darin Adler.
Source/WebCore:
Parse the
textvalue (CSSValueText) for thebackground-clip
property. While the bug this patch is associated with is about CSS
variable interactions, the underlying issue is that we weren't parsing
thetextvalue forbackground-clip.
https://www.w3.org/TR/2017/CR-css-backgrounds-3-20171017/#the-background-clip
This patch also removes the ability to parse the
-webkit-textvalue
for thebackground-origin(CSSPropertyBackgroundOrigin) property by
removingCSSValueWebkitTextfromconsumeBackgroundBox. Neither
-webkit-textnor the unprefixedtextare valid values for this property.
https://www.w3.org/TR/2017/CR-css-backgrounds-3-20171017/#the-background-origin
Updated existing
fast/css/background-clip-text.htmltest.
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeBackgroundBox): Removed
CSSValueWebkitText.
(WebCore::consumeBackgroundClip): Added.
(WebCore::consumeBackgroundComponent): UseconsumeBackgroundClipfor
theCSSPropertyBackgroundClipproperty case.
LayoutTests:
We now parse the
textvalue for thebackground-clipproperty, so
update this test to reflect that.
- fast/css/background-clip-text-expected.txt:
- fast/css/background-clip-text.html: Parse
textvalue.
- 3:41 PM Changeset in webkit [268157] by
-
- 3 edits4 adds in trunk
Using CSS wide keywords as a fallback for variable substitution works inconsistently.
https://bugs.webkit.org/show_bug.cgi?id=197158
Patch by Tyler Wilcock <Tyler Wilcock> on 2020-10-07
Reviewed by Darin Adler.
Source/WebCore:
Enable CSS-wide keywords to be used as variable fallbacks.
See spec-issue for further discussion:
https://github.com/w3c/csswg-drafts/issues/5325
Patch inspired by Chromium's implementation:
https://bugs.chromium.org/p/chromium/issues/detail?id=954963#c5
Tests: fast/css/variables/css-wide-keywords-in-fallback-inherited-property.html
fast/css/variables/css-wide-keywords-in-fallback-non-inherited-property.html
- css/parser/CSSPropertyParser.cpp: Add
maybeConsumeCSSWideKeyword
function.
(WebCore::CSSPropertyParser::parseSingleValue): Before trying to parse
the property-specific values for the inputproperty, first try parsing the
CSS-wide keywords viamaybeConsumeCSSWideKeyword.
(WebCore::CSSPropertyParser::consumeCSSWideKeyword): Refactor to use
maybeConsumeCSSWideKeyword.
LayoutTests:
Add tests ensuring CSS-wide keywords are functional as variable
fallbacks.
- fast/css/variables/css-wide-keywords-in-fallback-inherited-property-expected.html: Added.
- fast/css/variables/css-wide-keywords-in-fallback-inherited-property.html: Added.
- fast/css/variables/css-wide-keywords-in-fallback-non-inherited-property-expected.html: Added.
- fast/css/variables/css-wide-keywords-in-fallback-non-inherited-property.html: Added.
- 3:29 PM Changeset in webkit [268156] by
-
- 1 copy in tags/Safari-610.2.8.0.2
Tag Safari-610.2.8.0.2.
- 3:27 PM Changeset in webkit [268155] by
-
- 2 edits7 adds in trunk/Source/WebKit
[WebAuthn] Implement a dummy WebAuthenticationAgent
https://bugs.webkit.org/show_bug.cgi?id=217401
<rdar://problem/70012011>
Reviewed by Darin Adler.
Part 1.
This patch introduces a new dummy WebAuthenticationAgent where in the future it will take over all WebAuthn operations
from the UI Process such that we can isolate high privileged entitlements to this standalone daemon and therefore are able
offer WebAuthn to third party WKWebView clients. One of the future feautres will require this new process to listen to
LaunchEvents, which only daemons can do. That's why it is implemented as a user agent instead of a XPC service.
This is the first part of establishing such a dummy daemon. What it does is to set up a new build target for the daemon and
hook it up with WebKit's build system. One can manually load the launchd plist and load the daemon to verify this change.
Commands are:
launchctl load /to/your/path/com.apple.webkit.WebAuthenticationAgent.plist
launchctl start com.apple.webkit.WebAuthenticationAgent.Development
Covered by manual tests.
- Configurations/WebAuthenticationAgent.xcconfig: Added.
Somehow the executable has a suffix .Development for debug/release builds. Will fix that in the later part.
- Daemons/WebAuthenticationAgent/Info.plist: Added.
- Daemons/WebAuthenticationAgent/WebAuthenticationAgent.entitlements: Added.
- Daemons/WebAuthenticationAgent/com.apple.webkit.WebAuthenticationAgent.plist: Added.
The executable location is hardcoded for now. It will be fixed in Part 2 to dynamically point to the right binary.
- Daemons/WebAuthenticationAgent/main.mm: Added.
(main):
- WebKit.xcodeproj/project.pbxproj:
Not sure why libWTF.a is needed. Will fix that in the later part.
- 3:09 PM Changeset in webkit [268154] by
-
- 5 edits in trunk/Tools
[build.webkit.org] Ensure that builder names are valid Buildbot identifiers
https://bugs.webkit.org/show_bug.cgi?id=217434
Reviewed by Dewei Zhu.
- BuildSlaveSupport/build.webkit.org-config/config.json: Updated builder names.
- BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Ditto.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js: Ditto.
- BuildSlaveSupport/build.webkit.org-config/loadConfig.py: Ensure that unit-tests fail when any builder name does
not follow required naming convention.
- 2:50 PM Changeset in webkit [268153] by
-
- 3 edits in trunk/Tools
REGRESSION (r268080): [test-webkitpy] Mojave bots failing to install python-dateutil-2.8.1
https://bugs.webkit.org/show_bug.cgi?id=217438
Reviewed by Dewei Zhu.
- Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Include wheel package.
- Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.install): The wheel package may be needed by setup tools.
- 2:38 PM Changeset in webkit [268152] by
-
- 2 edits in trunk/Source/WebCore
[LFC][Integration] Use display structures (InlineContent) to provide content height and baseline used values
https://bugs.webkit.org/show_bug.cgi?id=217437
Reviewed by Antti Koivisto.
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::contentLogicalHeight const):
(WebCore::LayoutIntegration::LineLayout::lineCount const):
(WebCore::LayoutIntegration::LineLayout::firstLineBaseline const):
(WebCore::LayoutIntegration::LineLayout::lastLineBaseline const):
- 2:18 PM Changeset in webkit [268151] by
-
- 3 edits in trunk/LayoutTests
[Media in GPU Process] Unskip some layout tests
Unreviewed test gardening.
- gpu-process/TestExpectations:
Unskip the tests that are marked as failure or timeout when the "Media in GPU Process"
is not enabled.
- media/video-size-intrinsic-scale.html:
- 2:04 PM Changeset in webkit [268150] by
-
- 2 edits in trunk/Source/WebCore
Add std::max to make sure the line gap is always larger than 0 (see FIXME).
Reviewed by Antti Koivisto.
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::lineLayout):
- 2:03 PM Changeset in webkit [268149] by
-
- 3 edits in trunk/Tools
[GTK][WPE] Remove Apache's mod_bw from install-dependencies
https://bugs.webkit.org/show_bug.cgi?id=217441
Reviewed by Carlos Alberto Lopez Perez.
It is not activated in any of Apache configs in LayoutTests, and is not
referenced anywhere else.
- gtk/install-dependencies:
- wpe/install-dependencies:
- 1:56 PM Changeset in webkit [268148] by
-
- 5 edits in trunk/Source
Add missing
#defineforPENCILKIT_TEXT_INPUTflag
https://bugs.webkit.org/show_bug.cgi?id=217436
<rdar://problem/69720219>
Reviewed by Wenson Hsieh.
Source/WebKit:
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setUpInteraction]):
(-[WKContentView cleanUpInteraction]):
(-[WKContentView _shouldSimulateKeyboardInputOnTextInsertion]):
Change fromENABLEtoHAVE.
Source/WTF:
- wtf/PlatformHave.h:
- 1:33 PM Changeset in webkit [268147] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, unskip a few dozen canvas-related tests that now pass after recent changes
- gpu-process/TestExpectations:
Unskip a number of tests that were skipped when enabling GPU process. Additionally, remove some erroneous test
expectation lines that were targeting HTML files that are resources or ref test.
- 1:17 PM Changeset in webkit [268146] by
-
- 2 edits in trunk/LayoutTests
Remove test expectation for fast/images/image-orientation-none-canvas.html while the issue is investigated.
https://bugs.webkit.org/show_bug.cgi?id=217435
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 1:13 PM Changeset in webkit [268145] by
-
- 24 edits in trunk/Source
[GPU Process] Support CanvasRenderingContext2D.drawImage() with HTMLVideoElement
https://bugs.webkit.org/show_bug.cgi?id=217339
<rdar://problem/69409029>
Reviewed by Darin Adler.
Source/WebCore:
Implements support for painting the current video frame into a canvas 2D graphics context. See below for more
details.
- html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::paintCurrentFrameInContext):
Flip this around to call
GraphicsContext::paintFrameForMediawith theMediaPlayer, instead of calling into
MediaPlayerwith the graphics context. See changes below.
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::paintFrameForMedia):
- platform/graphics/GraphicsContext.h:
Add a
paintFrameForMediamethod that takes aMediaPlayerrepresenting a video, and paints the current frame
of the video into the context. If the graphics context is backed by an platform context (i.e.m_implis
nullptr), then we simply call through toMediaPlayer's private impl to paint into the context. Otherwise, we
forward the call to theGraphicsContextImpl(see the changes toDisplayListRecorder.cppbelow).
- platform/graphics/GraphicsContextImpl.h:
Add a new virtual function to paint the current frame of the given
MediaPlayerinto the destination rect.
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::playerPrivate const):
(WebCore::MediaPlayer::playerPrivate):
(WebCore::MediaPlayer::paintCurrentFrameInContext): Deleted.
- platform/graphics/MediaPlayer.h:
Remove the existing
paintCurrentFrameInContextmethod onMediaPlayer, which currently takes a graphics
context. Instead, movepaintCurrentFrameInContexttoGraphicsContext, rename it topaintFrameForMedia, and
pass it aMediaPlayer. Additionally, expose a helper method to get a non-constMediaPlayerPrivateInterface,
and move both method definitions to the implementation file to avoid style checker errors due toMediaPlayer
itself beingWEBCORE_EXPORT-ed.
- platform/graphics/cairo/GraphicsContextImplCairo.cpp:
(WebCore::GraphicsContextImplCairo::paintFrameForMedia):
- platform/graphics/cairo/GraphicsContextImplCairo.h:
- platform/graphics/displaylists/DisplayList.h:
- platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::Item::sizeInBytes):
(WebCore::DisplayList::PaintFrameForMedia::create):
(WebCore::DisplayList::PaintFrameForMedia::PaintFrameForMedia):
(WebCore::DisplayList::PaintFrameForMedia::apply const):
(WebCore::DisplayList::operator<<):
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::PaintFrameForMedia::destination const):
(WebCore::DisplayList::PaintFrameForMedia::identifier const):
(WebCore::DisplayList::PaintFrameForMedia::encode const):
(WebCore::DisplayList::PaintFrameForMedia::decode):
(WebCore::DisplayList::Item::encode const):
(WebCore::DisplayList::Item::decode):
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::paintFrameForMedia):
- platform/graphics/displaylists/DisplayListRecorder.h:
Add a new display list item,
PaintFrameForMedia, that paints the current frame of a givenMediaPlayer. This
works by serializing and then deserializing aMediaPlayerHandleand destination rect; similar to
PutImageData, the replayer delegate is responsible for applying this item by mapping theMediaPlayerHandle
to a concreteMediaPlayerinstance.
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:
(Nicosia::CairoOperationRecorder::paintFrameForMedia):
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
- platform/graphics/win/GraphicsContextImplDirect2D.cpp:
(WebCore::GraphicsContextImplDirect2D::paintFrameForMedia):
- platform/graphics/win/GraphicsContextImplDirect2D.h:
- rendering/RenderVideo.cpp:
(WebCore::RenderVideo::paintReplaced):
Source/WebKit:
Implements support for painting the current video frame into a canvas 2D graphics context. See below (and
Source/WebCore/ChangeLog) for more details.
- GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.h:
(WebKit::RemoteImageBufferMessageHandlerProxy::backend):
- GPUProcess/graphics/RemoteImageBufferProxy.h:
(WebKit::RemoteImageBufferProxy::apply):
Refactor
applyso that it treatsPutImageDataandPaintFrameForMediaas special cases, and otherwise
returnsfalseby default. Implementapplyin the case where the display list item isPaintFrameForMediaby
using theMediaPlayerIdentifierto look up the platformMediaPlayerinstance, and then calling
GraphicsContext::paintFrameForMediawith thisMediaPlayer.
- GPUProcess/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::gpuConnectionToWebProcess const):
- GPUProcess/graphics/RemoteRenderingBackendProxy.h:
- 1:10 PM Changeset in webkit [268144] by
-
- 3 edits2 adds in trunk
[Contact Picker API] Add support for ContactsManager.getProperties()
https://bugs.webkit.org/show_bug.cgi?id=217354
<rdar://problem/69862099>
Reviewed by Youenn Fablet.
Source/WebCore:
ContactsManager.getProperties() returns a list of properties supported
by the API. These currently include name, email and tel.
Test: contact-picker/contacts-manager-get-properties.html
- Modules/contact-picker/ContactsManager.cpp:
(WebCore::ContactsManager::getProperties):
LayoutTests:
Added a layout test to exercise the method.
- contact-picker/contacts-manager-get-properties-expected.txt: Added.
- contact-picker/contacts-manager-get-properties.html: Added.
- 1:10 PM Changeset in webkit [268143] by
-
- 19 edits in trunk/Tools
Unreviewed, reverting r268115.
This reverts commit r268115 while investigating ews test
failure.
Reverted changeset:
"Refactor TestOptions code in WebKitTestRunner to make it
easier to rationalize and extend"
https://bugs.webkit.org/show_bug.cgi?id=217390
https://trac.webkit.org/changeset/268115
- 1:08 PM Changeset in webkit [268142] by
-
- 2 edits in trunk/JSTests
[MIPS] Flaky test stress/array-species-create-should-handle-masquerader.js
https://bugs.webkit.org/show_bug.cgi?id=217433
Unreviewed test gardening.
- stress/array-species-create-should-handle-masquerader.js:
- 12:58 PM Changeset in webkit [268141] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r268115?): [ iOS wk2 EWS ] fast/images/image-orientation-none-canvas.html is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=217435
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 12:42 PM Changeset in webkit [268140] by
-
- 8 edits in branches/safari-610.2.8.0-branch/Source
Versioning.
WebKit-7610.2.8.0.2
- 12:23 PM Changeset in webkit [268139] by
-
- 8 edits in branches/safari-610.2-branch/Source
Versioning.
WebKit-7610.2.12
- 11:54 AM Changeset in webkit [268138] by
-
- 10 edits141 adds in trunk
clip-path: path() ignores page zooming (Command-+)
https://bugs.webkit.org/show_bug.cgi?id=217311
<rdar://problem/69977271>
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Imported all clip-path web platform tests.
Some of them don't pass yet for unrelated reasons, skipped in TestExpectations.
- web-platform-tests/css/css-masking/clip-path/clip-path-path-interpolation-with-zoom-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-path-interpolation-with-zoom.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-path-with-zoom-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-path-with-zoom-hittest-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-path-with-zoom-hittest.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-path-with-zoom.html: Added.
These tests test the actual zoom-related issues.
- resources/import-expectations.json:
- web-platform-tests/css/css-masking: Added.
- web-platform-tests/css/css-masking/clip-path: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-001-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-001.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-002-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-002.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-003-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-003.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-004-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-004.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-005-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-005.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-006-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-006.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-007-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-007.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-008-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-circle-008.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-columns-shape-001-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-columns-shape-001.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-columns-shape-002-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-columns-shape-002.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-descendant-text-mutated-001-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-descendant-text-mutated-001.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-document-element-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-document-element-will-change-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-document-element-will-change.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-document-element.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-element-userSpaceOnUse-001-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-element-userSpaceOnUse-001.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-element-userSpaceOnUse-002-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-element-userSpaceOnUse-002.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-element-userSpaceOnUse-003-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-element-userSpaceOnUse-003.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-element-userSpaceOnUse-004-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-element-userSpaceOnUse-004.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-001-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-001.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-002-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-002.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-003-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-003.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-004-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-004.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-005-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-005.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-006-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-006.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-007-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-007.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-008-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-ellipse-008.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-filter-order-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-filter-order.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-filter-radius-clips-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-filter-radius-clips.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-fixed-nested-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-fixed-nested.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-inline-001-expected.xht: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-inline-001.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-inline-002-expected.xht: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-inline-002.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-inline-003-expected.xht: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-inline-003.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-path-001-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-path-001.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-path-002-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-path-002.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-path-interpolation-001-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-path-interpolation-001.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-path-interpolation-002-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-path-interpolation-002.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-001-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-001.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-002-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-002.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-003-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-003.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-004-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-004.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-005-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-005.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-006-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-006.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-007-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-007.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-008-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-008.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-009-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-009.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-010-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-010.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-011-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-011.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-012-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-012.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-013-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-polygon-013.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-reference-box-001-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-reference-box-001.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-reference-box-002-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-reference-box-002.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-reference-box-003-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-reference-box-003.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-reference-box-004-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-reference-box-004.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-reference-restore-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-reference-restore.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-rotated-will-change-transform-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-rotated-will-change-transform.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-scroll-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-scroll.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-svg-invalidate-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-svg-invalidate.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-transform-mutated-001-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-transform-mutated-001.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-transform-mutated-002-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-transform-mutated-002.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-url-reference-change-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-url-reference-change-from-empty-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-url-reference-change-from-empty.html: Added.
- web-platform-tests/css/css-masking/clip-path/clip-path-url-reference-change.html: Added.
- web-platform-tests/css/css-masking/clip-path/interpolation-expected.txt: Added.
- web-platform-tests/css/css-masking/clip-path/interpolation.html: Added.
- web-platform-tests/css/css-masking/clip-path/reference: Added.
- web-platform-tests/css/css-masking/clip-path/reference-local-url-with-base-001-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/reference-local-url-with-base-001.html: Added.
- web-platform-tests/css/css-masking/clip-path/reference-mutated-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/reference-mutated.html: Added.
- web-platform-tests/css/css-masking/clip-path/reference-nonexisting-existing-local-expected.html: Added.
- web-platform-tests/css/css-masking/clip-path/reference-nonexisting-existing-local.html: Added.
- web-platform-tests/css/css-masking/clip-path/reference/clip-path-path-with-zoom-hittest-ref.html: Added.
- web-platform-tests/css/css-masking/clip-path/reference/w3c-import.log: Added.
- web-platform-tests/css/css-masking/clip-path/svg-clipPath.svg: Added.
- web-platform-tests/css/css-masking/clip-path/w3c-import.log: Added.
Source/WebCore:
Added a zoom property to BasicShapePath.
When BasicShapePath is created from a clip-path, the shape's zoom received the effective zoom.
The internal cache in BasicShapePath now uses the zoom as an additional cache key, in addition
to windRule, offset and byteStream. Renamed SVGPathTranslatedByteStream to SVGPathTransformedByteStream.
Tests:
imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-path-interpolation-with-zoom.html
imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-path-with-zoom-hittest.html
imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-path-with-zoom.html
Also imported the rest of the w3c clip-path tests.
- css/BasicShapeFunctions.cpp:
(WebCore::basicShapeForValue):
- css/BasicShapeFunctions.h:
- rendering/style/BasicShapes.cpp:
(WebCore::SVGPathTransformedByteStream::SVGPathTransformedByteStream):
(WebCore::SVGPathTransformedByteStream::operator== const):
(WebCore::SVGPathTransformedByteStream::operator!= const):
(WebCore::SVGPathTransformedByteStream::path const):
(WebCore::TransformedByteStreamPathPolicy::isKeyNull):
(WebCore::TransformedByteStreamPathPolicy::createValueForKey):
(WebCore::cachedTransformedByteStreamPath):
(WebCore::BasicShapePath::path):
(WebCore::BasicShapePath::operator== const):
(WebCore::BasicShapePath::blend const):
(WebCore::SVGPathTranslatedByteStream::SVGPathTranslatedByteStream): Deleted.
(WebCore::SVGPathTranslatedByteStream::operator== const): Deleted.
(WebCore::SVGPathTranslatedByteStream::operator!= const): Deleted.
(WebCore::SVGPathTranslatedByteStream::isEmpty const): Deleted.
(WebCore::SVGPathTranslatedByteStream::path const): Deleted.
(WebCore::TranslatedByteStreamPathPolicy::isKeyNull): Deleted.
(WebCore::TranslatedByteStreamPathPolicy::createValueForKey): Deleted.
(WebCore::cachedTranslatedByteStreamPath): Deleted.
Add zoom to BasicShapePath and related internal structure.
- rendering/style/BasicShapes.h:
- style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertClipPath):
Read zoom from current style when creating a BasicShapeClipPath.
LayoutTests:
Marked newly imported clip-path w3c tests that don't pass yet as expected failure.
Some of them have open bugs, the others need triage.
- 11:39 AM Changeset in webkit [268137] by
-
- 8 edits in trunk/Source
Versioning.
WebKit-7611.1.4
- 11:07 AM Changeset in webkit [268136] by
-
- 19 edits in trunk
Add support for BlobEvent.timecode
https://bugs.webkit.org/show_bug.cgi?id=217379
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
- web-platform-tests/mediacapture-record/idlharness.window-expected.txt:
Source/WebCore:
Expose timecode getter for BlobEvent.
Make MediaRecorder backend return the timecode value for each fetch data.
For the real backend, compute the timecode as the current audio timestamp for the next fetch data request,
or the current video timestamp if only video is captured.
Covered by rebased test.
- Modules/mediarecorder/BlobEvent.cpp:
(WebCore::BlobEvent::BlobEvent):
- Modules/mediarecorder/BlobEvent.h:
- Modules/mediarecorder/BlobEvent.idl:
- Modules/mediarecorder/MediaRecorder.cpp:
(WebCore::createDataAvailableEvent):
(WebCore::MediaRecorder::stopRecording):
(WebCore::MediaRecorder::requestData):
(WebCore::MediaRecorder::fetchData):
(WebCore::MediaRecorder::handleTrackChange):
(WebCore::MediaRecorder::trackEnded):
- Modules/mediarecorder/MediaRecorder.h:
- platform/mediarecorder/MediaRecorderPrivate.h:
- platform/mediarecorder/MediaRecorderPrivateAVFImpl.cpp:
(WebCore::MediaRecorderPrivateAVFImpl::fetchData):
- platform/mediarecorder/MediaRecorderPrivateMock.cpp:
(WebCore::MediaRecorderPrivateMock::fetchData):
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:
(WebCore::MediaRecorderPrivateWriter::clear):
(WebCore::MediaRecorderPrivateWriter::stopRecording):
(WebCore::MediaRecorderPrivateWriter::fetchData):
(WebCore::MediaRecorderPrivateWriter::updateTimeCode):
Source/WebKit:
Exchange timecode through IPC.
- GPUProcess/webrtc/RemoteMediaRecorder.cpp:
(WebKit::RemoteMediaRecorder::fetchData):
- GPUProcess/webrtc/RemoteMediaRecorder.h:
- GPUProcess/webrtc/RemoteMediaRecorder.messages.in:
- WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
(WebKit::MediaRecorderPrivate::fetchData):
- WebProcess/GPU/webrtc/MediaRecorderPrivate.h:
- 11:05 AM Changeset in webkit [268135] by
-
- 2 edits in trunk/Source/WTF
Add maximum depth check to RedBlackTree
https://bugs.webkit.org/show_bug.cgi?id=217249
<rdar://problem/69432957>
Reviewed by Saam Barati.
We limit all tree traversals to 128 levels deep. That's a very conservative upper bound that
would work for a tree that used all of the available address space.
- wtf/RedBlackTree.h:
- 11:04 AM Changeset in webkit [268134] by
-
- 2 edits in trunk/Tools
[build-webkit] Compare with cmakeargs and unhandled to detect configuration change
https://bugs.webkit.org/show_bug.cgi?id=207012
Reviewed by Carlos Alberto Lopez Perez.
Added command line arguments on top of @featureArgs for comparison with previous build
options. This forces regeneration of CMakeCache.txt when any configuration is changed.
- Scripts/webkitdirs.pm:
(shouldRemoveCMakeCache):
- 11:02 AM Changeset in webkit [268133] by
-
- 6 edits2 adds in trunk
[LFC][IFC] Adjust the inline formatting context root's content height when the last line has float clear
https://bugs.webkit.org/show_bug.cgi?id=217432
Reviewed by Antti Koivisto.
Source/WebCore:
This patch expands the support for inline content to clear floats (r268122) by taking the clear gap into
account when it occurs after the last line (e.g. <div>foobar<br clear=left"></div>).
In such cases the inline formatting context's content height needs to be adjusted with the computed clear
gap value.
Test: fast/layoutformattingcontext/float-avoiding-br-last-line.html
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::contentHeightForFormattingContextRoot const):
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::lineLayout):
- layout/inlineformatting/InlineFormattingState.h:
(WebCore::Layout::InlineFormattingState::setClearGapAfterLastLine):
(WebCore::Layout::InlineFormattingState::clearGapAfterLastLine const):
(WebCore::Layout::InlineFormattingState::clearLineAndRuns):
LayoutTests:
- fast/layoutformattingcontext/float-avoiding-br-last-line-expected.html: Added.
- fast/layoutformattingcontext/float-avoiding-br-last-line.html: Added.
- 10:09 AM Changeset in webkit [268132] by
-
- 3 edits in branches/safari-610-branch/LayoutTests
Apply patch. rdar://problem/70024420
Applied "rebased-expectations-patch".
- 10:09 AM Changeset in webkit [268131] by
-
- 1 edit in branches/safari-610-branch/Source/WebCore/platform/Timer.h
Apply patch. rdar://problem/70024420
Applied "patch-timer".
- 9:41 AM Changeset in webkit [268130] by
-
- 23 edits2 adds in trunk
Add support for MediaRecorder pause/resume
https://bugs.webkit.org/show_bug.cgi?id=217375
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
- web-platform-tests/mediacapture-record/MediaRecorder-pause-resume-expected.txt:
- web-platform-tests/mediacapture-record/MediaRecorder-peerconnection.https-expected.txt:
- web-platform-tests/mediacapture-record/idlharness.window-expected.txt:
Source/WebCore:
Implement pause and resume as per spec.
MediaRecorder basically sends pause/resume order to its backend.
The backend then stops observing tracks when paused and resumed observing at resume time.
For video, we make sure to compute the frame timestamp so that the recorded video continues to play without interruption.
Test: http/wpt/mediarecorder/pause-recording.html
- Modules/mediarecorder/MediaRecorder.cpp:
(WebCore::MediaRecorder::pauseRecording):
(WebCore::MediaRecorder::resumeRecording):
- Modules/mediarecorder/MediaRecorder.h:
- Modules/mediarecorder/MediaRecorder.idl:
- platform/mediarecorder/MediaRecorderPrivate.cpp:
(WebCore::MediaRecorderPrivate::pause):
(WebCore::MediaRecorderPrivate::resume):
- platform/mediarecorder/MediaRecorderPrivate.h:
- platform/mediarecorder/MediaRecorderPrivateAVFImpl.cpp:
(WebCore::MediaRecorderPrivateAVFImpl::pauseRecording):
(WebCore::MediaRecorderPrivateAVFImpl::resumeRecording):
- platform/mediarecorder/MediaRecorderPrivateAVFImpl.h:
- platform/mediarecorder/MediaRecorderPrivateMock.h:
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:
(WebCore::MediaRecorderPrivateWriter::appendVideoSampleBuffer):
(WebCore::MediaRecorderPrivateWriter::pause):
(WebCore::MediaRecorderPrivateWriter::resume):
Source/WebKit:
Add IPC support for sending pause/resume orders.
- GPUProcess/webrtc/RemoteMediaRecorder.cpp:
(WebKit::RemoteMediaRecorder::pause):
(WebKit::RemoteMediaRecorder::resume):
- GPUProcess/webrtc/RemoteMediaRecorder.h:
- GPUProcess/webrtc/RemoteMediaRecorder.messages.in:
- WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
(WebKit::MediaRecorderPrivate::pauseRecording):
(WebKit::MediaRecorderPrivate::resumeRecording):
- WebProcess/GPU/webrtc/MediaRecorderPrivate.h:
LayoutTests:
fix-217375
- http/wpt/mediarecorder/pause-recording-expected.txt: Added.
- http/wpt/mediarecorder/pause-recording.html: Added.
- 9:39 AM Changeset in webkit [268129] by
-
- 2 edits in trunk/LayoutTests/imported/w3c
MediaRecorder::create should not need to create a MediaRecorderPrivate to validate it can record properly
https://bugs.webkit.org/show_bug.cgi?id=217387
<rdar://problem/70049616>
Unreviewed.
Rebased test after https://trac.webkit.org/changeset/268125.
We should fix the exact name of the exception based on https://github.com/w3c/mediacapture-record/issues/206.
- web-platform-tests/mediacapture-record/MediaRecorder-detached-context-expected.txt:
- 9:01 AM Changeset in webkit [268128] by
-
- 2 edits in trunk/Tools
[build.webkit.org] Ensure that invalid step names are not allowed
https://bugs.webkit.org/show_bug.cgi?id=217431
Reviewed by Darin Adler.
- BuildSlaveSupport/build.webkit.org-config/loadConfig.py:
(loadBuilderConfig):
- 8:54 AM Changeset in webkit [268127] by
-
- 5 edits in trunk
[macOS] Remove 'com.apple.cookied' from the WebContent process sandbox.
https://bugs.webkit.org/show_bug.cgi?id=206088
Source/WebKit:
<rdar://problem/58489040>
Reviewed by Darin Adler.
It has been confirmed that access to the cookied service can be removed from the WebContent process.
Test: fast/sandbox/sandbox-mach-lookup.html
- WebProcess/com.apple.WebProcess.sb.in:
LayoutTests:
Reviewed by Darin Adler.
- fast/sandbox/mac/sandbox-mach-lookup-expected.txt:
- fast/sandbox/mac/sandbox-mach-lookup.html:
- 8:52 AM Changeset in webkit [268126] by
-
- 2 edits in trunk/Source/WebKit
zappos.com: Dropdown - 'Quantity' option size different
https://bugs.webkit.org/show_bug.cgi?id=217395
<rdar://problem/60261396>
Reviewed by Tim Horton.
The select element used in this instance uses a custom font (Open Sans)
with a 16px font size. When presenting the select dropdown a call to
WebPopupMenuProxyMac::showPopupMenu is made with those attributes.
However, since Open Sans is not a system font, the call to
[NSFont fontWithDescriptor:size:] returns nil. This results in the
presented view falling back to the default font size, which is smaller
than the expected 16px size, leading to smaller options.
While other browsers do not honor custom fonts in their select dropdowns,
they do honor the font size. Consequently, this dropdown appears
different in Safari. To fix, ensure that the font size is always honored
if the corresponding attribute is present.
- UIProcess/mac/WebPopupMenuProxyMac.mm:
(WebKit::WebPopupMenuProxyMac::showPopupMenu):
- 8:48 AM Changeset in webkit [268125] by
-
- 3 edits2 adds in trunk
MediaRecorder::create should not need to create a MediaRecorderPrivate to validate it can record properly
https://bugs.webkit.org/show_bug.cgi?id=217387
Reviewed by Darin Adler.
Source/WebCore:
Instead of creating a MediaRecorderPrivate to verify that we can create one, just rely on isTypeSupported.
Add a check that page is not null in the create method.
Remove assertion that we can create a private recorder in start since thgere is no guarantee that the frame might not be detached.
Test: http/wpt/mediarecorder/MediaRecorder-frame.html
- Modules/mediarecorder/MediaRecorder.cpp:
(WebCore::MediaRecorder::create):
(WebCore::MediaRecorder::createMediaRecorderPrivate):
(WebCore::MediaRecorder::startRecording):
LayoutTests:
- http/wpt/mediarecorder/MediaRecorder-frame-expected.txt: Added.
- http/wpt/mediarecorder/MediaRecorder-frame.html: Added.
- 8:47 AM Changeset in webkit [268124] by
-
- 9 edits4 adds in trunk/Source/WebCore
[LFC][Integration] Add line iterator
https://bugs.webkit.org/show_bug.cgi?id=217427
Reviewed by Zalan Bujtas.
Add line iterator. In this patch it is only used to replace onSameLine function.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/Position.cpp:
(WebCore::Position::rendersInDifferentPosition const):
- layout/integration/LayoutIntegrationLineIterator.cpp: Added.
(WebCore::LayoutIntegration::LineIterator::LineIterator):
(WebCore::LayoutIntegration::LineIterator::atEnd const):
(WebCore::LayoutIntegration::LineIterator::next const):
(WebCore::LayoutIntegration::LineIterator::previous const):
(WebCore::LayoutIntegration::LineIterator::traverseNext):
(WebCore::LayoutIntegration::LineIterator::traversePrevious):
- layout/integration/LayoutIntegrationLineIterator.h: Added.
(WebCore::LayoutIntegration::PathLine::operator!= const):
(WebCore::LayoutIntegration::LineIterator::LineIterator):
(WebCore::LayoutIntegration::LineIterator::operator++):
(WebCore::LayoutIntegration::LineIterator::operator bool const):
(WebCore::LayoutIntegration::LineIterator::operator== const):
(WebCore::LayoutIntegration::LineIterator::operator!= const):
(WebCore::LayoutIntegration::LineIterator::operator* const):
(WebCore::LayoutIntegration::LineIterator::operator-> const):
(WebCore::LayoutIntegration::PathLine::PathLine):
(WebCore::LayoutIntegration::PathLine::rect const):
(WebCore::LayoutIntegration::PathLine::operator== const):
- layout/integration/LayoutIntegrationLineIteratorLegacyPath.h: Added.
(WebCore::LayoutIntegration::LegacyLinePath::LegacyLinePath):
(WebCore::LayoutIntegration::LegacyLinePath::rect const):
(WebCore::LayoutIntegration::LegacyLinePath::traverseNext):
(WebCore::LayoutIntegration::LegacyLinePath::traversePrevious):
(WebCore::LayoutIntegration::LegacyLinePath::operator== const):
(WebCore::LayoutIntegration::LegacyLinePath::atEnd const):
(WebCore::LayoutIntegration::LegacyLinePath::setAtEnd):
- layout/integration/LayoutIntegrationLineIteratorModernPath.h: Added.
(WebCore::LayoutIntegration::ModernLinePath::ModernLinePath):
(WebCore::LayoutIntegration::ModernLinePath::rect const):
(WebCore::LayoutIntegration::ModernLinePath::traverseNext):
(WebCore::LayoutIntegration::ModernLinePath::traversePrevious):
(WebCore::LayoutIntegration::ModernLinePath::operator== const):
(WebCore::LayoutIntegration::ModernLinePath::atEnd const):
(WebCore::LayoutIntegration::ModernLinePath::setAtEnd):
(WebCore::LayoutIntegration::ModernLinePath::lines const):
(WebCore::LayoutIntegration::ModernLinePath::line const):
- layout/integration/LayoutIntegrationRunIterator.cpp:
(WebCore::LayoutIntegration::RunIterator::line const):
- layout/integration/LayoutIntegrationRunIterator.h:
(WebCore::LayoutIntegration::PathRun::logicalLeft const):
(WebCore::LayoutIntegration::PathRun::logicalRight const):
(WebCore::LayoutIntegration::PathRun::logicalWidth const):
(WebCore::LayoutIntegration::PathRun::logicalHeight const):
(WebCore::LayoutIntegration::PathRun::onSameLine const): Deleted.
- layout/integration/LayoutIntegrationRunIteratorLegacyPath.h:
(WebCore::LayoutIntegration::LegacyPath::operator== const):
(WebCore::LayoutIntegration::LegacyPath::rootInlineBox const):
(WebCore::LayoutIntegration::LegacyPath::onSameLine const): Deleted.
- layout/integration/LayoutIntegrationRunIteratorModernPath.h:
(WebCore::LayoutIntegration::verticallyRoundedRect):
(WebCore::LayoutIntegration::ModernPath::rect const):
(WebCore::LayoutIntegration::ModernPath::operator== const):
(WebCore::LayoutIntegration::linePosition): Deleted.
(WebCore::LayoutIntegration::ModernPath::onSameLine const): Deleted.
- 8:20 AM Changeset in webkit [268123] by
-
- 4 edits1 add in trunk
REGRESSION: Date/time pickers are not displayed in UIWebViews
https://bugs.webkit.org/show_bug.cgi?id=217341
<rdar://problem/66881739>
Reviewed by Wenson Hsieh.
Source/WTF:
Date/time inputs were incorrectly disabled by default on
PLATFORM(IOS_FAMILY) in WebPreferencesInternal.
- Scripts/Preferences/WebPreferencesInternal.yaml:
Tools:
Added regression tests to ensure this preference is not accidently
modified in the future.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitLegacy/ios/DateTimeInputsAccessoryViewTests.mm: Added.
(-[DateTimeInputsTestsLoadingDelegate webViewDidFinishLoad:]):
(runTestWithInputType):
Note that [UIDatePicker setDatePickerMode:] had to be swizzled to an
empty implementation as the UIKit version on the bots attempts to
create a QoS interval upon setting the initially selected row in
a UITableView when the date picker is presented. This fails because
TestWebKitAPI isn't actually an app. To avoid an exception, the method
is swizzled out.
- 7:38 AM Changeset in webkit [268122] by
-
- 10 edits2 adds in trunk
[LFC][IFC] Add initial support for inline content to clear intrusive floats
https://bugs.webkit.org/show_bug.cgi?id=217418
Reviewed by Antti Koivisto.
Source/WebCore:
In this patch we introduce the concept of gaps between lines. These gaps are required
to clear intrusive floats when the inline content has the clear property set.
(This behavior changed in CSS2. Now the clear property only applies to block-level elements.)
Adjust the logic in FloatingContext::verticalPositionWithClearance so that it can take an inline level box
and make sure that the next line does not start above the clearance position.
Test: fast/layoutformattingcontext/float-avoiding-br-simple.html
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::geometryForBox const):
- layout/FormattingContext.h:
- layout/floats/FloatingContext.cpp:
(WebCore::Layout::FloatingContext::absoluteCoordinates const):
(WebCore::Layout::FloatingContext::mapTopLeftToFloatingStateRoot const):
(WebCore::Layout::FloatingContext::mapPointFromFormattingContextRootToFloatingStateRoot const):
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::lineLayout):
- layout/inlineformatting/InlineFormattingContext.h:
- layout/inlineformatting/InlineFormattingContextGeometry.cpp:
(WebCore::Layout::InlineFormattingContext::Geometry::logicalTopForNextLine const):
LayoutTests:
- fast/layoutformattingcontext/float-avoiding-br-simple-expected.html: Added.
- fast/layoutformattingcontext/float-avoiding-br-simple.html: Added.
- 6:19 AM Changeset in webkit [268121] by
-
- 6 edits in trunk/Source/WebCore
[LFC][Floating] Move FloatingState::top/bottom functions over to FloatingContext
https://bugs.webkit.org/show_bug.cgi?id=217411
Reviewed by Antti Koivisto.
FormattingState classes are mostly about setters and getters and they don't have any involved logic.
While both top() and bottom() are both rather lightweight at the moment, it will change with the
upcoming <br clear> feature. Let's just move these function over to FloatingContext.
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::contentHeightForFormattingContextRoot const):
(WebCore::Layout::FormattingContext::Geometry::complicatedCases const):
- layout/floats/FloatingContext.cpp:
(WebCore::Layout::FloatingContext::positionForFloat const):
(WebCore::Layout::FloatingContext::verticalPositionWithClearance const):
(WebCore::Layout::FloatingContext::bottom const): The check for isInFormattingContextOf() is redundant, so let's not add that back here.
(WebCore::Layout::FloatingContext::top const):
- layout/floats/FloatingContext.h:
(WebCore::Layout::FloatingContext::leftBottom const):
(WebCore::Layout::FloatingContext::rightBottom const):
(WebCore::Layout::FloatingContext::bottom const):
- layout/floats/FloatingState.cpp:
(WebCore::Layout::FloatingState::bottom const): Deleted.
(WebCore::Layout::FloatingState::top const): Deleted.
- layout/floats/FloatingState.h:
(WebCore::Layout::FloatingState::leftBottom const): Deleted.
(WebCore::Layout::FloatingState::rightBottom const): Deleted.
(WebCore::Layout::FloatingState::bottom const): Deleted.
- 4:01 AM Changeset in webkit [268120] by
-
- 15 edits10 deletes in trunk
Unreviewed, reverting r268085.
https://bugs.webkit.org/show_bug.cgi?id=217424
Added broken test webgl/conformance/extensions/s3tc-and-
rgtc.html
Reverted changeset:
"Support EXT_texture_compression_rgtc WebGL extension"
https://bugs.webkit.org/show_bug.cgi?id=217198
https://trac.webkit.org/changeset/268085
- 2:22 AM Changeset in webkit [268119] by
-
- 15 edits in trunk
Make sure to fire the correct set of events in case MediaRecorder stream has track changes
https://bugs.webkit.org/show_bug.cgi?id=217316
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
- web-platform-tests/mediacapture-record/MediaRecorder-error.html:
- web-platform-tests/mediacapture-record/MediaRecorder-stop-expected.txt:
- web-platform-tests/mediacapture-record/MediaRecorder-stop.html:
Source/WebCore:
Introduce MediaRecorderPrivate::stop which makes sure to unregister from media sources before stopping.
Update firing events according https://w3c.github.io/mediacapture-record/#dom-mediarecorder-start when track set is changed.
Covered by updated test.
- Modules/mediarecorder/MediaRecorder.cpp:
(WebCore::MediaRecorder::create):
(WebCore::MediaRecorder::stopRecordingInternal):
(WebCore::MediaRecorder::handleTrackChange):
- platform/mediarecorder/MediaRecorderPrivate.cpp:
(WebCore::MediaRecorderPrivate::stop):
- platform/mediarecorder/MediaRecorderPrivate.h:
- platform/mediarecorder/MediaRecorderPrivateAVFImpl.cpp:
(WebCore::MediaRecorderPrivateAVFImpl::~MediaRecorderPrivateAVFImpl):
(WebCore::MediaRecorderPrivateAVFImpl::stopRecording):
- platform/mediarecorder/MediaRecorderPrivateMock.cpp:
(WebCore::MediaRecorderPrivateMock::~MediaRecorderPrivateMock):
(WebCore::MediaRecorderPrivateMock::stopRecording):
Source/WebKit:
Make sure to not set audio/video tracks if the recorder was stopped.
- WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
(WebKit::MediaRecorderPrivate::startRecording):
(WebKit::MediaRecorderPrivate::~MediaRecorderPrivate):
(WebKit::MediaRecorderPrivate::stopRecording):
- WebProcess/GPU/webrtc/MediaRecorderPrivate.h:
LayoutTests:
- platform/mac-wk2/TestExpectations:
Oct 6, 2020:
- 11:01 PM Changeset in webkit [268118] by
-
- 37 edits in trunk/Source/WebKit
[Media in GPU process] Don't use 'id' as a parameter or variable name
https://bugs.webkit.org/show_bug.cgi?id=206189
Reviewed by Tim Horton.
Mass rename
idtoidentifier.
No new tests, no functional change.
- GPUProcess/media/RemoteAudioDestinationManager.cpp:
(WebKit::RemoteAudioDestination::create):
(WebKit::RemoteAudioDestination::RemoteAudioDestination):
(WebKit::RemoteAudioDestinationManager::deleteAudioDestination):
(WebKit::RemoteAudioDestinationManager::startAudioDestination):
(WebKit::RemoteAudioDestinationManager::stopAudioDestination):
- GPUProcess/media/RemoteAudioDestinationManager.messages.in:
- GPUProcess/media/RemoteAudioTrackProxy.cpp:
(WebKit::RemoteAudioTrackProxy::RemoteAudioTrackProxy):
(WebKit::RemoteAudioTrackProxy::configuration):
- GPUProcess/media/RemoteAudioTrackProxy.h:
- GPUProcess/media/RemoteCDMFactoryProxy.cpp:
(WebKit::RemoteCDMFactoryProxy::addProxy):
(WebKit::RemoteCDMFactoryProxy::removeProxy):
(WebKit::RemoteCDMFactoryProxy::addInstance):
(WebKit::RemoteCDMFactoryProxy::removeInstance):
(WebKit::RemoteCDMFactoryProxy::getInstance):
(WebKit::RemoteCDMFactoryProxy::addSession):
(WebKit::RemoteCDMFactoryProxy::removeSession):
- GPUProcess/media/RemoteCDMFactoryProxy.messages.in:
- GPUProcess/media/RemoteCDMInstanceProxy.messages.in:
- GPUProcess/media/RemoteCDMProxy.messages.in:
- GPUProcess/media/RemoteLegacyCDMFactoryProxy.cpp:
(WebKit::RemoteLegacyCDMFactoryProxy::addProxy):
(WebKit::RemoteLegacyCDMFactoryProxy::removeProxy):
(WebKit::RemoteLegacyCDMFactoryProxy::addSession):
(WebKit::RemoteLegacyCDMFactoryProxy::removeSession):
(WebKit::RemoteLegacyCDMFactoryProxy::getSession const):
- GPUProcess/media/RemoteLegacyCDMFactoryProxy.messages.in:
- GPUProcess/media/RemoteLegacyCDMProxy.messages.in:
- GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:
(WebKit::RemoteMediaPlayerManagerProxy::createMediaPlayer):
(WebKit::RemoteMediaPlayerManagerProxy::deleteMediaPlayer):
(WebKit::RemoteMediaPlayerManagerProxy::getProxy):
- GPUProcess/media/RemoteMediaPlayerManagerProxy.messages.in:
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::RemoteMediaPlayerProxy):
- GPUProcess/media/RemoteMediaResource.cpp:
(WebKit::RemoteMediaResource::create):
(WebKit::RemoteMediaResource::RemoteMediaResource):
- GPUProcess/media/RemoteMediaResourceManager.cpp:
(WebKit::RemoteMediaResourceManager::responseReceived):
(WebKit::RemoteMediaResourceManager::redirectReceived):
(WebKit::RemoteMediaResourceManager::dataSent):
(WebKit::RemoteMediaResourceManager::dataReceived):
(WebKit::RemoteMediaResourceManager::accessControlCheckFailed):
(WebKit::RemoteMediaResourceManager::loadFailed):
(WebKit::RemoteMediaResourceManager::loadFinished):
- GPUProcess/media/RemoteMediaResourceManager.messages.in:
- GPUProcess/media/RemoteTextTrackProxy.cpp:
(WebKit::RemoteTextTrackProxy::RemoteTextTrackProxy):
(WebKit::RemoteTextTrackProxy::configuration):
- GPUProcess/media/RemoteTextTrackProxy.h:
- GPUProcess/media/RemoteVideoTrackProxy.cpp:
(WebKit::RemoteVideoTrackProxy::RemoteVideoTrackProxy):
(WebKit::RemoteVideoTrackProxy::configuration):
- GPUProcess/media/RemoteVideoTrackProxy.h:
- GPUProcess/media/TextTrackPrivateRemoteConfiguration.h:
(WebKit::TextTrackPrivateRemoteConfiguration::encode const):
(WebKit::TextTrackPrivateRemoteConfiguration::decode):
- GPUProcess/media/TrackPrivateRemoteConfiguration.h:
(WebKit::TrackPrivateRemoteConfiguration::encode const):
(WebKit::TrackPrivateRemoteConfiguration::decode):
- WebProcess/GPU/media/AudioTrackPrivateRemote.cpp:
(WebKit::AudioTrackPrivateRemote::updateConfiguration):
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::remoteTextTrackConfigurationChanged):
(WebKit::MediaPlayerPrivateRemote::removeRemoteVideoTrack):
(WebKit::MediaPlayerPrivateRemote::remoteVideoTrackConfigurationChanged):
- WebProcess/GPU/media/RemoteCDM.cpp:
(WebKit::RemoteCDM::create):
(WebKit::RemoteCDM::RemoteCDM):
(WebKit::RemoteCDM::createInstance):
- WebProcess/GPU/media/RemoteCDMFactory.cpp:
(WebKit::RemoteCDMFactory::createCDM):
(WebKit::RemoteCDMFactory::removeSession):
- WebProcess/GPU/media/RemoteCDMInstance.cpp:
(WebKit::RemoteCDMInstance::create):
(WebKit::RemoteCDMInstance::RemoteCDMInstance):
(WebKit::RemoteCDMInstance::createSession):
- WebProcess/GPU/media/RemoteCDMInstanceSession.cpp:
(WebKit::RemoteCDMInstanceSession::create):
(WebKit::RemoteCDMInstanceSession::RemoteCDMInstanceSession):
- WebProcess/GPU/media/RemoteLegacyCDM.cpp:
(WebKit::RemoteLegacyCDM::create):
(WebKit::RemoteLegacyCDM::RemoteLegacyCDM):
(WebKit::RemoteLegacyCDM::createSession):
(WebKit::RemoteLegacyCDM::setPlayerId):
- WebProcess/GPU/media/RemoteLegacyCDMFactory.cpp:
(WebKit::RemoteLegacyCDMFactory::createCDM):
(WebKit::RemoteLegacyCDMFactory::addSession):
(WebKit::RemoteLegacyCDMFactory::removeSession):
- WebProcess/GPU/media/RemoteLegacyCDMSession.cpp:
(WebKit::RemoteLegacyCDMSession::create):
(WebKit::RemoteLegacyCDMSession::RemoteLegacyCDMSession):
- WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:
(WebKit::RemoteMediaPlayerManager::deleteRemoteMediaPlayer):
- WebProcess/GPU/media/RemoteMediaResourceProxy.cpp:
(WebKit::RemoteMediaResourceProxy::RemoteMediaResourceProxy):
- WebProcess/GPU/media/TextTrackPrivateRemote.cpp:
(WebKit::TextTrackPrivateRemote::updateConfiguration):
- WebProcess/GPU/media/VideoTrackPrivateRemote.cpp:
(WebKit::VideoTrackPrivateRemote::updateConfiguration):
- 10:59 PM Changeset in webkit [268117] by
-
- 5 edits in trunk
Presidential Executive Order pages not accessible with Safari.
https://bugs.webkit.org/show_bug.cgi?id=217415
Reviewed by Chris Fleizach.
Source/WebCore:
Test: accessibility/aria-modal.html.
These pages have a dialog modal element of the form
<div class="popover" role="dialog" aria-modal="true">
with style visible and a display value different from none. This makes
WebCore/accessibility to treat it as if the dialog were always visible,
and thus do not convey the content of the page outside the dialog to
VoiceOver. The author controls the visibility of the dialog using the
style opacity. This patch adds the check for the opacity to determine
whether an element is visible or not.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::isNodeVisible const):
LayoutTests:
Expanded this test to cover the case whether the modal dialog visibility
is controlled by its opacity. Cleaned up JS code and made it work in
isolated tree mode.
- accessibility/aria-modal-expected.txt:
- accessibility/aria-modal.html:
- 9:50 PM Changeset in webkit [268116] by
-
- 22 edits in trunk
Move platform logic for CSS
hoverandpointermedia queries outside of WebCore
https://bugs.webkit.org/show_bug.cgi?id=217413
Reviewed by Tim Horton.
Source/WebCore:
No change in behavior, covered by existing tests.
- css/MediaQueryEvaluator.cpp:
(WebCore::hoverEvaluate):
(WebCore::pointerEvaluate):
- page/ChromeClient.h:
- loader/EmptyClients.h:
(WebCore::EmptyChromeClient::hoverSupportedByPrimaryPointingDevice const): Added.
(WebCore::EmptyChromeClient::pointerCharacteristicsOfPrimaryPointingDevices const): Added.
Provide a way for WebCore to get information about the primary pointing device.
Refactor logic inhoverEvaluateandpointerEvaluateto move platform code into the
respectiveWebKit::WebPagefile.
Source/WebKit:
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::hoverSupportedByPrimaryPointingDevice const): Added.
(WebKit::WebChromeClient::pointerCharacteristicsOfPrimaryPointingDevices const): Added.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::hoverSupportedByPrimaryPointingDevice const): Added.
(WebKit::WebPage::pointerCharacteristicsOfPrimaryPointingDevices const): Added.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::hoverSupportedByPrimaryPointingDevice const): Added.
(WebKit::WebPage::pointerCharacteristicsOfPrimaryPointingDevices const): Added.
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::hoverSupportedByPrimaryPointingDevice const): Added.
(WebKit::WebPage::pointerCharacteristicsOfPrimaryPointingDevices const): Added.
- WebProcess/WebPage/playstation/WebPagePlayStation.cpp:
(WebKit::WebPage::hoverSupportedByPrimaryPointingDevice const): Added.
(WebKit::WebPage::pointerCharacteristicsOfPrimaryPointingDevices const): Added.
- WebProcess/WebPage/win/WebPageWin.cpp:
(WebKit::WebPage::hoverSupportedByPrimaryPointingDevice const): Added.
(WebKit::WebPage::pointerCharacteristicsOfPrimaryPointingDevices const): Added.
- WebProcess/WebPage/wpe/WebPageWPE.cpp:
(WebKit::WebPage::hoverSupportedByPrimaryPointingDevice const): Added.
(WebKit::WebPage::pointerCharacteristicsOfPrimaryPointingDevices const): Added.
Provide a way for WebCore to get information about the primary pointing device.
Refactor logic inWebCore::anyHoverEvaluateandWebCore::anyPointerEvaluateto move
platform code into the respectiveWebPagefile.
Source/WebKitLegacy/ios:
- WebCoreSupport/WebChromeClientIOS.h:
(WebChromeClientIOS::hoverSupportedByPrimaryPointingDevice const): Added.
(WebChromeClientIOS::pointerCharacteristicsOfPrimaryPointingDevice const): Added.
Mouse devices are not supported.
Source/WebKitLegacy/mac:
- WebCoreSupport/WebChromeClient.h:
(WebChromeClient::hoverSupportedByPrimaryPointingDevice const): Added.
(WebChromeClient::pointerCharacteristicsOfPrimaryPointingDevice const): Added.
Mouse devices are always supported.
Source/WebKitLegacy/win:
- WebCoreSupport/WebChromeClient.h:
(WebChromeClient::hoverSupportedByPrimaryPointingDevice const): Added.
(WebChromeClient::pointerCharacteristicsOfPrimaryPointingDevice const): Added.
Mouse devices are always supported.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm:
(iOSMouseSupport.MouseInitiallyDisconnected):
(iOSMouseSupport.MouseInitiallyConnected):
(iOSMouseSupport.MouseLaterDisconnected):
(iOSMouseSupport.MouseLaterConnected):
(iOSMouseSupport.MouseAlwaysConnected):
- 9:20 PM Changeset in webkit [268115] by
-
- 19 edits in trunk/Tools
Refactor TestOptions code in WebKitTestRunner to make it easier to rationalize and extend
https://bugs.webkit.org/show_bug.cgi?id=217390
Reviewed by Darin Adler.
Refactors TestOptions code in WebKitTestRunner to make it clear how options coming in at
different levels are treated and what precedence each has. The order is (from least to most):
- Global features passed to WebKitTestRunner via the command line (e.g. --show-touches)
- Hardcoded features based on the path of the test being run (hopefully we can remove all soon)
- Hardcoded platform specific defaults (currently only used by macOS for useThreadedScrolling).
- Features from the test headers within the test itself.
- Finally, a second chance for more platform specific defaults (currenly only used the Cocoa ports for setting enableProcessSwapOnNavigation and enableProcessSwapOnWindowOpen based on NSUserDefaults.)
To make this change work, and pave the way for future autogeneration of some of these test options,
the TestOptions struct (now class) was overhauled. Instead of storing the state itself, TestOptions
is now an immutable owner of a TestFeatures object. TestFeatures is a simple struct that contains maps
of option keys to values and can be merged with other TestFeatures objects. TestOptions takes a
TestFeatures at construction, and exposes getters for all keys, as well as defaults for when they are
not in the maps. In future changes, I would like to remove many of these (the ones that correspond
with WebKit preferences anyway) and have the keys and values automatically dealt with by WKPreferences.
- WebKitTestRunner/Options.cpp:
- WebKitTestRunner/Options.h:
Switch to std::unordered_map for consistency and ease of conversion.
- WebKitTestRunner/PlatformWebView.h:
(WTR::PlatformWebView::viewSupportsOptions const):
Update to call new TestOptions functions.
- WebKitTestRunner/StringFunctions.h:
(WTR::toWK):
(WTR::toWTFString):
Add conversions for std::string.
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
Replace some bools with a new global TestFeatures instance that forms the base of
all TestFeatures merges.
(WTR::TestController::generateContextConfiguration const):
(WTR::TestController::generatePageConfiguration):
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::ensureViewSupportsOptionsForTest):
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::TestController::resetStateToConsistentValues):
Update to call new TestOptions functions.
(WTR::TestController::createTestURL):
Expose as a static member function on TestController for use in other files.
(WTR::TestController::testOptionsForTest const):
Rework to be a sequence of TestFeatures merges.
(WTR::TestController::updateWebViewSizeForTest):
(WTR::TestController::updateWindowScaleForTest):
Update to call new TestOptions functions.
(WTR::createTestURL): Deleted.
(WTR::parseBooleanTestHeaderValue): Deleted.
(WTR::parseStringTestHeaderValueAsRelativePath): Deleted.
(WTR::parseStringTestHeaderValueAsURL): Deleted.
(WTR::updateTestOptionsFromTestHeader): Deleted.
(WTR::TestController::platformAddTestOptions const): Deleted.
Moved TestOptions parsing to TestOptions.cpp
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::createTestSettingsDictionary):
Update to call new TestOptions functions.
- WebKitTestRunner/TestOptions.h:
Reworks TestOptions to be an immutable owner of a TestFeatures struct, which is a set
of maps that map feature string keys, to values of type bool, double, string or string vector.
- WebKitTestRunner/TestOptions.cpp:
(WTR::merge):
Merges two TestFeatures objects. If both contain the same key, the 'additional'
TestFeatures overrides the 'base' TestFeatures.
(WTR::dumpFeatures):
Helper to dump features to stderr, useful for debugging.
(WTR::keyType):
Helper for parser to know which value parser to use.
(WTR::parseBooleanTestHeaderValue):
(WTR::parseStringTestHeaderValueAsRelativePath):
(WTR::parseStringTestHeaderValueAsURL):
Value parsers moved from TestController.cpp
(WTR::parseTestHeader):
Header parser moved from TestController.cpp. Update to now return
a TestFeatures object and use keyType to pick value parser rather
than inlining the if statements.
(WTR::hardcodedFeaturesBasedOnPathForTest):
Moved from the TestOptions contructor and reworked to return a TestFeatures
object to be merged by the caller.
(WTR::featureDefaultsFromTestHeaderForTest):
Creates a TestFeatures for the test headers of the current test.
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformSpecificFeatureOverridesDefaultsForTest const):
Reworked to now return a TestFeatures object that will be merged, rather than updating
a TestOptions. Moves enableInAppBrowserPrivacy work to TestController::platformWillRunTest
where it is more appropriate.
(WTR::TestController::platformInitializeDataStore):
(WTR::TestController::platformCreateWebView):
(WTR::TestController::finishCreatingPlatformWebView):
(WTR::TestController::setApplicationBundleIdentifier):
(WTR::TestController::cocoaResetStateToConsistentValues):
(WTR::contentMode):
Update to call new TestOptions functions.
- WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
(WTR::TestController::platformConfigureViewForTest):
Update to call new TestOptions functions.
(WTR::TestController::platformSpecificFeatureDefaultsForTest const):
(WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted.
Moved GeneratedTouchesDebugWindow work to TestController::platformConfigureViewForTest
where it is more appropriate and removed shouldShowTouches setting as that is done
globally now.
- WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::PlatformWebView):
Update to call new TestOptions functions.
- WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformSpecificFeatureDefaultsForTest const):
(WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted.
Remove shouldUseRemoteLayerTree and shouldShowWebView, as those are now done globally,
and re-implemented useThreadedScrolling to use boolFeatures.
- WebKitTestRunner/win/TestControllerWin.cpp:
(WTR::TestController::platformSpecificFeatureDefaultsForTest const):
(WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted.
Updated for new signature.
- WebKitTestRunner/wpe/TestControllerWPE.cpp:
(WTR::TestController::platformSpecificFeatureDefaultsForTest const):
(WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted.
Updated for new signature.
- WebKitTestRunner/gtk/TestControllerGTK.cpp:
(WTR::TestController::platformSpecificFeatureDefaultsForTest const):
(WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted.
Updated for new signature.
- 9:03 PM Changeset in webkit [268114] by
-
- 42 edits10 adds in trunk
<input type="datetime-local"> not show calendar UI when it's inside ShadowDOM
https://bugs.webkit.org/show_bug.cgi?id=216985
<rdar://problem/69660273>
Reviewed by Darin Adler.
Source/WebCore:
Tests: fast/forms/date/date-from-frameless-document.html
fast/forms/datetimelocal/datetimelocal-from-frameless-document.html
fast/forms/month/month-from-frameless-document.html
fast/forms/time/time-from-frameless-document.html
fast/forms/week/week-from-frameless-document.html
The issue here was that frameless documents, such as those created via the
<template> element or document.implementation.createHTMLDocument(...) were
not able to access the real Settings object, so were creating their own which
only contained the default values. So, the solution is to ensure we pass
the real Settings object to the Document constructors even when the Frame is
null.
To do this requires a bit of piping Settings around, but also some simplification.
Now, the Settings owned by Document is fully immutable, with the mutableSettings()
accessor being removed, as it was not actually needed. The two uses of mutable
Settings were for ServiceWorker creation, where we can just use the mutable accessor
from Page instead, and in the Document constructor, where the LegacyGetUserMediaEnabled
setting was being enabled based on a quirk. This was not only incorrect (as it would
effect more than just what the quirk intended) but unnecessary, as we can make the
bindings access the quirk directly.
The one somewhat complex case was for CachedSVGDocument and CachedSVGFont for which
I had to thread settings through CachedResourceLoader and have the CachedSVGDocument
and CachedSVGFont hold onto the Settings object until it was time to construct their
documents.
- bindings/scripts/CodeGeneratorJS.pm:
(NeedsRuntimeCheck):
(GenerateRuntimeEnableConditionalString):
- bindings/scripts/IDLAttributes.json:
Add support back for EnabledByQuirk.
- Modules/mediastream/Navigator+MediaDevices.idl:
Switch to EnabledByQuirk=shouldEnableLegacyGetUserMedia.
- page/Quirks.cpp:
(WebCore::Quirks::shouldEnableLegacyGetUserMediaQuirk const):
(WebCore::Quirks::shouldEnableLegacyGetUserMedia const): Deleted.
- page/Quirks.h:
Rename quirk to end in "Quirk" to work with the bindings generator.
- page/Settings.yaml:
Remove now unused legacyGetUserMediaEnabled settings.
- Scripts/SettingsTemplates/Settings.h.erb:
Export the settings contructor and destructor so it can be used by tests.
- workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::createPageForServiceWorker):
Switch to using the mutable settings from Page.
- dom/DOMImplementation.cpp:
(WebCore::createXMLDocument):
(WebCore::DOMImplementation::createDocument):
(WebCore::DOMImplementation::createHTMLDocument):
- dom/DOMImplementation.h:
- dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::m_selection):
(WebCore::Document::create):
(WebCore::Document::createNonRenderedPlaceholder):
(WebCore::Document::cloneDocumentWithoutChildren const):
(WebCore::Document::ensureTemplateDocument):
- dom/Document.h:
(WebCore::Document::settings const):
(WebCore::Document::create):
(WebCore::Document::mutableSettings): Deleted.
- dom/XMLDocument.h:
(WebCore::XMLDocument::create):
(WebCore::XMLDocument::createXHTML):
(WebCore::XMLDocument::XMLDocument):
- html/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocument::FTPDirectoryDocument):
- html/FTPDirectoryDocument.h:
- html/HTMLDocument.cpp:
(WebCore::HTMLDocument::createSynthesizedDocument):
(WebCore::HTMLDocument::HTMLDocument):
(WebCore::HTMLDocument::cloneDocumentWithoutChildren const):
- html/HTMLDocument.h:
(WebCore::HTMLDocument::create):
- html/ImageDocument.cpp:
(WebCore::ImageDocument::ImageDocument):
- html/ImageDocument.h:
- html/MediaDocument.cpp:
(WebCore::MediaDocument::MediaDocument):
- html/MediaDocument.h:
- html/PluginDocument.cpp:
(WebCore::PluginDocument::PluginDocument):
- html/PluginDocument.h:
- html/TextDocument.cpp:
(WebCore::TextDocument::TextDocument):
- html/TextDocument.h:
- inspector/DOMPatchSupport.cpp:
(WebCore::DOMPatchSupport::patchDocument):
- loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::createDocument):
(WebCore::DocumentWriter::begin):
- loader/SinkDocument.cpp:
(WebCore::SinkDocument::SinkDocument):
- loader/SinkDocument.h:
- loader/cache/CachedResourceLoader.cpp:
(WebCore::createResource):
(WebCore::CachedResourceLoader::updateCachedResourceWithCurrentRequest):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::revalidateResource):
(WebCore::CachedResourceLoader::loadResource):
- loader/cache/CachedResourceLoader.h:
- loader/cache/CachedSVGDocument.cpp:
(WebCore::CachedSVGDocument::CachedSVGDocument):
(WebCore::CachedSVGDocument::finishLoading):
- loader/cache/CachedSVGDocument.h:
- loader/cache/CachedSVGFont.cpp:
(WebCore::CachedSVGFont::CachedSVGFont):
(WebCore::CachedSVGFont::ensureCustomFontData):
- loader/cache/CachedSVGFont.h:
- page/ios/FrameIOS.mm:
(WebCore::Frame::initWithSimpleHTMLDocument):
- svg/SVGDocument.cpp:
(WebCore::SVGDocument::SVGDocument):
(WebCore::SVGDocument::cloneDocumentWithoutChildren const):
- svg/SVGDocument.h:
(WebCore::SVGDocument::create):
- xml/DOMParser.cpp:
(WebCore::DOMParser::DOMParser):
(WebCore::DOMParser::parseFromString):
- xml/DOMParser.h:
- xml/XMLHttpRequest.cpp:
- xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::createDocumentFromSource):
Thread settings into all the places.
Tools:
- TestWebKitAPI/Tests/WebCore/DocumentOrder.cpp:
(TestWebKitAPI::createDocument):
Update to pass a Settings object to Document::create which is now required.
LayoutTests:
Add tests that show that date/time input elements are the same whether they come from a template
document or the main document.
- fast/forms/date/date-from-frameless-document-expected.html: Added.
- fast/forms/date/date-from-frameless-document.html: Added.
- fast/forms/datetimelocal/datetimelocal-from-frameless-document-expected.html: Added.
- fast/forms/datetimelocal/datetimelocal-from-frameless-document.html: Added.
- fast/forms/month/month-from-frameless-document-expected.html: Added.
- fast/forms/month/month-from-frameless-document.html: Added.
- fast/forms/time/time-from-frameless-document-expected.html: Added.
- fast/forms/time/time-from-frameless-document.html: Added.
- fast/forms/week/week-from-frameless-document-expected.html: Added.
- fast/forms/week/week-from-frameless-document.html: Added.
- 8:34 PM Changeset in webkit [268113] by
-
- 2 edits1 add in trunk/LayoutTests
[GLIB] Gardening and rebaseline two tests
Unreviewed test gardening.
- platform/glib/webaudio/audioworklet-addModule-failure-expected.txt: Added.
- platform/gtk/TestExpectations:
- 8:20 PM Changeset in webkit [268112] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (iOS 14): [ iOS wk2 ] imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml.html is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=217419
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 6:45 PM Changeset in webkit [268111] by
-
- 1 copy in tags/Safari-610.2.11
Tag Safari-610.2.11.
- 6:35 PM Changeset in webkit [268110] by
-
- 8 edits in branches/safari-610.2-branch/Source
Versioning.
WebKit-7610.2.11
- 6:28 PM Changeset in webkit [268109] by
-
- 1 copy in tags/Safari-611.1.1.3
Tag Safari-611.1.1.3.
- 6:23 PM Changeset in webkit [268108] by
-
- 8 edits in branches/safari-611.1.1-branch/Source
Versioning.
WebKit-7611.1.1.3
- 6:05 PM Changeset in webkit [268107] by
-
- 4 edits in branches/safari-610-branch/Source/WebKit
Apply patch. rdar://problem/70026315
- 6:02 PM Changeset in webkit [268106] by
-
- 10 edits2 adds in branches/safari-610-branch
Cherry-pick r267987. rdar://problem/70025699
MediaRecorder should respect enabled and muted tracks
https://bugs.webkit.org/show_bug.cgi?id=217312
Reviewed by Eric Carlson.
Source/WebCore:
If track is muted, replace it by either silence (audio buffer filled with zeros) or black frames.
MediaRecorderPrivate will keep track of whether the selected track should be muted.
It is then the responsibility of the specialization to do the appropriate processing.
Test: http/wpt/mediarecorder/mute-tracks.html
- Modules/mediarecorder/MediaRecorder.cpp: (WebCore::MediaRecorder::trackMutedChanged): (WebCore::MediaRecorder::trackEnabledChanged):
- Modules/mediarecorder/MediaRecorder.h:
- platform/audio/cocoa/WebAudioBufferList.cpp: (WebCore::WebAudioBufferList::zeroFlatBuffer):
- platform/audio/cocoa/WebAudioBufferList.h:
- platform/mediarecorder/MediaRecorderPrivate.cpp: (WebCore::MediaRecorderPrivate::selectTracks): (WebCore::MediaRecorderPrivate::checkTrackState):
- platform/mediarecorder/MediaRecorderPrivate.h: (WebCore::MediaRecorderPrivate::trackMutedChanged): (WebCore::MediaRecorderPrivate::trackEnabledChanged): (WebCore::MediaRecorderPrivate::shouldMuteAudio const): (WebCore::MediaRecorderPrivate::shouldMuteVideo const):
- platform/mediarecorder/MediaRecorderPrivateAVFImpl.cpp: (WebCore::MediaRecorderPrivateAVFImpl::create): (WebCore::MediaRecorderPrivateAVFImpl::videoSampleAvailable): (WebCore::MediaRecorderPrivateAVFImpl::audioSamplesAvailable):
- platform/mediarecorder/MediaRecorderPrivateAVFImpl.h:
LayoutTests:
- http/wpt/mediarecorder/mute-tracks-expected.txt: Added.
- http/wpt/mediarecorder/mute-tracks.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267987 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:02 PM Changeset in webkit [268105] by
-
- 11 edits1 add in branches/safari-610-branch
Cherry-pick r267870. rdar://problem/70025703
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. Introduce HAVE_AVASSETWRITERDELEGATE_API for older OSes that only have delegate as SPI.
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267870 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:02 PM Changeset in webkit [268104] by
-
- 5 edits in branches/safari-610-branch/LayoutTests
Apply patch. rdar://problem/70024420
- 5:36 PM Changeset in webkit [268103] by
-
- 28 edits4 copies in trunk
Add implementation for AudioWorkletGlobalScope.registerProcessor()
https://bugs.webkit.org/show_bug.cgi?id=217405
Reviewed by Geoff Garen.
LayoutTests/imported/w3c:
Rebaseline WPT tests as we are now passing more checks.
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-audioworklet-connections.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-audioworklet.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-audioparam-iterable.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-audioparam.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletglobalscope-sample-rate.https-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-construction.https-expected.txt:
Source/WebCore:
Add implementation for AudioWorkletGlobalScope.registerProcessor() that matches very closely
the specification at:
Also update the AudioWorkletNode constructor implementation as per:
Now that the AudioWorklet is able to register a processor and AudioParamDescriptors, the
AudioWorkletNode constructor is able to make sure that a processor with the given name was
indeed registered. We are also able to construct the AudioParam objects based on the
AudioParamDescriptors provided when registering the processor.
Note that even though it is now possible to register an AudioWorkletProcessor, it is still
not used to process the audio. An AudioWorkletNode currently only outputs silence. This will
be addresssed in a future patch.
No new tests, rebaselined existing tests.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Modules/webaudio/AudioParam.h:
- Modules/webaudio/AudioParam.idl:
- Modules/webaudio/AudioParamDescriptor.h: Copied from Source/WebCore/Modules/webaudio/AudioWorkletGlobalScope.idl.
(WebCore::AudioParamDescriptor::isolatedCopy const):
- Modules/webaudio/AudioParamDescriptor.idl: Copied from Source/WebCore/Modules/webaudio/AudioWorkletGlobalScope.idl.
- Modules/webaudio/AudioWorkletGlobalScope.cpp:
(WebCore::AudioWorkletGlobalScope::registerProcessor):
- Modules/webaudio/AudioWorkletGlobalScope.h:
- Modules/webaudio/AudioWorkletGlobalScope.idl:
- Modules/webaudio/AudioWorkletMessagingProxy.cpp:
(WebCore::AudioWorkletMessagingProxy::AudioWorkletMessagingProxy):
(WebCore::AudioWorkletMessagingProxy::postTaskToAudioWorklet):
- Modules/webaudio/AudioWorkletMessagingProxy.h:
- Modules/webaudio/AudioWorkletNode.cpp:
(WebCore::AudioWorkletNode::create):
- Modules/webaudio/AudioWorkletThread.h:
(WebCore::AudioWorkletThread::messagingProxy):
- Modules/webaudio/AutomationRate.h: Copied from Source/WebCore/Modules/webaudio/AudioWorkletGlobalScope.idl.
- Modules/webaudio/AutomationRate.idl: Copied from Source/WebCore/Modules/webaudio/AudioWorkletGlobalScope.idl.
- Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::addAudioParamDescriptors):
- Modules/webaudio/BaseAudioContext.h:
(WebCore::BaseAudioContext::parameterDescriptorMap const):
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- 5:23 PM Changeset in webkit [268102] by
-
- 9 edits in branches/safari-610-branch
Cherry-pick r267941. rdar://problem/70024420
Make sure MediaRecorder does not call fetchData until the last fetchData is completed
https://bugs.webkit.org/show_bug.cgi?id=217276
Reviewed by Darin Adler.
Source/WebCore:
When fetchData is called while an existing fetchData is inflight, enqueue the callback in a deque.
When the inflight fetchData completes, call the enqueued callbacks in order with a null blob.
Add ASSERT in MediaRecorderPrivateWriter to make sure we do not call requestMediaDataWhenReadyOnQueue too many times.
Covered by updated http/wpt/mediarecorder/MediaRecorder-dataavailable.html.
- Modules/mediarecorder/MediaRecorder.cpp: (WebCore::MediaRecorder::stopRecording): (WebCore::MediaRecorder::requestData): Do not enable the timer if MediaRecorder is not active as a small optimization. (WebCore::MediaRecorder::fetchData):
- Modules/mediarecorder/MediaRecorder.h:
- platform/mediarecorder/MediaRecorderPrivateMock.cpp: (WebCore::MediaRecorderPrivateMock::fetchData):
- platform/mediarecorder/MediaRecorderPrivateMock.h:
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm: (WebCore::MediaRecorderPrivateWriter::flushCompressedSampleBuffers):
LayoutTests:
Add test to cover patch
Update some test expectations according bot results.
- http/wpt/mediarecorder/MediaRecorder-dataavailable-expected.txt:
- http/wpt/mediarecorder/MediaRecorder-dataavailable.html:
- platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267941 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:23 PM Changeset in webkit [268101] by
-
- 3 edits in branches/safari-610-branch/LayoutTests
Cherry-pick r267836. rdar://problem/70024631
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267836 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:23 PM Changeset in webkit [268100] by
-
- 15 edits in branches/safari-610-branch
Cherry-pick r267833. rdar://problem/70024626
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267833 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:23 PM Changeset in webkit [268099] by
-
- 5 edits in trunk/Source/WebCore
[LFC] FormattingContext::Geometry::contentHeightForFormattingContextRoot should take a const ContainerBox&
https://bugs.webkit.org/show_bug.cgi?id=217404
Reviewed by Simon Fraser.
A formatting context root is always a Layout::ContainerBox (and not just a Layout::Box).
- layout/FormattingContext.h:
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::contentHeightForFormattingContextRoot const):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry const):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::complicatedCases const):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowVerticalGeometry const):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowHorizontalGeometry):
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::TreeBuilder::createLayoutBox):
- 5:23 PM Changeset in webkit [268098] by
-
- 5 edits in branches/safari-610-branch
Cherry-pick r267822. rdar://problem/70024621
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267822 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:21 PM Changeset in webkit [268097] by
-
- 4 edits in trunk
Reloading a view in its processTerminationHandler does not work reliably when using related views
https://bugs.webkit.org/show_bug.cgi?id=217407
Reviewed by Geoff Garen.
Source/WebKit:
Related web views share the same WebContent process. When this process crashes, we iterate over
the list of WebPageProxy objects sharing this process and let them know that their process has
crashed. This causes the WebPageProxy to reset its state (so that it is aware it no longer has
a running process) and to notify the client application. Because we were notifying the client
application synchronously, the client could trigger a load in the view synchronously while we
are still iterating over the WebPageProxy objects. When triggering a load in a web view that
has no running process, we normally relaunch one. However, in the case of related web views,
the view uses its related webview's process, relaunching it if necessary. The 'relaunching
if necessary' part was not reliably happening here because the related web view may not have
been notified yet that its WebProcess has crashed (since we are still iterating over the
pages to notify them).
To address the issue, we now notify the client asynchronously of the process termination.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::dispatchProcessDidTerminate):
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
(-[NavigationDelegateWithCrashHandlerThatLoadsAgain _webView:webContentProcessDidTerminateWithReason:]):
(-[NavigationDelegateWithCrashHandlerThatLoadsAgain webView:didFinishNavigation:]):
(TEST):
- 5:19 PM Changeset in webkit [268096] by
-
- 1 copy in tags/Safari-610.2.10
Tag Safari-610.2.10.
- 5:18 PM Changeset in webkit [268095] by
-
- 6 edits in trunk
[Media in GPU Process] The seekable attribute of HTMLMediaElement has an incorrect value
https://bugs.webkit.org/show_bug.cgi?id=217410
Reviewed by Eric Carlson.
Source/WebKit:
Covered by existing tests.
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::mediaPlayerReadyStateChanged):
Update the state variables related to theseekableattribute when the media player is ready.
(WebKit::RemoteMediaPlayerProxy::updateCachedState):
Add a missing state variable setting.
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::seekable const): Deleted.
- WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
Instead of overriding seekable() here, we should use MediaPlayerPrivateInterface::seekable(),
which has the correct behavior.
LayoutTests:
- gpu-process/TestExpectations:
- 5:16 PM Changeset in webkit [268094] by
-
- 8 edits in branches/safari-610.2-branch/Source
Versioning.
WebKit-7610.2.10
- 5:15 PM Changeset in webkit [268093] by
-
- 3 edits in trunk/LayoutTests
REGRESSION (r267402): [ iOS Mojave+ Release ] imported/w3c/web-platform-tests/user-timing/measure-l3.any.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=217414
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 5:09 PM Changeset in webkit [268092] by
-
- 26 edits2 adds in branches/safari-610-branch
Cherry-pick r267825. rdar://problem/70024248
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267825 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:09 PM Changeset in webkit [268091] by
-
- 3 edits in branches/safari-610-branch/Source/WebCore
Cherry-pick r267828. rdar://problem/70023908
[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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267828 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:09 PM Changeset in webkit [268090] by
-
- 3 edits in branches/safari-610-branch/Source/WebCore
Cherry-pick r267521. rdar://problem/70023915
REGRESSION (iOS/Safari 14): MediaRecorder produces invalid video files
https://bugs.webkit.org/show_bug.cgi?id=216832
<rdar://problem/69377550>
Reviewed by Eric Carlson.
Start the audio and video timestamps at zero.
Compute the audio timestamp based on the sample count and the video timestamp based
on the time at which the video sample is received.
Covered by manually testing Safari generated videos on VLC, Chrome and Firefox.
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm: (WebCore::MediaRecorderPrivateWriter::initialize): (WebCore::MediaRecorderPrivateWriter::startAssetWriter): (WebCore::copySampleBufferWithCurrentTimeStamp): (WebCore::MediaRecorderPrivateWriter::appendVideoSampleBuffer): (WebCore::createAudioSampleBuffer): (WebCore::MediaRecorderPrivateWriter::appendAudioSampleBuffer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267521 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:09 PM Changeset in webkit [268089] by
-
- 7 edits2 adds in branches/safari-610-branch
Cherry-pick r267366. rdar://problem/70023908
[iOS] MediaRecorder incorrect screen orientation handling
https://bugs.webkit.org/show_bug.cgi?id=198912
<rdar://problem/51802521>
Reviewed by Eric Carlson.
Source/WebCore:
Update MediaRecorderPrivateWriterCocoa to pass a MediaSample down to handle rotation.
Set AVAssetWriterInput transform according the first MediaSample rotation value.
Test: http/wpt/mediarecorder/video-rotation.html
- platform/mediarecorder/MediaRecorderPrivateAVFImpl.cpp: (WebCore::MediaRecorderPrivateAVFImpl::videoSampleAvailable):
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
- platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm: (WebCore::MediaRecorderPrivateWriter::appendVideoSampleBuffer):
Source/WebKit:
- GPUProcess/webrtc/RemoteMediaRecorder.cpp: (WebKit::RemoteMediaRecorder::videoSampleAvailable):
LayoutTests:
- http/wpt/mediarecorder/video-rotation-expected.txt: Added.
- http/wpt/mediarecorder/video-rotation.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267366 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:09 PM Changeset in webkit [268088] by
-
- 28 edits5 adds in branches/safari-610-branch
Apply patch. rdar://70023523
- 5:03 PM Changeset in webkit [268087] by
-
- 1 copy in branches/safari-610.2-branch
New branch.
- 4:44 PM Changeset in webkit [268086] by
-
- 42 edits2 copies6 adds in trunk
CSS hover and "pointer: fine" media queries do not evaluate to true with iOS 13.4 mouse support
https://bugs.webkit.org/show_bug.cgi?id=209292
<rdar://problem/60663124>
Reviewed by Tim Horton.
Source/WebCore:
On iOS, the primary pointer will always be touch input, so the
hover/pointermedia query
should never change. If a mouse is connected, however,any-hover/any-pointershould
change as now there is at least one device that supportshover/fine. Note that in the
case ofany-pointerthis means that bothcoarseandfinewill apply. Catalyst assumes
that there is always a mouse connected.
Spec: https://drafts.csswg.org/mediaqueries-4/#any-input
- css/MediaQueryEvaluator.cpp:
(WebCore::anyHoverEvaluate):
(WebCore::anyPointerEvaluate):
- page/ChromeClient.h:
- loader/EmptyClients.h:
(WebCore::EmptyChromeClient::hoverSupportedByAnyAvailablePointingDevice const): Added.
(WebCore::EmptyChromeClient::pointerCharacteristicsOfAllAvailablePointingDevices const): Added.
Provide a way for WebCore to get the current state of whether there are any mouse devices.
Refactor logic inanyHoverEvaluateandanyPointerEvaluateto move platform code into the
respectiveWebKit::WebPagefile.
- page/PointerCharacteristics.h: Added.
Enum for
CoarseandFine.
- platform/PlatformScreen.h:
Export additional functions for use in WebKit.
- Headers.cmake:
- WebCore.xcodeproj/project.pbxproj:
Source/WebKit:
On iOS, the primary pointer will always be touch input, so the
hover/pointermedia query
should never change. If a mouse is connected, however,any-hover/any-pointershould
change as now there is at least one device that supportshover/fine. Note that in the
case ofany-pointerthis means that bothcoarseandfinewill apply. Catalyst assumes
that there is always a mouse connected.
Spec: https://drafts.csswg.org/mediaqueries-4/#any-input
- UIProcess/ios/WKMouseDeviceObserver.h: Added.
- UIProcess/ios/WKMouseDeviceObserver.mm: Added.
(+[WKMouseDeviceObserver sharedInstance]):
(-[WKMouseDeviceObserver dealloc]):
(-[WKMouseDeviceObserver start]):
(-[WKMouseDeviceObserver stop]):
(-[WKMouseDeviceObserver mousePointerDevicesDidChange:]):
(-[WKMouseDeviceObserver _setHasMouseDeviceForTesting:]):
UseBackBoardServicesto listen for mouse devices changes and notify all WebProcess.
- UIProcess/WebProcessProxy.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::platformInitialize): Added.
(WebKit::WebProcessProxy::~WebProcessProxy):
(WebKit::WebProcessProxy::platformDestroy): Added.
- UIProcess/ios/WebProcessProxyIOS.mm:
(WebKit::WebProcessProxy::platformInitialize): Added.
(WebKit::WebProcessProxy::platformDestroy): Added.
(WebKit::WebProcessProxy::notifyHasMouseDeviceChanged): Added.
Tell the sharedWKMouseDeviceObserverto start listening for mouse device changes when
creating the WebProcess so that the sharedWKMouseDeviceObserverknows to notify all
instances when mouse devices change. MakeallProcessesinto aprivate staticmember
function so that it can also be used inUIProcess/ios/WebProcessProxyIOS.mm.
- Shared/WebProcessCreationParameters.h:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
Use the current state of the sharedWKMouseDeviceObserverwhen creating WebProcess instead
of sending aSetHasMouseDevicemessage immediately after the WebProcess is created.
- WebProcess/WebProcess.messages.in:
- WebProcess/WebProcess.h:
(WebKit::WebProcess::hasMouseDevice const): Added.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::setHasMouseDevice): Added.
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
Update style (includingany-hoverandany-pointer) whenever mouse devices change.
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::hoverSupportedByAnyAvailablePointingDevice const): Added.
(WebKit::WebChromeClient::pointerCharacteristicsOfAllAvailablePointingDevices const): Added.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::hoverSupportedByAnyAvailablePointingDevice const): Added.
(WebKit::WebPage::pointerCharacteristicsOfAllAvailablePointingDevices const): Added.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::hasMouseDevice): Added.
(WebKit::WebPage::hoverSupportedByAnyAvailablePointingDevice const): Added.
(WebKit::WebPage::pointerCharacteristicsOfAllAvailablePointingDevices const): Added.
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::hoverSupportedByAnyAvailablePointingDevice const): Added.
(WebKit::WebPage::pointerCharacteristicsOfAllAvailablePointingDevices const): Added.
- WebProcess/WebPage/playstation/WebPagePlayStation.cpp:
(WebKit::WebPage::hoverSupportedByAnyAvailablePointingDevice const): Added.
(WebKit::WebPage::pointerCharacteristicsOfAllAvailablePointingDevices const): Added.
- WebProcess/WebPage/win/WebPageWin.cpp:
(WebKit::WebPage::hoverSupportedByAnyAvailablePointingDevice const): Added.
(WebKit::WebPage::pointerCharacteristicsOfAllAvailablePointingDevices const): Added.
- WebProcess/WebPage/wpe/WebPageWPE.cpp:
(WebKit::WebPage::hoverSupportedByAnyAvailablePointingDevice const): Added.
(WebKit::WebPage::pointerCharacteristicsOfAllAvailablePointingDevices const): Added.
Provide a way for WebCore to get the current state of whether there are any mouse devices.
Refactor logic inWebCore::anyHoverEvaluateandWebCore::anyPointerEvaluateto move
platform code into the respectiveWebPagefile.
- Configurations/WebKit.xcconfig:
- Platform/spi/ios/BackBoardServicesSPI.h:
- Platform/spi/ios/BaseBoardSPI.h: Added.
- SourcesCocoa.txt:
- WebKit.xcodeproj/project.pbxproj:
Source/WebKitLegacy/ios:
- WebCoreSupport/WebChromeClientIOS.h:
(WebChromeClientIOS::hoverSupportedByAnyAvailablePointingDevice const): Added.
(WebChromeClientIOS::pointerCharacteristicsOfAllAvailablePointingDevices const): Added.
Mouse devices are not supported.
Source/WebKitLegacy/mac:
- WebCoreSupport/WebChromeClient.h:
(WebChromeClient::hoverSupportedByAnyAvailablePointingDevice const): Added.
(WebChromeClient::pointerCharacteristicsOfAllAvailablePointingDevices const): Added.
Mouse devices are always supported.
Source/WebKitLegacy/win:
- WebCoreSupport/WebChromeClient.h:
(WebChromeClient::hoverSupportedByAnyAvailablePointingDevice const): Added.
(WebChromeClient::pointerCharacteristicsOfAllAvailablePointingDevices const): Added.
Mouse devices are always supported.
Tools:
- TestWebKitAPI/cocoa/TestWKWebView.h:
- TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView evaluateMediaQuery:]): Added.
Create helper function for synchronously testing media queries.
- TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm:
(iOSMouseSupport.MouseInitiallyDisconnected): Added.
(iOSMouseSupport.MouseInitiallyConnected): Added.
(iOSMouseSupport.MouseLaterDisconnected): Added.
(iOSMouseSupport.MouseLaterConnected): Added.
(iOSMouseSupport.MouseAlwaysConnected): Added.
WebKitLibraries:
- WebKitPrivateFrameworkStubs/iOS/13/BackBoardServices.framework/BackBoardServices.tbd: Added.
- WebKitPrivateFrameworkStubs/iOS/14/BackBoardServices.framework/BackBoardServices.tbd: Added.
Use
BackBoardServicesto listen for mouse devices changes.
- 4:23 PM Changeset in webkit [268085] by
-
- 15 edits10 adds in trunk
Support EXT_texture_compression_rgtc WebGL extension
https://bugs.webkit.org/show_bug.cgi?id=217198
Reviewed by Kenneth Russell.
Source/WebCore:
Test: webgl/conformance/extensions/ext-texture-compression-rgtc.html
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSDOMConvertWebGL.cpp:
(WebCore::convertToJSValue):
- html/canvas/EXTTextureCompressionRGTC.cpp: Added.
(WebCore::EXTTextureCompressionRGTC::EXTTextureCompressionRGTC):
(WebCore::EXTTextureCompressionRGTC::getName const):
- html/canvas/EXTTextureCompressionRGTC.h: Added.
- html/canvas/EXTTextureCompressionRGTC.idl: Added.
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::getExtension):
(WebCore::WebGL2RenderingContext::getSupportedExtensions):
- html/canvas/WebGLExtension.h:
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::extensionIsEnabled):
(WebCore::WebGLRenderingContextBase::validateCompressedTexFuncData):
(WebCore::WebGLRenderingContextBase::loseExtensions):
- html/canvas/WebGLRenderingContextBase.h:
- platform/graphics/ExtensionsGL.h:
LayoutTests:
- webgl/conformance/extensions/ext-texture-compression-rgtc-expected.txt: Added.
- webgl/conformance/extensions/ext-texture-compression-rgtc.html: Added.
- webgl/conformance/extensions/s3tc-and-rgtc-expected.txt: Added.
- webgl/conformance/extensions/s3tc-and-rgtc.html: Added.
- webgl/resources/webgl_test_files/conformance/extensions/ext-texture-compression-rgtc.html: Added.
- webgl/resources/webgl_test_files/conformance/extensions/s3tc-and-rgtc.html: Added.
- webgl/resources/webgl_test_files/js/tests/compressed-texture-utils.js: Added.
- 4:21 PM Changeset in webkit [268084] by
-
- 2 edits in trunk/Source/WebCore
AX: Expose lineRangeForPosition for iOS Accessibility code
https://bugs.webkit.org/show_bug.cgi?id=217256
<rdar://problem/67478962>
Reviewed by Zalan Bujtas.
Expose the existing lineRangeForPosition method for iOS accessibility.
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper lineMarkersForMarker:]):
- 4:16 PM Changeset in webkit [268083] by
-
- 2 edits in trunk/LayoutTests
Adjust test expectation to include Release queue failure after change to iOS 14
https://bugs.webkit.org/show_bug.cgi?id=214731
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 3:59 PM Changeset in webkit [268082] by
-
- 2 edits in trunk/Source/WebCore
[LFC][BFC] Move document box special height computation out of contentHeightForFormattingContextRoot
https://bugs.webkit.org/show_bug.cgi?id=217402
Reviewed by Simon Fraser.
Document box (<html>) is not a formatting context root and while its content height computation is very similar to
BFC root height computation, it should not pollute the generic contentHeightForFormattingContextRoot code.
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::contentHeightForFormattingContextRoot const):
(WebCore::Layout::FormattingContext::Geometry::complicatedCases const):
- 3:54 PM Changeset in webkit [268081] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(iOS 14): http/wpt/cache-storage/cache-quota.any.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=217412
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 3:47 PM Changeset in webkit [268080] by
-
- 17 edits in trunk/Tools
[webkitscmpy] Generate Commit object from local repository
https://bugs.webkit.org/show_bug.cgi?id=216404
<rdar://problem/68702897>
Reviewed by Dewei Zhu.
- Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Bump version.
- Scripts/libraries/webkitcorepy/webkitcorepy/decorators.py:
(Memoize.call.decorator): Handle case where function arguments are different.
- Scripts/libraries/webkitcorepy/webkitcorepy/mocks/popen.py:
(PopenBase.poll): Reset stdout and stderr after calling the completion handler.
- Scripts/libraries/webkitcorepy/webkitcorepy/tests/decorators_unittest.py:
(TestMemoize.test_conflicting_args):
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/contributor.py:
(Contributor): Number of lines may be singular.
- Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git):
(Git.init): Caller may wish to specify the patterns for production and development branches.
(Git.branches): Call the more general _branches_for to unify remote stripping logic.
(Git._commit_count): Given a parameter (hash, branch, difference between default branch and commit), compute
the number of commits.
(Git._branches_for): Given a hash, return all branches the commit is part of.
(Git.commit): Construct a commit given a commit hash, revision, identifier or branch.
- Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm):
(Scm.init): Caller may wish to specify the patterns for production and development branches.
(Scm.commit): Construct a commit given a commit hash, revision, identifier or branch.
(Scm.prioritize_branches): Given a set of branches, pick the highest priority one.
(Scm.log): Log error to a configured logger or stderr.
- Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn):
(Svn.init): Caller may wish to specify the patterns for production and development branches.
(Svn.info): Allow info for a specific commit to be queried.
(Svn._cache_path): Path to json cache of branch-commit mapping.
(Svn._cache_revisions): Query the remote for a specific branch to get the list of all commits on that branch.
(Svn._commit_count): Given a revision or branch, compute the number of commits.
(Svn._branch_for): Given a revision, use local data to determine the most likely branch before asking the remote which branch
a commit is on.
(Svn.commit): Construct a commit given a commit hash, revision, identifier or branch.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git): Add commands needed to construct an identifier, add mock commits.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py:
(Svn): Add commands needed to construct an identifier, add mock commits.
- Scripts/libraries/webkitscmpy/webkitscmpy/test/contributor_unittest.py:
(TestContributor.test_short_svn_log):
- Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit):
- Scripts/libraries/webkitscmpy/webkitscmpy/test/scm_unittest.py:
(TestScm.test_remote):
(TestScm):
- Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestSvn):
- 3:29 PM Changeset in webkit [268079] by
-
- 1 copy in tags/Safari-610.2.9
Tag Safari-610.2.9.
- 3:20 PM Changeset in webkit [268078] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(iOS 14): http/tests/cache-storage/page-cache-domcache-pending-promise.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=217408
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 3:04 PM Changeset in webkit [268077] by
-
- 26 edits in trunk/Source/JavaScriptCore
[JSC] More consistent PtrTagging for code types
https://bugs.webkit.org/show_bug.cgi?id=217362
Reviewed by Mark Lam.
- Avoid tagging JIT code with OperationPtrTag. OperationPtrTag should be used only for operations (C++ code).
- Avoid mixing JIT and C++ code for the same tagged pointers. For exception trampoline, in JIT mode, we should have JIT trampoline thunk which goes to LLInt bytecode handler code.
- bytecode/BytecodeList.rb:
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finishCreation):
(JSC::CodeBlock::finalizeUnconditionally):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileExceptionHandlers):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileMathIC):
- jit/ICStats.h:
- jit/JIT.cpp:
(JSC::JIT::compileWithoutLinking):
(JSC::JIT::link):
(JSC::JIT::privateCompileExceptionHandlers):
- jit/JIT.h:
(JSC::CallRecord::CallRecord):
- jit/JITCall.cpp:
(JSC::JIT::compileTailCall):
(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):
- jit/JITCall32_64.cpp:
(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):
- jit/JITExceptions.cpp:
(JSC::genericUnwind):
- jit/JITInlines.h:
(JSC::JIT::emitNakedNearCall):
(JSC::JIT::emitNakedNearTailCall):
(JSC::JIT::emitNakedCall): Deleted.
(JSC::JIT::emitNakedTailCall): Deleted.
- jit/JITPropertyAccess.cpp:
(JSC::JIT::privateCompilePutByVal):
(JSC::JIT::privateCompilePutPrivateNameWithCachedId):
(JSC::JIT::privateCompilePutByValWithCachedId):
- jit/SlowPathCall.h:
(JSC::JITSlowPathCall::call):
- llint/LLIntData.h:
(JSC::LLInt::getWide16CodeRef):
(JSC::LLInt::getWide32CodeRef):
(JSC::LLInt::getCodeFunctionPtr):
(JSC::LLInt::getWide16CodeFunctionPtr):
(JSC::LLInt::getWide32CodeFunctionPtr):
- llint/LLIntEntrypoint.cpp:
(JSC::LLInt::setFunctionEntrypoint):
(JSC::LLInt::setEvalEntrypoint):
(JSC::LLInt::setProgramEntrypoint):
(JSC::LLInt::setModuleProgramEntrypoint):
- llint/LLIntExceptions.cpp:
(JSC::LLInt::callToThrow):
(JSC::LLInt::handleUncaughtException):
(JSC::LLInt::catcher):
- llint/LLIntExceptions.h:
- llint/LLIntSlowPaths.cpp:
- llint/LLIntThunks.cpp:
(JSC::LLInt::generateThunkWithJumpTo):
(JSC::LLInt::functionForCallEntryThunk):
(JSC::LLInt::functionForConstructEntryThunk):
(JSC::LLInt::functionForCallArityCheckThunk):
(JSC::LLInt::functionForConstructArityCheckThunk):
(JSC::LLInt::evalEntryThunk):
(JSC::LLInt::programEntryThunk):
(JSC::LLInt::moduleProgramEntryThunk):
(JSC::LLInt::wasmFunctionEntryThunk):
(JSC::LLInt::callToThrowThunk):
(JSC::LLInt::handleUncaughtExceptionThunk):
(JSC::LLInt::catcherThunk):
- llint/LLIntThunks.h:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::processUnverifiedStackTraces):
- wasm/WasmOperations.cpp:
(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):
- 2:53 PM Changeset in webkit [268076] by
-
- 12 edits in trunk/Source/WebCore
Add implementation for AudioWorkletGlobalScope's currentFrame / currentTime / sampleRate attributes
https://bugs.webkit.org/show_bug.cgi?id=217251
Reviewed by Geoffrey Garen.
Add implementation for AudioWorkletGlobalScope's currentFrame / currentTime / sampleRate attributes.
The AudioContext's sample rate is passed upon constructor since it does not change once the AudioContext
has been created. The current sample frame gets updated directly by the AudioDestinationNode on the
audio rendering thread, whenever the AudioAudioDestinationNode updates the current frame.
The currrentTime gets computed based on the current frame and the sample rate.
No new tests, no Web-facing behavior yet because we are not yet executing module scripts in
AudioWorklets.
- Modules/webaudio/AudioDestinationNode.cpp:
(WebCore::AudioDestinationNode::render):
- Modules/webaudio/AudioWorklet.cpp:
(WebCore::AudioWorklet::create):
(WebCore::AudioWorklet::AudioWorklet):
- Modules/webaudio/AudioWorklet.h:
- Modules/webaudio/AudioWorkletGlobalScope.cpp:
(WebCore::AudioWorkletGlobalScope::AudioWorkletGlobalScope):
- Modules/webaudio/AudioWorkletGlobalScope.h:
(WebCore::AudioWorkletGlobalScope::setCurrentFrame):
(WebCore::AudioWorkletGlobalScope::currentFrame const):
(WebCore::AudioWorkletGlobalScope::sampleRate const):
(WebCore::AudioWorkletGlobalScope::currentTime const):
- Modules/webaudio/AudioWorkletMessagingProxy.cpp:
(WebCore::generateWorkletParameters):
- Modules/webaudio/AudioWorkletMessagingProxy.h:
(WebCore::AudioWorkletMessagingProxy::workletThread):
- Modules/webaudio/AudioWorkletThread.h:
(WebCore::AudioWorkletThread::globalScope const):
- Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::BaseAudioContext):
- Modules/webaudio/BaseAudioContext.h:
- worklets/WorkletParameters.h:
(WebCore::WorkletParameters::isolatedCopy const):
- 2:33 PM Changeset in webkit [268075] by
-
- 31 edits in trunk/Source
Redundant rendering updates can be scheduled from inside Page::updateRendering()
https://bugs.webkit.org/show_bug.cgi?id=216726
Reviewed by Tim Horton.
Source/WebCore:
The basic model for scheduling rendering updates is that code that needs to trigger an
update just calls Page::schedule[Timed]RenderingUpdate(). However, if
Page::updateRendering() is already on the stack, and the work to be scheduled will happen
later in the current update, we don't have to schedule a new one.
To fix this Page::updateRendering() and related functions track which steps remain
in the current update, and callers of schedule[Timed]RenderingUpdate() pass the update steps
for the work they need to trigger. If the requested steps are included in the remaining steps
no new update needs to be scheduled. Note that requesting a step while that step is being executed
has to schedule an upate (e.g. requestAnimationFrame inside its own callback has to schedule).
At the end of an update, if there are any unfulfilled steps, then we schedule a new update.
Add a log channel for EventLoop and and log from various places.
In my brief testing, this reduces the number of calls to Page::updateRendering() by 10-25%
on some real pages, which could be a significant power saving.
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::scheduleAnimationResolution):
- display/DisplayLayerController.cpp:
(WebCore::Display::LayerController::scheduleRenderingUpdate):
- dom/Document.cpp:
(WebCore::Document::setNeedsDOMWindowResizeEvent):
(WebCore::Document::setNeedsVisualViewportResize):
(WebCore::Document::addPendingScrollEventTarget):
(WebCore::Document::setNeedsVisualViewportScrollEvent):
(WebCore::Document::serviceRequestAnimationFrameCallbacks):
(WebCore::Document::intersectionObserversInitialUpdateTimerFired):
(WebCore::Document::scheduleRenderingUpdate):
(WebCore::Document::scheduleInitialIntersectionObservationUpdate):
(WebCore::Document::updateResizeObservations):
(WebCore::Document::updateAnimationsAndSendEvents):
- dom/Document.h:
- dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::scheduleAnimation):
- page/EventHandler.cpp:
(WebCore::EventHandler::scheduleCursorUpdate):
- page/FrameView.cpp:
(WebCore::FrameView::setViewExposedRect):
- page/Page.cpp:
(WebCore::Page::updateStyleAfterChangeInEnvironment):
(WebCore::Page::scheduleRenderingUpdate):
(WebCore::Page::computeUnfulfilledRenderingSteps):
(WebCore::Page::triggerRenderingUpdateForTesting):
(WebCore::Page::updateRendering):
(WebCore::Page::isolatedUpdateRendering):
(WebCore::Page::doAfterUpdateRendering):
(WebCore::Page::finalizeRenderingUpdate):
(WebCore::Page::renderingUpdateCompleted):
(WebCore::Page::accessibilitySettingsDidChange):
(WebCore::Page::appearanceDidChange):
(WebCore::operator<<):
- page/Page.h:
- page/PageOverlayController.cpp:
(WebCore::PageOverlayController::didChangeViewExposedRect):
(WebCore::PageOverlayController::notifyFlushRequired):
- page/RenderingUpdateScheduler.cpp:
(WebCore::RenderingUpdateScheduler::scheduleAnimation):
(WebCore::RenderingUpdateScheduler::scheduleRenderingUpdate):
(WebCore::RenderingUpdateScheduler::startTimer):
(WebCore::RenderingUpdateScheduler::displayRefreshFired):
- page/RenderingUpdateScheduler.h:
- page/ResizeObserver.cpp:
(WebCore::ResizeObserver::observe):
- page/WheelEventTestMonitor.cpp:
(WebCore::WheelEventTestMonitor::setTestCallbackAndStartMonitoring):
(WebCore::WheelEventTestMonitor::scheduleCallbackCheck):
- page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::Highlight::notifyFlushRequired):
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::setEventTrackingRegionsDirty):
- page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::scheduleTreeStateCommit):
- platform/Logging.cpp:
(WebCore::initializeLogChannelsIfNecessary):
- platform/Logging.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::scheduleRenderingUpdateForImage):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::notifyFlushRequired):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::scheduleRenderingUpdate):
- rendering/RenderLayerCompositor.h:
Source/WebKit:
Schedule for layer flush.
- WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.cpp:
(WebKit::LayerTreeHost::layerFlushTimerFired):
Source/WebKitLegacy/mac:
Provide the flags.
- WebView/WebView.mm:
(-[WebView _scheduleRenderingUpdateForPendingTileCacheRepaint]):
Source/WTF:
Make it possible to dump Vectors with inline capacity.
- wtf/text/TextStream.h:
(WTF::operator<<):
- 2:21 PM Changeset in webkit [268074] by
-
- 11 edits in trunk/Source/WebKit
Use sendWithAsyncReply to evaluate JavaScript in a WebPage
https://bugs.webkit.org/show_bug.cgi?id=217351
Reviewed by Youenn Fablet.
No change in meaningful behavior, but complexity is removed.
- UIProcess/API/C/WKPage.cpp:
(WKPageRunJavaScriptInMainFrame):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _evaluateJavaScript:asAsyncFunction:withSourceURL:withArguments:forceUserGesture:inFrame:inWorld:completionHandler:]):
(-[WKWebView takeSnapshotWithConfiguration:completionHandler:]):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::runJavaScriptInMainFrame):
(WebKit::WebPageProxy::runJavaScriptInFrameInScriptWorld):
(WebKit::WebPageProxy::scriptValueCallback): Deleted.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::runJavaScript):
(WebKit::WebPage::runJavaScriptInFrameInScriptWorld):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- 2:18 PM Changeset in webkit [268073] by
-
- 8 edits in branches/safari-610-branch/Source
Versioning.
WebKit-7610.3.1
- 1:53 PM Changeset in webkit [268072] by
-
- 2 edits in trunk/Source/WebKit
[Cocoa] The WebContent development XPC service is not allowed to connect to the XPC endpoint in the Networking process
https://bugs.webkit.org/show_bug.cgi?id=217389
<rdar://problem/68585497>
Reviewed by Brent Fulgham.
The WebContent development XPC service is not allowed to connect to the XPC endpoint in the Networking process,
because this requires a private entitlement. The WebContent development XPC service is not allowed to have private
entitlements. The WebContent process needs to connect to the XPC endpoint in the Networking process in order to
receive the Launch Services database XPC object. This patch addresses this issue by allowing platform binaries
to connect to the XPC endpoint.
- Shared/Cocoa/XPCEndpoint.mm:
(WebKit::XPCEndpoint::XPCEndpoint):
- 1:51 PM Changeset in webkit [268071] by
-
- 4 edits in trunk/Tools
[build.webkit.org] Ensure that steps names are valid Buildbot identifiers
https://bugs.webkit.org/show_bug.cgi?id=217394
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/build.webkit.org-config/steps.py: Removed spaces from step names.
(ConfigureBuild):
(KillOldProcesses):
(CleanBuildIfScheduled):
(DeleteStaleBuildFiles):
(RunGLibAPITests):
- BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Updated unit-tests.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
- 1:37 PM Changeset in webkit [268070] by
-
- 28 edits1 move in trunk/Source
Rename MediaPlayerPrivateRemoteIdentifier to MediaPlayerIdentifier
https://bugs.webkit.org/show_bug.cgi?id=217397
Reviewed by Tim Horton.
Source/WebCore:
Move
MediaPlayerPrivateRemoteIdentifierinto WebCore, and rename it toMediaPlayerIdentifier, such that it
isn't necessarily limited to use for GPU Process code. This is preparation for introducing a display list
drawing item which will need to reference a remotely hostedMediaPlayer.
No change in behavior.
- Headers.cmake:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::identifier const):
- platform/graphics/MediaPlayer.h:
- platform/graphics/MediaPlayerIdentifier.h: Renamed from Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemoteIdentifier.h.
- platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::identifier const):
Source/WebKit:
Mass rename
MediaPlayerPrivateRemoteIdentifiertoWebCore::MediaPlayerIdentifier. See WebCore/ChangeLog for
more details.
- GPUProcess/media/RemoteLegacyCDMFactoryProxy.cpp:
(WebKit::RemoteLegacyCDMFactoryProxy::createCDM):
- GPUProcess/media/RemoteLegacyCDMFactoryProxy.h:
- GPUProcess/media/RemoteLegacyCDMFactoryProxy.messages.in:
- GPUProcess/media/RemoteLegacyCDMProxy.cpp:
(WebKit::RemoteLegacyCDMProxy::create):
(WebKit::RemoteLegacyCDMProxy::RemoteLegacyCDMProxy):
(WebKit::RemoteLegacyCDMProxy::setPlayerId):
- GPUProcess/media/RemoteLegacyCDMProxy.h:
- GPUProcess/media/RemoteLegacyCDMProxy.messages.in:
- GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:
(WebKit::RemoteMediaPlayerManagerProxy::createMediaPlayer):
(WebKit::RemoteMediaPlayerManagerProxy::deleteMediaPlayer):
(WebKit::RemoteMediaPlayerManagerProxy::didReceivePlayerMessage):
(WebKit::RemoteMediaPlayerManagerProxy::didReceiveSyncPlayerMessage):
(WebKit::RemoteMediaPlayerManagerProxy::getProxy):
- GPUProcess/media/RemoteMediaPlayerManagerProxy.h:
- GPUProcess/media/RemoteMediaPlayerManagerProxy.messages.in:
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::RemoteMediaPlayerProxy):
- GPUProcess/media/RemoteMediaPlayerProxy.h:
- Scripts/webkit/messages.py:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::MediaPlayerPrivateRemote):
(WebKit::MediaPlayerPrivateRemote::identifier const):
- WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
- WebProcess/GPU/media/RemoteLegacyCDM.cpp:
(WebKit::RemoteLegacyCDM::setPlayerId):
- WebProcess/GPU/media/RemoteLegacyCDM.h:
- WebProcess/GPU/media/RemoteLegacyCDMFactory.cpp:
(WebKit::RemoteLegacyCDMFactory::createCDM):
- WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:
(WebKit::RemoteMediaPlayerManager::createRemoteMediaPlayer):
(WebKit::RemoteMediaPlayerManager::deleteRemoteMediaPlayer):
(WebKit::RemoteMediaPlayerManager::findRemotePlayerId):
(WebKit::RemoteMediaPlayerManager::didReceivePlayerMessage):
- WebProcess/GPU/media/RemoteMediaPlayerManager.h:
- WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm:
(WebKit::MediaPlayerPrivateRemote::MediaPlayerPrivateRemote):
- 1:29 PM Changeset in webkit [268069] by
-
- 2 edits in trunk/LayoutTests
[Media in GPU Process] Enable some layout tests
Unreviewed test gardening.
- gpu-process/TestExpectations:
- 1:14 PM Changeset in webkit [268068] by
-
- 2 edits in branches/safari-610.2.8.1-branch/Source/WebKit
Cherry-pick r268019. rdar://problem/70012479
Change a PDF RELEASE_ASSERT to an early return.
rdar://problem/69805240 and https://bugs.webkit.org/show_bug.cgi?id=217346
Reviewed by Tim Horton.
No new tests (Wish they were possible)
- WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::PDFPlugin::installPDFDocument): This release assert is getting hit regularly. Change to an early return while we continue tracking this down.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268019 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:11 PM Changeset in webkit [268067] by
-
- 8 edits in branches/safari-610.2.8.1-branch/Source
Versioning.
WebKit-7610.2.8.1.1
- 12:58 PM Changeset in webkit [268066] by
-
- 1 copy in branches/safari-610.2.8.1-branch
New branch.
- 12:39 PM Changeset in webkit [268065] by
-
- 13 edits2 adds2 deletes in trunk/Source/WebKit
Move ownership of DownloadClient from WebProcessPool to DownloadProxy
https://bugs.webkit.org/show_bug.cgi?id=217399
Reviewed by Tim Horton.
To keep binary compatibility, the WebProcessPool has a nullable DownloadClient that is used if it has been set.
This will allow us to get a DownloadClient from elsewhere, such as having the API Download object have its own delegate
or having the WKWebsiteDataStore have a delegate, which are two of the solutions I've considered. We definitely don't
want it on the WebProcessPool, though.
- SourcesCocoa.txt:
- UIProcess/API/APIDownloadClient.h:
- UIProcess/API/C/WKContext.cpp:
(WKContextSetDownloadClient):
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _setDownloadDelegate:]):
- UIProcess/API/glib/WebKitDownloadClient.cpp:
(attachDownloadClientToContext):
- UIProcess/API/glib/WebKitWebContext.cpp:
(webkitWebContextDispose):
- UIProcess/Cocoa/LegacyDownloadClient.h: Renamed from Source/WebKit/UIProcess/Cocoa/DownloadClient.h.
- UIProcess/Cocoa/LegacyDownloadClient.mm: Renamed from Source/WebKit/UIProcess/Cocoa/DownloadClient.mm.
(WebKit::LegacyDownloadClient::LegacyDownloadClient):
(WebKit::LegacyDownloadClient::didStart):
(WebKit::LegacyDownloadClient::didReceiveResponse):
(WebKit::LegacyDownloadClient::didReceiveData):
(WebKit::LegacyDownloadClient::didReceiveAuthenticationChallenge):
(WebKit::LegacyDownloadClient::didCreateDestination):
(WebKit::LegacyDownloadClient::processDidCrash):
(WebKit::LegacyDownloadClient::decideDestinationWithSuggestedFilename):
(WebKit::LegacyDownloadClient::didFinish):
(WebKit::LegacyDownloadClient::didFail):
(WebKit::LegacyDownloadClient::didCancel):
(WebKit::LegacyDownloadClient::willSendRequest):
(WebKit::LegacyDownloadClient::takeActivityToken):
(WebKit::LegacyDownloadClient::releaseActivityTokenIfNecessary):
- UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::DownloadProxy):
(WebKit::DownloadProxy::cancel):
(WebKit::DownloadProxy::invalidate):
(WebKit::DownloadProxy::processDidClose):
(WebKit::DownloadProxy::didStart):
(WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
(WebKit::DownloadProxy::willSendRequest):
(WebKit::DownloadProxy::didReceiveResponse):
(WebKit::DownloadProxy::didReceiveData):
(WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
(WebKit::DownloadProxy::didCreateDestination):
(WebKit::DownloadProxy::didFinish):
(WebKit::DownloadProxy::didFail):
(WebKit::DownloadProxy::didCancel):
(WebKit::DownloadProxy::~DownloadProxy): Deleted.
- UIProcess/Downloads/DownloadProxy.h:
- UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::createDownloadProxy):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::WebProcessPool):
(WebKit::WebProcessPool::setLegacyDownloadClient):
(WebKit::WebProcessPool::setDownloadClient): Deleted.
- UIProcess/WebProcessPool.h:
- WebKit.xcodeproj/project.pbxproj:
- 12:36 PM Changeset in webkit [268064] by
-
- 10 edits in trunk/Source/WebCore
Rename namespace Packed to namespace PackedColor
https://bugs.webkit.org/show_bug.cgi?id=217391
Reviewed by Simon Fraser.
Otherwise "using WTF::Packed;" in wtf/Packed.h causes problems if both headers are included in the same translation unit.
- css/StyleColor.cpp:
(WebCore::StyleColor::colorFromKeyword):
- css/parser/CSSParserFastPaths.cpp:
(WebCore::finishParsingHexColor):
(WebCore::finishParsingNamedColor):
- platform/graphics/Color.h:
(WebCore::Color::asInline const):
(WebCore::Color::setColor):
(WebCore::Color::encode const):
(WebCore::Color::decode):
- platform/graphics/ColorTypes.h:
(WebCore::asSRGBA):
(WebCore::Packed::RGBA::RGBA): Deleted.
(WebCore::Packed::ARGB::ARGB): Deleted.
- platform/graphics/ImageBackingStore.h:
(WebCore::ImageBackingStore::blendPixel):
(WebCore::ImageBackingStore::pixelValue const):
- platform/graphics/cg/ColorCG.cpp:
(WebCore::cachedCGColor):
- platform/graphics/mac/ColorMac.mm:
(WebCore::nsColor):
- 12:08 PM Changeset in webkit [268063] by
-
- 5 edits in trunk/Source/WebCore
[LFC][Floating] Remove redundant FormattingContextRoot in FloatingContext c'tor
https://bugs.webkit.org/show_bug.cgi?id=217398
Reviewed by Antti Koivisto.
No need to pass in the root now that FormattingContext has the root() getter.
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
- layout/floats/FloatingContext.cpp:
(WebCore::Layout::FloatingContext::FloatingContext):
- layout/floats/FloatingContext.h:
(WebCore::Layout::FloatingContext::root const):
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::lineLayout):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthForConstraint const):
(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):
- 12:04 PM Changeset in webkit [268062] by
-
- 2 edits in branches/safari-610-branch/Source/WebKit
Cherry-pick r268030. rdar://problem/70010322
Break reference cycle with NSURLSessionDataTask in NetworkDataTaskCocoa
https://bugs.webkit.org/show_bug.cgi?id=217347
<rdar://problem/69483575>
Reviewed by Geoffrey Garen.
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: (WebKit::NetworkDataTaskCocoa::applyCookiePolicyForThirdPartyCNAMECloaking):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268030 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:51 AM Changeset in webkit [268061] by
-
- 2 edits in branches/safari-610-branch/Source/WebKit
Cherry-pick r268019. rdar://problem/70005083
Change a PDF RELEASE_ASSERT to an early return.
rdar://problem/69805240 and https://bugs.webkit.org/show_bug.cgi?id=217346
Reviewed by Tim Horton.
No new tests (Wish they were possible)
- WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::PDFPlugin::installPDFDocument): This release assert is getting hit regularly. Change to an early return while we continue tracking this down.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268019 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:48 AM Changeset in webkit [268060] by
-
- 8 edits2 deletes in branches/safari-610-branch
Revert r266909. rdar://problem/69101091
- 11:42 AM Changeset in webkit [268059] by
-
- 2 edits in trunk/Tools
run-minibrowser not compatible with python3
https://bugs.webkit.org/show_bug.cgi?id=217368
Patch by Philippe Normand <pnormand@igalia.com> on 2020-10-06
Reviewed by Adrian Perez de Castro.
- Scripts/webkitpy/minibrowser/run_webkit_app.py: Use webkitcorepy's unicode().
- 10:38 AM Changeset in webkit [268058] by
-
- 2 edits in trunk/Source/WebCore
[macOS] Bump reported current shipping release UA to 10_15_7
https://bugs.webkit.org/show_bug.cgi?id=217364
<rdar://problem/69984962>
Patch by Luming Yin <luming_yin@apple.com> on 2020-10-06
Reviewed by Alex Christensen.
Bump the reported current shipping release UA from 10_15_6 to 10_15_7.
- platform/mac/UserAgentMac.mm:
(WebCore::standardUserAgentWithApplicationName):
- 10:18 AM Changeset in webkit [268057] by
-
- 26 edits1 copy2 adds in trunk
Source/WebCore:
Update Worklet.addModule() to actually fetch and evaluate the module script
https://bugs.webkit.org/show_bug.cgi?id=217242
Reviewed by Geoffrey Garen.
Update Worklet.addModule() to actually fetch and evaluate the module script as per:
The WorkletGlobalScope maintains a queue of fetch requests (basically a URL and a completion handler) and uses
the existing WorkerScriptLoader to process the requests serially. Based on the result on the load, we call the
CompletionHandler which will cause the Worklet.addModule() promise to get resolved or rejected.
Test: webaudio/audioworklet-addModule-failure.html
- Modules/webaudio/AudioWorkletGlobalScope.cpp:
- Modules/webaudio/AudioWorkletGlobalScope.h:
Provide workerOrWorkletThread() override for WorkerOrWorkletGlobalScope(), which is a replacement
for underlyingThread().
- Modules/webaudio/AudioWorkletMessagingProxy.cpp:
(WebCore::AudioWorkletMessagingProxy::AudioWorkletMessagingProxy):
(WebCore::AudioWorkletMessagingProxy::createCacheStorageConnection):
(WebCore::AudioWorkletMessagingProxy::postTaskToLoader):
(WebCore::AudioWorkletMessagingProxy::postTaskForModeToWorkerOrWorkletGlobalScope):
- Modules/webaudio/AudioWorkletMessagingProxy.h:
Update AudioWorkletMessagingProxy to subclass WorkerLoaderProxy so that AudioWorklet can reuse
WorkerScriptLoader. WorkerScriptLoader relies on WorkerLoaderProxy to do thread hopping.
- Modules/webaudio/AudioWorkletThread.cpp:
(WebCore::AudioWorkletThread::AudioWorkletThread):
(WebCore::AudioWorkletThread::workerLoaderProxy):
- Modules/webaudio/AudioWorkletThread.h:
(WebCore::AudioWorkletThread::create):
Subclass the new WorkerOrWorkletThread interface. WorkerOrWorkletThread is a new interface that
was adding so that WorkerScriptLoader can be reused by AudioWorklets.
- Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::Peer::send):
(WebCore::WorkerThreadableWebSocketChannel::Peer::bufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessage):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didUpdateBufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didUpgradeURL):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
Simple renaming.
- WebCore.xcodeproj/project.pbxproj:
- loader/ThreadableLoader.cpp:
(WebCore::ThreadableLoader::create):
- loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
(WebCore::WorkerThreadableLoader::loadResourceSynchronously):
(WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
(WebCore::WorkerThreadableLoader::MainThreadBridge::notifyIsDone):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishTiming):
- loader/WorkerThreadableLoader.h:
(WebCore::WorkerThreadableLoader::create):
Update WorkerThreadableLoader so that it can be reused by AudioWorklets.
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::wrapCryptoKey):
(WebCore::WorkerGlobalScope::unwrapCryptoKey):
- workers/WorkerGlobalScope.h:
Minor changes to keep building after updates to WorkerOrWorkletGlobalScope.
- workers/WorkerLoaderProxy.h:
- workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::createCacheStorageConnection):
(WebCore::WorkerMessagingProxy::postTaskForModeToWorkerOrWorkletGlobalScope):
- workers/WorkerMessagingProxy.h:
Simple renames.
- workers/WorkerOrWorkletGlobalScope.h:
(WebCore::WorkerOrWorkletGlobalScope::createUniqueIdentifier):
Update WorkerOrWorkletGlobalScope to add a few things WorkerScriptLoader needed to work with
both Workers and Worklets.
- workers/WorkerOrWorkletThread.h: Added.
Added new parent interface for WorkerThread and AudioWorkletThread so that WorkerScriptLoader
can work for both Workers and Worklets.
- workers/WorkerRunLoop.cpp:
(WebCore::WorkerRunLoop::runInMode):
(WebCore::WorkerRunLoop::runCleanupTasks):
Minor changes to keep building after changes to WorkerOrWorkletGlobalScope.
- workers/WorkerThread.h:
Subclass the new WorkerOrWorkletThread interface.
- workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::postTaskForModeToWorkerOrWorkletGlobalScope):
(WebCore::ServiceWorkerThreadProxy::createCacheStorageConnection):
(WebCore::ServiceWorkerThreadProxy::notifyNetworkStateChange):
(WebCore::ServiceWorkerThreadProxy::startFetch):
(WebCore::ServiceWorkerThreadProxy::cancelFetch):
(WebCore::ServiceWorkerThreadProxy::continueDidReceiveFetchResponse):
- workers/service/context/ServiceWorkerThreadProxy.h:
Simple renames.
- worklets/WorkletGlobalScope.cpp:
(WebCore::WorkletGlobalScope::WorkletGlobalScope):
Make sure we correctly initialize the security origin for the WorkletGlobalScope.
Previously, we were using a unique origin so all script loads would have failed
with a cross-origin error.
(WebCore::WorkletGlobalScope::fetchAndInvokeScript):
(WebCore::WorkletGlobalScope::processNextScriptFetchJobIfNeeded):
(WebCore::WorkletGlobalScope::didReceiveResponse):
(WebCore::WorkletGlobalScope::notifyFinished):
(WebCore::WorkletGlobalScope::didCompleteScriptFetchJob):
- worklets/WorkletGlobalScope.h:
(WebCore::WorkletGlobalScope::responsibleDocument):
(WebCore::WorkletGlobalScope::responsibleDocument const):
Add implementation for module script fetching using WorkerScriptLoader. This gets called
when Worklet.addModule() is called on the main thread.
LayoutTests:
Update Worklet.addModule() to actually fetch the module script
https://bugs.webkit.org/show_bug.cgi?id=217242
Reviewed by Geoffrey Garen.
Add layout test coverage.
- webaudio/audioworklet-addModule-failure-expected.txt: Added.
- webaudio/audioworklet-addModule-failure.html: Added.
- 10:01 AM Changeset in webkit [268056] by
-
- 2 edits in branches/safari-610-branch/Tools
Cherry-pick r267448. rdar://problem/69727369
Make TLSVersion API tests more robust.
https://bugs.webkit.org/show_bug.cgi?id=216704
Like I did in r267278, the TLSVersion.ShouldAllowDeprecatedTLS API test was also asserting with TCPServer,
so use HTTPServer which gracefully handles a variable number of connection attempts.
The NetworkSession tests that use NSUserDefaults need to be split into a separate test for bug 216041,
so may as well do that here, too.
- TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm: (TestWebKitAPI::makeWebViewWith): (TestWebKitAPI::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267448 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:59 AM Changeset in webkit [268055] by
-
- 12 edits in trunk/Source/WebCore
[LFC][Integration] Add renderer() to iterator
https://bugs.webkit.org/show_bug.cgi?id=217382
Reviewed by Zalan Bujtas.
Also use it while converting RenderedPosition for the iterator.
- dom/Position.h:
- editing/RenderedPosition.cpp:
(WebCore::rendererFromPosition):
(WebCore::RenderedPosition::RenderedPosition):
(WebCore::RenderedPosition::previousLeafOnLine const):
(WebCore::RenderedPosition::nextLeafOnLine const):
(WebCore::RenderedPosition::isEquivalent const):
(WebCore::RenderedPosition::bidiLevelOnLeft const):
(WebCore::RenderedPosition::bidiLevelOnRight const):
(WebCore::RenderedPosition::leftBoundaryOfBidiRun):
(WebCore::RenderedPosition::rightBoundaryOfBidiRun):
(WebCore::RenderedPosition::atLeftBoundaryOfBidiRun const):
(WebCore::RenderedPosition::atRightBoundaryOfBidiRun const):
(WebCore::RenderedPosition::positionAtLeftBoundaryOfBiDiRun const):
(WebCore::RenderedPosition::positionAtRightBoundaryOfBiDiRun const):
(WebCore::RenderedPosition::absoluteRect const):
(WebCore::renderObjectContainsPosition):
- editing/RenderedPosition.h:
(WebCore::RenderedPosition::rootBox):
(WebCore::RenderedPosition::atLeftmostOffsetInBox const):
(WebCore::RenderedPosition::atRightmostOffsetInBox const):
(WebCore::RenderedPosition::uncachedInlineBox): Deleted.
(WebCore::RenderedPosition::RenderedPosition): Deleted.
- layout/integration/LayoutIntegrationInlineContent.cpp:
(WebCore::LayoutIntegration::InlineContent::InlineContent):
(WebCore::LayoutIntegration::InlineContent::lineLayout const):
(WebCore::LayoutIntegration::InlineContent::rendererForLayoutBox const):
- layout/integration/LayoutIntegrationInlineContent.h:
(WebCore::LayoutIntegration::InlineContent::create):
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::ensureInlineContent):
(WebCore::LayoutIntegration::LineLayout::rendererForLayoutBox const):
- layout/integration/LayoutIntegrationLineLayout.h:
- layout/integration/LayoutIntegrationPagination.cpp:
(WebCore::LayoutIntegration::makeAdjustedContent):
- layout/integration/LayoutIntegrationRunIterator.h:
(WebCore::LayoutIntegration::PathRun::renderer const):
- layout/integration/LayoutIntegrationRunIteratorLegacyPath.h:
(WebCore::LayoutIntegration::LegacyPath::isLastTextRunOnLine const):
(WebCore::LayoutIntegration::LegacyPath::isLastTextRun const):
(WebCore::LayoutIntegration::LegacyPath::renderer const):
- layout/integration/LayoutIntegrationRunIteratorModernPath.h:
(WebCore::LayoutIntegration::ModernPath::renderer const):
- 9:45 AM Changeset in webkit [268054] by
-
- 16 edits in trunk
FileReader should transition to readyState DONE after last onprogress event
https://bugs.webkit.org/show_bug.cgi?id=217333
Patch by Alex Christensen <achristensen@webkit.org> on 2020-10-06
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
- web-platform-tests/FileAPI/FileReader/workers-expected.txt:
- web-platform-tests/FileAPI/fileReader-expected.txt:
- web-platform-tests/FileAPI/fileReader.html:
- web-platform-tests/FileAPI/reading-data-section/FileReader-multiple-reads-expected.txt:
- web-platform-tests/FileAPI/reading-data-section/filereader_abort-expected.txt:
- web-platform-tests/FileAPI/reading-data-section/filereader_readAsArrayBuffer-expected.txt:
- web-platform-tests/FileAPI/reading-data-section/filereader_readAsBinaryString-expected.txt:
- web-platform-tests/FileAPI/reading-data-section/filereader_readAsDataURL-expected.txt:
- web-platform-tests/FileAPI/reading-data-section/filereader_readAsText-expected.txt:
Source/WebCore:
I also bring the abort function in alignment with https://w3c.github.io/FileAPI/
and the behavior of Chrome and Firefox.
As suggested by Chris, I added a bool to remember if loading is complete so we can
retain existing behavior when abort is called inside the last onprogress event.
This is not mentioned by the spec yet, but it matches the existing behavior and the
behavior of Chrome, so I added a web platform test for it.
- fileapi/FileReader.cpp:
(WebCore::FileReader::abort):
(WebCore::FileReader::didFinishLoading):
(WebCore::FileReader::didFail):
- fileapi/FileReader.h:
LayoutTests:
- fast/files/file-reader-abort-expected.txt:
- fast/files/file-reader-abort-using-open-panel-expected.txt:
Update expectations to reflect new behavior that onerror is not called before onabort,
matching Chrome, Firefox, and the specification.
- 9:40 AM Changeset in webkit [268053] by
-
- 8 edits in branches/safari-610-branch/Source
Revert "Versioning."
- 9:14 AM Changeset in webkit [268052] by
-
- 5 edits in trunk/Source
Enable video capture in WebProcess by default on MacOS
https://bugs.webkit.org/show_bug.cgi?id=217385
<rdar://problem/69999542>
Reviewed by Sam Weinig.
Source/WebKit:
Manually tested in MiniBrowser.
- Shared/WebPreferencesDefaultValues.cpp:
- Shared/WebPreferencesDefaultValues.h:
Source/WTF:
- Scripts/Preferences/WebPreferencesInternal.yaml:
- 8:58 AM Changeset in webkit [268051] by
-
- 4 edits in trunk/LayoutTests
[GLIB] Unreviewed test gardening. Skip LFC tests.
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
- 8:45 AM Changeset in webkit [268050] by
-
- 10 edits in trunk
Align URL setters with reasonably behaving other browsers
https://bugs.webkit.org/show_bug.cgi?id=217366
Patch by Alex Christensen <achristensen@webkit.org> on 2020-10-06
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
- web-platform-tests/url/url-setters-expected.txt:
Source/WTF:
Firefox ignores everything after '/', '?', '#', and '\' in special URL schemes when setting the host to a new value.
Chrome doesn't add another '/' to the beginning of the path if it's a special scheme and starts with '\'.
I think these behaviors make sense, and aligning with these behaviors makes it so there are no tests in url-setters.html
that any other browser passes that we don't also pass.
Once https://github.com/whatwg/url/issues/551 is resolved this will also be reflected in spec wording.
- wtf/URL.cpp:
(WTF::URL::hasSpecialScheme const):
(WTF::forwardSlashHashOrQuestionMark):
(WTF::slashHashOrQuestionMark):
(WTF::URL::setHost):
(WTF::URL::setPath):
- wtf/URL.h:
LayoutTests:
- fast/dom/DOMURL/set-href-attribute-host-expected.txt:
- fast/dom/DOMURL/set-href-attribute-host.html:
- fast/dom/HTMLAnchorElement/set-href-attribute-host-expected.txt:
- fast/dom/HTMLAnchorElement/set-href-attribute-host.html:
- 8:27 AM Changeset in webkit [268049] by
-
- 18 edits in trunk/Source
Rename scheduleTimedRenderingUpdate() to scheduleRenderingUpdate() everywhere
https://bugs.webkit.org/show_bug.cgi?id=217367
Reviewed by Alex Christensen.
The previously named scheduleImmediateRenderingUpdate() is no more, so all rendering
updates that WebCore knows about are of the timed variety. So just call them
scheduleRenderingUpdate() everywhere.
Source/WebCore:
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::scheduleAnimationResolution):
- dom/Document.cpp:
(WebCore::Document::setNeedsDOMWindowResizeEvent):
(WebCore::Document::setNeedsVisualViewportResize):
(WebCore::Document::addPendingScrollEventTarget):
(WebCore::Document::setNeedsVisualViewportScrollEvent):
(WebCore::Document::scheduleRenderingUpdate):
(WebCore::Document::scheduleInitialIntersectionObservationUpdate):
(WebCore::Document::updateResizeObservations):
(WebCore::Document::scheduleTimedRenderingUpdate): Deleted.
- dom/Document.h:
- dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::scheduleAnimation):
- page/ChromeClient.h:
(WebCore::ChromeClient::scheduleRenderingUpdate):
(WebCore::ChromeClient::scheduleTimedRenderingUpdate): Deleted.
- page/Page.cpp:
(WebCore::Page::updateStyleAfterChangeInEnvironment):
(WebCore::Page::scheduleRenderingUpdate):
(WebCore::Page::accessibilitySettingsDidChange):
(WebCore::Page::appearanceDidChange):
(WebCore::Page::scheduleTimedRenderingUpdate): Deleted.
- page/Page.h:
- page/PageOverlayController.cpp:
(WebCore::PageOverlayController::didChangeViewExposedRect):
(WebCore::PageOverlayController::notifyFlushRequired):
- page/RenderingUpdateScheduler.cpp:
(WebCore::RenderingUpdateScheduler::adjustRenderingUpdateFrequency):
(WebCore::RenderingUpdateScheduler::scheduleRenderingUpdate):
(WebCore::RenderingUpdateScheduler::scheduleTimedRenderingUpdate): Deleted.
- page/RenderingUpdateScheduler.h:
- page/ResizeObserver.cpp:
(WebCore::ResizeObserver::observe):
- page/linux/ResourceUsageOverlayLinux.cpp:
- page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::Highlight::notifyFlushRequired):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::scheduleRenderingUpdateForImage):
- svg/graphics/SVGImageClients.h:
Source/WebKit:
- WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.cpp:
(WebKit::LayerTreeHost::layerFlushTimerFired):
- 7:51 AM Changeset in webkit [268048] by
-
- 2 edits in trunk/LayoutTests
[GLIB] Unreviewed test gardening. Remove tests passing.
- platform/glib/TestExpectations:
- 6:41 AM Changeset in webkit [268047] by
-
- 4 edits in trunk
In case all tracks are ended, enqueue a task to stop recording instead of stopping recording
https://bugs.webkit.org/show_bug.cgi?id=217372
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
- web-platform-tests/mediacapture-record/MediaRecorder-stop-expected.txt:
Source/WebCore:
Covered by updated test.
- Modules/mediarecorder/MediaRecorder.cpp:
(WebCore::MediaRecorder::trackEnded):
- 6:23 AM Changeset in webkit [268046] by
-
- 4 edits in trunk
REGRESSION(r267399): [WPE] Build broken with ENABLE_ACCESSIBILITY=OFF
https://bugs.webkit.org/show_bug.cgi?id=217380
Reviewed by Philippe Normand.
Before the ATK::Bridge target got introduced in r267399 a couple of CMake variables were
used, which were empty when the accessility support was disabled and nothing was being
added to the WebKit and WPEToolingBackends targets. Now that an imported target is used
it is needed to add it as a dependency conditionally to avoid using an undefined target
name.
Source/WebKit:
No new tests needed.
- PlatformWPE.cmake: Use the ATK::Bridge target only when ENABLE_ACCESSIBILITY is set.
Tools:
- wpe/backends/CMakeLists.txt: Use the ATK::Bridge target only when ENABLE_ACCESSIBILITY is set.
- 4:51 AM Changeset in webkit [268045] by
-
- 2 edits in trunk/LayoutTests
[GTK] Unreviewed test gardening. Remove tests passing.
- platform/gtk/TestExpectations:
- 2:59 AM Changeset in webkit [268044] by
-
- 2 edits in trunk/LayoutTests
[WPE] Unreviewed test gardening. Remove test passing.
- platform/wpe/TestExpectations:
- 2:34 AM Changeset in webkit [268043] by
-
- 6 edits in trunk
Make value parameter in Document.execCommand non nullable
https://bugs.webkit.org/show_bug.cgi?id=217331
Patch by Rob Buis <rbuis@igalia.com> on 2020-10-06
Reviewed by Sam Weinig.
Source/WebCore:
Make value parameter in Document.execCommand non nullable [1].
Test: editing/execCommand/arguments-combinations.html
[1] https://html.spec.whatwg.org/#document
- dom/Document+HTML.idl:
- editing/EditorCommand.cpp:
(WebCore::executeInsertImage):
LayoutTests:
Adapt test to change.
- editing/execCommand/arguments-combinations-expected.txt:
- editing/execCommand/arguments-combinations.html:
- 2:07 AM Changeset in webkit [268042] by
-
- 2 edits in trunk/LayoutTests
[WPE] Unreviewed test gardening. Update test expectations after r268038.
- platform/wpe/TestExpectations:
- 1:53 AM Changeset in webkit [268041] by
-
- 3 edits in trunk/LayoutTests
[GTK][WPE] Update baseline of WPT test css/cssom/cssstyledeclaration-csstext.html after r267985
Unreviewed test gardening.
- platform/gtk/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
- 1:45 AM Changeset in webkit [268040] by
-
- 2 edits1 delete in trunk/LayoutTests
[GLIB] Update two webaudio tests baselines after r268006
Unreviewed test gardening.
- platform/glib/webaudio/Analyser/realtimeanalyser-fftsize-reset-expected.txt: Updated.
- platform/glib/webaudio/Analyser/realtimeanalyser-freq-data-expected.txt: Removed.
- 1:37 AM Changeset in webkit [268039] by
-
- 4 edits in trunk/LayoutTests
[GLIB] Move two common cache tests to GLIB test expectations.
Unreviewed test gardening.
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
- 1:06 AM Changeset in webkit [268038] by
-
- 7 edits in trunk/Source
Non-unified build fixes, early October 2020 edition, take two
https://bugs.webkit.org/show_bug.cgi?id=217344
Unreviewed build fix.
Source/WebCore:
No new tests needed.
- Modules/contact-picker/ContactInfo.h: Add missing wtf/Forward.h and wtf/Vector.h headers.
- Modules/webaudio/AudioWorkletProcessor.h: Add missing wtf/Ref.h header.
- Modules/webaudio/AudioWorkletProcessorConstructor.h: Add missing JavaScriptCore/Strong.h header.
- rendering/RenderTextLineBoxes.cpp: Add missing VisiblePosition.h header.
Source/WebKit:
- UIProcess/WebProcessProxy.cpp: Add missing WebAutomationSession.h header.