Timeline
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.
Feb 22, 2018:
- 10:41 PM Changeset in webkit [228943] by
-
- 4 edits2 adds in trunk
[FTL] Support HasIndexedProperty for ArrayStorage and SlowPutArrayStorage
https://bugs.webkit.org/show_bug.cgi?id=182792
Reviewed by Mark Lam.
JSTests:
- stress/has-indexed-property-array-storage.js: Added.
(shouldBe):
(test1):
(test2):
- stress/has-indexed-property-slow-put-array-storage.js: Added.
(shouldBe):
(test1):
(test2):
Source/JavaScriptCore:
This patch adds HasIndexedProperty for ArrayStorage and SlowPutArrayStorage in FTL.
HasIndexedProperty with ArrayStorage frequently causes FTL compilation failures
in web-tooling-benchmarks.
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty):
- 8:18 PM Changeset in webkit [228942] by
-
- 76 edits in trunk
Remove currentTime() / currentTimeMS()
https://bugs.webkit.org/show_bug.cgi?id=183052
Reviewed by Mark Lam.
Source/WebCore:
- Modules/geolocation/Geolocation.cpp:
(WebCore::Geolocation::haveSuitableCachedPosition):
- dom/DOMTimeStamp.h:
(WebCore::convertSecondsToDOMTimeStamp):
- fileapi/File.cpp:
(WebCore::File::File):
(WebCore::File::lastModified const):
- history/HistoryItem.cpp:
(WebCore::generateSequenceNumber):
- html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::defaultValueForStepUp const):
- html/DateTimeInputType.cpp:
(WebCore::DateTimeInputType::defaultValueForStepUp const):
- html/MonthInputType.cpp:
(WebCore::MonthInputType::defaultValueForStepUp const):
- html/TimeInputType.cpp:
(WebCore::TimeInputType::defaultValueForStepUp const):
- inspector/agents/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::willSendRequest):
(WebCore::InspectorNetworkAgent::willSendWebSocketHandshakeRequest):
- loader/EmptyFrameLoaderClient.h:
- loader/FormSubmission.cpp:
(WebCore::generateFormDataIdentifier):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::clientRedirected):
- loader/FrameLoader.h:
- loader/FrameLoaderClient.h:
- loader/NavigationScheduler.cpp:
- page/History.cpp:
(WebCore::History::stateObjectAdded):
- page/History.h:
- page/PageOverlay.cpp:
(WebCore::PageOverlay::startFadeAnimation):
(WebCore::PageOverlay::fadeAnimationTimerFired):
- page/PageOverlay.h:
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawNativeImage):
- platform/ios/LegacyTileLayerPool.h:
- platform/ios/LegacyTileLayerPool.mm:
(WebCore::LegacyTileLayerPool::LegacyTileLayerPool):
(WebCore::LegacyTileLayerPool::addLayer):
(WebCore::LegacyTileLayerPool::decayedCapacity const):
(WebCore::LegacyTileLayerPool::prune):
- platform/ios/SystemMemoryIOS.cpp:
(WebCore::systemMemoryLevel):
- platform/mediastream/mac/DisplayCaptureSourceCocoa.cpp:
- platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm:
Source/WebKit:
- NetworkProcess/cache/CacheStorageEngineCache.cpp:
- PluginProcess/WebProcessConnection.cpp:
- Shared/WebProcessCreationParameters.h:
- Shared/linux/WebMemorySamplerLinux.cpp:
(WebKit::WebMemorySampler::sampleWebKit const):
- Shared/mac/WebMemorySampler.mac.mm:
(WebKit::WebMemorySampler::sampleWebKit const):
- UIProcess/API/C/WKContext.cpp:
(WKContextSetPlugInAutoStartOriginsFilteringOutEntriesAddedAfterTime):
- UIProcess/API/glib/IconDatabase.cpp:
(WebKit::IconDatabase::setIconDataForIconURL):
(WebKit::IconDatabase::synchronousLoadDecisionForIconURL):
(WebKit::IconDatabase::performURLImport):
- UIProcess/DrawingAreaProxyImpl.cpp:
- UIProcess/Plugins/PlugInAutoStartProvider.cpp:
(WebKit::expirationTimeFromNow):
(WebKit::PlugInAutoStartProvider::addAutoStartOriginHash):
(WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy const):
(WebKit::PlugInAutoStartProvider::setAutoStartOriginsTable):
(WebKit::PlugInAutoStartProvider::setAutoStartOriginsFilteringOutEntriesAddedAfterTime):
(WebKit::PlugInAutoStartProvider::setAutoStartOriginsTableWithItemsPassingTest):
(WebKit::PlugInAutoStartProvider::didReceiveUserInteraction):
- UIProcess/Plugins/PlugInAutoStartProvider.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processDidFinishLaunching):
(WebKit::WebProcessPool::startMemorySampler):
(WebKit::WebProcessPool::setPlugInAutoStartOriginsFilteringOutEntriesAddedAfterTime):
- UIProcess/WebProcessPool.h:
- WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h:
(API::InjectedBundle::PageLoaderClient::willPerformClientRedirectForFrame):
- WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame):
- WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchWillPerformClientRedirect):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- WebProcess/WebProcess.cpp:
(WebKit::m_webSQLiteDatabaseTracker):
(WebKit::WebProcess::isPlugInAutoStartOriginHash):
(WebKit::WebProcess::plugInDidStartFromOrigin):
(WebKit::WebProcess::didAddPlugInAutoStartOriginHash):
(WebKit::WebProcess::resetPlugInAutoStartOriginDefaultHashes):
(WebKit::WebProcess::resetPlugInAutoStartOriginHashes):
(WebKit::WebProcess::plugInDidReceiveUserInteraction):
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- WebProcess/cocoa/WebProcessCocoa.mm:
- WebProcess/wpe/WebProcessMainWPE.cpp:
Source/WebKitLegacy/mac:
- WebCoreSupport/WebFrameLoaderClient.h:
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchWillPerformClientRedirect):
Source/WebKitLegacy/win:
- WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::dispatchWillPerformClientRedirect):
- WebCoreSupport/WebFrameLoaderClient.h:
- WebDownload.h:
- WebDownloadCFNet.cpp:
(WebDownload::didStart):
(WebDownload::didReceiveData):
(WebDownload::didFinish):
Source/WTF:
This patch removes WTF::currentTime() and WTF::currentTimeMS().
We have fancy WallTime APIs. It has strong types like WallTime and Seconds,
and this reduces the chance of bugs mixing doubles which represent milliseconds
and seconds.
- wtf/Condition.h:
- wtf/CurrentTime.cpp:
(WTF::currentTime):
(WTF::WallTime::now):
- wtf/CurrentTime.h:
(WTF::currentTimeMS): Deleted.
- wtf/DateMath.h:
(WTF::jsCurrentTime):
- wtf/ParkingLot.cpp:
(WTF::ParkingLot::parkConditionallyImpl):
- wtf/ThreadingPrimitives.h:
- wtf/ThreadingPthreads.cpp:
(WTF::ThreadCondition::timedWait):
- wtf/ThreadingWin.cpp:
(WTF::ThreadCondition::timedWait):
(WTF::absoluteTimeToWaitTimeoutInterval):
- wtf/WallTime.cpp:
(WTF::WallTime::now): Deleted.
- wtf/WallTime.h:
Tools:
- DumpRenderTree/TestRunner.cpp:
(preciseTimeCallback):
- DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setMockGeolocationPosition):
- TestWebKitAPI/Tests/WTF/Condition.cpp:
- TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
- TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
- WebKitTestRunner/GeolocationProviderMock.cpp:
(WTR::GeolocationProviderMock::setPosition):
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::preciseTime):
- 5:20 PM Changeset in webkit [228941] by
-
- 7 edits in branches/safari-605-branch/Source
Versioning.
- 4:17 PM Changeset in webkit [228940] by
-
- 3 edits in trunk/Source/WebCore
The WebContent process should not use NSScreen in the screenDepth implementation.
https://bugs.webkit.org/show_bug.cgi?id=183048
Reviewed by Brent Fulgham.
NSScreen method calls should be done in the UIProcess, since these calls will communicate with
the WindowServer. The screen depth property can be retrieved in the UIProcess, and sent to the
WebContent process, where it is cached. Whenever screen properties change, the UIProcess will
send the new screen properties to the WebProcess.
No new tests, covered by existing tests.
- platform/ScreenProperties.h:
(WebCore::ScreenProperties::encode const):
(WebCore::ScreenProperties::decode):
- platform/mac/PlatformScreenMac.mm:
(WebCore::getScreenProperties):
(WebCore::screenDepth):
(WebCore::screenDepthPerComponent):
(WebCore::screenRect):
(WebCore::screenAvailableRect):
- 4:10 PM Changeset in webkit [228939] by
-
- 1 copy in tags/Safari-605.1.30
Tag Safari-605.1.30.
- 3:35 PM WebKitGTK/StableRelease edited by
- (diff)
- 3:19 PM Changeset in webkit [228938] by
-
- 36 edits in trunk/Source/WebCore
[RenderTreeBuilder] Rename insertChild() -> attach(), takeChild() -> detach() and removeAndDestroy() -> destroy()
https://bugs.webkit.org/show_bug.cgi?id=183061
<rdar://problem/37800269>
Reviewed by Ryosuke Niwa.
...and moveChildTo() -> move() (moveChildrenTo() -> moveChildren()),
removeFromParentAndDestroyCleaningUpAnonymousWrappers() -> destroyAndCleanUpAnonymousWrappers()
No change in functionality.
- dom/Document.cpp:
(WebCore::Document::destroyRenderTree):
(WebCore::Document::setFullScreenRenderer):
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::styleDidChange):
- rendering/RenderButton.cpp:
(WebCore::RenderButton::setText):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::didAttachChild):
(WebCore::RenderElement::didInsertChild): Deleted.
- rendering/RenderElement.h:
- rendering/RenderFullScreen.cpp:
(WebCore::RenderFullScreen::wrapNewRenderer):
(WebCore::RenderFullScreen::wrapExistingRenderer):
(WebCore::RenderFullScreen::unwrapRenderer):
(WebCore::RenderFullScreen::createPlaceholder):
- rendering/RenderMenuList.cpp:
(RenderMenuList::didAttachChild):
(RenderMenuList::setText):
(RenderMenuList::didInsertChild): Deleted.
- rendering/RenderMenuList.h:
- rendering/RenderQuote.cpp:
(WebCore::RenderQuote::updateTextRenderer):
- rendering/RenderTextFragment.cpp:
(WebCore::RenderTextFragment::setText):
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::destroy):
(WebCore::RenderTreeBuilder::attach):
(WebCore::RenderTreeBuilder::attachIgnoringContinuation):
(WebCore::RenderTreeBuilder::detach):
(WebCore::RenderTreeBuilder::attachToRenderElement):
(WebCore::RenderTreeBuilder::attachToRenderElementInternal):
(WebCore::RenderTreeBuilder::move):
(WebCore::RenderTreeBuilder::moveAllChildren):
(WebCore::RenderTreeBuilder::moveChildren):
(WebCore::RenderTreeBuilder::moveAllChildrenIncludingFloats):
(WebCore::RenderTreeBuilder::makeChildrenNonInline):
(WebCore::RenderTreeBuilder::splitAnonymousBoxesAroundChild):
(WebCore::RenderTreeBuilder::childFlowStateChangesAndAffectsParentBlock):
(WebCore::RenderTreeBuilder::destroyAndCleanUpAnonymousWrappers):
(WebCore::RenderTreeBuilder::detachFromRenderGrid):
(WebCore::RenderTreeBuilder::detachFromRenderElement):
(WebCore::RenderTreeBuilder::attachToRenderGrid):
(WebCore::RenderTreeBuilder::removeAndDestroy): Deleted.
(WebCore::RenderTreeBuilder::insertChild): Deleted.
(WebCore::RenderTreeBuilder::insertChildIgnoringContinuation): Deleted.
(WebCore::RenderTreeBuilder::takeChild): Deleted.
(WebCore::RenderTreeBuilder::insertChildToRenderElement): Deleted.
(WebCore::RenderTreeBuilder::insertChildToRenderElementInternal): Deleted.
(WebCore::RenderTreeBuilder::moveChildTo): Deleted.
(WebCore::RenderTreeBuilder::moveAllChildrenTo): Deleted.
(WebCore::RenderTreeBuilder::moveChildrenTo): Deleted.
(WebCore::RenderTreeBuilder::moveAllChildrenIncludingFloatsTo): Deleted.
(WebCore::RenderTreeBuilder::removeFromParentAndDestroyCleaningUpAnonymousWrappers): Deleted.
(WebCore::RenderTreeBuilder::takeChildFromRenderGrid): Deleted.
(WebCore::RenderTreeBuilder::takeChildFromRenderElement): Deleted.
(WebCore::RenderTreeBuilder::insertChildToRenderGrid): Deleted.
- rendering/updating/RenderTreeBuilder.h:
- rendering/updating/RenderTreeBuilderBlock.cpp:
(WebCore::RenderTreeBuilder::Block::attach):
(WebCore::RenderTreeBuilder::Block::insertChildToContinuation):
(WebCore::RenderTreeBuilder::Block::attachIgnoringContinuation):
(WebCore::RenderTreeBuilder::Block::removeLeftoverAnonymousBlock):
(WebCore::RenderTreeBuilder::Block::detach):
(WebCore::RenderTreeBuilder::Block::dropAnonymousBoxChild):
(WebCore::RenderTreeBuilder::Block::insertChild): Deleted.
(WebCore::RenderTreeBuilder::Block::insertChildIgnoringContinuation): Deleted.
(WebCore::RenderTreeBuilder::Block::takeChild): Deleted.
- rendering/updating/RenderTreeBuilderBlock.h:
- rendering/updating/RenderTreeBuilderBlockFlow.cpp:
(WebCore::RenderTreeBuilder::BlockFlow::attach):
(WebCore::RenderTreeBuilder::BlockFlow::moveAllChildrenIncludingFloats):
(WebCore::RenderTreeBuilder::BlockFlow::insertChild): Deleted.
(WebCore::RenderTreeBuilder::BlockFlow::moveAllChildrenIncludingFloatsTo): Deleted.
- rendering/updating/RenderTreeBuilderBlockFlow.h:
- rendering/updating/RenderTreeBuilderContinuation.cpp:
(WebCore::RenderTreeBuilder::Continuation::cleanupOnDestroy):
- rendering/updating/RenderTreeBuilderFirstLetter.cpp:
(WebCore::RenderTreeBuilder::FirstLetter::cleanupOnDestroy):
(WebCore::RenderTreeBuilder::FirstLetter::updateStyle):
(WebCore::RenderTreeBuilder::FirstLetter::createRenderers):
- rendering/updating/RenderTreeBuilderFormControls.cpp:
(WebCore::RenderTreeBuilder::FormControls::attach):
(WebCore::RenderTreeBuilder::FormControls::detach):
(WebCore::RenderTreeBuilder::FormControls::findOrCreateParentForChild):
(WebCore::RenderTreeBuilder::FormControls::insertChild): Deleted.
(WebCore::RenderTreeBuilder::FormControls::takeChild): Deleted.
- rendering/updating/RenderTreeBuilderFormControls.h:
- rendering/updating/RenderTreeBuilderFullScreen.cpp:
(WebCore::RenderTreeBuilder::FullScreen::cleanupOnDestroy):
- rendering/updating/RenderTreeBuilderInline.cpp:
(WebCore::RenderTreeBuilder::Inline::attach):
(WebCore::RenderTreeBuilder::Inline::insertChildToContinuation):
(WebCore::RenderTreeBuilder::Inline::attachIgnoringContinuation):
(WebCore::RenderTreeBuilder::Inline::splitFlow):
(WebCore::RenderTreeBuilder::Inline::splitInlines):
(WebCore::RenderTreeBuilder::Inline::childBecameNonInline):
(WebCore::RenderTreeBuilder::Inline::insertChild): Deleted.
(WebCore::RenderTreeBuilder::Inline::insertChildIgnoringContinuation): Deleted.
- rendering/updating/RenderTreeBuilderInline.h:
- rendering/updating/RenderTreeBuilderList.cpp:
(WebCore::RenderTreeBuilder::List::updateItemMarker):
- rendering/updating/RenderTreeBuilderMathML.cpp:
(WebCore::RenderTreeBuilder::MathML::makeFences):
(WebCore::RenderTreeBuilder::MathML::attach):
(WebCore::RenderTreeBuilder::MathML::insertChild): Deleted.
- rendering/updating/RenderTreeBuilderMathML.h:
- rendering/updating/RenderTreeBuilderMultiColumn.cpp:
(WebCore::RenderTreeBuilder::MultiColumn::createFragmentedFlow):
(WebCore::RenderTreeBuilder::MultiColumn::destroyFragmentedFlow):
(WebCore::RenderTreeBuilder::MultiColumn::processPossibleSpannerDescendant):
(WebCore::RenderTreeBuilder::MultiColumn::handleSpannerRemoval):
- rendering/updating/RenderTreeBuilderRuby.cpp:
(WebCore::RenderTreeBuilder::Ruby::moveInlineChildren):
(WebCore::RenderTreeBuilder::Ruby::moveBlockChildren):
(WebCore::RenderTreeBuilder::Ruby::attach):
(WebCore::RenderTreeBuilder::Ruby::findOrCreateParentForChild):
(WebCore::RenderTreeBuilder::Ruby::rubyBaseSafe):
(WebCore::RenderTreeBuilder::Ruby::detach):
(WebCore::RenderTreeBuilder::Ruby::insertChild): Deleted.
(WebCore::RenderTreeBuilder::Ruby::takeChild): Deleted.
- rendering/updating/RenderTreeBuilderRuby.h:
- rendering/updating/RenderTreeBuilderSVG.cpp:
(WebCore::RenderTreeBuilder::SVG::attach):
(WebCore::RenderTreeBuilder::SVG::detach):
(WebCore::RenderTreeBuilder::SVG::insertChild): Deleted.
(WebCore::RenderTreeBuilder::SVG::takeChild): Deleted.
- rendering/updating/RenderTreeBuilderSVG.h:
- rendering/updating/RenderTreeBuilderTable.cpp:
(WebCore::RenderTreeBuilder::Table::findOrCreateParentForChild):
(WebCore::RenderTreeBuilder::Table::attach):
(WebCore::RenderTreeBuilder::Table::collapseAndDestroyAnonymousSiblingRows):
(WebCore::RenderTreeBuilder::Table::insertChild): Deleted.
- rendering/updating/RenderTreeBuilderTable.h:
- rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::createRenderer):
(WebCore::RenderTreeUpdater::createTextRenderer):
(WebCore::RenderTreeUpdater::tearDownRenderers):
(WebCore::RenderTreeUpdater::tearDownTextRenderer):
(WebCore::RenderTreeUpdater::tearDownLeftoverPaginationRenderersIfNeeded):
- rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:
(WebCore::createContentRenderers):
- 2:58 PM Changeset in webkit [228937] by
-
- 2 edits in trunk/Source/WebKit
Web Inspector: REGRESSION (r228349): ImageBitmap builtin is now runtime guarded
https://bugs.webkit.org/show_bug.cgi?id=183056
<rdar://problem/37799067>
Reviewed by Joseph Pecoraro.
- WebProcess/WebPage/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::WebInspectorUI):
- 2:53 PM Changeset in webkit [228936] by
-
- 2 edits in trunk/Source/WebKit
Caches::initialize should call all pending initialization callbacks in case of error
https://bugs.webkit.org/show_bug.cgi?id=183062
Patch by Youenn Fablet <youenn@apple.com> on 2018-02-22
Reviewed by Chris Dumez.
- NetworkProcess/cache/CacheStorageEngineCaches.cpp:
(WebKit::CacheStorage::Caches::initialize):
(WebKit::CacheStorage::Caches::initializeSize):
- 2:50 PM Changeset in webkit [228935] by
-
- 6 edits in trunk
CacheStorage::Engine::Caches::writeRecord is not always calling the completion handler
https://bugs.webkit.org/show_bug.cgi?id=183055
Patch by Youenn Fablet <youenn@apple.com> on 2018-02-22
Reviewed by Chris Dumez.
Source/WebKit:
Add a completion handler to Storage::store.
Use it instead in Caches::writeRecord.
This ensures that the Cache add/put promise will be called once all write operations have been done.
- NetworkProcess/cache/CacheStorageEngineCaches.cpp:
(WebKit::CacheStorage::Caches::writeRecord):
- NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::WriteOperation::WriteOperation):
(WebKit::NetworkCache::Storage::finishWriteOperation):
(WebKit::NetworkCache::Storage::store):
- NetworkProcess/cache/NetworkCacheStorage.h:
(WebKit::NetworkCache::Storage::store):
LayoutTests:
- http/tests/cache-storage/resources/cache-persistency-iframe.html:
- 2:36 PM Changeset in webkit [228934] by
-
- 2 edits in trunk/Source/WebCore
ResourceRequestBase::isolatedCopy() fails to isolate copy the cachePartition
https://bugs.webkit.org/show_bug.cgi?id=183059
<rdar://problem/37800202>
Reviewed by Youenn Fablet.
Update ResourceRequestBase::setAsIsolatedCopy() to call isolatedCopy() on the cachePartition as well,
given that it is a String and it would not be safe to send it to another thread otherwise.
- platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::setAsIsolatedCopy):
- 2:09 PM WebKitGTK/Debugging edited by
- It's not CPPFLAGS, it's CXXFLAGS (diff)
- 2:05 PM Changeset in webkit [228933] by
-
- 5 edits in trunk/Source/WebKit
Add an entitlement check for service worker on iOS
https://bugs.webkit.org/show_bug.cgi?id=182865
Reviewed by Dan Bernstein.
Addressed Dan's comment by using xpc_connection_copy_entitlement_value instead of obtaining the audit token first.
- Shared/mac/SandboxUtilities.h:
- Shared/mac/SandboxUtilities.mm:
(WebKit::connectedProcessHasEntitlement):
- StorageProcess/ios/StorageProcessIOS.mm:
(WebKit::StorageProcess::parentProcessHasServiceWorkerEntitlement const):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::parentProcessHasServiceWorkerEntitlement const):
- 1:53 PM Changeset in webkit [228932] by
-
- 10 edits in trunk/Source/JavaScriptCore
Refactor MacroAssembler code to improve reuse and extensibility.
https://bugs.webkit.org/show_bug.cgi?id=183054
<rdar://problem/37797337>
Reviewed by Saam Barati.
- assembler/ARM64Assembler.h:
- assembler/MacroAssembler.cpp:
- assembler/MacroAssembler.h:
- assembler/MacroAssemblerARM.h:
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::canCompact):
(JSC::MacroAssemblerARM64::computeJumpType):
(JSC::MacroAssemblerARM64::jumpSizeDelta):
(JSC::MacroAssemblerARM64::link):
(JSC::MacroAssemblerARM64::load64):
(JSC::MacroAssemblerARM64::load64WithAddressOffsetPatch):
(JSC::MacroAssemblerARM64::load32):
(JSC::MacroAssemblerARM64::load32WithAddressOffsetPatch):
(JSC::MacroAssemblerARM64::load16):
(JSC::MacroAssemblerARM64::load16SignedExtendTo32):
(JSC::MacroAssemblerARM64::load8):
(JSC::MacroAssemblerARM64::load8SignedExtendTo32):
(JSC::MacroAssemblerARM64::store64):
(JSC::MacroAssemblerARM64::store64WithAddressOffsetPatch):
(JSC::MacroAssemblerARM64::store32):
(JSC::MacroAssemblerARM64::store32WithAddressOffsetPatch):
(JSC::MacroAssemblerARM64::store16):
(JSC::MacroAssemblerARM64::store8):
(JSC::MacroAssemblerARM64::getEffectiveAddress):
(JSC::MacroAssemblerARM64::branchDoubleNonZero):
(JSC::MacroAssemblerARM64::branchDoubleZeroOrNaN):
(JSC::MacroAssemblerARM64::branchTruncateDoubleToInt32):
(JSC::MacroAssemblerARM64::loadDouble):
(JSC::MacroAssemblerARM64::loadFloat):
(JSC::MacroAssemblerARM64::moveConditionallyAfterFloatingPointCompare):
(JSC::MacroAssemblerARM64::moveDoubleConditionallyAfterFloatingPointCompare):
(JSC::MacroAssemblerARM64::storeDouble):
(JSC::MacroAssemblerARM64::storeFloat):
(JSC::MacroAssemblerARM64::call):
(JSC::MacroAssemblerARM64::jump):
(JSC::MacroAssemblerARM64::tailRecursiveCall):
(JSC::MacroAssemblerARM64::setCarry):
(JSC::MacroAssemblerARM64::reemitInitialMoveWithPatch):
(JSC::MacroAssemblerARM64::isBreakpoint):
(JSC::MacroAssemblerARM64::invert):
(JSC::MacroAssemblerARM64::readCallTarget):
(JSC::MacroAssemblerARM64::replaceWithVMHalt):
(JSC::MacroAssemblerARM64::replaceWithJump):
(JSC::MacroAssemblerARM64::maxJumpReplacementSize):
(JSC::MacroAssemblerARM64::patchableJumpSize):
(JSC::MacroAssemblerARM64::repatchCall):
(JSC::MacroAssemblerARM64::makeBranch):
(JSC::MacroAssemblerARM64::makeCompareAndBranch):
(JSC::MacroAssemblerARM64::makeTestBitAndBranch):
(JSC::MacroAssemblerARM64::ARM64Condition):
(JSC::MacroAssemblerARM64::moveWithFixedWidth):
(JSC::MacroAssemblerARM64::load):
(JSC::MacroAssemblerARM64::store):
(JSC::MacroAssemblerARM64::tryLoadWithOffset):
(JSC::MacroAssemblerARM64::tryLoadSignedWithOffset):
(JSC::MacroAssemblerARM64::tryStoreWithOffset):
(JSC::MacroAssemblerARM64::jumpAfterFloatingPointCompare):
(JSC::MacroAssemblerARM64::linkCall):
- assembler/MacroAssemblerARMv7.h:
- assembler/MacroAssemblerMIPS.h:
- assembler/MacroAssemblerX86Common.h:
- assembler/ProbeStack.h:
- Removed a forward declaration of an obsolete class.
- 1:40 PM Changeset in webkit [228931] by
-
- 2 edits in trunk/Source/WebCore
ServiceWorkerContainer::startScriptFetchForJob() fails to isolate copy the registrationKey before passing it to the main thread
https://bugs.webkit.org/show_bug.cgi?id=183050
<rdar://problem/37796881>
Reviewed by Youenn Fablet.
Create an isolated copy of the registrationKey before passing it to the main thread in ServiceWorkerContainer's
startScriptFetchForJob() / jobFinishedLoadingScript() / jobFailedLoadingScript().
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::startScriptFetchForJob):
(WebCore::ServiceWorkerContainer::jobFinishedLoadingScript):
(WebCore::ServiceWorkerContainer::jobFailedLoadingScript):
- 12:42 PM Changeset in webkit [228930] by
-
- 2 edits in trunk/Source/WebKit
Fetch event release assert should take into account the fetch mode
https://bugs.webkit.org/show_bug.cgi?id=183047
Patch by Youenn Fablet <youenn@apple.com> on 2018-02-22
Reviewed by Chris Dumez.
In case of navigation tasks, we should use the request URL and not the origin of the loading client.
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::isValidFetch):
(WebKit::WebSWContextManagerConnection::startFetch):
- 11:50 AM Changeset in webkit [228929] by
-
- 3 edits in trunk/Source/WebKit
[WinCairo] Fix compile errors in WebPageWin.cpp and WebProcessWin.cpp due to WebCore forwarding header paths
https://bugs.webkit.org/show_bug.cgi?id=182969
Patch by Yousuke Kimoto <yousuke.kimoto@sony.com> on 2018-02-22
Reviewed by Konstantin Tokarev.
- WebProcess/WebPage/win/WebPageWin.cpp:
- WebProcess/win/WebProcessWin.cpp:
- 11:46 AM Changeset in webkit [228928] by
-
- 2 edits in trunk/Source/WebCore
ServiceWorkerContainer::scheduleJob() fails to isolate copy the jobData before passing it to the main thread
https://bugs.webkit.org/show_bug.cgi?id=183046
<rdar://problem/37793395>
Reviewed by Youenn Fablet.
Make sure we isolate copy the jobData before passing it to the main thread in ServiceWorkerContainer::scheduleJob().
The jobData contains Strings / URLs so it is not safe to have non-isolated copies of it on various threads.
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::scheduleJob):
- 11:41 AM Changeset in webkit [228927] by
-
- 3 edits in trunk/Source/WebCore
[Curl] Fix warning on clang.
https://bugs.webkit.org/show_bug.cgi?id=182986
Patch by Basuke Suzuki <Basuke Suzuki> on 2018-02-22
Reviewed by Konstantin Tokarev.
No new tests because there's no behaviro changes.
- platform/network/curl/CurlResourceHandleDelegate.cpp:
(WebCore::CurlResourceHandleDelegate::curlDidSendData):
(WebCore::CurlResourceHandleDelegate::curlDidReceiveBuffer):
(WebCore::CurlResourceHandleDelegate::curlDidFailWithError):
- platform/network/curl/CurlResourceHandleDelegate.h:
- 10:54 AM Changeset in webkit [228926] by
-
- 26 edits in trunk
Remove sleep(double) and sleepMS(double) interfaces
https://bugs.webkit.org/show_bug.cgi?id=183038
Reviewed by Mark Lam.
Source/JavaScriptCore:
- bytecode/SuperSampler.cpp:
(JSC::initializeSuperSampler):
Source/WebKit:
- PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::createPluginAsynchronously):
- UIProcess/linux/MemoryPressureMonitor.cpp:
(WebKit::pollIntervalForUsedMemoryPercentage):
(WebKit::MemoryPressureMonitor::MemoryPressureMonitor):
- WebProcess/wpe/WebProcessMainWPE.cpp:
Source/WTF:
This patch removes sleep(double) and sleepMS(double) interfaces.
We can just use sleep(Seconds) instead.
- benchmarks/LockFairnessTest.cpp:
- benchmarks/LockSpeedTest.cpp:
- wtf/CurrentTime.cpp:
(WTF::sleep):
- wtf/CurrentTime.h:
(WTF::sleepMS): Deleted.
- wtf/DebugUtilities.h:
- wtf/Seconds.cpp:
(WTF::sleep): Deleted.
- wtf/Seconds.h:
- wtf/StackShotProfiler.h:
Tools:
- DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
(PluginTest::indicateTestFailure):
- DumpRenderTree/TestNetscapePlugIn/Tests/EvaluateJSWithinNPP_New.cpp:
(EvaluteJSWithinNPP_New::NPP_New):
- DumpRenderTree/TestNetscapePlugIn/Tests/InvokeDestroysPluginWithinNPP_New.cpp:
(InvokeDestroysPluginWithinNPP_New::NPP_New):
- DumpRenderTree/TestNetscapePlugIn/Tests/SlowNPPNew.cpp:
- TestWebKitAPI/Tests/WTF/Signals.cpp:
(TEST):
- TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
(TestWebKitAPI::testThreadGroup):
- TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/jsconly/PlatformUtilitiesJSCOnly.cpp:
(TestWebKitAPI::Util::sleep):
- 10:51 AM Changeset in webkit [228925] by
-
- 2 edits in trunk/Source/WebKit
Add release logging for CacheStorage::Engine disk related functions
https://bugs.webkit.org/show_bug.cgi?id=183042
Patch by Youenn Fablet <youenn@apple.com> on 2018-02-22
Reviewed by Chris Dumez.
- NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::writeFile):
(WebKit::CacheStorage::Engine::readFile):
- 10:48 AM Changeset in webkit [228924] by
-
- 2 edits in trunk/Source/WebCore
WorkerCacheStorageConnection::doRemove can assert in case two frames try to delete the same cache at the same time
https://bugs.webkit.org/show_bug.cgi?id=183041
Patch by Youenn Fablet <youenn@apple.com> on 2018-02-22
Reviewed by Chris Dumez.
- Modules/cache/WorkerCacheStorageConnection.cpp:
(WebCore::WorkerCacheStorageConnection::doRemove): Update the assertion to accept the
case of an already deleted cache, i.e. returned identifer is 0.
- 10:32 AM Changeset in webkit [228923] by
-
- 3 edits in trunk/Source/WebCore
Remove some code leftovers in LibWebRTCMediaEndpoint and RealtimeOutgoingVideoSource classes
https://bugs.webkit.org/show_bug.cgi?id=183031
Patch by Alejandro G. Castro <alex@igalia.com> on 2018-02-22
Reviewed by Youenn Fablet.
This include and namespace are not required in the file.
Just removing unused code, no tests required.
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
- 10:29 AM Changeset in webkit [228922] by
-
- 4 edits2 adds in trunk
Document.open() cancels existing provisional load but not navigation policy check
https://bugs.webkit.org/show_bug.cgi?id=183012
<rdar://problem/37755831>
Reviewed by Alex Christensen.
Source/WebCore:
Test: fast/dom/Document/open-with-pending-load-async-policy.html
- dom/Document.cpp:
(WebCore::Document::open):
The existing code was calling FrameLoader::stopAllLoaders() when the loader's state
is FrameStateProvisional. The issue is that the FrameLoader's state only gets set
to FrameStateProvisional after the policy decision for the navigation is made.
This means that we fail to cancel a pending load if is still in the policy decision
stage, which can happen when the policy decision is made asynchronously. We now
also cancel such pending navigation policy checks as well.
- loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
Make sure the m_delegateIsDecidingNavigationPolicy flag gets reset inside the
lambda. Otherwise, it gets reset too early when the policy decision is made
asynchronously.
LayoutTests:
Add layout test coverage.
- fast/dom/Document/open-with-pending-load-async-policy-expected.txt: Added.
- fast/dom/Document/open-with-pending-load-async-policy.html: Added.
- 10:22 AM Changeset in webkit [228921] by
-
- 3 edits in trunk/LayoutTests
Updated expectations for http/tests/appcache/404-resource-with-slow-main-resource.php.
https://bugs.webkit.org/show_bug.cgi?id=153503
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- platform/mac/TestExpectations:
- 10:01 AM Changeset in webkit [228920] by
-
- 4 edits in trunk/Source/WebKit
Unreviewed, rolling out r228902.
This broke internal builds.
Reverted changeset:
"[Cocoa] Web Automation: provide a way to ask clients the type
of a JavaScript dialog"
https://bugs.webkit.org/show_bug.cgi?id=182660
https://trac.webkit.org/changeset/228902
- 8:55 AM Changeset in webkit [228919] by
-
- 6 edits in trunk/Source
Add release asserts for service worker fetch and postMessage events
https://bugs.webkit.org/show_bug.cgi?id=183025
rdar://problem/37765052
Patch by Youenn Fablet <youenn@apple.com> on 2018-02-22
Reviewed by Daniel Bates.
Source/WebCore:
Add release assertion so that a service worker will only dispatch a message event
for clients and service workers with the same origin.
No change of behavior.
- platform/network/ResourceRequestBase.h:
- workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::postMessageToServiceWorker):
- workers/service/context/ServiceWorkerThreadProxy.h:
Source/WebKit:
Add assertion to protect interception of a fetch load by a service worker with
a different origin from the page.
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::startFetch):
- 8:43 AM Changeset in webkit [228918] by
-
- 2 edits in trunk/LayoutTests
Mark http/tests/preload/onerror_event.html as a flaky crash on Windows.
https://bugs.webkit.org/show_bug.cgi?id=179297
Unreviewed test gardening.
- platform/win/TestExpectations:
- 7:33 AM Changeset in webkit [228917] by
-
- 2 edits in trunk/Source/WebCore
including both gl3.h and gl2.h when USE_OPENGL_ES is enabled
https://bugs.webkit.org/show_bug.cgi?id=183008
Reviewed by Michael Catanzaro.
Don't include GLES3 headers as we stick to GLES2 API resources.
No new tests, no behavior change.
- platform/graphics/GLContext.cpp:
- 7:02 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 6:57 AM Changeset in webkit [228916] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK+ gardening after r228915.
- platform/gtk/TestExpectations:
- 2:47 AM WebKitGtkLayoutTests edited by
- --verbose is not a valid option anymore (diff)
- 1:31 AM Changeset in webkit [228915] by
-
- 9 edits in trunk/Source
[GTK][WPE] Fix some build errors in service workers code
https://bugs.webkit.org/show_bug.cgi?id=182966
Reviewed by Žan Doberšek.
Source/WebCore:
No new tests: no change in behavior.
- workers/service/ServiceWorkerProvider.h: add missing forward declaration.
Source/WebKit:
- CMakeLists.txt: add missing files.
- StorageProcess/ServiceWorker/WebSWServerConnection.cpp: add missing includes.
- UIProcess/ServiceWorkerProcessProxy.cpp: use #include rather than #import in C++; add missing ifdef.
- UIProcess/ServiceWorkerProcessProxy.h: add missing ifdef.
- WebProcess/Storage/WebSWClientConnection.cpp: add missing includes.
- WebProcess/Storage/WebSWContextManagerConnection.cpp: add missing includes.
(WebKit::WebSWContextManagerConnection::WebSWContextManagerConnection):
call the function that exists outside cocoa.