Timeline
Feb 24, 2018:
- 3:30 PM Changeset in webkit [228976] by
-
- 2 edits in trunk/Tools
Unreviewed, fix the TestWebKitAPI build after r228825.
I removed a
>= iOS 11check in r228825, but forgot that this was also neeed to guard against tvOS and watchOS
builds. This fixes the build by restoring the compile-time guard and also makes it explicit for these platforms.
- TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
- 2:06 PM Changeset in webkit [228975] by
-
- 4 edits in trunk/Source/WebCore
Null-dereference of the second argument
resourceof DocumentLoader::scheduleSubstituteResourceLoad
https://bugs.webkit.org/show_bug.cgi?id=182920
Patch by Fujii Hironori <Fujii Hironori> on 2018-02-24
Reviewed by Darin Adler.
A test case
imported/w3c/web-platform-tests/html/browsers/offline/appcache/workers/appcache-worker.html
always crashes due to a null-dereference if compiled and optimized
by GCC 7.2. The second argumentresourceof
DocumentLoader::scheduleSubstituteResourceLoad can be null if the
resource can't be found in cache. I guess GCC optimizes inline
HashMap::add based on assuming theresourcenever becomes null
because its type is SubstituteResource&.
This changes introduces a new method
DocumentLoader::scheduleCannotShowURLError because it looks tricky
to pass a nullptr to the second argument of
scheduleSubstituteResourceLoad.
No new tests (Covered by existing tests).
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::scheduleCannotShowURLError): Added a new method.
- loader/DocumentLoader.h:
- loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::maybeLoadResource):
Call scheduleCannotShowURLError if the resource not found in the appcache.
- 1:47 PM Changeset in webkit [228974] by
-
- 23 edits in trunk/Source
Prepare for ExtendedColor changes (first step)
https://bugs.webkit.org/show_bug.cgi?id=182904
Reviewed by Sam Weinig.
Source/WebCore:
- css/CSSValuePool.cpp:
(WebCore::CSSValuePool::createColorValue): Use HashMap::ensure.
(WebCore::CSSValuePool::createFontFamilyValue): Ditto.
(WebCore::CSSValuePool::createFontFaceValue): Ditto.
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::maybeParseValue): Tightened up
the logic a bit.
- html/canvas/CanvasRenderingContext2D.cpp: Removed many unneeded includes.
- inspector/InspectorCanvas.cpp:
(WebCore::InspectorCanvas::recordAction): Updated for Ref instead of
RefPtr and to use move semantics.
(WebCore::buildArrayForAffineTransform): Return Ref instead of RefPtr.
(WebCore::buildArrayForVector): Ditto.
(WebCore::InspectorCanvas::buildInitialState): Ditto. Also use auto more.
(WebCore::InspectorCanvas::buildAction): Ditto.
(WebCore::InspectorCanvas::buildArrayForCanvasGradient): Ditto.
(WebCore::InspectorCanvas::buildArrayForCanvasPattern): Ditto.
(WebCore::InspectorCanvas::buildArrayForImageData): Ditto.
- inspector/InspectorCanvas.h: Updated for the above. Also us "using" instead
of typedef and removed unneeded ErrorString typedef and some includes.
- page/DragController.cpp:
(WebCore::DragController::concludeEditDrag): Use auto and Ref.
- platform/DragData.h: Used pragma once and reorganized includes a bit.
- platform/graphics/ImageFrame.h:
(WebCore::ImageFrame::frameBytes const): Use uint32_t instead of RGBA32 to
prepare for removal of the RGBA32 type coming in a future patch.
- platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::cacheNativeImageAtIndex): Ditto.
(WebCore::ImageSource::canUseAsyncDecoding): Ditto.
- platform/graphics/cocoa/GraphicsContextCocoa.mm: Tweaked #if for Mac-only
code to use PLATFORM(MAC) to be easier to read.
(WebCore::GraphicsContext::focusRingColor): Use sRGBColorSpaceRef instead of
calling CGColorSpaceCreateWithName each time.
- platform/graphics/texmap/TextureMapperFPSCounter.cpp: Added include needed
now that it was removed from some header.
- platform/graphics/win/GraphicsContextPlatformPrivateDirect2D.h: Use uint32_t
instead of RGBA32 to prepare for removal of the RGBA32 type coming in a future patch.
- platform/image-decoders/ScalableImageDecoder.cpp:
(WebCore::ScalableImageDecoder::frameBytesAtIndex const): Ditto.
- platform/image-decoders/cairo/ImageBackingStoreCairo.cpp:
(WebCore::ImageBackingStore::image const): Ditto.
- platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::haveDecodedRow): Ditto.
- platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::setPixel): Ditto.
(WebCore::JPEGImageDecoder::outputScanlines): Ditto.
- platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::rowAvailable): Ditto.
(WebCore::PNGImageDecoder::frameComplete): Ditto.
- platform/image-decoders/webp/WEBPImageDecoder.cpp:
(WebCore::WEBPImageDecoder::decodeFrame): Ditto.
(WebCore::WEBPImageDecoder::applyPostProcessing): Ditto.
- platform/mac/PlatformPasteboardMac.mm:
(WebCore::PlatformPasteboard::color): Added comments.
- rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::paintSelection): Use Color::isVisible.
Source/WebKitLegacy/mac:
- Misc/WebKitNSStringExtras.mm:
(-[NSString _web_drawAtPoint:font:textColor:]): Use colorFromNSColor.
- 3:31 AM Changeset in webkit [228973] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed WPE breakage fix.
- WebProcess/wpe/WebProcessMainWPE.cpp: Call g_set_prgname() in WebProcess
to prepare the GLib state for subsequent GStreamer initialization.
Feb 23, 2018:
- 10:36 PM Changeset in webkit [228972] by
-
- 6 edits in trunk/Source/WebCore
Crash under SchemeRegistry::shouldTreatURLSchemeAsLocal(WTF::String const&)
https://bugs.webkit.org/show_bug.cgi?id=183066
<rdar://problem/37804111>
Reviewed by Ryosuke Niwa.
SecurityOrigin objects are constructed on various threads. However, someone added a
shouldTreatAsPotentiallyTrustworthy() call to the SecurityOrigin constructor which
was not thread safe. This is because this function relies on SchemeRegistry::shouldTreatURLSchemeAsSecure()
and SchemeRegistry::shouldTreatURLSchemeAsLocal() which were relying on global static HashMaps without
locks.
Update SecurityOrigin to initialize m_isPotentiallyTrustworthy lazily, to avoid paying
initialization cost in the constructor. This is only queries by SecurityContext::isSecureContext().
Make SchemeRegistry::shouldTreatURLSchemeAsLocal() and SchemeRegistry::shouldTreatURLSchemeAsSecure()
thread-safe, since they are needed to initialize SecurityOrigin::m_isPotentiallyTrustworthy from
various threads.
SchemeRegistry::shouldTreatURLSchemeAsSecure() is only called from SecurityOrigin (which requires
thread-safety), and getUserMedia() which is not hot code so the extra locking there should not
be an issue.
SchemeRegistry::shouldTreatURLSchemeAsLocal() is called from SecurityOrigin (which requires thread-
safety). It is also called from isQuickLookPreviewURL(), MHTMLArchive::create(), Page::userStyleSheetLocationChanged(),
isRemoteWebArchive() and HTMLPlugInImageElement. All these are not hot code so I do not think
we need a fast path.
- page/SecurityOrigin.cpp:
(WebCore::isLoopbackIPAddress):
(WebCore::shouldTreatAsPotentiallyTrustworthy):
(WebCore::SecurityOrigin::isPotentiallyTrustworthy const):
(WebCore::SecurityOrigin::isLocalHostOrLoopbackIPAddress):
- page/SecurityOrigin.h:
- platform/SchemeRegistry.cpp:
(WebCore::localURLSchemesLock):
(WebCore::localURLSchemes):
(WebCore::secureSchemesLock):
(WebCore::secureSchemes):
(WebCore::SchemeRegistry::registerURLSchemeAsLocal):
(WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
(WebCore::SchemeRegistry::registerURLSchemeAsSecure):
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsSecure):
- platform/SchemeRegistry.h:
- 6:01 PM Changeset in webkit [228971] by
-
- 2 edits in trunk/Source/WebCore
[Curl] Cookie Database files are wrongfully getting deleted when the database is opened
https://bugs.webkit.org/show_bug.cgi?id=183051
Patch by Christopher Reid <chris.reid@sony.com> on 2018-02-23
Reviewed by Per Arne Vollan.
The file stat logic was backwards causing a wrongful detection of database corruption.
Fixed the logic and abstracted these calls to use FileSystem.
- platform/network/curl/CookieJarDB.cpp:
- 5:20 PM Changeset in webkit [228970] by
-
- 7 edits in branches/safari-605-branch/Source
Versioning.
- 5:18 PM Changeset in webkit [228969] by
-
- 1 copy in tags/Safari-605.1.31
Tag Safari-605.1.31.
- 4:48 PM Changeset in webkit [228968] by
-
- 20 edits1 add in trunk
Make Number.isInteger an intrinsic
https://bugs.webkit.org/show_bug.cgi?id=183088
Reviewed by JF Bastien.
JSTests:
- stress/number-is-integer-intrinsic.js: Added.
Source/JavaScriptCore:
When profiling the ML subtest in ARES, I noticed it was spending some
time in Number.isInteger. This patch makes that operation an intrinsic
in the DFG/FTL. It might be a speedup by 1% or so on that subtest, but
it's likely not an aggregate speedup on ARES. However, it is definitely
faster than calling into a builtin function, so we might as well have
it as an intrinsic.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileNumberIsInteger):
(JSC::FTL::DFG::LowerDFGToB3::unboxDouble):
- runtime/Intrinsic.cpp:
(JSC::intrinsicName):
- runtime/Intrinsic.h:
- runtime/NumberConstructor.cpp:
(JSC::NumberConstructor::finishCreation):
(JSC::numberConstructorFuncIsInteger):
- runtime/NumberConstructor.h:
(JSC::NumberConstructor::isIntegerImpl):
- 3:26 PM Changeset in webkit [228967] by
-
- 7 edits in trunk/Source
Introduce ITP debug logging as an opt-in developer feature
https://bugs.webkit.org/show_bug.cgi?id=183065
<rdar://problem/37803761>
Reviewed by Brent Fulgham.
Source/WebKit:
- Platform/Logging.h:
Added a dedicated channel for Resource Load Statistics debug logging
since this will be part of a developer-facing feature and should not
be mixed with general Resource Load Statistics logging.
- UIProcess/Cocoa/WebResourceLoadStatisticsStoreCocoa.mm:
(WebKit::WebResourceLoadStatisticsStore::registerUserDefaultsIfNeeded):
Now picks up the user default setting for
ResourceLoadStatisticsDebugLoggingEnabled.
- UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::removeDataRecords):
Now logs for which domains it purges website data if
ResourceLoadStatisticsDebugLoggingEnabled is set.
(WebKit::WebResourceLoadStatisticsStore::updateCookiePartitioning):
Now logs for which domains it partitions and blocks cookies
in third-party contexts if ResourceLoadStatisticsDebugLoggingEnabled
is set.
- UIProcess/WebResourceLoadStatisticsStore.h:
Source/WTF:
- wtf/Assertions.h:
Introduces RELEASE_LOG_INFO() and RELEASE_LOG_INFO_IF().
- 3:16 PM Changeset in webkit [228966] by
-
- 9 edits1 add in trunk
WebAssembly: cache memory address / size on instance
https://bugs.webkit.org/show_bug.cgi?id=177305
Reviewed by JF Bastien.
JSTests:
- wasm/function-tests/memory-reuse.js: Added.
(createWasmInstance):
(doCheckTrap):
(doMemoryGrow):
(doCheck):
(checkWasmInstancesWithSharedMemory):
Source/JavaScriptCore:
Cache memory address/size in wasm:Instance to avoid load wasm:Memory
object during access to memory and memory size property in JiT
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::restoreWebAssemblyGlobalState):
(JSC::Wasm::B3IRGenerator::addCurrentMemory):
(JSC::Wasm::B3IRGenerator::addCallIndirect):
- wasm/WasmBinding.cpp:
(JSC::Wasm::wasmToWasm):
- wasm/WasmInstance.h:
(JSC::Wasm::Instance::cachedMemory const):
(JSC::Wasm::Instance::cachedMemorySize const):
(JSC::Wasm::Instance::createWeakPtr):
(JSC::Wasm::Instance::setMemory):
(JSC::Wasm::Instance::updateCachedMemory):
(JSC::Wasm::Instance::offsetOfCachedMemory):
(JSC::Wasm::Instance::offsetOfCachedMemorySize):
(JSC::Wasm::Instance::offsetOfCachedIndexingMask):
(JSC::Wasm::Instance::allocationSize):
- wasm/WasmMemory.cpp:
(JSC::Wasm::Memory::grow):
(JSC::Wasm::Memory::registerInstance):
- wasm/WasmMemory.h:
(JSC::Wasm::Memory::indexingMask):
- wasm/js/JSToWasm.cpp:
(JSC::Wasm::createJSToWasmWrapper):
- wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::evaluate):
- 2:23 PM Changeset in webkit [228965] by
-
- 7 edits in tags/Safari-606.1.6.1/Source
Versioning.
- 2:19 PM Changeset in webkit [228964] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Correct sandbox violation during media playback
https://bugs.webkit.org/show_bug.cgi?id=183092
<rdar://problem/37718495>
Reviewed by Eric Carlson.
- WebProcess/com.apple.WebProcess.sb.in:
- 1:40 PM Changeset in webkit [228963] by
-
- 5 edits in branches/safari-605-branch/Source
Apply patch. rdar://problem/37836719
- 1:39 PM Changeset in webkit [228962] by
-
- 2 edits in branches/safari-605-branch/Source/WebKit
Cherry-pick r228930. rdar://problem/37836719
- 1:39 PM Changeset in webkit [228961] by
-
- 6 edits in branches/safari-605-branch/Source
Cherry-pick r228919. rdar://problem/37836719
- 12:30 PM Changeset in webkit [228960] by
-
- 5 edits2 adds in branches/safari-605-branch
Cherry-pick r228947. rdar://problem/37833040
- 12:30 PM Changeset in webkit [228959] by
-
- 2 edits in branches/safari-605-branch/Source/WebKit
Cherry-pick r228937. rdar://problem/37833035
- 12:30 PM Changeset in webkit [228958] by
-
- 2 edits in branches/safari-605-branch/Source/WebCore
Cherry-pick r228934. rdar://problem/37816677
- 12:30 PM Changeset in webkit [228957] by
-
- 2 edits in branches/safari-605-branch/Source/WebCore
Cherry-pick r228931. rdar://problem/37816658
- 12:30 PM Changeset in webkit [228956] by
-
- 2 edits in branches/safari-605-branch/Source/WebCore
Cherry-pick r228928. rdar://problem/37816673
- 12:06 PM WebKitGTK/2.20.x edited by
- Review Safari backports through r228941 (diff)
- 12:02 PM Changeset in webkit [228955] by
-
- 1 copy in tags/Safari-606.1.6.1
New tag.
- 11:33 AM WebKitGTK/2.20.x edited by
- (diff)
- 10:39 AM Changeset in webkit [228954] by
-
- 15 edits in trunk/Source/WebCore
[RenderTreeBuilder] Make RenderTreeBuilder::* classes WTF_MAKE_FAST_ALLOCATED
https://bugs.webkit.org/show_bug.cgi?id=183084
<rdar://problem/37828706>
Reviewed by Antti Koivisto.
- rendering/updating/RenderTreeBuilderBlock.h:
- rendering/updating/RenderTreeBuilderBlockFlow.h:
- rendering/updating/RenderTreeBuilderContinuation.h:
- rendering/updating/RenderTreeBuilderFirstLetter.h:
- rendering/updating/RenderTreeBuilderFormControls.h:
- rendering/updating/RenderTreeBuilderFullScreen.h:
- rendering/updating/RenderTreeBuilderInline.h:
- rendering/updating/RenderTreeBuilderList.h:
- rendering/updating/RenderTreeBuilderMathML.h:
- rendering/updating/RenderTreeBuilderMultiColumn.h:
- rendering/updating/RenderTreeBuilderRuby.h:
- rendering/updating/RenderTreeBuilderSVG.h:
- rendering/updating/RenderTreeBuilderTable.h:
- rendering/updating/RenderTreeUpdaterGeneratedContent.h:
- 10:37 AM Changeset in webkit [228953] by
-
- 2 edits in trunk/Source/WTF
warning: unused variable 'InitialBufferSize' in Assertions.cpp
https://bugs.webkit.org/show_bug.cgi?id=183076
Patch by Fujii Hironori <Fujii Hironori> on 2018-02-23
Reviewed by Yusuke Suzuki.
- wtf/Assertions.cpp: Moved the definition of InitialBufferSize to inside #if.
- 10:35 AM Changeset in webkit [228952] by
-
- 2 edits in trunk/Source/JavaScriptCore
ArgumentsEliminationPhase has a branch on GetByOffset that should be an assert
https://bugs.webkit.org/show_bug.cgi?id=182982
Reviewed by Yusuke Suzuki.
I don't know why this check was not always an assert. When we see
a GetByOffset on an eliminated allocation, that allocation *must*
be a PhantomClonedArguments. If it weren't, the GetByOffset would
have escaped it. Because this transformation happens by visiting
blocks in pre-order, and by visiting nodes in a block starting from
index zero to index block->size() - 1, we're guaranteed that eliminated
allocations get transformed before users of it, since we visit nodes
in dominator order.
- dfg/DFGArgumentsEliminationPhase.cpp:
- 10:32 AM Changeset in webkit [228951] by
-
- 2 edits in trunk/Source/WebKit
[MSVC] Unknown a type definition error in WebResourceLoadStatisticsStore on wincairo webkit
https://bugs.webkit.org/show_bug.cgi?id=182873
Patch by Yousuke Kimoto <yousuke.kimoto@sony.com> on 2018-02-23
Reviewed by Yusuke Suzuki.
- UIProcess/WebResourceLoadStatisticsStore.h:
- 9:54 AM Changeset in webkit [228950] by
-
- 32 edits2 adds in trunk
[JSC] Implement $vm.ftlTrue function for FTL testing
https://bugs.webkit.org/show_bug.cgi?id=183071
Reviewed by Mark Lam.
JSTests:
- stress/dead-fiat-value-to-int52-then-exit-not-double.js:
(foo):
- stress/dead-fiat-value-to-int52-then-exit-not-int52.js:
(foo):
- stress/dead-fiat-value-to-int52.js:
(foo):
- stress/dead-osr-entry-value.js:
(foo):
- stress/fiat-value-to-int52-then-exit-not-double.js:
(foo):
- stress/fiat-value-to-int52-then-exit-not-int52.js:
(foo):
- stress/fiat-value-to-int52-then-fail-to-fold.js:
(foo):
- stress/fiat-value-to-int52-then-fold.js:
(foo):
- stress/fiat-value-to-int52.js:
(foo):
- stress/fold-based-on-int32-proof-mul-branch.js:
(foo):
- stress/fold-profiled-call-to-call.js:
(foo):
- stress/fold-to-double-constant-then-exit.js:
(foo):
- stress/fold-to-int52-constant-then-exit.js:
(foo):
- stress/fold-to-primitive-in-cfa.js:
(foo):
- stress/fold-to-primitive-to-identity-in-cfa.js:
(foo):
- stress/has-indexed-property-array-storage-ftl.js: Added.
(shouldBe):
(test1):
(test2):
- stress/has-indexed-property-slow-put-array-storage-ftl.js: Added.
(shouldBe):
(test1):
(test2):
- stress/int52-ai-add-then-filter-int32.js:
(foo):
- stress/int52-ai-mul-and-clean-neg-zero-then-filter-int32.js:
(foo):
- stress/int52-ai-mul-then-filter-int32.js:
(foo):
- stress/int52-ai-neg-then-filter-int32.js:
(foo):
- stress/int52-ai-sub-then-filter-int32.js:
(foo):
- stress/licm-pre-header-cannot-exit-nested.js:
(foo):
- stress/licm-pre-header-cannot-exit.js:
(foo):
- stress/sparse-array-entry-update-144067.js:
(useMemoryToTriggerGCs):
- stress/test-spec-misc.js:
(foo):
- stress/tricky-array-bounds-checks.js:
(foo):
Source/JavaScriptCore:
Add $vm.ftlTrue, which becomes true if the caller is compiled in FTL.
This is useful for testing whether the caller function is compiled in FTL.
We also remove duplicate DFGTrue function in jsc.cpp. We have $vm.dfgTrue.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- jsc.cpp:
(GlobalObject::finishCreation):
(functionFalse1):
(functionFalse2): Deleted.
- runtime/Intrinsic.cpp:
(JSC::intrinsicName):
- runtime/Intrinsic.h:
- tools/JSDollarVM.cpp:
(JSC::functionFTLTrue):
(JSC::JSDollarVM::finishCreation):
- 8:16 AM Changeset in webkit [228949] by
-
- 9 edits in trunk/Source/WebCore
[RenderTreeBuilder] Move RenderFullScreen::createPlaceholder to RenderTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=183027
<rdar://problem/37773058>
Reviewed by Antti Koivisto.
No change in functionality.
- dom/Document.cpp:
(WebCore::Document::setFullScreenRenderer):
- dom/Document.h:
- rendering/RenderFullScreen.cpp:
(WebCore::RenderFullScreenPlaceholder::RenderFullScreenPlaceholder):
(WebCore::RenderFullScreenPlaceholder::isRenderFullScreenPlaceholder const):
(WebCore::RenderFullScreen::wrapNewRenderer):
(WebCore::RenderFullScreen::wrapExistingRenderer):
(): Deleted.
(WebCore::RenderFullScreen::createPlaceholder): Deleted.
- rendering/RenderFullScreen.h:
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::createPlaceholderForFullScreen):
- rendering/updating/RenderTreeBuilder.h:
- rendering/updating/RenderTreeBuilderFullScreen.cpp:
(WebCore::RenderTreeBuilder::FullScreen::createPlaceholder):
- rendering/updating/RenderTreeBuilderFullScreen.h:
- 6:52 AM Changeset in webkit [228948] by
-
- 4 edits in trunk/Source/WebCore
[RenderTreeBuilder] Add WARN_UNUSED_RETURN to detach()
https://bugs.webkit.org/show_bug.cgi?id=183073
<rdar://problem/37814585>
Reviewed by Antti Koivisto.
So that we don't destroy a renderer accidentally.
- rendering/updating/RenderTreeBuilderBlock.h:
- rendering/updating/RenderTreeBuilderRuby.h:
- rendering/updating/RenderTreeBuilderSVG.h:
- 5:53 AM Changeset in webkit [228947] by
-
- 5 edits2 adds in trunk
REGRESSION (r228445): A big pause button shows over YouTube videos if you tap "Tap To Unmute" on iOS
https://bugs.webkit.org/show_bug.cgi?id=183074
<rdar://problem/37747028>
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/modern-media-controls/start-support/start-support-disable-controls-and-re-enable-post-play.html
In the fix for webkit.org/b/182668, we made it so that when the "controls" attribute is absent from a media
element we stop listening to the bulk of media events and prevent controls from updating any DOM properties
so as to minimize the amount of CPU usage by the Web process.
An unfortunate side effect was that, if the media controls were disabled at the time the video starts playing,
the StartSupport class would thus not catch the "play" event and would not be able to set the "hasPlayed"
property to "true" on the MediaController, which would then prevent the _shouldShowStartButton() from returning
"false". As a result, if the "controls" attribute was turned back on after the media started playing, they
would default to showing the start button, which would be then in the play state, ie. showing the pause icon.
We now set the "hasPlayed" property in the "play" event handler on MediaController, which is always registered
regardless of the "controls" attribute setting. We also ensure we invalidate the "showStartButton" property on
the media controls when StartSupport is enabled, which is the case when the "controls" attribute is toggled back
to "true" from a previous "false" value.
- Modules/modern-media-controls/media/media-controller.js:
(MediaController.prototype.handleEvent):
- Modules/modern-media-controls/media/start-support.js:
(StartSupport):
(StartSupport.prototype.enable):
(StartSupport.prototype.handleEvent):
(StartSupport.prototype._updateShowsStartButton):
LayoutTests:
Add a new test that set controls on the video, then immediately removes them, plays the video and turns the controls
back on as soon as the video starts to check that the "showsStartButton" property is false on the media controls.
Prior to this patch this test would fail.
- media/modern-media-controls/start-support/start-support-disable-controls-and-re-enable-post-play-expected.txt: Added.
- media/modern-media-controls/start-support/start-support-disable-controls-and-re-enable-post-play.html: Added.
- platform/ios/TestExpectations:
- 4:53 AM Changeset in webkit [228946] by
-
- 8 edits in trunk/Source
[GStreamer][MiniBrowser] Honor GStreamer command line parameters in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=173655
<rdar://problem/37706341>
Reviewed by Philippe Normand.
Source/WebCore:
Do not assume gst is only used in the WebProcess, the MIMETypeRegistry also uses gst to get the list of
supported media types. Move the code to extract gst options from the process command line to a helper function
and use it in the UI process to pass the options to the WebProcess, but also in the current process when gst is
initialized without providing options.
Fixes several unit tests that use MIMETypeRegistry in the UI process.
- platform/graphics/gstreamer/GStreamerUtilities.cpp:
(WebCore::extractGStreamerOptionsFromCommandLine): Helper to get the gst options from the current process
command line.
(WebCore::initializeGStreamer): Ensure this is called once. Get the gst options from the given vector or extract
it from the command line if not provided.
- platform/graphics/gstreamer/GStreamerUtilities.h:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::initializeGStreamerAndRegisterWebKitElements): Bring back the gst
initialization here.
Source/WebKit:
Actually pass the gst command line options to the WebProcess. The options in /proc/self/cmdline are separated by
null characters, so we are effectively passing always the first option only, which is the program name. Then, in
the web process we always ignore the first option and providing WebProcess unconditionally, so we were doing
nothing.
- UIProcess/gtk/WebProcessPoolGtk.cpp:
(WebKit::WebProcessPool::platformInitializeWebProcess): Use WebCore::extractGStreamerOptionsFromCommandLine()
- UIProcess/wpe/WebProcessPoolWPE.cpp:
(WebKit::WebProcessPool::platformInitializeWebProcess): Ditto.
- WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformInitializeWebProcess): Move the vector.
- 2:06 AM Changeset in webkit [228945] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] HTTP totalBytes query returns 0 after seeking (sometimes)
https://bugs.webkit.org/show_bug.cgi?id=183002
Reviewed by Xabier Rodriguez-Calvar.
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webkit_web_src_init): Initialize member variables. Also no need
to set the appsrc size at that point.
(webKitWebSrcStop): There is no need to reset the size when
seeking. Size should in most cases represent the Content-Length
response attribute, even when seeking.
(webKitWebSrcStart): No need to reset the size attribute.
(webKitWebSrcQueryWithParent): Let appsrc handle DURATION queries.
(CachedResourceStreamingClient::responseReceived): Emit duration notification one time only.
- 1:57 AM Changeset in webkit [228944] by
-
- 3 edits in trunk/Source/WebCore
[GStreamer] media/video-src-blob-using-open-panel.html crashes in Debug
https://bugs.webkit.org/show_bug.cgi?id=183005
Reviewed by Xabier Rodriguez-Calvar.
Test: media/video-src-blob-using-open-panel.html
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::convertToInternalProtocol): Also convert blob URIs
because they're handled by our httpsrc element.
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcGetProtocols): Prefix blob URIs too, for consistency purpose.